summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChet Ramey <chet.ramey@case.edu>2018-09-17 15:10:56 -0400
committerChet Ramey <chet.ramey@case.edu>2018-09-17 15:10:56 -0400
commit2f5dfe5a18b4670eb4cea32c1c76295eb70a8865 (patch)
treebf19e42dcaf6c5cf8e0ce0a1c15d56e8f8a6d675
parent9a51695bed07d37086c352372ac69d0a30039a6b (diff)
downloadbash-2f5dfe5a18b4670eb4cea32c1c76295eb70a8865.tar.gz
bash-5.0-beta releasebash-5.0-beta
-rw-r--r--ABOUT-NLS1868
-rw-r--r--CHANGES129
-rw-r--r--COMPAT24
-rw-r--r--CWRU/changelog12312
-rw-r--r--INSTALL4
-rw-r--r--MANIFEST15
-rw-r--r--Makefile.in11
-rw-r--r--NEWS33
-rw-r--r--POSIX114
-rw-r--r--aclocal.m42
-rw-r--r--array.c143
-rw-r--r--arrayfunc.c2
-rw-r--r--assoc.c110
-rw-r--r--bashhist.c29
-rw-r--r--bashline.c17
-rw-r--r--braces.c10
-rw-r--r--builtins/common.c2
-rw-r--r--builtins/complete.def74
-rw-r--r--builtins/declare.def43
-rw-r--r--builtins/printf.def4
-rw-r--r--builtins/read.def1
-rw-r--r--builtins/setattr.def23
-rw-r--r--builtins/shopt.def6
-rw-r--r--command.h2
-rw-r--r--config-top.h4
-rw-r--r--config.h.in6
-rwxr-xr-xconfigure64
-rw-r--r--configure.ac46
-rw-r--r--doc/bash.02509
-rw-r--r--doc/bash.185
-rw-r--r--doc/bash.html90
-rw-r--r--doc/bash.info778
-rw-r--r--doc/bash.pdfbin373369 -> 375662 bytes
-rw-r--r--doc/bash.ps6798
-rw-r--r--doc/bashref.dvibin761604 -> 765316 bytes
-rw-r--r--doc/bashref.html170
-rw-r--r--doc/bashref.info778
-rw-r--r--doc/bashref.pdfbin747913 -> 751241 bytes
-rw-r--r--doc/bashref.ps7493
-rw-r--r--doc/bashref.texi87
-rw-r--r--doc/builtins.01575
-rw-r--r--doc/builtins.ps3372
-rw-r--r--doc/rbash.ps2
-rw-r--r--doc/version.texi6
-rw-r--r--eval.c3
-rw-r--r--examples/loadables/sleep.c7
-rw-r--r--execute_cmd.c28
-rw-r--r--externs.h9
-rw-r--r--general.h7
-rw-r--r--include/shmbutil.h17
-rw-r--r--jobs.c9
-rw-r--r--jobs.h3
-rw-r--r--lib/malloc/malloc.c70
-rw-r--r--lib/malloc/mstats.h4
-rw-r--r--lib/malloc/stats.c10
-rw-r--r--lib/readline/display.c3
-rw-r--r--lib/readline/doc/hstech.texi22
-rw-r--r--lib/readline/doc/hsuser.texi18
-rw-r--r--lib/readline/doc/rltech.texi6
-rw-r--r--lib/readline/doc/rluser.texi44
-rw-r--r--lib/readline/doc/version.texi12
-rw-r--r--lib/readline/histexpand.c93
-rw-r--r--lib/readline/histfile.c4
-rw-r--r--lib/readline/history.h2
-rw-r--r--lib/readline/kill.c8
-rw-r--r--lib/readline/mbutil.c62
-rw-r--r--lib/readline/readline.c13
-rw-r--r--lib/readline/readline.h4
-rw-r--r--lib/readline/rlmbutil.h2
-rw-r--r--lib/readline/rlprivate.h2
-rw-r--r--lib/readline/rltty.c6
-rw-r--r--lib/readline/text.c29
-rw-r--r--lib/readline/vi_mode.c242
-rw-r--r--lib/sh/Makefile.in11
-rw-r--r--lib/sh/getenv.c2
-rw-r--r--lib/sh/mbschr.c8
-rw-r--r--lib/sh/mbscmp.c6
-rw-r--r--lib/sh/shmbchar.c127
-rw-r--r--lib/sh/snprintf.c2
-rw-r--r--lib/sh/utf8.c147
-rw-r--r--locale.c2
-rw-r--r--nojobs.c6
-rw-r--r--parse.y18
-rw-r--r--parser-built2
-rw-r--r--pcomplete.c4
-rw-r--r--pcomplete.h1
-rw-r--r--po/Makefile.in.in2
-rw-r--r--po/bash.pot282
-rw-r--r--po/de.po1351
-rw-r--r--po/es.po2823
-rw-r--r--po/ga.po1548
-rw-r--r--po/hr.po3452
-rw-r--r--po/pt.po1914
-rw-r--r--po/pt_BR.po2568
-rw-r--r--po/ru.po3455
-rw-r--r--po/zh_TW.po1451
-rw-r--r--shell.c4
-rw-r--r--sig.c1
-rw-r--r--subst.c158
-rw-r--r--support/Makefile.in7
-rwxr-xr-x[-rw-r--r--]support/config.guess484
-rwxr-xr-xsupport/config.rpath373
-rwxr-xr-x[-rw-r--r--]support/config.sub1573
-rw-r--r--support/man2html.c2
-rw-r--r--test.c8
-rw-r--r--tests/array.right120
-rw-r--r--tests/array.tests1
-rw-r--r--tests/array26.sub118
-rw-r--r--tests/assoc.right9
-rw-r--r--tests/assoc.tests2
-rw-r--r--tests/assoc10.sub17
-rw-r--r--tests/histexp.right37
-rw-r--r--tests/histexp.tests2
-rw-r--r--tests/histexp5.sub28
-rw-r--r--tests/histexp6.sub24
-rw-r--r--tests/intl.right5
-rw-r--r--tests/nameref.right43
-rw-r--r--tests/nameref20.sub71
-rw-r--r--tests/nameref21.sub56
-rw-r--r--tests/nquote1.right10
-rw-r--r--tests/nquote1.tests9
-rw-r--r--tests/posixexp.right8
-rw-r--r--tests/posixexp.tests1
-rw-r--r--tests/posixexp5.sub2
-rw-r--r--tests/posixexp7.sub13
-rw-r--r--tests/quote.right34
-rw-r--r--tests/quote.tests1
-rw-r--r--tests/quote2.sub42
-rw-r--r--tests/redir.right2
-rw-r--r--tests/redir.tests3
-rw-r--r--tests/run-varenv2
-rw-r--r--tests/shopt.right5
-rw-r--r--tests/test-glue-functions2
-rw-r--r--tests/unicode3.sub5
-rw-r--r--tests/varenv.right60
-rw-r--r--tests/varenv.tests246
-rw-r--r--tests/varenv12.sub38
-rw-r--r--tests/varenv13.sub23
-rw-r--r--tests/varenv14.sub33
-rw-r--r--tests/varenv15.in3
-rw-r--r--tests/varenv15.sub38
-rw-r--r--variables.c340
-rw-r--r--variables.h6
-rw-r--r--y.tab.c18
144 files changed, 27202 insertions, 35647 deletions
diff --git a/ABOUT-NLS b/ABOUT-NLS
index 47d5e39f..3cc82865 100644
--- a/ABOUT-NLS
+++ b/ABOUT-NLS
@@ -1,592 +1,1348 @@
-Notes on the Free Translation Project
-*************************************
+1 Notes on the Free Translation Project
+***************************************
- Free software is going international! The Free Translation Project
-is a way to get maintainers of free software, translators, and users all
-together, so that will gradually become able to speak many languages.
-A few packages already provide translations for their messages.
+Free software is going international! The Free Translation Project is a
+way to get maintainers of free software, translators, and users all
+together, so that free software will gradually become able to speak many
+languages. A few packages already provide translations for their
+messages.
- If you found this `ABOUT-NLS' file inside a distribution, you may
-assume that the distributed package does use GNU `gettext' internally,
+ If you found this 'ABOUT-NLS' file inside a distribution, you may
+assume that the distributed package does use GNU 'gettext' internally,
itself available at your nearest GNU archive site. But you do _not_
-need to install GNU `gettext' prior to configuring, installing or using
+need to install GNU 'gettext' prior to configuring, installing or using
this package with messages translated.
Installers will find here some useful hints. These notes also
explain how users should proceed for getting the programs to use the
available translations. They tell how people wanting to contribute and
-work at translations should contact the appropriate team.
+work on translations can contact the appropriate team.
- When reporting bugs in the `intl/' directory or bugs which may be
-related to internationalization, you should tell about the version of
-`gettext' which is used. The information can be found in the
-`intl/VERSION' file, in internationalized packages.
+1.1 INSTALL Matters
+===================
-Quick configuration advice
-==========================
-
- If you want to exploit the full power of internationalization, you
-should configure it using
-
- ./configure --with-included-gettext
-
-to force usage of internationalizing routines provided within this
-package, despite the existence of internationalizing capabilities in the
-operating system where this package is being installed. So far, only
-the `gettext' implementation in the GNU C library version 2 provides as
-many features (such as locale alias, message inheritance, automatic
-charset conversion or plural form handling) as the implementation here.
-It is also not possible to offer this additional functionality on top
-of a `catgets' implementation. Future versions of GNU `gettext' will
-very likely convey even more functionality. So it might be a good idea
-to change to GNU `gettext' as soon as possible.
-
- So you need _not_ provide this option if you are using GNU libc 2 or
-you have installed a recent copy of the GNU gettext package with the
-included `libintl'.
-
-INSTALL Matters
-===============
-
- Some packages are "localizable" when properly installed; the
-programs they contain can be made to speak your own native language.
-Most such packages use GNU `gettext'. Other packages have their own
-ways to internationalization, predating GNU `gettext'.
+Some packages are "localizable" when properly installed; the programs
+they contain can be made to speak your own native language. Most such
+packages use GNU 'gettext'. Other packages have their own ways to
+internationalization, predating GNU 'gettext'.
By default, this package will be installed to allow translation of
messages. It will automatically detect whether the system already
-provides the GNU `gettext' functions. If not, the GNU `gettext' own
-library will be used. This library is wholly contained within this
-package, usually in the `intl/' subdirectory, so prior installation of
-the GNU `gettext' package is _not_ required. Installers may use
-special options at configuration time for changing the default
-behaviour. The commands:
-
- ./configure --with-included-gettext
- ./configure --disable-nls
-
-will respectively bypass any pre-existing `gettext' to use the
-internationalizing routines provided within this package, or else,
-_totally_ disable translation of messages.
-
- When you already have GNU `gettext' installed on your system and run
-configure without an option for your new package, `configure' will
-probably detect the previously built and installed `libintl.a' file and
-will decide to use this. This might be not what is desirable. You
-should use the more recent version of the GNU `gettext' library. I.e.
-if the file `intl/VERSION' shows that the library which comes with this
-package is more recent, you should use
+provides the GNU 'gettext' functions. Installers may use special
+options at configuration time for changing the default behaviour. The
+command:
- ./configure --with-included-gettext
+ ./configure --disable-nls
-to prevent auto-detection.
+will _totally_ disable translation of messages.
- The configuration process will not test for the `catgets' function
-and therefore it will not be used. The reason is that even an
-emulation of `gettext' on top of `catgets' could not provide all the
-extensions of the GNU `gettext' library.
+ When you already have GNU 'gettext' installed on your system and run
+configure without an option for your new package, 'configure' will
+probably detect the previously built and installed 'libintl' library and
+will decide to use it. If not, you may have to to use the
+'--with-libintl-prefix' option to tell 'configure' where to look for it.
- Internationalized packages have usually many `po/LL.po' files, where
+ Internationalized packages usually have many 'po/LL.po' files, where
LL gives an ISO 639 two-letter code identifying the language. Unless
-translations have been forbidden at `configure' time by using the
-`--disable-nls' switch, all available translations are installed
-together with the package. However, the environment variable `LINGUAS'
+translations have been forbidden at 'configure' time by using the
+'--disable-nls' switch, all available translations are installed
+together with the package. However, the environment variable 'LINGUAS'
may be set, prior to configuration, to limit the installed set.
-`LINGUAS' should then contain a space separated list of two-letter
+'LINGUAS' should then contain a space separated list of two-letter
codes, stating which languages are allowed.
-Using This Package
-==================
+1.2 Using This Package
+======================
- As a user, if your language has been installed for this package, you
-only have to set the `LANG' environment variable to the appropriate
-`LL_CC' combination. Here `LL' is an ISO 639 two-letter language code,
-and `CC' is an ISO 3166 two-letter country code. For example, let's
-suppose that you speak German and live in Germany. At the shell
-prompt, merely execute `setenv LANG de_DE' (in `csh'),
-`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash').
-This can be done from your `.login' or `.profile' file, once and for
-all.
+As a user, if your language has been installed for this package, you
+only have to set the 'LANG' environment variable to the appropriate
+'LL_CC' combination. If you happen to have the 'LC_ALL' or some other
+'LC_xxx' environment variables set, you should unset them before setting
+'LANG', otherwise the setting of 'LANG' will not have the desired
+effect. Here 'LL' is an ISO 639 two-letter language code, and 'CC' is
+an ISO 3166 two-letter country code. For example, let's suppose that
+you speak German and live in Germany. At the shell prompt, merely
+execute 'setenv LANG de_DE' (in 'csh'), 'export LANG; LANG=de_DE' (in
+'sh') or 'export LANG=de_DE' (in 'bash'). This can be done from your
+'.login' or '.profile' file, once and for all.
You might think that the country code specification is redundant.
But in fact, some languages have dialects in different countries. For
-example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The
+example, 'de_AT' is used for Austria, and 'pt_BR' for Brazil. The
country code serves to distinguish the dialects.
- The locale naming convention of `LL_CC', with `LL' denoting the
-language and `CC' denoting the country, is the one use on systems based
-on GNU libc. On other systems, some variations of this scheme are
-used, such as `LL' or `LL_CC.ENCODING'. You can get the list of
-locales supported by your system for your country by running the command
-`locale -a | grep '^LL''.
+ The locale naming convention of 'LL_CC', with 'LL' denoting the
+language and 'CC' denoting the country, is the one use on systems based
+on GNU libc. On other systems, some variations of this scheme are used,
+such as 'LL' or 'LL_CC.ENCODING'. You can get the list of locales
+supported by your system for your language by running the command
+'locale -a | grep '^LL''.
Not all programs have translations for all languages. By default, an
English message is shown in place of a nonexistent translation. If you
understand other languages, you can set up a priority list of languages.
This is done through a different environment variable, called
-`LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG'
-for the purpose of message handling, but you still need to have `LANG'
+'LANGUAGE'. GNU 'gettext' gives preference to 'LANGUAGE' over 'LANG'
+for the purpose of message handling, but you still need to have 'LANG'
set to the primary language; this is required by other parts of the
-system libraries. For example, some Swedish users who would rather
-read translations in German than English for when Swedish is not
-available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'.
+system libraries. For example, some Swedish users who would rather read
+translations in German than English for when Swedish is not available,
+set 'LANGUAGE' to 'sv:de' while leaving 'LANG' to 'sv_SE'.
+
+ Special advice for Norwegian users: The language code for Norwegian
+bokma*l changed from 'no' to 'nb' recently (in 2003). During the
+transition period, while some message catalogs for this language are
+installed under 'nb' and some older ones under 'no', it's recommended
+for Norwegian users to set 'LANGUAGE' to 'nb:no' so that both newer and
+older translations are used.
- In the `LANGUAGE' environment variable, but not in the `LANG'
-environment variable, `LL_CC' combinations can be abbreviated as `LL'
-to denote the language's main dialect. For example, `de' is equivalent
-to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
-(Portuguese as spoken in Portugal) in this context.
+ In the 'LANGUAGE' environment variable, but not in the 'LANG'
+environment variable, 'LL_CC' combinations can be abbreviated as 'LL' to
+denote the language's main dialect. For example, 'de' is equivalent to
+'de_DE' (German as spoken in Germany), and 'pt' to 'pt_PT' (Portuguese
+as spoken in Portugal) in this context.
-Translating Teams
-=================
+1.3 Translating Teams
+=====================
- For the Free Translation Project to be a success, we need interested
+For the Free Translation Project to be a success, we need interested
people who like their own language and write it well, and who are also
able to synergize with other translators speaking the same language.
Each translation team has its own mailing list. The up-to-date list of
teams can be found at the Free Translation Project's homepage,
-`http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams"
-area.
+'http://translationproject.org/', in the "Teams" area.
If you'd like to volunteer to _work_ at translating messages, you
should become a member of the translating team for your own language.
The subscribing address is _not_ the same as the list itself, it has
-`-request' appended. For example, speakers of Swedish can send a
-message to `sv-request@li.org', having this message body:
+'-request' appended. For example, speakers of Swedish can send a
+message to 'sv-request@li.org', having this message body:
subscribe
- Keep in mind that team members are expected to participate
-_actively_ in translations, or at solving translational difficulties,
-rather than merely lurking around. If your team does not exist yet and
-you want to start one, or if you are unsure about what to do or how to
-get started, please write to `translation@iro.umontreal.ca' to reach the
+ Keep in mind that team members are expected to participate _actively_
+in translations, or at solving translational difficulties, rather than
+merely lurking around. If your team does not exist yet and you want to
+start one, or if you are unsure about what to do or how to get started,
+please write to 'coordinator@translationproject.org' to reach the
coordinator for all translator teams.
The English team is special. It works at improving and uniformizing
-the terminology in use. Proven linguistic skill are praised more than
-programming skill, here.
+the terminology in use. Proven linguistic skills are praised more than
+programming skills, here.
-Available Packages
-==================
+1.4 Available Packages
+======================
- Languages are not equally supported in all packages. The following
-matrix shows the current state of internationalization, as of May 2003.
+Languages are not equally supported in all packages. The following
+matrix shows the current state of internationalization, as of Jun 2014.
The matrix shows, in regard of each package, for which languages PO
files have been submitted to translation coordination, with a
translation percentage of at least 50%.
- Ready PO files am az be bg ca cs da de el en en_GB eo es
- +-------------------------------------------+
- a2ps | [] [] [] [] |
- aegis | () |
- anubis | |
- ap-utils | |
- bash | [] [] [] |
- batchelor | |
- bfd | [] [] |
- binutils | [] [] |
- bison | [] [] [] |
- bluez-pin | [] [] |
- clisp | |
- clisp | [] [] [] |
- coreutils | [] [] [] [] |
- cpio | [] [] [] |
- darkstat | () [] |
- diffutils | [] [] [] [] [] [] [] |
- e2fsprogs | [] [] |
- enscript | [] [] [] [] |
- error | [] [] [] [] [] |
- fetchmail | [] () [] [] [] [] |
- fileutils | [] [] [] |
- findutils | [] [] [] [] [] [] |
- flex | [] [] [] [] |
- gas | [] |
- gawk | [] [] [] [] |
- gcal | [] |
- gcc | [] [] |
- gettext | [] [] [] [] [] |
- gettext-runtime | [] [] [] [] [] |
- gettext-tools | [] [] |
- gimp-print | [] [] [] [] [] |
- gliv | |
- glunarclock | [] [] [] |
- gnucash | () [] |
- gnucash-glossary | [] () [] |
- gnupg | [] () [] [] [] [] |
- gpe-calendar | [] |
- gpe-conf | [] |
- gpe-contacts | [] |
- gpe-edit | |
- gpe-login | [] |
- gpe-ownerinfo | [] |
- gpe-sketchbook | [] |
- gpe-timesheet | |
- gpe-today | [] |
- gpe-todo | [] |
- gphoto2 | [] [] [] [] |
- gprof | [] [] |
- gpsdrive | () () () |
- grep | [] [] [] [] [] |
- gretl | [] |
- hello | [] [] [] [] [] [] |
- id-utils | [] [] |
- indent | [] [] [] [] |
- jpilot | [] [] [] [] |
- jwhois | [] |
- kbd | [] [] [] [] [] |
- ld | [] [] |
- libc | [] [] [] [] [] [] |
- libgpewidget | [] |
- libiconv | [] [] [] [] [] |
- lifelines | [] () |
- lilypond | [] |
- lingoteach | |
- lingoteach_lessons | () () |
- lynx | [] [] [] [] |
- m4 | [] [] [] [] |
- mailutils | [] [] |
- make | [] [] [] |
- man-db | [] () [] [] () |
- mysecretdiary | [] [] [] |
- nano | [] () [] [] [] |
- nano_1_0 | [] () [] [] [] |
- opcodes | [] [] |
- parted | [] [] [] [] [] |
- ptx | [] [] [] [] [] |
- python | |
- radius | |
- recode | [] [] [] [] [] [] |
- screem | |
- sed | [] [] [] [] [] |
- sh-utils | [] [] [] |
- sharutils | [] [] [] [] [] [] |
- sketch | [] () [] |
- soundtracker | [] [] [] |
- sp | [] |
- tar | [] [] [] [] |
- texinfo | [] [] [] [] |
- textutils | [] [] [] [] |
- tin | () () |
- util-linux | [] [] [] [] [] |
- vorbis-tools | [] [] [] |
- wastesedge | () |
- wdiff | [] [] [] [] |
- wget | [] [] [] [] [] [] [] |
- xchat | [] [] [] |
- xpad | |
- +-------------------------------------------+
- am az be bg ca cs da de el en en_GB eo es
- 0 1 4 2 31 17 54 60 14 1 4 12 56
-
- et fa fi fr ga gl he hr hu id it ja ko
- +----------------------------------------+
- a2ps | [] [] [] () () |
- aegis | |
- anubis | [] |
- ap-utils | [] |
- bash | [] [] |
- batchelor | [] |
- bfd | [] [] |
- binutils | [] [] |
- bison | [] [] [] [] |
- bluez-pin | [] [] [] [] |
- clisp | |
- clisp | [] |
- coreutils | [] [] [] [] |
- cpio | [] [] [] [] |
- darkstat | () [] [] [] |
- diffutils | [] [] [] [] [] [] [] |
- e2fsprogs | |
- enscript | [] [] |
- error | [] [] [] [] |
- fetchmail | [] |
- fileutils | [] [] [] [] [] |
- findutils | [] [] [] [] [] [] [] [] [] [] [] |
- flex | [] [] |
- gas | [] |
- gawk | [] [] |
- gcal | [] |
- gcc | [] |
- gettext | [] [] [] |
- gettext-runtime | [] [] [] [] |
- gettext-tools | [] |
- gimp-print | [] [] |
- gliv | () |
- glunarclock | [] [] [] [] |
- gnucash | [] |
- gnucash-glossary | [] |
- gnupg | [] [] [] [] [] [] [] |
- gpe-calendar | [] |
- gpe-conf | |
- gpe-contacts | [] |
- gpe-edit | [] [] |
- gpe-login | [] |
- gpe-ownerinfo | [] [] [] |
- gpe-sketchbook | [] |
- gpe-timesheet | [] [] [] |
- gpe-today | [] [] |
- gpe-todo | [] [] |
- gphoto2 | [] [] [] |
- gprof | [] [] |
- gpsdrive | () [] () () |
- grep | [] [] [] [] [] [] [] [] [] [] [] |
- gretl | [] |
- hello | [] [] [] [] [] [] [] [] [] [] [] [] [] |
- id-utils | [] [] [] |
- indent | [] [] [] [] [] [] [] [] |
- jpilot | [] () |
- jwhois | [] [] [] [] |
- kbd | [] |
- ld | [] |
- libc | [] [] [] [] [] [] |
- libgpewidget | [] [] [] |
- libiconv | [] [] [] [] [] [] [] [] |
- lifelines | () |
- lilypond | [] |
- lingoteach | [] [] |
- lingoteach_lessons | |
- lynx | [] [] [] [] |
- m4 | [] [] [] [] |
- mailutils | |
- make | [] [] [] [] [] [] |
- man-db | [] () () |
- mysecretdiary | [] [] |
- nano | [] [] [] [] |
- nano_1_0 | [] [] [] [] |
- opcodes | [] [] |
- parted | [] [] [] |
- ptx | [] [] [] [] [] [] [] |
- python | |
- radius | |
- recode | [] [] [] [] [] [] |
- screem | |
- sed | [] [] [] [] [] [] [] [] |
- sh-utils | [] [] [] [] [] [] |
- sharutils | [] [] [] [] [] |
- sketch | [] |
- soundtracker | [] [] [] |
- sp | [] () |
- tar | [] [] [] [] [] [] [] [] [] |
- texinfo | [] [] [] [] |
- textutils | [] [] [] [] [] |
- tin | [] () |
- util-linux | [] [] [] [] () [] |
- vorbis-tools | [] |
- wastesedge | () |
- wdiff | [] [] [] [] [] |
- wget | [] [] [] [] [] [] [] [] |
- xchat | [] [] [] |
- xpad | |
- +----------------------------------------+
- et fa fi fr ga gl he hr hu id it ja ko
- 20 1 15 73 14 24 8 10 30 31 19 31 9
-
- lg lt lv ms nb nl nn no pl pt pt_BR ro
- +----------------------------------------+
- a2ps | [] [] () () () [] [] |
- aegis | () |
- anubis | [] [] |
- ap-utils | () |
- bash | [] |
- batchelor | |
- bfd | |
- binutils | |
- bison | [] [] [] [] |
- bluez-pin | [] |
- clisp | |
- clisp | [] |
- coreutils | [] |
- cpio | [] [] [] |
- darkstat | [] [] [] [] |
- diffutils | [] [] [] |
- e2fsprogs | |
- enscript | [] [] |
- error | [] [] |
- fetchmail | () () |
- fileutils | [] |
- findutils | [] [] [] [] |
- flex | [] |
- gas | |
- gawk | [] |
- gcal | |
- gcc | |
- gettext | [] |
- gettext-runtime | [] |
- gettext-tools | |
- gimp-print | [] |
- gliv | [] |
- glunarclock | [] |
- gnucash | |
- gnucash-glossary | [] [] |
- gnupg | |
- gpe-calendar | [] [] |
- gpe-conf | [] [] |
- gpe-contacts | [] |
- gpe-edit | [] [] |
- gpe-login | [] [] |
- gpe-ownerinfo | [] [] |
- gpe-sketchbook | [] [] |
- gpe-timesheet | [] [] |
- gpe-today | [] [] |
- gpe-todo | [] [] |
- gphoto2 | |
- gprof | [] |
- gpsdrive | () () () |
- grep | [] [] [] [] |
- gretl | |
- hello | [] [] [] [] [] [] [] [] [] |
- id-utils | [] [] [] |
- indent | [] [] [] |
- jpilot | () () |
- jwhois | [] [] [] |
- kbd | |
- ld | |
- libc | [] [] [] [] |
- libgpewidget | [] [] |
- libiconv | [] [] |
- lifelines | |
- lilypond | [] |
- lingoteach | |
- lingoteach_lessons | |
- lynx | [] [] |
- m4 | [] [] [] [] |
- mailutils | |
- make | [] [] |
- man-db | [] |
- mysecretdiary | [] |
- nano | [] [] [] [] |
- nano_1_0 | [] [] [] [] |
- opcodes | [] [] [] |
- parted | [] [] [] |
- ptx | [] [] [] [] [] [] [] |
- python | |
- radius | |
- recode | [] [] [] |
- screem | |
- sed | [] [] |
- sh-utils | [] |
- sharutils | [] |
- sketch | [] |
- soundtracker | |
- sp | |
- tar | [] [] [] [] [] [] |
- texinfo | [] |
- textutils | [] |
- tin | |
- util-linux | [] [] |
- vorbis-tools | [] [] |
- wastesedge | |
- wdiff | [] [] [] [] |
- wget | [] [] [] |
- xchat | [] [] |
- xpad | [] |
- +----------------------------------------+
- lg lt lv ms nb nl nn no pl pt pt_BR ro
- 0 0 2 11 7 26 3 4 18 15 34 34
-
- ru sk sl sr sv ta tr uk vi wa zh_CN zh_TW
- +-------------------------------------------+
- a2ps | [] [] [] [] [] | 16
- aegis | () | 0
- anubis | [] [] | 5
- ap-utils | () | 1
- bash | [] | 7
- batchelor | | 1
- bfd | [] [] [] | 7
- binutils | [] [] [] | 7
- bison | [] [] | 13
- bluez-pin | | 7
- clisp | | 0
- clisp | | 5
- coreutils | [] [] [] [] [] | 14
- cpio | [] [] [] | 13
- darkstat | [] () () | 9
- diffutils | [] [] [] [] | 21
- e2fsprogs | [] | 3
- enscript | [] [] [] | 11
- error | [] [] [] | 14
- fetchmail | [] | 7
- fileutils | [] [] [] [] [] [] | 15
- findutils | [] [] [] [] [] [] | 27
- flex | [] [] [] | 10
- gas | [] | 3
- gawk | [] [] | 9
- gcal | [] [] | 4
- gcc | [] | 4
- gettext | [] [] [] [] [] [] | 15
- gettext-runtime | [] [] [] [] [] [] | 16
- gettext-tools | [] [] | 5
- gimp-print | [] [] | 10
- gliv | | 1
- glunarclock | [] [] [] | 11
- gnucash | [] [] | 4
- gnucash-glossary | [] [] [] | 8
- gnupg | [] [] [] [] | 16
- gpe-calendar | [] | 5
- gpe-conf | | 3
- gpe-contacts | [] | 4
- gpe-edit | [] | 5
- gpe-login | [] | 5
- gpe-ownerinfo | [] | 7
- gpe-sketchbook | [] | 5
- gpe-timesheet | [] | 6
- gpe-today | [] | 6
- gpe-todo | [] | 6
- gphoto2 | [] [] | 9
- gprof | [] [] | 7
- gpsdrive | [] [] | 3
- grep | [] [] [] [] | 24
- gretl | | 2
- hello | [] [] [] [] [] | 33
- id-utils | [] [] [] | 11
- indent | [] [] [] [] | 19
- jpilot | [] [] [] [] [] | 10
- jwhois | () () [] [] | 10
- kbd | [] [] | 8
- ld | [] [] | 5
- libc | [] [] [] [] | 20
- libgpewidget | | 6
- libiconv | [] [] [] [] [] [] | 21
- lifelines | [] | 2
- lilypond | [] | 4
- lingoteach | | 2
- lingoteach_lessons | () | 0
- lynx | [] [] [] [] | 14
- m4 | [] [] [] | 15
- mailutils | | 2
- make | [] [] [] [] | 15
- man-db | [] | 6
- mysecretdiary | [] [] | 8
- nano | [] [] [] | 15
- nano_1_0 | [] [] [] | 15
- opcodes | [] [] | 9
- parted | [] [] | 13
- ptx | [] [] [] | 22
- python | | 0
- radius | | 0
- recode | [] [] [] [] | 19
- screem | [] | 1
- sed | [] [] [] [] [] | 20
- sh-utils | [] [] [] | 13
- sharutils | [] [] [] [] | 16
- sketch | [] | 5
- soundtracker | [] | 7
- sp | [] | 3
- tar | [] [] [] [] [] | 24
- texinfo | [] [] [] [] | 13
- textutils | [] [] [] [] [] | 15
- tin | | 1
- util-linux | [] [] | 14
- vorbis-tools | [] | 7
- wastesedge | | 0
- wdiff | [] [] [] [] | 17
- wget | [] [] [] [] [] [] [] | 25
- xchat | [] [] [] | 11
- xpad | | 1
- +-------------------------------------------+
- 50 teams ru sk sl sr sv ta tr uk vi wa zh_CN zh_TW
- 97 domains 32 19 16 0 56 0 48 10 1 1 12 23 913
+ Ready PO files af am an ar as ast az be bg bn bn_IN bs ca crh cs
+ +---------------------------------------------------+
+ a2ps | [] [] [] |
+ aegis | |
+ anubis | |
+ aspell | [] [] [] |
+ bash | [] [] [] |
+ bfd | |
+ binutils | [] |
+ bison | |
+ bison-runtime | [] |
+ buzztrax | [] |
+ ccd2cue | |
+ ccide | |
+ cflow | |
+ clisp | |
+ coreutils | [] [] |
+ cpio | |
+ cppi | |
+ cpplib | [] |
+ cryptsetup | [] |
+ datamash | |
+ denemo | [] [] |
+ dfarc | [] |
+ dialog | [] [] [] |
+ dico | |
+ diffutils | [] |
+ dink | [] |
+ direvent | |
+ doodle | [] |
+ dos2unix | |
+ dos2unix-man | |
+ e2fsprogs | [] [] |
+ enscript | [] |
+ exif | [] |
+ fetchmail | [] [] |
+ findutils | [] |
+ flex | [] |
+ freedink | [] [] |
+ fusionforge | |
+ gas | |
+ gawk | [] |
+ gcal | [] |
+ gcc | |
+ gdbm | |
+ gettext-examples | [] [] [] [] [] |
+ gettext-runtime | [] [] [] |
+ gettext-tools | [] [] |
+ gjay | |
+ glunarclock | [] [] [] |
+ gnubiff | [] |
+ gnubik | [] |
+ gnucash | () () [] |
+ gnuchess | |
+ gnulib | [] |
+ gnunet | |
+ gnunet-gtk | |
+ gold | |
+ gphoto2 | [] |
+ gprof | [] |
+ gramadoir | |
+ grep | [] [] [] |
+ grub | [] |
+ gsasl | |
+ gss | |
+ gst-plugins-bad | [] [] |
+ gst-plugins-base | [] [] [] |
+ gst-plugins-good | [] [] [] |
+ gst-plugins-ugly | [] [] [] |
+ gstreamer | [] [] [] [] |
+ gtick | [] |
+ gtkam | [] [] |
+ gtkspell | [] [] [] [] [] |
+ guix | |
+ guix-packages | |
+ gutenprint | [] |
+ hello | [] |
+ help2man | |
+ help2man-texi | |
+ hylafax | |
+ idutils | |
+ iso_15924 | [] |
+ iso_3166 | [] [] [] [] [] [] [] [] [] [] |
+ iso_3166_2 | |
+ iso_4217 | [] |
+ iso_639 | [] [] [] [] [] [] [] [] [] |
+ iso_639_3 | [] [] |
+ iso_639_5 | |
+ jwhois | |
+ kbd | [] |
+ klavaro | [] [] [] [] [] |
+ ld | [] |
+ leafpad | [] [] [] [] |
+ libc | [] [] [] |
+ libexif | () |
+ libextractor | |
+ libgnutls | [] |
+ libgphoto2 | [] |
+ libgphoto2_port | [] |
+ libgsasl | |
+ libiconv | [] [] |
+ libidn | [] |
+ liferea | [] [] [] [] |
+ lilypond | [] [] |
+ lordsawar | [] |
+ lprng | |
+ lynx | [] [] |
+ m4 | [] |
+ mailfromd | |
+ mailutils | |
+ make | [] |
+ man-db | [] [] |
+ man-db-manpages | |
+ midi-instruments | [] [] [] |
+ minicom | [] |
+ mkisofs | [] |
+ myserver | [] |
+ nano | [] [] [] |
+ opcodes | |
+ parted | [] |
+ pies | |
+ pnmixer | |
+ popt | [] |
+ procps-ng | |
+ procps-ng-man | |
+ psmisc | [] |
+ pspp | [] |
+ pushover | [] |
+ pwdutils | |
+ pyspread | |
+ radius | [] |
+ recode | [] [] [] |
+ recutils | |
+ rpm | |
+ rush | |
+ sarg | |
+ sed | [] [] [] [] |
+ sharutils | [] |
+ shishi | |
+ skribilo | |
+ solfege | [] [] |
+ solfege-manual | |
+ spotmachine | |
+ sudo | [] [] |
+ sudoers | [] [] |
+ sysstat | [] |
+ tar | [] [] [] |
+ texinfo | [] [] |
+ texinfo_document | [] [] |
+ tigervnc | [] |
+ tin | |
+ tin-man | |
+ tracgoogleappsa... | |
+ trader | |
+ util-linux | [] |
+ ve | |
+ vice | |
+ vmm | |
+ vorbis-tools | [] |
+ wastesedge | |
+ wcd | |
+ wcd-man | |
+ wdiff | [] [] |
+ wget | [] |
+ wyslij-po | |
+ xboard | |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] |
+ +---------------------------------------------------+
+ af am an ar as ast az be bg bn bn_IN bs ca crh cs
+ 4 0 2 5 3 11 0 8 25 3 3 1 55 4 74
+
+ da de el en en_GB en_ZA eo es et eu fa fi fr
+ +--------------------------------------------------+
+ a2ps | [] [] [] [] [] [] [] [] [] |
+ aegis | [] [] [] [] |
+ anubis | [] [] [] [] [] |
+ aspell | [] [] [] [] [] [] [] |
+ bash | [] [] [] |
+ bfd | [] [] [] [] |
+ binutils | [] [] [] |
+ bison | [] [] [] [] [] [] [] [] |
+ bison-runtime | [] [] [] [] [] [] [] [] |
+ buzztrax | [] [] [] [] |
+ ccd2cue | [] [] [] [] |
+ ccide | [] [] [] [] [] [] |
+ cflow | [] [] [] [] [] |
+ clisp | [] [] [] [] [] |
+ coreutils | [] [] [] [] [] |
+ cpio | [] [] [] [] [] |
+ cppi | [] [] [] [] [] |
+ cpplib | [] [] [] [] [] [] |
+ cryptsetup | [] [] [] [] [] |
+ datamash | [] [] [] [] |
+ denemo | [] |
+ dfarc | [] [] [] [] [] [] |
+ dialog | [] [] [] [] [] [] [] [] [] |
+ dico | [] [] [] [] |
+ diffutils | [] [] [] [] [] [] |
+ dink | [] [] [] [] [] [] |
+ direvent | [] [] [] [] |
+ doodle | [] [] [] [] |
+ dos2unix | [] [] [] [] [] |
+ dos2unix-man | [] [] [] |
+ e2fsprogs | [] [] [] [] [] |
+ enscript | [] [] [] [] [] [] |
+ exif | [] [] [] [] [] [] |
+ fetchmail | [] () [] [] [] [] [] |
+ findutils | [] [] [] [] [] [] [] [] |
+ flex | [] [] [] [] [] [] |
+ freedink | [] [] [] [] [] [] [] [] |
+ fusionforge | [] [] [] |
+ gas | [] [] [] |
+ gawk | [] [] [] [] [] |
+ gcal | [] [] [] [] |
+ gcc | [] |
+ gdbm | [] [] [] [] [] |
+ gettext-examples | [] [] [] [] [] [] [] |
+ gettext-runtime | [] [] [] [] [] [] |
+ gettext-tools | [] [] [] [] [] |
+ gjay | [] [] [] [] |
+ glunarclock | [] [] [] [] [] |
+ gnubiff | () [] [] () |
+ gnubik | [] [] [] [] [] |
+ gnucash | [] () () () () () () |
+ gnuchess | [] [] [] [] |
+ gnulib | [] [] [] [] [] [] [] |
+ gnunet | [] |
+ gnunet-gtk | [] |
+ gold | [] [] [] |
+ gphoto2 | [] () [] [] |
+ gprof | [] [] [] [] [] [] |
+ gramadoir | [] [] [] [] [] |
+ grep | [] [] [] [] [] [] [] |
+ grub | [] [] [] [] [] |
+ gsasl | [] [] [] [] [] |
+ gss | [] [] [] [] [] |
+ gst-plugins-bad | [] [] [] |
+ gst-plugins-base | [] [] [] [] [] [] |
+ gst-plugins-good | [] [] [] [] [] [] [] |
+ gst-plugins-ugly | [] [] [] [] [] [] [] [] |
+ gstreamer | [] [] [] [] [] [] [] |
+ gtick | [] () [] [] [] |
+ gtkam | [] () [] [] [] [] |
+ gtkspell | [] [] [] [] [] [] [] [] |
+ guix | [] [] |
+ guix-packages | |
+ gutenprint | [] [] [] [] |
+ hello | [] [] [] [] [] [] [] [] |
+ help2man | [] [] [] [] [] [] [] |
+ help2man-texi | [] [] [] |
+ hylafax | [] [] |
+ idutils | [] [] [] [] [] |
+ iso_15924 | [] () [] [] () [] () |
+ iso_3166 | [] () [] [] [] [] () [] () |
+ iso_3166_2 | [] () () () |
+ iso_4217 | [] () [] [] [] () [] () |
+ iso_639 | [] () [] [] () [] () |
+ iso_639_3 | () () () |
+ iso_639_5 | () () () |
+ jwhois | [] [] [] [] [] |
+ kbd | [] [] [] [] [] [] |
+ klavaro | [] [] [] [] [] [] [] |
+ ld | [] [] [] [] |
+ leafpad | [] [] [] [] [] [] [] [] |
+ libc | [] [] [] [] [] |
+ libexif | [] [] () [] [] |
+ libextractor | [] |
+ libgnutls | [] [] [] [] |
+ libgphoto2 | [] () [] |
+ libgphoto2_port | [] () [] [] [] [] |
+ libgsasl | [] [] [] [] [] |
+ libiconv | [] [] [] [] [] [] [] |
+ libidn | [] [] [] [] [] |
+ liferea | [] () [] [] [] [] [] |
+ lilypond | [] [] [] [] [] [] |
+ lordsawar | [] [] |
+ lprng | |
+ lynx | [] [] [] [] [] [] |
+ m4 | [] [] [] [] [] [] |
+ mailfromd | [] |
+ mailutils | [] [] [] [] |
+ make | [] [] [] [] [] |
+ man-db | [] [] [] [] |
+ man-db-manpages | [] [] |
+ midi-instruments | [] [] [] [] [] [] [] [] [] |
+ minicom | [] [] [] [] [] |
+ mkisofs | [] [] [] |
+ myserver | [] [] [] [] |
+ nano | [] [] [] [] [] [] [] |
+ opcodes | [] [] [] [] [] |
+ parted | [] [] [] |
+ pies | [] |
+ pnmixer | [] [] |
+ popt | [] [] [] [] [] [] |
+ procps-ng | [] [] |
+ procps-ng-man | [] [] |
+ psmisc | [] [] [] [] [] [] [] |
+ pspp | [] [] [] |
+ pushover | () [] [] [] |
+ pwdutils | [] [] [] |
+ pyspread | [] [] [] |
+ radius | [] [] |
+ recode | [] [] [] [] [] [] [] |
+ recutils | [] [] [] [] |
+ rpm | [] [] [] [] [] |
+ rush | [] [] [] |
+ sarg | [] [] |
+ sed | [] [] [] [] [] [] [] [] |
+ sharutils | [] [] [] [] |
+ shishi | [] [] [] |
+ skribilo | [] [] [] |
+ solfege | [] [] [] [] [] [] [] [] |
+ solfege-manual | [] [] [] [] [] |
+ spotmachine | [] [] [] [] [] |
+ sudo | [] [] [] [] [] [] |
+ sudoers | [] [] [] [] [] [] |
+ sysstat | [] [] [] [] [] [] |
+ tar | [] [] [] [] [] [] [] |
+ texinfo | [] [] [] [] [] |
+ texinfo_document | [] [] [] [] |
+ tigervnc | [] [] [] [] [] [] |
+ tin | [] [] [] [] |
+ tin-man | [] |
+ tracgoogleappsa... | [] [] [] [] [] |
+ trader | [] [] [] [] [] [] |
+ util-linux | [] [] [] [] |
+ ve | [] [] [] [] [] |
+ vice | () () () |
+ vmm | [] [] |
+ vorbis-tools | [] [] [] [] |
+ wastesedge | [] |
+ wcd | [] [] [] [] |
+ wcd-man | [] |
+ wdiff | [] [] [] [] [] [] [] |
+ wget | [] [] [] [] [] [] |
+ wyslij-po | [] [] [] [] |
+ xboard | [] [] [] [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] [] [] [] [] |
+ +--------------------------------------------------+
+ da de el en en_GB en_ZA eo es et eu fa fi fr
+ 119 131 32 1 6 0 94 95 22 13 4 102 139
+
+ ga gd gl gu he hi hr hu hy ia id is it ja ka kk
+ +-------------------------------------------------+
+ a2ps | [] [] [] [] |
+ aegis | [] |
+ anubis | [] [] [] [] |
+ aspell | [] [] [] [] [] |
+ bash | [] [] [] [] |
+ bfd | [] [] |
+ binutils | [] [] [] |
+ bison | [] |
+ bison-runtime | [] [] [] [] [] [] [] [] |
+ buzztrax | |
+ ccd2cue | [] |
+ ccide | [] [] |
+ cflow | [] [] [] |
+ clisp | |
+ coreutils | [] [] |
+ cpio | [] [] [] [] [] [] |
+ cppi | [] [] [] [] [] |
+ cpplib | [] [] |
+ cryptsetup | [] |
+ datamash | |
+ denemo | [] |
+ dfarc | [] [] [] |
+ dialog | [] [] [] [] [] [] [] [] [] [] |
+ dico | |
+ diffutils | [] [] [] [] |
+ dink | [] |
+ direvent | [] |
+ doodle | [] [] |
+ dos2unix | [] [] |
+ dos2unix-man | |
+ e2fsprogs | [] [] |
+ enscript | [] [] [] |
+ exif | [] [] [] [] [] [] |
+ fetchmail | [] [] [] |
+ findutils | [] [] [] [] [] [] [] |
+ flex | [] |
+ freedink | [] [] [] [] |
+ fusionforge | |
+ gas | [] |
+ gawk | [] () [] |
+ gcal | |
+ gcc | |
+ gdbm | |
+ gettext-examples | [] [] [] [] [] [] [] |
+ gettext-runtime | [] [] [] [] [] [] [] |
+ gettext-tools | [] [] [] |
+ gjay | [] |
+ glunarclock | [] [] [] [] [] [] |
+ gnubiff | [] [] () |
+ gnubik | [] [] [] |
+ gnucash | () () () () () |
+ gnuchess | |
+ gnulib | [] [] [] [] [] |
+ gnunet | |
+ gnunet-gtk | |
+ gold | [] [] |
+ gphoto2 | [] [] [] [] |
+ gprof | [] [] [] [] |
+ gramadoir | [] [] [] |
+ grep | [] [] [] [] [] [] [] |
+ grub | [] [] [] |
+ gsasl | [] [] [] [] [] |
+ gss | [] [] [] [] [] |
+ gst-plugins-bad | [] [] [] |
+ gst-plugins-base | [] [] [] [] |
+ gst-plugins-good | [] [] [] [] [] [] |
+ gst-plugins-ugly | [] [] [] [] [] [] |
+ gstreamer | [] [] [] [] [] |
+ gtick | [] [] [] [] [] |
+ gtkam | [] [] [] [] [] |
+ gtkspell | [] [] [] [] [] [] [] [] [] [] |
+ guix | |
+ guix-packages | |
+ gutenprint | [] [] [] |
+ hello | [] [] [] [] [] |
+ help2man | [] [] [] |
+ help2man-texi | |
+ hylafax | [] |
+ idutils | [] [] |
+ iso_15924 | [] [] [] [] [] [] |
+ iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] |
+ iso_3166_2 | [] [] |
+ iso_4217 | [] [] [] [] [] [] |
+ iso_639 | [] [] [] [] [] [] [] [] [] |
+ iso_639_3 | [] [] |
+ iso_639_5 | |
+ jwhois | [] [] [] [] |
+ kbd | [] [] [] |
+ klavaro | [] [] [] [] [] |
+ ld | [] [] [] [] |
+ leafpad | [] [] [] [] [] [] [] () |
+ libc | [] [] [] [] [] |
+ libexif | [] |
+ libextractor | |
+ libgnutls | [] |
+ libgphoto2 | [] [] |
+ libgphoto2_port | [] [] |
+ libgsasl | [] [] [] [] |
+ libiconv | [] [] [] [] [] [] [] |
+ libidn | [] [] [] [] |
+ liferea | [] [] [] [] [] |
+ lilypond | [] |
+ lordsawar | |
+ lprng | [] |
+ lynx | [] [] [] [] |
+ m4 | [] [] [] [] [] |
+ mailfromd | |
+ mailutils | |
+ make | [] [] [] [] |
+ man-db | [] [] |
+ man-db-manpages | [] [] |
+ midi-instruments | [] [] [] [] [] [] [] [] [] |
+ minicom | [] [] [] |
+ mkisofs | [] [] |
+ myserver | [] |
+ nano | [] [] [] [] [] [] |
+ opcodes | [] [] [] |
+ parted | [] [] [] [] [] |
+ pies | |
+ pnmixer | [] [] |
+ popt | [] [] [] [] [] [] [] [] [] [] |
+ procps-ng | |
+ procps-ng-man | |
+ psmisc | [] [] [] [] |
+ pspp | [] [] |
+ pushover | [] |
+ pwdutils | [] |
+ pyspread | |
+ radius | [] |
+ recode | [] [] [] [] [] [] [] |
+ recutils | |
+ rpm | [] |
+ rush | [] |
+ sarg | |
+ sed | [] [] [] [] [] [] [] |
+ sharutils | |
+ shishi | |
+ skribilo | [] |
+ solfege | [] [] |
+ solfege-manual | |
+ spotmachine | |
+ sudo | [] [] [] [] |
+ sudoers | [] [] [] |
+ sysstat | [] [] [] [] |
+ tar | [] [] [] [] [] [] |
+ texinfo | [] [] [] |
+ texinfo_document | [] [] [] |
+ tigervnc | |
+ tin | |
+ tin-man | |
+ tracgoogleappsa... | [] [] [] [] |
+ trader | [] [] |
+ util-linux | [] |
+ ve | [] |
+ vice | () () |
+ vmm | |
+ vorbis-tools | [] [] |
+ wastesedge | [] |
+ wcd | |
+ wcd-man | |
+ wdiff | [] [] [] |
+ wget | [] [] [] [] |
+ wyslij-po | [] [] [] |
+ xboard | |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] [] [] [] |
+ +-------------------------------------------------+
+ ga gd gl gu he hi hr hu hy ia id is it ja ka kk
+ 35 2 47 4 8 2 60 71 2 6 81 11 87 57 0 3
+
+ kn ko ku ky lg lt lv mk ml mn mr ms mt nb ne nl
+ +--------------------------------------------------+
+ a2ps | [] [] |
+ aegis | [] |
+ anubis | [] [] [] |
+ aspell | [] [] |
+ bash | [] [] |
+ bfd | |
+ binutils | |
+ bison | [] |
+ bison-runtime | [] [] [] [] [] [] |
+ buzztrax | |
+ ccd2cue | |
+ ccide | [] [] |
+ cflow | [] |
+ clisp | [] |
+ coreutils | [] [] |
+ cpio | [] |
+ cppi | |
+ cpplib | [] |
+ cryptsetup | [] |
+ datamash | [] [] |
+ denemo | |
+ dfarc | [] [] |
+ dialog | [] [] [] [] [] [] |
+ dico | |
+ diffutils | [] [] [] |
+ dink | [] |
+ direvent | [] |
+ doodle | [] |
+ dos2unix | [] [] |
+ dos2unix-man | [] |
+ e2fsprogs | [] |
+ enscript | [] |
+ exif | [] [] [] |
+ fetchmail | [] |
+ findutils | [] [] |
+ flex | [] |
+ freedink | [] [] |
+ fusionforge | |
+ gas | |
+ gawk | [] |
+ gcal | |
+ gcc | |
+ gdbm | |
+ gettext-examples | [] [] [] [] [] [] |
+ gettext-runtime | [] [] [] |
+ gettext-tools | [] |
+ gjay | |
+ glunarclock | [] [] |
+ gnubiff | [] |
+ gnubik | [] [] |
+ gnucash | () () () () () () () [] |
+ gnuchess | [] [] |
+ gnulib | [] |
+ gnunet | |
+ gnunet-gtk | |
+ gold | |
+ gphoto2 | [] |
+ gprof | [] [] |
+ gramadoir | [] |
+ grep | [] [] |
+ grub | [] [] [] |
+ gsasl | [] |
+ gss | |
+ gst-plugins-bad | [] [] [] |
+ gst-plugins-base | [] [] [] |
+ gst-plugins-good | [] [] [] [] |
+ gst-plugins-ugly | [] [] [] [] [] |
+ gstreamer | [] [] [] |
+ gtick | [] |
+ gtkam | [] [] |
+ gtkspell | [] [] [] [] [] [] [] |
+ guix | |
+ guix-packages | |
+ gutenprint | [] |
+ hello | [] [] [] |
+ help2man | [] |
+ help2man-texi | |
+ hylafax | [] |
+ idutils | [] |
+ iso_15924 | () [] [] |
+ iso_3166 | [] [] [] () [] [] [] [] [] [] |
+ iso_3166_2 | () [] |
+ iso_4217 | () [] [] [] |
+ iso_639 | [] [] () [] [] [] [] |
+ iso_639_3 | [] () [] |
+ iso_639_5 | () |
+ jwhois | [] [] |
+ kbd | [] |
+ klavaro | [] [] |
+ ld | |
+ leafpad | [] [] [] [] [] |
+ libc | [] [] |
+ libexif | [] |
+ libextractor | [] |
+ libgnutls | [] [] |
+ libgphoto2 | [] |
+ libgphoto2_port | [] |
+ libgsasl | [] |
+ libiconv | [] [] |
+ libidn | [] |
+ liferea | [] [] [] |
+ lilypond | [] |
+ lordsawar | |
+ lprng | |
+ lynx | [] |
+ m4 | [] |
+ mailfromd | |
+ mailutils | |
+ make | [] [] |
+ man-db | [] |
+ man-db-manpages | [] |
+ midi-instruments | [] [] [] [] [] [] [] |
+ minicom | [] |
+ mkisofs | [] |
+ myserver | |
+ nano | [] [] [] |
+ opcodes | [] |
+ parted | [] [] |
+ pies | |
+ pnmixer | [] |
+ popt | [] [] [] [] [] |
+ procps-ng | |
+ procps-ng-man | |
+ psmisc | [] |
+ pspp | [] [] |
+ pushover | |
+ pwdutils | [] |
+ pyspread | |
+ radius | [] |
+ recode | [] [] |
+ recutils | [] |
+ rpm | [] |
+ rush | [] |
+ sarg | |
+ sed | [] [] |
+ sharutils | [] |
+ shishi | |
+ skribilo | |
+ solfege | [] [] |
+ solfege-manual | [] |
+ spotmachine | [] |
+ sudo | [] [] [] |
+ sudoers | [] [] [] |
+ sysstat | [] [] |
+ tar | [] [] [] |
+ texinfo | [] |
+ texinfo_document | [] |
+ tigervnc | [] |
+ tin | |
+ tin-man | |
+ tracgoogleappsa... | [] [] [] |
+ trader | [] |
+ util-linux | [] |
+ ve | [] |
+ vice | [] |
+ vmm | [] |
+ vorbis-tools | [] |
+ wastesedge | [] |
+ wcd | [] |
+ wcd-man | [] |
+ wdiff | [] |
+ wget | [] [] |
+ wyslij-po | [] |
+ xboard | [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] |
+ +--------------------------------------------------+
+ kn ko ku ky lg lt lv mk ml mn mr ms mt nb ne nl
+ 5 15 4 6 0 13 23 3 3 3 4 11 2 42 1 125
+
+ nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr
+ +------------------------------------------------+
+ a2ps | [] [] [] [] [] [] [] |
+ aegis | [] [] |
+ anubis | [] [] [] |
+ aspell | [] [] [] [] [] [] [] |
+ bash | [] [] [] [] [] [] |
+ bfd | [] [] |
+ binutils | [] [] |
+ bison | [] [] [] |
+ bison-runtime | [] [] [] [] [] [] [] [] |
+ buzztrax | [] |
+ ccd2cue | [] [] |
+ ccide | [] [] [] |
+ cflow | [] [] [] |
+ clisp | [] |
+ coreutils | [] [] [] [] |
+ cpio | [] [] [] |
+ cppi | [] [] [] |
+ cpplib | [] [] [] |
+ cryptsetup | [] [] [] |
+ datamash | [] [] |
+ denemo | |
+ dfarc | [] [] [] |
+ dialog | [] [] [] [] [] [] [] |
+ dico | [] |
+ diffutils | [] [] [] |
+ dink | |
+ direvent | [] [] [] |
+ doodle | [] [] |
+ dos2unix | [] [] [] [] |
+ dos2unix-man | [] [] |
+ e2fsprogs | [] |
+ enscript | [] [] [] [] [] [] |
+ exif | [] [] [] [] [] [] |
+ fetchmail | [] [] [] |
+ findutils | [] [] [] [] [] [] |
+ flex | [] [] [] [] [] |
+ freedink | [] [] [] [] [] |
+ fusionforge | |
+ gas | |
+ gawk | [] |
+ gcal | |
+ gcc | |
+ gdbm | [] [] [] |
+ gettext-examples | [] [] [] [] [] [] [] [] |
+ gettext-runtime | [] [] [] [] [] [] [] [] [] |
+ gettext-tools | [] [] [] [] [] [] [] |
+ gjay | [] |
+ glunarclock | [] [] [] [] [] [] |
+ gnubiff | [] |
+ gnubik | [] [] [] [] |
+ gnucash | () () () () () [] |
+ gnuchess | [] [] |
+ gnulib | [] [] [] [] [] |
+ gnunet | |
+ gnunet-gtk | |
+ gold | |
+ gphoto2 | [] [] [] [] [] |
+ gprof | [] [] [] [] |
+ gramadoir | [] [] |
+ grep | [] [] [] [] [] [] |
+ grub | [] [] [] [] [] |
+ gsasl | [] [] [] |
+ gss | [] [] [] [] |
+ gst-plugins-bad | [] [] [] [] [] |
+ gst-plugins-base | [] [] [] [] [] [] |
+ gst-plugins-good | [] [] [] [] [] [] [] |
+ gst-plugins-ugly | [] [] [] [] [] [] [] |
+ gstreamer | [] [] [] [] [] [] [] |
+ gtick | [] [] [] [] [] |
+ gtkam | [] [] [] [] [] [] |
+ gtkspell | [] [] [] [] [] [] [] [] [] |
+ guix | |
+ guix-packages | |
+ gutenprint | [] [] |
+ hello | [] [] [] [] [] [] |
+ help2man | [] [] [] [] |
+ help2man-texi | [] |
+ hylafax | |
+ idutils | [] [] [] |
+ iso_15924 | [] () [] [] [] [] |
+ iso_3166 | [] [] [] [] () [] [] [] [] [] [] [] [] |
+ iso_3166_2 | [] () [] |
+ iso_4217 | [] [] () [] [] [] [] [] |
+ iso_639 | [] [] [] () [] [] [] [] [] [] |
+ iso_639_3 | [] () |
+ iso_639_5 | () [] |
+ jwhois | [] [] [] [] |
+ kbd | [] [] |
+ klavaro | [] [] [] [] [] |
+ ld | |
+ leafpad | [] [] [] [] [] [] [] [] |
+ libc | [] [] [] |
+ libexif | [] () [] |
+ libextractor | [] |
+ libgnutls | [] |
+ libgphoto2 | [] |
+ libgphoto2_port | [] [] [] [] [] |
+ libgsasl | [] [] [] [] |
+ libiconv | [] [] [] [] [] |
+ libidn | [] [] [] |
+ liferea | [] [] [] [] () [] [] |
+ lilypond | |
+ lordsawar | |
+ lprng | [] |
+ lynx | [] [] |
+ m4 | [] [] [] [] [] |
+ mailfromd | [] |
+ mailutils | [] |
+ make | [] [] [] |
+ man-db | [] [] [] |
+ man-db-manpages | [] [] [] |
+ midi-instruments | [] [] [] [] [] [] [] [] |
+ minicom | [] [] [] [] |
+ mkisofs | [] [] [] |
+ myserver | [] [] |
+ nano | [] [] [] [] [] [] |
+ opcodes | |
+ parted | [] [] [] [] [] [] |
+ pies | [] |
+ pnmixer | [] |
+ popt | [] [] [] [] [] [] |
+ procps-ng | [] |
+ procps-ng-man | [] |
+ psmisc | [] [] [] [] |
+ pspp | [] [] |
+ pushover | |
+ pwdutils | [] |
+ pyspread | [] [] |
+ radius | [] [] |
+ recode | [] [] [] [] [] [] [] [] |
+ recutils | [] [] |
+ rpm | [] |
+ rush | [] [] [] |
+ sarg | [] [] |
+ sed | [] [] [] [] [] [] [] [] |
+ sharutils | [] [] [] |
+ shishi | [] [] |
+ skribilo | [] |
+ solfege | [] [] [] |
+ solfege-manual | [] [] |
+ spotmachine | [] [] |
+ sudo | [] [] [] [] [] [] |
+ sudoers | [] [] [] [] |
+ sysstat | [] [] [] [] [] |
+ tar | [] [] [] [] [] |
+ texinfo | [] [] [] |
+ texinfo_document | [] [] |
+ tigervnc | [] [] [] |
+ tin | [] |
+ tin-man | |
+ tracgoogleappsa... | [] [] [] [] |
+ trader | [] [] |
+ util-linux | [] [] |
+ ve | [] [] [] |
+ vice | |
+ vmm | |
+ vorbis-tools | [] [] [] |
+ wastesedge | |
+ wcd | |
+ wcd-man | |
+ wdiff | [] [] [] [] [] |
+ wget | [] [] [] [] [] |
+ wyslij-po | [] [] [] [] |
+ xboard | [] [] [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] [] |
+ +------------------------------------------------+
+ nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr
+ 7 3 6 114 1 12 88 32 82 3 40 45 7 101
+
+ sv sw ta te tg th tr uk ur vi wa wo zh_CN
+ +----------------------------------------------+
+ a2ps | [] [] [] [] [] |
+ aegis | [] |
+ anubis | [] [] [] [] |
+ aspell | [] [] [] [] [] |
+ bash | [] [] [] [] |
+ bfd | [] [] [] |
+ binutils | [] [] [] |
+ bison | [] [] [] [] |
+ bison-runtime | [] [] [] [] [] [] |
+ buzztrax | [] [] [] |
+ ccd2cue | [] [] [] |
+ ccide | [] [] [] [] |
+ cflow | [] [] [] [] |
+ clisp | |
+ coreutils | [] [] [] |
+ cpio | [] [] [] [] [] |
+ cppi | [] [] [] [] |
+ cpplib | [] [] [] [] [] |
+ cryptsetup | [] [] [] |
+ datamash | [] [] [] |
+ denemo | [] |
+ dfarc | [] [] |
+ dialog | [] [] [] [] [] [] |
+ dico | [] |
+ diffutils | [] [] [] [] [] |
+ dink | [] |
+ direvent | [] [] |
+ doodle | [] [] |
+ dos2unix | [] [] [] [] |
+ dos2unix-man | [] [] [] |
+ e2fsprogs | [] [] [] [] |
+ enscript | [] [] [] [] |
+ exif | [] [] [] [] [] |
+ fetchmail | [] [] [] [] |
+ findutils | [] [] [] [] [] |
+ flex | [] [] [] [] |
+ freedink | [] [] [] |
+ fusionforge | |
+ gas | [] |
+ gawk | [] [] [] |
+ gcal | [] [] [] |
+ gcc | [] |
+ gdbm | [] [] |
+ gettext-examples | [] [] [] [] [] |
+ gettext-runtime | [] [] [] [] [] |
+ gettext-tools | [] [] [] [] [] |
+ gjay | [] [] [] |
+ glunarclock | [] [] [] [] |
+ gnubiff | [] [] |
+ gnubik | [] [] [] [] |
+ gnucash | () () () () [] |
+ gnuchess | [] [] [] |
+ gnulib | [] [] [] [] |
+ gnunet | |
+ gnunet-gtk | |
+ gold | [] [] |
+ gphoto2 | [] [] [] [] |
+ gprof | [] [] [] [] |
+ gramadoir | [] [] [] |
+ grep | [] [] [] [] [] |
+ grub | [] [] [] [] |
+ gsasl | [] [] [] [] |
+ gss | [] [] [] |
+ gst-plugins-bad | [] [] [] [] [] |
+ gst-plugins-base | [] [] [] [] [] |
+ gst-plugins-good | [] [] [] [] [] |
+ gst-plugins-ugly | [] [] [] [] [] |
+ gstreamer | [] [] [] [] [] |
+ gtick | [] [] [] |
+ gtkam | [] [] [] [] |
+ gtkspell | [] [] [] [] [] [] [] |
+ guix | |
+ guix-packages | |
+ gutenprint | [] [] [] [] |
+ hello | [] [] [] [] [] [] |
+ help2man | [] [] [] |
+ help2man-texi | [] |
+ hylafax | [] |
+ idutils | [] [] [] |
+ iso_15924 | [] () [] [] () [] |
+ iso_3166 | [] [] () [] [] () [] [] |
+ iso_3166_2 | () [] [] () [] |
+ iso_4217 | [] () [] [] () [] |
+ iso_639 | [] [] [] () [] [] () [] [] |
+ iso_639_3 | [] () [] [] () |
+ iso_639_5 | () [] () |
+ jwhois | [] [] [] [] |
+ kbd | [] [] [] [] |
+ klavaro | [] [] [] [] [] [] |
+ ld | [] [] [] [] [] |
+ leafpad | [] [] [] [] [] [] |
+ libc | [] [] [] [] [] |
+ libexif | [] [] () |
+ libextractor | [] [] |
+ libgnutls | [] [] [] [] |
+ libgphoto2 | [] [] [] |
+ libgphoto2_port | [] [] [] [] |
+ libgsasl | [] [] [] [] |
+ libiconv | [] [] [] [] [] |
+ libidn | () [] [] [] |
+ liferea | [] [] [] [] [] |
+ lilypond | [] |
+ lordsawar | |
+ lprng | [] |
+ lynx | [] [] [] [] |
+ m4 | [] [] [] |
+ mailfromd | [] [] |
+ mailutils | [] |
+ make | [] [] [] [] |
+ man-db | [] [] [] |
+ man-db-manpages | [] [] |
+ midi-instruments | [] [] [] [] [] [] |
+ minicom | [] [] |
+ mkisofs | [] [] [] |
+ myserver | [] |
+ nano | [] [] [] [] |
+ opcodes | [] [] [] |
+ parted | [] [] [] [] [] |
+ pies | [] [] |
+ pnmixer | [] [] [] |
+ popt | [] [] [] [] [] [] [] |
+ procps-ng | [] [] |
+ procps-ng-man | [] |
+ psmisc | [] [] [] [] |
+ pspp | [] [] [] |
+ pushover | [] |
+ pwdutils | [] [] |
+ pyspread | [] |
+ radius | [] [] |
+ recode | [] [] [] [] |
+ recutils | [] [] [] |
+ rpm | [] [] [] [] |
+ rush | [] [] |
+ sarg | |
+ sed | [] [] [] [] [] |
+ sharutils | [] [] [] [] |
+ shishi | [] [] |
+ skribilo | [] [] |
+ solfege | [] [] [] [] |
+ solfege-manual | [] |
+ spotmachine | [] [] [] |
+ sudo | [] [] [] [] [] |
+ sudoers | [] [] [] [] |
+ sysstat | [] [] [] [] [] |
+ tar | [] [] [] [] [] |
+ texinfo | [] [] [] |
+ texinfo_document | [] |
+ tigervnc | [] [] [] |
+ tin | [] |
+ tin-man | |
+ tracgoogleappsa... | [] [] [] [] [] |
+ trader | [] |
+ util-linux | [] [] [] [] |
+ ve | [] [] [] [] |
+ vice | () () |
+ vmm | |
+ vorbis-tools | [] [] |
+ wastesedge | |
+ wcd | [] [] [] |
+ wcd-man | [] |
+ wdiff | [] [] [] [] |
+ wget | [] [] [] |
+ wyslij-po | [] [] |
+ xboard | [] [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] [] |
+ +----------------------------------------------+
+ sv sw ta te tg th tr uk ur vi wa wo zh_CN
+ 106 1 4 3 0 13 51 115 1 125 7 1 100
+
+ zh_HK zh_TW
+ +-------------+
+ a2ps | | 30
+ aegis | | 9
+ anubis | | 19
+ aspell | | 29
+ bash | [] | 23
+ bfd | | 11
+ binutils | | 12
+ bison | [] | 18
+ bison-runtime | [] | 38
+ buzztrax | | 9
+ ccd2cue | | 10
+ ccide | | 17
+ cflow | | 16
+ clisp | | 10
+ coreutils | | 18
+ cpio | | 20
+ cppi | | 17
+ cpplib | [] | 19
+ cryptsetup | | 14
+ datamash | | 11
+ denemo | | 5
+ dfarc | | 17
+ dialog | [] | 42
+ dico | | 6
+ diffutils | | 22
+ dink | | 10
+ direvent | | 11
+ doodle | | 12
+ dos2unix | [] | 18
+ dos2unix-man | | 9
+ e2fsprogs | | 15
+ enscript | | 21
+ exif | | 27
+ fetchmail | | 19
+ findutils | | 29
+ flex | [] | 19
+ freedink | | 24
+ fusionforge | | 3
+ gas | | 5
+ gawk | | 13
+ gcal | | 8
+ gcc | | 2
+ gdbm | | 10
+ gettext-examples | [] [] | 40
+ gettext-runtime | [] [] | 35
+ gettext-tools | [] | 24
+ gjay | | 9
+ glunarclock | [] | 27
+ gnubiff | | 9
+ gnubik | | 19
+ gnucash | () | 6
+ gnuchess | | 11
+ gnulib | | 23
+ gnunet | | 1
+ gnunet-gtk | | 1
+ gold | | 7
+ gphoto2 | [] | 19
+ gprof | | 21
+ gramadoir | | 14
+ grep | [] | 31
+ grub | | 21
+ gsasl | [] | 19
+ gss | | 17
+ gst-plugins-bad | | 21
+ gst-plugins-base | | 27
+ gst-plugins-good | | 32
+ gst-plugins-ugly | | 34
+ gstreamer | [] | 32
+ gtick | | 19
+ gtkam | | 24
+ gtkspell | [] [] | 48
+ guix | | 2
+ guix-packages | | 0
+ gutenprint | | 15
+ hello | [] | 30
+ help2man | | 18
+ help2man-texi | | 5
+ hylafax | | 5
+ idutils | | 14
+ iso_15924 | [] | 23
+ iso_3166 | [] [] | 58
+ iso_3166_2 | | 9
+ iso_4217 | [] [] | 28
+ iso_639 | [] [] | 46
+ iso_639_3 | | 10
+ iso_639_5 | | 2
+ jwhois | [] | 20
+ kbd | | 17
+ klavaro | | 30
+ ld | [] | 15
+ leafpad | [] | 39
+ libc | [] | 24
+ libexif | | 10
+ libextractor | | 5
+ libgnutls | | 13
+ libgphoto2 | | 10
+ libgphoto2_port | [] | 19
+ libgsasl | | 18
+ libiconv | [] | 29
+ libidn | | 17
+ liferea | | 29
+ lilypond | | 11
+ lordsawar | | 3
+ lprng | | 3
+ lynx | | 19
+ m4 | [] | 22
+ mailfromd | | 4
+ mailutils | | 6
+ make | | 19
+ man-db | | 15
+ man-db-manpages | | 10
+ midi-instruments | [] | 43
+ minicom | [] | 17
+ mkisofs | | 13
+ myserver | | 9
+ nano | [] | 30
+ opcodes | | 12
+ parted | [] | 23
+ pies | | 4
+ pnmixer | | 9
+ popt | [] | 36
+ procps-ng | | 5
+ procps-ng-man | | 4
+ psmisc | [] | 22
+ pspp | | 13
+ pushover | | 6
+ pwdutils | | 8
+ pyspread | | 6
+ radius | | 9
+ recode | | 31
+ recutils | | 10
+ rpm | [] | 13
+ rush | | 10
+ sarg | | 4
+ sed | [] | 35
+ sharutils | | 13
+ shishi | | 7
+ skribilo | | 7
+ solfege | | 21
+ solfege-manual | | 9
+ spotmachine | | 11
+ sudo | | 26
+ sudoers | | 22
+ sysstat | | 23
+ tar | [] | 30
+ texinfo | | 17
+ texinfo_document | | 13
+ tigervnc | | 14
+ tin | [] | 7
+ tin-man | | 1
+ tracgoogleappsa... | [] | 22
+ trader | | 12
+ util-linux | | 13
+ ve | | 14
+ vice | | 1
+ vmm | | 3
+ vorbis-tools | | 13
+ wastesedge | | 3
+ wcd | | 8
+ wcd-man | | 3
+ wdiff | [] | 23
+ wget | | 21
+ wyslij-po | | 14
+ xboard | | 10
+ xdg-user-dirs | [] [] | 68
+ xkeyboard-config | [] | 28
+ +-------------+
+ 89 teams zh_HK zh_TW
+ 166 domains 7 42 2809
Some counters in the preceding matrix are higher than the number of
visible blocks let us expect. This is because a few extra PO files are
@@ -594,32 +1350,30 @@ used for implementing regional variants of languages, or language
dialects.
For a PO file in the matrix above to be effective, the package to
-which it applies should also have been internationalized and
-distributed as such by its maintainer. There might be an observable
-lag between the mere existence a PO file and its wide availability in a
-distribution.
-
- If May 2003 seems to be old, you may fetch a more recent copy of
-this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date
-matrix with full percentage details can be found at
-`http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'.
-
-Using `gettext' in new packages
-===============================
-
- If you are writing a freely available program and want to
-internationalize it you are welcome to use GNU `gettext' in your
-package. Of course you have to respect the GNU Library General Public
-License which covers the use of the GNU `gettext' library. This means
-in particular that even non-free programs can use `libintl' as a shared
-library, whereas only free software can use `libintl' as a static
-library or use modified versions of `libintl'.
+which it applies should also have been internationalized and distributed
+as such by its maintainer. There might be an observable lag between the
+mere existence a PO file and its wide availability in a distribution.
+
+ If Jun 2014 seems to be old, you may fetch a more recent copy of this
+'ABOUT-NLS' file on most GNU archive sites. The most up-to-date matrix
+with full percentage details can be found at
+'http://translationproject.org/extra/matrix.html'.
+
+1.5 Using 'gettext' in new packages
+===================================
+
+If you are writing a freely available program and want to
+internationalize it you are welcome to use GNU 'gettext' in your
+package. Of course you have to respect the GNU Lesser General Public
+License which covers the use of the GNU 'gettext' library. This means
+in particular that even non-free programs can use 'libintl' as a shared
+library, whereas only free software can use 'libintl' as a static
+library or use modified versions of 'libintl'.
Once the sources are changed appropriately and the setup can handle
-the use of `gettext' the only thing missing are the translations. The
+the use of 'gettext' the only thing missing are the translations. The
Free Translation Project is also available for packages which are not
developed inside the GNU project. Therefore the information given above
applies also for every other Free Software Project. Contact
-`translation@iro.umontreal.ca' to make the `.pot' files available to
-the translation teams.
-
+'coordinator@translationproject.org' to make the '.pot' files available
+to the translation teams.
diff --git a/CHANGES b/CHANGES
index 4eb96c0e..bce097c4 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,124 @@
+This document details the changes between this version, bash-5.0-beta, and
+the previous version, bash-5.0-alpha.
+
+1. Changes to Bash
+
+a. Fixed a bug that allowed subshells to "inherit" enclosing loops -- this
+ is where POSIX says the subshell is not "enclosed" by the loop.
+
+b. Added more UTF-8-specific versions of multibyte functions, and optimized
+ existing functions if the current locale uses UTF-8 encoding.
+
+c. In POSIX mode, assignments preceding regular builtins should not persist
+ when the builtin completes.
+
+d. Added additional checks to special array assignment (e.g., BASH_ALIASES)
+ so it can't be used to bypass validity checks performed in other places.
+
+e. The `!!' history expansion now refers to the previous history entry as
+ expected, even if used on the second or subsequent line of a multi-line
+ history entry.
+
+f. Fixed a bug that could cause the shell to dereference a NULL pointer if
+ the environment (`environ') is set to NULL.
+
+g. Bash uses slightly better integer overflow handling for brace sequence
+ expansion on systems where ints are 32 bits and intmax_t is 64 bits.
+
+h. Fixed a bug setting attributes for a variable named as an argument to
+ `declare' that also appears as a nameref in the temporary environment.
+
+i. Fixed several bugs that could cause assignments to namerefs to create
+ variables with invalid names.
+
+j. Fixed a bug that could result in the SIGINT handler being set incorrectly
+ in asynchronous subshells.
+
+k. Fixed a bug that could cause `bash -t' to not execute the specified command.
+
+l. Fixed several bugs that caused the shell to operate on the wrong variable
+ when using namerefs with the same name as a global variable in shell
+ functions.
+
+m. Internal changes to how the shell handles variables with invalid names in
+ the initial environment and to prevent variables with invalid names from
+ being added to the environment instead of passing them on to children.
+
+n. Changes to make sure that an expansion that results in a quoted null string
+ is reflected in the expansion, even if the word expands to nothing.
+
+o. Changes to make sure that $* and ${array[*]} (and $@/${array[@]}) expand
+ the same way after the recent changes for POSIX interpretation 888.
+
+p. Saving and restoring the positional parameters at function entry and exit
+ is considerably more efficient; noticeably so when there are large numbers
+ of positional parameters.
+
+q. Fixed a bug that caused `lastpipe' and `pipefail' to return an incorrect
+ status for the pipeline if there was more than one external command in a
+ loop body appearing in the last pipeline element.
+
+r. Fixed a bug that caused value conversion errors with the printf builtin's
+ %u and %f conversion specifications and invalid constants.
+
+2. Changes to Readline
+
+a. Added more UTF-8-specific versions of multibyte functions, and optimized
+ existing functions if the current locale uses UTF-8 encoding.
+
+b. Fixed a problem with bracketed-paste inserting more than one character and
+ interacting with other readline functions.
+
+c. Fixed a bug that caused the history library to attempt to append a history
+ line to a non-existent history entry.
+
+d. If using bracketed paste mode, output a newline after the \r that is the
+ last character of the mode disable string to avoid overwriting output.
+
+e. Fixes to the vi-mode `b', `B', `w', `W', `e', and `E' commands to better
+ handle multibyte characters.
+
+f. Fixed a redisplay problem that caused an extra newline to be generated on
+ accept-line when the line length is exactly the screenwidth.
+
+3. New Features in Bash
+
+a. Bash no longer allows variable assignments preceding a special builtin that
+ changes variable attributes to propagate back to the calling environment
+ unless the compatibility level is 44 or lower.
+
+b. You can set the default value for $HISTSIZE at build time in config-top.h.
+
+c. The `complete' builtin now accepts a -I option that applies the completion
+ to the initial word on the line.
+
+d. The internal bash malloc now uses mmap (if available) to satisfy requests
+ greater than 128K bytes, so free can use mfree to return the pages to the
+ kernel.
+
+e. The shell doesn't automatically set BASH_ARGC and BASH_ARGV at startup
+ unless it's in debugging mode, as the documentation has always said, but
+ will dynamically create them if a script references them at the top level
+ without having enabled debugging mode.
+
+f. The localvar_inherit option will not attempt to inherit a value from a
+ variable of an incompatible type (indexed vs. associative arrays, for
+ example).
+
+g. The `globasciiranges' option is now enabled by default; it can be set to
+ off by default at configuration time.
+
+4. New Features in Readline
+
+a. The history expansion library now understands command and process
+ substitution and extended globbing and allows them to appear anywhere in a
+ word.
+
+b. The history library has a new variable that allows applications to set the
+ initial quoting state, so quoting state can be inherited from a previous
+ line.
+
+------------------------------------------------------------------------------
This document details the changes between this version, bash-5.0-alpha, and
the previous version, bash-4.4-release.
@@ -195,11 +316,11 @@ kkk. Fixed a problem with arithmetic expressions containing array references
lll. The `select' command and help builtin will use $COLUMNS before the window
size returned from the kernel as the terminal width.
-mmm. `read -n 0' and `read -N 0' now try a zero-length read to attempt to
+mmm. `read -n 0' and `read -N 0' now try a zero-length read in an attempt to
detect file descriptor errors.
nnn. The `read' builtin now does a better job of acting on signals that don't
- interrrupt read(2).
+ interrupt read(2).
ooo. Fixed some cases where `printf -v' did not return failure status on a
variable assignment error.
@@ -208,7 +329,7 @@ ppp. Fixed temporary environment propagation back to the current environment
so that it doesn't happen for special builtins run by the `command'
builtin.
-qqq. Fixed a bug when searhing for the end of a here-document delimiter in a
+qqq. Fixed a bug when searching for the end of a here-document delimiter in a
command substitution.
rrr. Fixed a bug that could cause `cd ${DIRSTACK[0]}' to fail.
@@ -359,7 +480,7 @@ d. Added support for keyboard timeouts when an ESC character is the last
e. There are several performance improvements when in a UTF-8 locale.
-f. Readline does a better job of preserving the original set of blocked =
+f. Readline does a better job of preserving the original set of blocked
signals when using pselect() to wait for input.
g. Fixed a bug that caused multibyte characters in macros to be mishandled.
diff --git a/COMPAT b/COMPAT
index aa0019fa..ce6a791c 100644
--- a/COMPAT
+++ b/COMPAT
@@ -396,6 +396,15 @@ above.
BASH_ARGC and BASH_ARGV is available at compatibility levels less than
or equal to 44.
+61. Bash-5.0 doesn't allow a `break' or `continue' in a subshell to attempt
+ to break or continue loop execution inherited from the calling context.
+
+62. Bash-5.0 doesn't allow variable assignments preceding builtins like
+ export and readonly to modify variables with the same name in preceding
+ contexts (including the global context) unless the shell is in posix
+ mode, since export and readonly are special builtins.
+
+
Shell Compatibility Level
=========================
@@ -451,15 +460,22 @@ compat43 set
(declare -a foo='(1 2)')
- word expansion errors are considered non-fatal errors that cause the
current command to fail, even in Posix mode
- - when executing a shell function, the loop state (while/until/etc.) is
- not reset, so `break' or `continue' in a shell function will break or
- continue loops in the calling context. Bash-4.4 and later reset the
- loop state to prevent this.
+ - when executing a shell function, the loop state (while/until/etc.)
+ is not reset, so `break' or `continue' in that function will break
+ or continue loops in the calling context. Bash-4.4 and later reset
+ the loop state to prevent this.
compat44 set
- the shell sets up the values used by BASH_ARGV and BASH_ARGC so
they can expand to the shell's positional parameters even if extended
debug mode is not enabled
+ - a subshell inherits loops from its parent contenxt, so `break'
+ or `continue' will cause the subshell to exit
+ - variable assignments preceding builtins like export and readonly
+ that set attributes continue to affect variables with the same
+ name in the calling environment even if the shell is not in posix
+ mode
+
-------------------------------------------------------------------------------
diff --git a/CWRU/changelog b/CWRU/changelog
index 61e07c0d..9f00b946 100644
--- a/CWRU/changelog
+++ b/CWRU/changelog
@@ -1,11701 +1,6 @@
- 2/14/2011
+ 9/15/2016
---------
-[bash-4.2 released]
-
- 2/15
- ----
-lib/glob/gmisc.c
- - fix wmatchlen and umatchlen to avoid going past the end of the
- string on an incomplete bracket expression that ends with a
- NUL. Partial fix for bug reported by Clark Wang <dearvoid@gmail.com>
-
- 2/16
- ----
-subst.h
- - new string extract flag value: SX_WORD. Used when calling
- extract_dollar_brace_string to skip over the word in
- ${param op word} from parameter_brace_expand
-
-subst.c
- - change parameter_brace_expand to add SX_WORD to flags passed to
- extract_dollar_brace_string
- - change parameter_brace_expand to use SX_POSIXEXP for all non-posix
- word expansion operators that treat single quotes as special, not
- just % and #
- - change extract_dollar_brace_string to initialize dolbrace_state to
- DOLBRACE_WORD if SX_WORD flag supplied and we shouldn't use
- DOLBRACE_QUOTE. Fixes bug reported by Juergen Daubert <jue@jue.li>
-
-doc/{bash.1,bashref.texi}
- - document the exact expansions here strings undergo
-
- 2/17
- ----
-lib/readline/vi_mode.c
- - make sure that `dd', `cc', and `yy' call vidomove_dispatch from
- rl_domove_read_callback. Fixes bug reported by Clark Wang
- <dearvoid@gmail.com>
-
-lib/readline/callback.c
- - make sure _rl_internal_char_cleanup is called after the
- vi-motion callbacks (rl_vi_domove_callback) in rl_callback_read_char.
- Companion to above fix
-
-doc/{bash.1,bashref.texi}
- - make sure that the text describing the rhs of the == and =~
- operators to [[ states that only the quoted portion of the pattern
- is matched as a string
-
- 2/18
- ----
-lib/glob/gmisc.c
- - better fix for umatchlen/wmatchlen: keep track of the number of
- characters in a bracket expression as the value to increase
- matchlen by if the bracket expression is not well-formed. Fixes
- bug reported by Clark Wang <dearvoid@gmail.com>
-
-subst.c
- - change expand_string_for_rhs so that it sets the W_NOSPLIT2 flag
- in the word flags. We will not perform word splitting or quote
- removal on the result, so we do not want to add quoted nulls if
- we see "" or ''. Fixes bug reported by Mike Frysinger
- <vapier@gentoo.org>
-
- 2/19
- ----
-variables.c
- - new function, int chkexport(name), checks whether variable NAME is
- exported and remakes the export environment if necessary. Returns
- 1 if NAME is exported and 0 if not
- - call chkexport(name) to get tzset to look at the right variable in
- the environment when modifying TZ in sv_tz. Don't call tzset if
- chkexport doesn't indicate that the variable is exported
-
-variables.h
- - new extern declaration for chkexport
-
-
-{parse.y,builtins/printf.def}
- - call sv_tz before calling localtime() when formatting time strings
- in prompt strings or using printf. Fixes bug reported by
- Dennis Williamson <dennistwilliamson@gmail.com>
-
-execute_cmd.c
- - modify fix of 2/9 to add casts when those variables are passed to
- functions; some compilers throw errors instead of warnings. Report
- and fix from Joachim Schmitz <jojo@schmitz-digital.de>
-
-support/shobj-conf
- - add a stanza for nsk on the Tandem from Joachim Schmitz
- <jojo@schmitz-digital.de>
-
-{shell,lib/readline/shell}.c
- - Tandem systems should use getpwnam (getlogin()); for some reason
- they don't do well with using getuid(). Fix from Joachim Schmitz
- <jojo@schmitz-digital.de>
-
- 3/1
- ---
-variables.c
- - make sure that the return value from find_variable is non-null
- before trying to use it in chkexport. Fixes bug reported by
- Evangelos Foutras <foutrelis@gmail.com>
-
- 3/3
- ---
-parse.y
- - when adding $$ to the current token buffer in read_token_word(),
- don't xmalloc a buffer for two characters and then strcpy it, just
- copy the characters directly into the token buffer. Fix from
- Michael Whitten <mfwitten@gmail.com>
-
-execute_cmd.c
- - fix expand_word_unsplit to add the W_NOSPLIT2 flag to the word to
- be expanded, so "" doesn't add CTLNUL. Similar to fix of 2/18 to
- expand_string_for_rhs. Fixes bug reported by Nathanael D. Noblet
- <nathanael@gnat.ca> and Matthias Klose <doko@debian.org>
-
-parse.y
- - fix extended_glob case of read_token_word to allocate an extra
- space in the buffer for the next character read after the extended
- glob specification if it's a CTLESC or CTLNUL. Report and fix from
- Michael Witten <mfwitten@gmail.com>
- - fix shell expansions case of read_token_word to allocate an extra
- space in the buffer for the next character read after the shell
- expansion if it's a CTLESC or CTLNUL. Report and fix from
- Michael Witten <mfwitten@gmail.com>
- - TENTATIVE: fix read_token_word to reduce the amount of buffer space
- required to hold the translated and double-quoted value of $"..."
- strings. Report and fix from Michael Witten <mfwitten@gmail.com>
- - change code around got_character and got_escaped_character labels to
- make sure that we call RESIZE_MALLOCED_BUFFER before adding the
- CTLESC before a CTLESC or CTLNUL, and before adding the character if
- we're not adding a CTLESC. Report and fix from
- Michael Witten <mfwitten@gmail.com>
-
-subst.c
- - new param flags value, PF_ASSIGNRHS, mirrors W_ASSIGNRHS, noting that
- parameter expansion is on rhs of assignment statement. That inhibits
- word splitting
- - change param_expand to call string_list_dollar_at with quoted == 1
- if PF_ASSIGNRHS is set, so it will quote IFS characters in the
- positional parameter before separating them with the first char of
- $IFS. This keeps the rhs from being split inappropriately. Fixes
- bug reported by Andres Perera <andres.p@zoho.com>
-
- 3/4
- ---
-lib/readline/bind.c
- - add a missing free of `names' in rl_function_dumper. Bug report
- and fix from Michael Snyder <msnyder@vmware.com>
-
- 3/5
- ---
-lib/readline/rltty.c
- - change rl_deprep_terminal so it uses fileno (stdin) for the tty fd
- if rl_instream is not set, like rl_prep_terminal
-
- 3/6
- ---
-lib/readline/display.c
- - fix rl_message to use a dynamically-allocated buffer instead of a
- fixed-size buffer of 128 chars for the `local message prompt'. Bug
- report and fix from Micah Cowan <micah@cowan.name>
-
- 3/7
- ---
-jobs.c
- - add sentinel to wait_sigint_handler so it only sets wait_sigint_received
- if waiting_for_child is non-zero; otherwise, it restores the old
- SIGINT handler and sends itself the SIGINT
- - set waiting_for_child around the calls to waitchld that use it to
- synchronously wait for a process
- - change logic that decides whether or not the child process blocked
- or handled SIGINT based on whether or not waitpid returns -1/EINTR
- and the shell receives a SIGINT and the child does not exit. If
- the child later exits due to SIGINT, cancel the assumoption that it
- was handled
- - instead of testing whether or not the child exited due to SIGINT
- when deciding whether the shell should act on a SIGINT it received
- while waiting, test whether or not we think the child caught
- SIGINT. If it did, we let it go (unless the shell has it trapped);
- if it did not catch it, the shell acts on the SIGINT. Fix from
- Linus Torvalds <torvalds@linux-foundation.org>, bug report originally
- from Oleg Nesterov <oleg@redhat.com>
-
- 3/8
- ---
-shell.c
- - initialize no_line_editing to 1 if READLINE is not defined -- we
- can't have line editing without readline
-
- 3/12
- ----
-lib/readline/signals.c
- - add SIGHUP to the set of signals readline handles
-
-lib/readline/doc/rltech.texi
- - document that SIGHUP is now part of the set of signals readline
- handles
-
-lib/readline/input.c
- - if _rl_caught_signal indicates that read() was interrupted by a
- SIGHUP or SIGTERM, return READERR or EOF as appropriate
- - call rl_event_hook, if it's set, if call to read in rl_getc
- returns -1/EINTR. If rl_event_hook doesn't do anything, this
- continues the loop as before. This handles the other fatal
- signals
-
-execute_cmd.c
- - add a couple of QUIT; calls to execute_disk_command and
- execute_simple_command to improve responsiveness to interrupts
- and fatal signals
-
-input.c
- - rearrange getc_with_restart so that the return values from read()
- are handled right
-
-parse.y
- - don't need to set terminate_immediately in yy_stream_get, since
- getc_with_restart checks for terminating signals itself
- - since readline returns READERR on SIGHUP or SIGTERM, don't need
- to set terminate_immediately. Still doesn't handle other
- signals well -- will have to check that some more
-
-bashline.c
- - new function, bash_event_hook, for rl_event_hook. Just checks for
- terminating signals and acts on them using CHECK_TERMSIG.
- - set rl_event_hook to bash_event_hook
-
-builtins/read.def
- - take out setting terminate_immediately; add calls to CHECK_TERMSIG
- after read calls
-
-doc/{bash.1,bashref.texi}
- - move the text describing the effect of negative subscripts used to
- reference indexed array elements to the paragraphs describing
- ${parameter[subscript]}, since that's where they are implemented.
- Pointed out by Christopher F. A. Johnson <cfajohnson@gmail.com>
-
-arrayfunc.[ch],subst.c
- - array_expand_index now takes a new first argument: a SHELL_VAR *
- of the array variable being subscripted. Can be used later to fully
- implement negative subscripts
-
- 3/14
- ----
-lib/glob/glob.c
- - fix mbskipname to not turn the directory entry name into a wide char
- string if the conversion of the pattern to a wide char string fails
- - fix mbskipname to call skipname if either the pattern or the filename
- can't be converted into a wide-char string
-
-lib/glob/xmbsrtowcs.c
- - fix xdupmbstowcs2 to handle return value of 0 from mbsnrtowcs and
- short-circuit with failure in that case. Fixes bug reported by
- Roman Rakus <rrakus@redhat.com>
-
- 3/15
- ----
-bashline.c
- - new variable, bash_filename_quote_characters to store the value
- assigned to rl_filename_quote_characters so it can be restored
- if changed.
- - change bashline_reset and attempt_shell_completion to restore
- rl_filename_quote_characters if not set to default
-
- 3/22
- ----
-lib/glob/glob.c
- - wdequote_pathname falls back to udequote_pathname if xdupmbstowcs
- fails to convert the pathname to a wide-character string
-
-lib/glob/xmbsrtowcs.c
- - xdupmbstowcs2: change to fix problem with leading '\\' (results in
- nms == 0, which causes it to short-circuit with failure right
- away). Fixes bug pointed out by Werner Fink <werner@suse.de>
- - xdupmbstowcs2: compensate for mbsnrtowcs returning 0 by taking the
- next single-byte character and going on
- - xdupmbstowcs2: change memory allocation to increase by WSBUF_INC
- bytes; try to avoid calls to realloc (even if they don't actually
- result in more memory being allocated)
-
- 3/24
- ----
-doc/{bash.1,bashref.texi}
- - slightly modify BASH_SUBSHELL description based on complaint from
- Sam Liddicott <sam@liddicott.com>
-
- 3/25
- ----
-trap.c
- - change free_trap_strings to not call free_trap_string for signals
- that are being ignored, like reset_or_restore_signal_handlers.
- Fixes bug reported by Satoshi Takahashi <blue3waters@gmail.com>
-
- 3/26
- ----
-lib/readline/rltypedefs.h
- - remove old Function/VFunction/CPFunction/CPPFunction typedefs as
- suggested by Tom Tromey <tromey@redhat.com>
-
-lib/readline/rlstdc.h
- - move defines for USE_VARARGS/PREFER_STDARG/PREFER_VARARGS from
- config.h.in to here because declaration of rl_message in
- readline.h uses the defines. This makes it hard for another packages
- to use after the header files are installed, since config.h is not
- one of the installed files. Suggested by Tom Tromey
- <tromey@redhat.com>
-
- 3/27
- ----
-print_cmd.c
- - change indirection_string from a static buffer to a dynamic one
- managed by indirection_level_string(), so we don't end up truncating
- PS4. Suggested by Dennis Williamson <dennistwilliamson@gmail.com>
-
-lib/readline/shell.c
- - change sh_set_lines_and_columns to use static buffers instead of
- allocating the buffers to pass to setenv/putenv
-
-lib/readline/terminal.c
- - change _rl_get_screen_size to not call sh_set_lines_and_columns if
- ignore_env == 0
- - _rl_sigwinch_resize_terminal: new function to just retrieve terminal
- size, ignoring environment
-
-lib/readline/rlprivate.h
- - new external declaration for _rl_sigwinch_resize_terminal() (currently
- unused)
-
-lib/readline/signals.c
- - rl_sigwinch_handler: set _rl_caught_signal to SIGWINCH
- - rl_sigwinch_handler: don't immediately call rl_resize_terminal; just
- leave _rl_caught_signal set for RL_CHECK_SIGNALS to handle
- - _rl_signal_handler: call rl_resize_terminal if sig == SIGWINCH.
- Should fix hang when sending multiple repeated SIGWINCH reported by
- Henning Bekel <h.bekel@googlemail.com>
-
- 3/29
- ----
-lib/sh/snprintf.c
- - include math.h for any defines for isinf/isnan
- - use code from gnulib documentation to implement isinf/isnan if they
- are not defined
-
-configure.in
- - don't check for isinf or isnan; c99 says they're macros anyway
-
-config.h.in
- - remove defines for ISINF_IN_LIBC and ISNAN_IN_LIBC, no longer used
- by snprintf.c
-
- 4/2
- ---
-braces.c
- - brace_gobbler: fix to understand double-quoted command substitution,
- since the shell understands unquoted comsubs. Fixes bug reported
- by Michael Whitten <mfwitten@gmail.com>
-
-lib/readline/display.c
- - include <pc.h> on MDOS
- - get and set screen size using DJGPP-specific calls on MSDOS
- - move cursor up clear screen using DJGPP-specific calls
- - don't call tputs on DJGPP; there is no good terminfo support
-
-lib/readline/terminal.c
- - include <pc.h> on MDOS
- - get and set screen size using DJGPP-specific calls on MSDOS
- - use DJGPP-specific initialization on MSDOS, zeroing all the
- _rl_term_* variables
- - don't call tputs on DJGPP; there is no good terminfo support
- DJGPP support from Eli Zaretskii <eliz@gnu.org>
-
- 4/6
- ---
-
-config-top.h
- - change DEFAULT_PATH_VALUE to something more useful and modern
-
- 4/8
- ---
-tests/printf2.sub
- - make sure LC_ALL and LC_CTYPE are set so LANG assignment takes effect.
- Reported by Cedric Arbogast <arbogast.cedric@gmail.com>
-
- 4/11
- ----
-include/chartypes.h
- - fix a couple of dicey defines (though ones that don't cause any
- compiler warnings) in IN_CTYPE_DOMAIN
-
-doc/{bashref.texi,bash.1}
- - add note referring to duplicating file descriptors in sections
- describing redirecting stdout and stderr and appending to stdout
- and stderr. Suggested by Matthew Dinger <mdinger.bugzilla@gmail.com>
-
-pcomplete.c
- - it_init_helptopics: new function to support completing on help topics,
- not just builtins
- - it_helptopics: new programmable completion list of help topics
- - build list of helptopic completions in gen_action_completions on
- demand
-
-pcomplete.h
- - new extern declaration for it_helptopics
-
-builtins/complete.def
- - the `helptopic' action now maps to CA_HELPTOPIC intead of CA_BUILTIN,
- since there are more help topics than just builtins. Suggested by
- Clark Wang <dearvoid@gmail.com>
-
- 4/12
- ----
-print_cmd.c
- - fix print_arith_for_command to add a call to PRINT_DEFERRED_HEREDOCS
- before ending the body of the command, so heredocs get attached to
- the right command instead of to the loop. From gentoo bug 363371
- http://bugs.gentoo.org/show_bug.cgi?id=363371
-
-execute_cmd.c
- - change coproc_pidchk to unset the appropriate shell variables when
- the (currently single) known coproc pid terminates
- - cleanup and new functions to fully support multiple coprocesses when
- and if I decide to go there
-
- 4/13
- ----
-print_cmd.c
- - fix print_group_command to add a call to PRINT_DEFERRED_HEREDOCS
- after call to make_command_string_internal before printing closing
- `}'
- - fix make_command_string_internal to add a call to
- PRINT_DEFERRED_HEREDOCS after recursive call to
- make_command_string_internal in case cm_subshell before printing
- closing `)'
-
- 4/14
- ----
-print_cmd.c
- - change overlapping strcpy in named_function_string to memmove
-
-sig.h
- - UNBLOCK_SIGNAL: convenience define, same as UNBLOCK_CHILD, just
- restores an old signal mask
-
-trap.c
- - set_signal: instead of setting the signal handler to SIG_IGN while
- installing the new trap handler, block the signal and unblock it
- after the new handler is installed. Fixes bug reported by Roman
- Rakus <rrakus@redhat.com>
-
- 4/15
- ----
-doc/{bash.1,bashref.texi}
- - make it clear that enabling monitor mode means that all jobs run in
- separate process groups
-
- 4/18
- ----
-builtins/fc.def
- - update fix of 4/15/2010 to not take saved_command_line_count into
- account when stepping down the history list to make sure that
- last_hist indexes something that is valid. Fixes bug reported by
- <piuma@piumalab.org>
-
- 4/19
- ----
-builtins/fc.def
- - fc_gethnum: make sure the calculation to decide the last history
- entry is exactly the same as fc_builtin. Fixes bug uncovered by
- fix of 4/18 to stop seg fault
-
- 4/22
- ----
-lib/readline/terminal.c
- - change _rl_enable_meta_key to set a flag indicating that it sent the
- enable-meta sequence
- - _rl_disable_meta_key: new function to turn off meta mode after we
- turned it on with _rl_enable_meta_key
-
-lib/readline/rlprivate.h
- - extern declaration for _rl_disable_meta_key
-
-configure.in
- - if not cross-compiling, set CFLAGS_FOR_BUILD from any CFLAGS inherited
- from the environment. Fixes HP/UX build problem reported by
- "Daniel Richard G." <skunk@iSKUNK.ORG>
-
- 4/26
- ----
-config-top.h
- - define MULTIPLE_COPROCS to 0 so the code is still disabled but easy
- to enable via configure option or editing this file
-
- 4/29
- ----
-lib/sh/eaccess.c
- - freebsd provides faccessat, with the same misfeature as their eaccess
- and access implementations (X_OK returns true for uid==0 regardless
- of the actual file permissions), so reorganize code to check the
- file permissions as with eaccess. Report and fix from Johan Hattne
- <johan.hattne@utsouthwestern.edu>
-
- 5/2
- ---
-doc/{bash.1,bashref.texi}
- - add forward reference to `Pattern Matching' from `Pathname
- Expansion', suggested by Greg Wooledge <wooledg@eeg.ccf.org>
-
- 5/5
- ---
-pcomplib.c
- - the bash_completion project now distributes over 200 completions
- for various programs, with no end in sight, so increase the value
- of COMPLETE_HASH_BUCKETS from 32 to 128
-
-pathexp.c
- - quote_string_for_globbing: make sure CTLESC quoting CTLESC is
- translated into \<CTLESC> even if the flags include QGLOB_REGEXP.
- We don't want to process the second CTLESC as a quote character.
- Fixes bug reported by Shawn Bohrer <sbohrer@rgmadvisors.com>
-
- 5/6
- ---
-builtins/printf.def
- - change PRETURN to not call fflush if ferror(stdout) is true
- - if a call to one of the stdio functions or printstr leaves
- ferror(stdout) true, and PRETURN is going to be called, let PRETURN
- print the error message rather than doubling up the messages. Fixes
- problem reported by Roman Rakus <rrakus@redhat.com>
-
- 5/9
- ---
-doc/{bash.1,bashref.texi}
- - add note to the effect that lists inside compound command can be
- terminated by newlines as well as semicolons. Suggested by
- Roman Byshko <rbyshko@gmail.com>
-
- 5/10
- ----
-subst.c
- - remove_quoted_nulls: fix problem that caused it to skip over the
- character after a CTLNUL, which had the effect of skipping every
- other of a series of CTLNULs. Fixes bug reported by
- Marten Wikstrom <marten.wikstrom@keystream.se>
-
- 5/11
- ----
-subst.c
- - extract_process_subst: add SX_COMMAND flag to call to
- extract_delimited_string, since we're expanding the same sort of
- command as command substitution. Fixes bug reported in Ubuntu
- bug 779848
-
- 5/12
- ----
-configure.in
- - set the prefer_shared and prefer_static variables appropriately
- depending on the value of $opt_static_link
-
-aclocal.m4
- - AC_LIB_LINKFLAGS_BODY: change to not prefer shared versions of the
- libraries it's searching for if the prefer_shared variable is "no".
- Fixes problem reported by Cedric Arbogast <arbogast.cedric@gmail.com>
-
- 5/13
- ----
-lib/readline/readline.c
- - _rl_internal_teardown: add call to _rl_disable_meta_key to make the
- meta key active only for the duration of the call to readline()
- - _rl_internal_setup: move call to _rl_enable_meta_key here from
- readline_initialize_everything so the meta key is active only for
- the duration of the call to readline(). Suggestion from Miroslav
- Lichvar <mlichvar@redhat.com>
-
-builtins/help.def
- - help_builtin: change strncmp to strcmp so that `help read' no longer
- matches `readonly'. Suggested by Clark Wang <dearvoid@gmail.com>
-
-config.h.in
- - add define for GLIBC21, checked using jm_GLIBC21 as part of the tests
- for libintl
-
-lib/malloc/malloc.c
- - internal_free: don't use the cached value of memtop when deciding
- whether or not to adjust the break and give memory back to the kernel
- when using the GNU C library, since glibc uses sbrk for its own
- internal purposes. From Debian bug 614815, reported by Samuel
- Thibault <samuel.thibault@gnu.org>
-
-aclocal.m4
- - BASH_STRUCT_WEXITSTATUS_OFFSET: change AC_RUN_IFELSE to AC_TRY_RUN
- to avoid warning about not using AC_LANG_SOURCE
-
- 5/14
- ----
-bashline.[ch]
- - two new functions, bashline_set_event_hook and bashline_reset_event_hook,
- to set rl_event_hook to bash_event_hook and back to NULL, respectively
- - don't set rl_event_hook unconditionally
-
-sig.c
- - termsig_sighandler: if the shell is currently interactive and
- readline is active, call bashline_set_event_hook to cause
- termsig_handler to be called via bash_event_hook when the shell
- returns from the signal handler
-
- 5/15
- ----
-lib/readline/display.c
- - _rl_col_width: Mac OS X has a bug in wcwidth: it does not return 0
- for UTF-8 combining characters. Added workaround dependent on
- MACOSX. Fixes problem pointed out by Thomas De Contes
- <d.l.tDecontes@free.fr>
-
- 5/16
- ----
-lib/readline/rlmbutil.h
- - WCWIDTH: wrapper for wcwidth that returns 0 for Unicode combining
- characters on systems where wcwidth is broken (e.g., Mac OS X).
-
-lib/readline/{complete,display,mbutil}.c
- - use WCWIDTH instead of wcwidth
-
- 5/17
- ----
-lib/readline/display.c
- - update_line: after computing ofd and nfd, see whether the next
- character in ofd is a zero-width combining character. If it is,
- back ofd and nfd up one, so the base characters no longer compare
- as equivalent. Fixes problem reported by Keith Winstein
- <keithw@mit.edu>
-
-lib/readline/nls.c
- - _rl_utf8locale: new flag variable, set to non-zero if the current
- locale is UTF-8
- - utf8locale(): new function, returns 1 if the passed lspec (or the
- current locale) indicates that the locale is UTF-8. Called from
- _rl_init_eightbit
-
-lib/readline/rlprivate.h
- - extern declaration for _rl_utf8locale
-
-locale.c
- - locale_utf8locale: new flag variable, set to non-zero if the current
- locale is UTF-8 (currently unused)
- - locale_isutf8(): new function, returns 1 if the passed lspec (or the
- current locale) indicates that the locale is UTF-8. Should be called
- whenever the locale or LC_CTYPE value is modified
-
-aclocal.m4
- - BASH_WCWIDTH_BROKEN: new test for whether or not wcwidth returns
- zero-width characters like unicode combining characters as having
- display length 1; define WCWIDTH_BROKEN in this case
-
-config.h.in
- - WCWIDTH_BROKEN: new define
-
-lib/readline/rlmbutil.h
- - change WCWIDTH macro to use _rl_utf8locale and the full range of
- Unicode combining characters (U+0300-U+036F)
-
- 5/19
- ----
-lib/readline/rlprivate.h
- - _rl_search_context: new member, prevc, will hold character read
- prior to lastc
-
-lib/readline/isearch.c
- - _rl_isearch_dispatch: if the character causes us to index into
- another keymap, save that character in cxt->prevc
- - _rl_isearch_dispatch: if we index into another keymap, but don't
- find a function that's special to i-search, and the character that
- caused us to index into that keymap would have terminated the
- search, push back cxt->prevc and cxt->lastc to make it appear as
- if `prevc' terminated the search, and execute lastc as a command.
- We have to push prevc back so we index into the same keymap before
- we read lastc. Fixes bug report from Davor Cubranic
- <cubranic@stat.ubc.ca>
-
- 5/20
- ----
-expr.c
- - expr_bind_variable: pay attention to the return value from
- bind_variable and check whether or not we should error out due to
- a readonly or noassign variable. Fixes bug reported by Eric
- Blake <eblake@redhat.com>
-
- 5/26
- ----
-
-lib/readline/search.c
- - include histlib.h for ANCHORED_SEARCH defines
- - rl_history_search_flags: new variable, holds ANCHORED_SEARCH flag for
- the duration of a history search
- - rl_history_search_reinit: takes a new flags variable, defines whether
- or not the search is anchored; assigned to rl_history_search_flags
- - rl_history_serarch_reinit: if ANCHORED_SEARCH flag passed, add ^ to
- beginning of search string; otherwise search string is unmodified
- - rl_history_search_internal: set rl_point appropriately based on
- whether or not rl_history_search_flags includes ANCHORED_SEARCH
- - rl_history_substr_search_forward: new function, for non-anchored
- substring search forward through history for string of characters
- preceding rl_point
- - rl_history_substr_search_backward: new function, for non-anchored
- substring search backward through history for string of characters
- preceding rl_point. Original code from Niraj Kulkarni
- <kulkarniniraj14@gmail.com>
-
-lib/readline/readline.h
- - extern declarations for rl_history_substr_search_{for,back}ward
-
-lib/readline/funmap.c
- - history-substring-search-forward: new bindable command, invokes
- rl_history_substr_search_forward
- - history-substring-search-backward: new bindable command, invokes
- rl_history_substr_search_backward
-
-lib/readline/doc/{rluser.texi,readline.3}
- - document history-substring-search-forward and
- history-substring-search-backward
-
- 5/27
- ----
-{nojobs,jobs}.c
- - add support for DONT_REPORT_SIGTERM so that the shell doesn't print
- a message when a job exits due to SIGTERM since that's the default
- signal sent by the kill builtin. Suggested by Marc Herbert
- <mark.herbert@gmail.com>
-
-config-top.h
- - DONT_REPORT_SIGTERM: new user-modifiable setting. Commented out
- by default
-
- 5/28
- ----
-lib/readline/bind.c
- - _rl_skip_to_delim: skip to a closing double quote or other delimiter,
- allowing backslash to quote any character, including the delimiter
- - rl_parse_and_bind: call _rl_skip_to_delim instead of using inline
- code
- - rl_parse_and_bind: allow quoted strings as the values of string
- variables. Variable values without double quotes have trailing
- whitespace removed (which still allows embedded whitespace, for
- better or worse). Fixes problem with string variables not matching
- in `set' command if values happen to have trailing spaces or tabs
- (debian bash bug #602762), but introduces slight incompatibility.
-
- 5/29
- ----
-doc/{bash.1,bashref.texi}
- - clarify unset description to specify that without options, a
- variable, then a shell function if there is no variable by that
- name, is unset. Fixes discrepancy reported by Mu Qiao
- <qiaomuf@gentoo.org>
-
- 6/4
- ----
-doc/{bash.1,bashref.texi}
- - clarify description of LINES and COLUMNS (and checkwinsize shopt
- option) to make it clear that only interactive shells set a
- handler for SIGWINCH and update LINES and COLUMNS. Original
- report submitted by Jonathan Nieder <jrnieder@gmail.com>
-
-arrayfunc.c
- - expand_compound_array_assignment: defer expansion of words between
- parens when performing compound assignmnt to an associative array
- variable
- - assign_compound_array_list: perform the same expansions when doing
- a compound array assignment to an associative array variable as
- when doing a straight array index assignment. The idea is that
- foo=( [ind1]=bar [ind2]=quux)
- is the same as
- foo[ind1]=bar ; foo[ind2]=quux
-
- This fixes problems with double-expansion and quote removal being
- performed on the array indices
-
- 6/13
- ----
-doc/{bash.1,bashref.texi}
- - Add a little text to make it clear that the locale determines how
- range expressions in glob patterns are handled.
-
-
- 6/21
- ----
-builtins/read.def
- - display a message and return error status if -a is used with an
- existing associative array. Fixes bug reported by Curtis Doty
- <curtis@greenkey.net>
-
- 6/24
- ----
-{jobs,nojobs}.c
- - non-interactive shells now react to the setting of checkwinsize
- and set LINES and COLUMNS after a foreground job exits. From a
- suggestion by Leslie Rhorer <lrhorer@satx.rr.com>
-
-doc/{bash.1,bashref.texi}
- - checkwinsize: remove language saying that only interactive shells
- check the window size after each command
-
-lib/readline/histfile.c
- - history_backupfile: new file, creates a backup history file name
- given a filename (appending `-')
- - history_do_write: when overwriting the history file, back it up
- before writing. Restore backup file on a write error. Suggested
- by chkno@chkno.net
-
-bashline.c
- - find_cmd_name: two new arguments, return the start and end of the
- actual text string used to find the command name, without taking
- whitespace into account
- - attempt_shell_completion: small changes to make sure that completion
- attempted at the beginning of a non-empty line does not find a
- programmable completion, even if the command name starts at point
- - attempt_shell_completion: small change to make sure that completion
- does not find a progcomp when in whitespace before the command
- name
- - attempt_shell_completion: small change to make sure that completion
- does not find a progcomp when point is at the first character of a
- command name, even when there is leading whitespace (similar to
- above). Fixes problems noted by Ville Skytta <ville.skytta@iki.fi>
-
-subst.c
- - brace_expand_word_list: since the individual strings in the strvec
- returned by brace_expand are already allocated, don't copy them to
- newly-allocated memory when building the WORD_LIST, just use them
- intact
-
-locale.c
- - locale_mb_cur_max: cache value of MB_CUR_MAX when we set or change
- the locale to avoid a function call every time we need to read it
-
-shell.h
- - new struct to save shell_input_line and associated variables:
- shell_input_line_state_t
- - add members of sh_parser_state_t to save and restore token and the
- size of the token buffer
-
-parse.y
- - {save,restore}_input_line_state: new functions to save and restore
- shell_input_line and associated variables
- - {save,restore}_parser_state: add code to save and restore the token
- and token buffer size
- - xparse_dolparen: call save_ and restore_input_line_state to avoid
- problems with overwriting shell_input_line when we recursively
- call the parser to parse a command substitution. Fixes bug
- reported by Rui Santos <rsantos@grupopie.com>
-
-include/shmbutil.h
- - use locale_mb_cur_max instead of MB_CUR_MAX in ADVANCE_CHAR and
- similar macros
-
-lib/glob/smatch.c
- - rangecmp,rangecmp_wc: change to take an additional argument, which
- forces the use of strcoll/wscoll when non-zero. If it's 0, a new
- variable `glob_asciirange' controls whether or not we use strcoll/
- wscoll. If glob_asciirange is non-zero, we use straight
- C-locale-like ordering. Suggested by Aharon Robbins
- <arnold@skeeve.com>
-
- 6/30
- ----
-execute_cmd.c
- - execute_pipeline: make sure the lastpipe code is protected by
- #ifdef JOB_CONTROL. Fixes problem reported by Thomas Cort
- <tcort@minix3.org>
-
- 7/2
- ---
-lib/readline/complete.c
- - EXPERIMENTAL: remove setting of _rl_interrupt_immediately around
- completion functions that touch the file system. Idea from Jan
- Kratochvil <jan.ktratochvil@redhat.com> and the GDB development
- team
-
-lib/readline/signals.c
- - rl_signal_handler: if we're in callback mode, don't interrupt
- immediately on a SIGWINCH
-
- 7/3
- ---
-bashline.c
- - set_directory_hook: and its siblings are a new set of functions to
- set, save, and restore the appropriate directory completion hook
- - change callers to use {set,save,restore}_directory_hook instead of
- manipulating rl_directory_rewrite_hook directly
- - dircomplete_expand: new variable, defaults to 0, if non-zero causes
- directory names to be word-expanded during word and filename
- completion
- - change {set,save,restore}_directory_hook to look at dircomplete_expand
- and change rl_directory_completion_hook or rl_directory_rewrite_hook
- appropriately
-
-bashline.h
- - extern declaration for set_directory_hook so shopt code can use it
-
- 7/6
- ---
-builtins/shopt.def
- - globasciiranges: new settable shopt option, makes glob ranges act
- as if in the C locale (so b no longer comes between A and B).
- Suggested by Aharon Robbins <arnold@skeeve.com>
-
- 7/7
- ---
-doc/{bash.1,bashref.texi}
- - document new `globasciiranges' shopt option
-
- 7/8
- ---
-builtins/shopt.def
- - direxpand: new settable option, makes filename completion expand
- variables in directory names like bash-4.1 did.
- - shopt_set_complete_direxpand: new function, does the work for the
- above by calling set_directory_hook
-
-doc/{bash.1,bashref.texi}
- - document new `direxpand' shopt option
-
- 7/15
- ----
-lib/readline/isearch.c
- - _rl_isearch_dispatch: when adding character to search string, use
- cxt->lastc (which we use in the switch statement) instead of c,
- since lastc can be modified earlier in the function
-
- 7/18
- ----
-lib/readline/rlprivate.h
- - _rl_search_context: add another member to save previous value of
- (multibyte) lastc: pmb is to mb as prevc is to lastc
-
-lib/readline/isearch.c:
- - _rl_isearch_dispatch: if a key sequence indexes into a new keymap,
- but doesn't find any bound function (k[ind].function == 0) or is
- bound to self-insert (k[ind].function == rl_insert), back up and
- insert the previous character (the one that caused the index into a
- new keymap) and arrange things so the current character is the next
- one read, so both of them end up in the search string. Fixes bug
- reported by Clark Wang <dearvoid@gmail.com>
- - _rl_isearch_dispatch: a couple of efficiency improvements when adding
- characters to the isearch string
-
- 7/24
- ----
-lib/readline/isearch.c
- - _rl_isearch_dispatch: save and restore cxt->mb and cxt->pmb
- appropriately when in a multibyte locale
-
-doc/{bash.1,bashref.texi}
- - correct description of {x}>file (and other redirection operators
- that allocate a file descriptor) to note the the fd range is
- greater than or equal to 10. Fixes problem reported by
- Christian Ullrich
-
-lib/readline/signals.c
- - rl_signal_handler: don't interrupt immediately if in callback mode
-
-lib/readline/callback.c
- - rl_callback_read_char: install signal handlers only when readline
- has control in callback mode, so readline's signal handlers aren't
- called when the application is active (e.g., between the calls to
- rl_callback_handler_install and rl_callback_read_char). If the
- readline signal handlers only set a flag, which the application
- doesn't know about, the signals will effectively be ignored until
- the next time the application calls into the readline callback
- interface. Fixes problem of calling unsafe functions from signal
- handlers when in callback mode reported by Jan Kratochvil
- <jan.kratochvil@redhat.com>
-
-execute_cmd.c
- - fix_assignment_words: when in Posix mode, the `command' builtin
- doesn't change whether or not the command name it protects is an
- assignment builtin. One or more instances of `command'
- preceding `export', for instance, doesn't make `export' treat its
- assignment statement arguments differently. Posix interpretation
- #351
-
-doc/{bash.1,bashref.texi}
- - document new Posix-mode behavior of `command' when preceding builtins
- that take assignment statements as arguments
-
-builtins/printf.def
- - printstr: if fieldwidth or precision are < 0 or > INT_MAX when
- supplied explicitly (since we take care of the `-' separately),
- clamp at INT_MAX like when using getint(). Fixes issue reported
- by Ralph Coredroy <ralph@inputplus.co.uk>
-
- 7/25
- ----
-lib/readline/chardefs.h
- - isxdigit: don't define if compiling with c++; declared as a c++
- template function. Fixes bug reported by Miroslav Lichvar
- <mlichvar@redhat.com>
-
-builtins/printf.def
- - getint: if garglist == 0, return whatever getintmax returns (0).
- Fixes bug reported by Ralph Coredroy <ralph@inputplus.co.uk>
-
- 7/28
- ----
-doc/{bash.1,bashref.texi}
- - minor changes to the descriptions of the cd and pushd builtins
-
-lib/sh/zread.c
- - zsyncfd: change variable holding return value from lseek to
- off_t. Bug report and fix from Gregory Margo <gmargo@pacbell.net>
-
- 8/1
- ---
-expr.c
- - don't check for division by 0 when in a context where no evaluation
- is taking place. Fixes bug reported by dnade.ext@orange-ftgroup.com
-
- 8/6
- ---
-execute_cmd.c
- - execute_command_internal: the parent branch of the subshell code
- (where the child calls execute_in_subshell) should not close all
- open FIFOs with unlink_fifo_list if it's part of a shell function
- that's still executing. Fixes bug reported by Maarten Billemont
- <lhunath@lyndir.com>
-
- 8/9
- ---
-builtins/common.c
- - get_exitstat: return EX_BADUSAGE (2) on a non-numeric argument
-
-builtins/return.def
- - return_builtin: just call get_exitstat to get the return status,
- let it handle proper parsing and handling of arguments. Fixes
- issue most recently raised by Linda Walsh <bash@tlinx.org>.
- Reverses change from 9/11/2008 (see above)
-
- 8/16
- ----
-doc/{bash.1,bashref.texi}
- - clean up `set -e' language to make it clearer that any failure of
- a compound command will cause the shell to exit, not just subshells
- and brace commands
-
- 8/17
- ----
-configure.in
- - make the various XXX_FOR_BUILD variables `precious' to autoconf to
- avoid stale data
- - change how CC_FOR_BUILD is initialized when cross-compiling and not,
- but do not change behavior
- - initialize CFLAGS_FOR_BUILD to -g when cross-compiling
- - initialize LIBS_FOR_BUILD to $(LIBS) when not cross-compiling, empty
- when cross-compiling
- - create AUTO_CFLAGS variable to hold basic CFLAGS defaults; used when
- CFLAGS not inherited from environment (like effect of old
- auto_cflags variable)
- - substitute LIBS_FOR_BUILD into output Makefiles
- [changes inspired by bug report from Nathan Phillip Brink
- <ohnobinki@ohnopublishing.net> -- gentoo bug 378941]
-
-builtins/Makefile.in
- - substitute LIBS_FOR_BUILD from configure, not strictly initialized
- to $(LIBS)
-
- 8/27
- ----
-doc/{bash.1,bashref.texi}
- - minor changes to the here string description to clarify the
- expansions performed on the word
-
-support/shobj-conf
- - handle compilation on Lion (Mac OS X 10.7/darwin11) with changes
- to darwin stanzas. Fixes readline bug reported by Vincent
- Sheffer <vince.sheffer@apisphere.com>
-
-lib/sh/strtrans.c
- - ansic_wshouldquote: check a string with multi-byte characters for
- characters that needs to be backslash-octal escaped for $'...'
- - ansic_shouldquote: if is_basic fails for one character, let
- ansic_wshouldquote examine the rest of the string and return what
- it returns. From a patch sent by Roman Rakus <rrakus@redhat.com>
-
- 8/30
- ----
-lib/sh/strtrans.c
- - ansic_quote: changes to quote (or not) multibyte characters. New
- code converts them to wide characters and uses iswprint to check
- valid wide chars. From a patch sent by Roman Rakus
- <rrakus@redhat.com>
-
- 9/7
- ---
-lib/sh/shquote.c
- - sh_backslash_quote: change to be table-driven so we can use a
- different table if we want to
- - sh_backslash_quote: takes a second char table[256] argument;
-
-externs.h
- - sh_backslash_quote: add second argument to function prototype
-
-bashline.c,braces.c,parse.y,builtins/printf.def
- - change callers of sh_backslash_quote to add second argument
-
-bashline.c
- - filename_bstab: table of characters to pass to sh_backslash_quote;
- characters with value 1 will be backslash-quoted
- - set_filename_bstab: turn on characters in filename backslash-quote
- table according to passed string argument
- - call set_filename_bstab every time rl_filename_quote_characters is
- assigned a value
- - bash_quote_filename: call sh_backslash_quote with filename_bstab
- as second argument. This allows other characters in filenames to
- be quoted without quoting, for instance, a dollar sign in a shell
- variable reference
-
- 9/8
- ---
-bashline.c
- - complete_fullquote: new variable, controls table passed to
- sh_backslash_quote. If non-zero (the default), the standard set
- of shell metacharacters -- as in bash versions up to and including
- bash-4.2 -- gets backslash-quoted by the completion code. If zero,
- sh_backslash_quote gets the table with the characters in the
- variable reference removed, which means they are removed from the
- set of characters to be quoted in filenames
-
- 9/10
- ----
-bashline.c
- - bash_filename_stat_hook: new function, designed to expand variable
- references in filenames before readline passes them to stat(2)
- to determine whether or not they are a directory
-
- 9/15
- ----
-builtins/declare.def
- - if assign_array_element fails due to a bad (or empty) subscript, mark
- it as an assignment error and don't attempt any further processing
- of that declaration. Fixes segfault bug reported by Diego Augusto
- Molina <diegoaugustomolina@gmail.com>
-
- 9/19
- ----
-expr.c
- - exppower: replace the simple exponentiation algorithm with an
- implementation of exponentiation by squaring. Inspired by report
- from Nicolas ARGYROU <nargy@yahoo.com>
-
-bashline.c
- - bash_quote_filename: check for rtext being non-null before
- dereferencing it
- - set_saved_history: operate_and_get_next assumes that the previous
- line was added to the history, even when the history is stifled and
- at the max number of entries. If it wasn't, make sure the history
- number is incremented properly. Partial fix for bug reported by
- gregrwm <backuppc-users@whitleymott.net>
-
-doc/{bash.1,bashref.texi},lib/readline/doc/{hsuser,rluser}.texi
- - minor editorial changes inspired by suggestions from
- Roger Zauner <rogerx.oss@gmail.com>
-
- 9/20
- ----
-lib/intl/localealias.c
- - read_alias_file: close resource leak (fp) when returning on error
-
- 9/22
- ----
-execute_command.c
- - execute_intern_function: implement Posix interpretation 383 by making
- it an error to define a function with the same name as a special
- builtin when in Posix mode.
- http://austingroupbugs.net/view.php?id=383#c692
-
- 9/25
- ----
-doc/{bash.1,bashref.texi}
- - formatting and some content changes from Benno Schulenberg
- <bensberg@justemail.net>
- - document new posix-mode behavior from interp 383 change of 9/22
-
- 9/30
- ----
-execute_cmd.c
- - shell_execve: add strerror to error message about executable file
- that shell can't execute as a shell script. From suggestion by
- daysleeper <daysleeper@centrum.cz>
-
- 10/1
- ----
-bashhist.c
- - maybe_add_history: act as if literal_history is set when parser_state
- includes PST_HEREDOC, so we save the bodies of here-documents just
- as they were entered. Fixes bug reported by Jonathan Wakely
- <bugs@kayari.org>
- - bash_add_history: make sure that the second and subsequent lines of
- a here document don't have extra newlines or other delimiting
- chars added, since they have the trailing newline preserved, when
- `lithist' is set and history_delimiting_chars isn't called
-
-execute_cmd.c
- - execute_command_internal: avoid fd exhaustion caused by using
- process substitution in loops inside shell functions by using
- copy_fifo_list and close_new_fifos (). Fixes debian bash bug
- 642504
-
-lib/readline/complete.c
- - new variable, rl_filename_stat_hook, used by append_to_match. If
- filename completion is desired, and rl_filename_stat_hook points
- to a function, call that function to expand the filename in an
- application-specific way before calling stat.
-
-bashline.c
- - bash_default_completion: if variable completion returns a single
- match, use bash_filename_stat_hook and file_isdir to determine
- whether or not the variable name expands to a directory. If it
- does, set the filename_append_character to `/'. This is not
- perfect, so we will see how it works out. Adds functionality
- requested by Peter Toft <pto@linuxbog.dk> and Patrick Pfeifer
- <patrick@pfeifer.de>
- - rl_filename_stat_hook: assigned bash_filename_stat_hook, so things
- like $HOME/Downloads (after completion) have a slash appended.
- In general, this causes the stat hook to be called whenever
- filename completion is appended. Adds functionality requested by
- Patrick Pfeifer <patrick@pfeifer.de>
-
-lib/readline/readline.h
- - new extern declaration for rl_filename_stat_hook
-
-lib/readline/doc/rltech.texi
- - rl_directory_rewrite_hook: now documented
- - rl_filename_stat_hook: document
-
-pcomplete.c
- - gen_action_completions: in the CA_DIRECTORY case, turn off
- rl_filename_completion_desired if it was off before we called
- rl_filename_completion_function and we didn't get any matches.
- Having it on causes readline to quote the matches as if they
- were filenames. Adds functionality requested by many,
- including Clark Wang <dearvoid@gmail.com>
-
-assoc.[ch]
- - assoc_replace: new function, takes the same arguments as
- assoc_insert, but returns the old data instead of freeing it
- - assoc_insert: if the object returned by hash_insert doesn't have
- the same value for its key as the key passed as an argument, we
- are overwriting an existing value. In this case, we can free the
- key. Fixes bug reported by David Parks <davidparks21@yahoo.com>
-
- 10/5
- ----
-print_cmd.c
- - indirection_level_string: small change to only re-enable `x'
- option after calling decode_prompt_string if it was on before. In
- normal mode, it will be, but John Reiser <jreiser@bitwagon.com>
- has a novel use for that code in conjunction with a pre-loaded
- shared library that traces system call usage in shell scripts
-
- 10/10
- -----
-Makefile.in
- - Fix from Mike Frysinger <vapier@gentoo.org> to avoid trying to
- build y.tab.c and y.tab.h with two separate runs of yacc if
- parse.y changes. Problem with parallel makes
- - Fix from Mike Frysinger <vapier@gentoo.org> to avoid subdirectory
- builds each trying to make version.h (and all its dependencies)
-
-lib/sh/Makefile.in
- - remove some dependencies on version.h where it doesn't make sense
-
-variables.c
- - initialize_shell_variables: while reading the environment, a shell
- running in posix mode now checks for SHELLOPTS being readonly (it
- gets set early on in main()) before trying to assign to it. It
- saves an error message and the variable gets parsed as it should.
- Fixes bug reported by Len Giambrone <Len.Giambrone@intersystems.com>
-
- 10/14
- -----
-doc/{bash.1,bashref.texi}
- - add to the "duplicating file descriptors" description that >&word
- doesn't redirect stdout and stderr if word expands to `-'
- - add to the "appending standard output and standard error"
- description a note that >&word, where word is a number or `-',
- causes other redirection operators to apply for sh and Posix
- compatibility reasons. Suggested by Greg Wooledge
- <wooledg@eeg.ccf.org>
-
- 10/15
- -----
-pcomplete.c
- - change pcomp_filename_completion_function to only run the filename
- dequoting function in the cases (as best as it can figure) where
- readline won't do it via rl_filename_completion_function. Based
- on reports from <lolilolicon@gmail.com>
-
- 10/19
- -----
-bashline.c
- - attempt_shell_completion: add call to set_directory_hook() to make
- sure the rewrite functions are correct. It's cheap and doesn't
- hurt
- - command_word_completion_function: if completing a command name that
- starts with `.' or `..', temporarily suppress the effects of the
- `direxpand' option and restore the correct value after calling
- rl_filename_completion_function. If it's enabled, the directory
- name will be rewritten and no longer match `./' or `../'. Fixes
- problem reported by Michael Kalisz <michael@kalisz.homelinux.net>
-
- 10/22
- -----
-builtins/history.def
- - push_history: make sure remember_on_history is enabled before we
- try to delete the last history entry -- the `history -s' command
- might not have been saved. Fixes bug reported by
- lester@vmw-les.eng.vmware.com
-
-lib/readline/complete.c
- - rl_callback_read_char: add calls to a macro CALLBACK_READ_RETURN
- instead of straight return; add same call at end of function.
- Placeholder for future work in deinstalling signal handlers when
- readline is not active
-
- 10/25
- -----
-expr.c
- - exp2: catch arithmetic overflow when val1 == INTMAX_MIN and val2 == -1
- for DIV and MOD and avoid SIGFPE. Bug report and pointer to fix
- from Jaak Ristioja <jaak.ristioja@cyber.ee>
- - expassign: same changes for arithmetic overflow for DIV and MOD
-
- 10/28
- -----
-subst.c
- - parameter_brace_expand: allow pattern substitution when there is an
- expansion of the form ${var/} as a no-op: replacing nothing with
- nothing
- - parameter_brace_patsub: don't need to check for PATSUB being NULL;
- it never is
-
-flags.c
- - if STRICT_POSIX is defined, initialize history_expansion to 0, since
- history expansion (and its treatment of ! within double quotes) is
- not a conforming posix environment. From austin-group issue 500
-
-lib/readline/histexpand.c
- - history_expand: when processing a string within double quotes
- (DQUOTE == 1), make the closing double quote inhibit history
- expansion, as if the word were outside double quotes. In effect,
- we assume that the double quote is followed by a character in
- history_no_expand_chars. tcsh and csh seem to do this. This
- answers a persistent complaint about history expansion
-
- 10/29
- -----
-make_cmd.c
- - make_arith_for_command: use skip_to_delim to find the next `;'
- when breaking the string between the double parens into three
- separate components instead of a simple character loop. Fixes
- bug reported by Dan Douglas <ormaaj@gmail.com>
-
- 11/2
- ----
-Makefile.in
- - make libbuiltins.a depend on builtext.h to serialize its creation
- and avoid conflict between multiple invocations of mkbuiltins.
- Fix from Mike Frysinger <vapier@gentoo.org>
-
- 11/5
- ----
-findcmd.c
- - user_command_matches: if stat(".", ...) returns -1, set st_dev
- and st_ino fields in dotinfo to 0 to avoid same_file matches
- - find_user_command_in_path: check stat(2) return the same way
-
-lib/glob/glob.c
- - glob_vector: don't call strlen(pat) without checking pat == 0
- - glob_dir_to_array: make sure to free `result' and all allocated
- members before returning error due to malloc failure
- - glob_vector: make sure to free `nextname' and `npat' on errors
- (mostly when setting lose = 1)
- - glob_vector: if flags & GX_MATCHDIRS but not GX_ALLDIRS, make
- sure we free `subdir'
- - glob_filename: when expanding ** (GX_ALLDIRS), make sure we
- free temp_results (return value from glob_vector)
-
-lib/glob/xmbsrtowcs.c
- - xdupmbstowcs: fix call to realloc to use sizeof (char *) instead
- of sizeof (char **) when assigning idxtmp
-
-execute_cmd.c
- - print_index_and_element: return 0 right away if L == 0
- - is_dirname: fix memory leak by freeing `temp'
- - time_command: don't try to deref NULL `command' when assigning
- to `posix_time'
- - shell_execve: null-terminate `sample' after READ_SAMPLE_BUF so it's
- terminated for functions that expect that
-
-builtins/read.def
- - read_builtin: don't call bind_read_variable with a potentially-null
- string
-
-pcomplete.c
- - gen_command_matches: don't call dispose_word_desc with a NULL arg
- - gen_compspec_completions: fix memory leak by freeing `ret' before
- calling gen_action_completions (tcs, ...). happens when
- performing directory completion as default and no completions
- have been generated
- - gen_progcomp_completions: make sure to set foundp to 0 whenever
- returning NULL
- - it_init_aliases: fix memory leak by freeing alias_list before
- returning
-
-bashline.c
- - command_word_completion_function: don't call restore_tilde with a
- NULL directory_part argument
- - bash_directory_expansion: bugfix: don't throw away results of
- rl_directory_rewrite_hook if it's set and returns non-zero
- - bind_keyseq_to_unix_command: free `kseq' before returning error
-
-arrayfunc.c
- - assign_array_element_internal: make sure `akey' is freed if non-null
- before returning error
- - assign_compound_array_list: free `akey' before returning error
- - array_value_internal: free `akey' before returning error
- - unbind_array_element: free `akey' before returning error
-
-subst.c
- - array_length_reference: free `akey' before returning error in case
- of expand_assignment_string_to_string error
- - array_length_reference: free `akey' after call to assoc_reference
- - skip_to_delim: if skipping process and command substitution, free
- return value from extract_process_subst
- - parameter_brace_substring: free `val' (vtype == VT_VARIABLE) before
- returning if verify_substring_values fails
- - parameter_brace_expand: remove two duplicate lines that allocate
- ret in parameter_brace_substring case
- - parameter_brace_expand: convert `free (name); name = xmalloc (...)'
- to use `xrealloc (name, ...)'
- - parameter_brace_expand: free `name' before returning when handling
- ${!PREFIX*} expansion
- - split_at_delims: fix memory leak by freeing `d2' before returning
-
-redir.c
- - redirection_error: free `filename' if the redirection operator is
- REDIR_VARASSIGN by assigning allocname
-
-eval.c
- - send_pwd_to_eterm: fix memory leak by freeing value returned by
- get_working_directory()
-
-builtins/cd.def
- - change_to_directory: fix memory leak by freeing return value from
- resetpwd()
- - cd_builtin: fix memory leak by freeing value returned by dirspell()
- - cd_builtin: fix memory leak by freeing `directory' if appropriate
- before overwriting with return value from resetpwd()
-
-builtins/type.def
- - describe_command: free `full_path' before overwriting it with return
- value from sh_makepath
-
-builtins/complete.def
- - compgen_builtin: fix memory leak by calling strlist_dispose (sl)
- before overwriting sl with return value from completions_to_stringlist
-
-builtins/hash.def
- - list_hashed_filename_targets: fix memory leak by freeing `target'
-
-make_cmd.c
- - make_arith_for_command: free `init', `test', and `step' before
- returning error on parse error
-
-jobs.c
- - initialize_job_control: don't call move_to_high_fd if shell_tty == -1
-
-general.c
- - check_dev_tty: don't call close with an fd < 0
- - legal_number: deal with NULL `string' argument, return invalid
-
-lib/sh/fmtulong.c
- - fmtulong: if the `base' argument is invalid, make sure we index
- buf by `len-1' at maximum
-
-print_cmd.c
- - print_deferred_heredocs: don't try to dereference a NULL `cstring'
- - cprintf: make sure to call va_end (args)
-
-variables.c
- - push_dollar_vars: fix call to xrealloc to use sizeof (WORD_LIST *)
- instead of sizeof (WORD_LIST **)
-
-lib/sh/zmapfd.c
- - zmapfd: if read returns error, free result and return -1 immediately
- instead of trying to reallocate it
-
- 11/6
- ----
-execute_cmd.c
- - cpl_reap: rewrote to avoid using pointer after freeing it; now builds
- new coproc list on the fly while traversing the old one and sets the
- right values for coproc_list when done
-
- 11/12
- -----
-builtins/set.def
- - if neither -f nor -v supplied, don't allow a readonly function to
- be implicitly unset. Fixes bug reported by Jens Schmidt
- <jens.schmidt35@arcor.de>
-
-lib/readline/callback.c
- - change CALLBACK_READ_RETURN to clear signal handlers before returning
- from rl_callback_read_char so readline's signal handlers aren't
- installed when readline doesn't have control. Idea from Jan
- Kratochvil <jan.ktratochvil@redhat.com> and the GDB development
- team
-
-pcomplete.h
- - COPT_NOQUOTE: new complete/compgen option value
-
-builtins/complete.def
- - noquote: new complete/compgen option; will be used to disable
- filename completion quoting
-
-pcomplete.c
- - pcomp_set_readline_variables: pay attention to COPT_NOQUOTE; turns
- of rl_filename_quoting_desired if set; turns it on if unset (value
- is inverted, since default is on)
-
-doc/bash.1,lib/readline/doc/rluser.texi
- - document new -o noquote option to complete/compgen/compopt
-
-pathexp.c
- - quote_string_for_globbing: if QGLOB_REGEXP, make sure characters
- between brackets in an ERE bracket expression are not inappropriately
- quoted with backslashes. This is a pretty substantial change,
- should be stressed when opening bash up for alpha and beta tests.
- Fixes bug pointed out by Stephane Chazleas
- <stephane_chazelas@yahoo.fr>
-
-doc/{bash.1,bashref.texi}
- - document that regexp matches can be inconsistent when quoting
- characters in bracket expressions, since usual quoting characters
- lose their meaning within brackets
- - note that regular expression matching when the pattern is stored
- in a shell variable which is quoted for expansion causes string
- matching
-
-redir.h
- - RX_SAVEFD: new flag value; notes that a redirection denotes an
- fd used to save another even if it's not >= SHELL_FD_BASE
-
-redir.c
- - do_redirection_internal: when deciding whether or not to reset the
- close-on-exec flag on a restored file descriptor, trust the value
- of redirect->flags & RX_SAVCLEXEC even if the fd is < SHELL_FD_BASE
- if the RX_SAVEFD flag is set
- - add_undo_redirect: set the RX_SAVEFD flag if the file descriptor
- limit is such that the shell can't duplicate to a file descriptor
- >= 10. Fixes a limitation that tripped a coreutils test reported
- by Paul Eggert <eggert@cs.ucla.edu>
-
- 11/19
- -----
-doc/{bash.1,bashref.texi},lib/readline/doc/hsuser.texi
- - make it clear that bash runs HISTFILESIZE=$HISTSIZE after reading
- the startup files
- - make it clear that bash runs HISTSIZE=500 after reading the
- startup files
- - make it clear that setting HISTSIZE=0 causes commands to not be
- saved in the history list
- - make it clear that setting HISTFILESIZE=0 causes the history file
- to be truncated to zero size
-
-variables.c
- - sv_histsize: change so setting HISTSIZE to a value less than 0
- causes the history to be `unstifled'
- - sv_histsize: change so setting HISTFILESIZE to a value less than 0
- results in no file truncation
- - make it clear that numeric values less than 0 for HISTFILESIZE or
- HISTSIZE inhibit the usual functions
-
- 11/23
- -----
-parse.y
- - save_input_line_state: add missing `return ls' at the end, since the
- function is supposed to return its argument. Pointed out by
- Andreas Schwab <schwab@linux-m68k.org>
-
-builtins/read.def
- - skip over NUL bytes in input, as most modern shells seem to. Bug
- report by Matthew Story <matt@tablethotels.com>
-
-lib/readline/vi_mode.c
- - rl_vi_replace: set _rl_vi_last_key_before_insert to invoking key
-
- 11/25
- -----
-builtins/read.def
- - read_builtin: if xrealloc returns same pointer as first argument,
- don't bother with the remove_unwind_protect/add_unwind_protect pair
- - read_builtin: set a flag (`reading') around calls to zread/zreadc
- and readline()
- - sigalrm: change to set flag (`sigalrm_seen') and only longjmp if
- currently in read(2) (reading != 0)
- - CHECK_ALRM: new macro, checks sigalrm_seen and longjmps if non-zero,
- behavior of old SIGALRM catching function
- - read_builtin: call CHECK_ALRM in appropriate places while reading
- line of input. Fixes bug reported by Pierre Gaston
- <pierre.gaston@gmail.com>
-
-lib/readline/vi_mode.c
- - rl_vi_replace: initialize characters before printing characters in
- vi_replace_keymap to their default values in vi_insertion_keymap,
- since we're supposed to be in insert mode replacing characters
- - rl_vi_replace: call rl_vi_start_inserting to set last command to
- `R' for undo
- - rl_vi_replace: set _rl_vi_last_key_before_insert to `R' for future
- use by _rl_vi_done_inserting
- - vi_save_insert_buffer: new function, broke out code that copies text
- into vi_insert_buffer from _rl_vi_save_insert
- - _rl_vi_save_replace: new function, saves text modified by
- rl_vi_replace (using current point and vi_replace_count to figure
- it out) to vi_replace_buffer
- - _rl_vi_save_insert: call vi_save_insert_buffer
- - _rl_vi_done_inserting: if _rl_vi_last_key_before_insert == 'R', call
- _rl_vi_save_replace to save text modified in replace mode (uses
- vi_save_insert_buffer)
- - _rl_vi_replace_insert: new function, replaces the number of chars
- in vi_insert_buffer after rl_point with contents ov vi_insert_buffer
- - rl_vi_redo: call _rl_vi_replace_insert if last command == 'R' and
- there's something in vi_insert_buffer. Fixes bug with `.' not
- redoing the most recent `R' command, reported by Geoff Clare
- <g.clare@opengroup.org> in readline area on savannah
-
- 11/26
- -----
-lib/readline/rlprivate.h
- - RL_SIG_RECEIVED(): evaluate to non-zero if there is a pending signal
- to be handled
- - RL_SIGINT_RECEIVED(): evaluate to non-zero if there is a pending
- SIGINT to be handled
-
-lib/readline/complete.c
- - remove all mention of _rl_interrupt_immediately
- - rl_completion_matches: check RL_SIG_RECEIVED after each call to
- the entry function, call RL_CHECK_SIGNALS if true to handle the
- signal
- - rl_completion_matches: if RL_SIG_RECEIVED evaluates to true, free
- and zero out the match_list this function allocated
- - rl_completion_matches: if the completion entry function is
- rl_filename_completion_function, free the contents of match_list,
- because that function does not keep state and will not free the
- entries; avoids possible memory leak pointed out by
- Garrett Cooper <yanegomi@gmail.com>
- - gen_completion_matches: if RL_SIG_RECEIVED evalutes to true after
- calling rl_attempted_completion_function, free the returned match
- list and handle the signal with RL_CHECK_SIGNALS; avoids
- possible memory leak pointed out by Garrett Cooper
- <yanegomi@gmail.com>
- - gen_completion_matches: if RL_SIG_RECEIVED evaluates to true after
- calling rl_completion_matches, free the returned match list and
- handle the signal with RL_CHECK_SIGNALS
-
-lib/readline/util.c
- - rl_settracefp: new utility function to set the tracing FILE *
-
-lib/readline/signals.c
- - _rl_sigcleanup: pointer to a function that will be called with the
- signal and a void * argument from _rl_handle_signal
- - _rl_sigcleanarg: void * that the rest of the code can set to have
- passed to the signal cleanup function
- - _rl_handle_signal: if _rl_sigcleanup set, call as
- (*_rl_sigcleanup) (sig, _rl_sigcleanarg)
-
-lib/readline/rlprivate.h
- - extern declarations for _rl_sigcleanup and _rl_sigcleanarg
-
-lib/readline/complete.c
- - _rl_complete_sigcleanup: signal cleanup function for completion code;
- calls _rl_free_match_list on _rl_sigcleanarg if signal == SIGINT
- - rl_complete_internal: before calling display_matches if what_to_do
- == `?', set _rl_sigcleanup to _rl_complete_sigcleanup so the match
- list gets freed on SIGINT; avoids possible memory leak pointed out
- by Garrett Cooper <yanegomi@gmail.com>
- - rl_complete_internal: in default switch case, call _rl_free_match_list
- before returning to avoid memory leak
-
-doc/bashref.texi
- - start at a set of examples for the =~ regular expression matching
- operator, touching on keeping the pattern in a shell variable and
- quoting portions of the pattern to remove their special meaning
-
- 12/1
- ----
-lib/glob/gmisc.c
- - extglob_pattern: new function, returns 1 if pattern passed as an
- argument looks like an extended globbing pattern
-
-lib/glob/glob.c
- - skipname: return 0 immediately if extglob_pattern returns non-zero,
- let the extended globbing code do the right thing with skipping
- names beginning with a `.'
- - mbskipname: return 0 immediately if extglob_pattern returns non-zero,
- let the extended globbing code do the right thing with skipping
- names beginning with a `.'. Fixes bug reported by Yongzhi Pan
- <panyongzhi@gmail.com>
-
- 12/2
- ----
-lib/glob/smatch.c
- - patscan, patscan_wc: no longer static so other parts of the glob
- library can use them, renamed to glob_patscan, glob_patscan_wc
-
-lib/glob/glob.c
- - extern declarations for glob_patscan, glob_patscan_wc
- - wchkname: new function, does skipname on wchar_t pattern and dname,
- old body of mbskipname after converting to wide chars
- - extglob_skipname: new function, checks all subpatterns in an extglob
- pattern to determine whether or not a filename should be skipped.
- Calls skipname for each subpattern. Dname is only skipped if all
- subpatterns indicate it should be. Better fix for bug reported by
- Yongzhi Pan <panyongzhi@gmail.com>
- - wextglob_skipname: wide-char version of extglob_skipname, calls
- wchkname instead of calling back into mbskipname for each
- subpattern to avoid problems with char/wchar_t mismatch
- - skipname: call extglob_skipname if extglob_pattern returns non-zero
- - mbskipname: call wextglob_skipname if extglob_pattern returns non-zero
- - mbskipname: short-circuit immediately if no multibyte chars in
- pattern or filename
-
-execute_cmd.c
- - execute_cond_node: added parens to patmatch assignment statement to
- make intent clearer
-
- 12/3
- ----
-configure.in,config.h.in
- - check for imaxdiv, define HAVE_IMAXDIV if present
-
-expr.c
- - expassign, exp2: use imaxdiv if available. Doesn't help with checks
- for overflow from 10/25
-
- 12/6
- ----
-lib/readline/complete.c
- - compute_lcd_of_matches: if we're ignoring case in the matches, only
- use what the user typed as the lcd if it matches the first match
- (after sorting) up to the length of what was typed (if what the
- user typed is longer than the shortest of the possible matches, use
- the shortest common length of the matches instead). If it doesn't
- match, use the first of the list of matches, as if case were not
- being ignored. Fixes bug reported by Clark Wang
- <dearvoid@gmail.com>
-
- 12/7
- ----
-builtins/cd.def
- - cd_builtin: add code to return error in case cd has more than one
- non-option argument, conditional on CD_COMPLAINS define (which is
- not defined anywhere)
-
-doc/{bash.1,bashref.texi}
- - note that additional arguments to cd following the directory name
- are ignored. Suggested by Vaclav Hanzl <hanzl@noel.feld.cvut.cz>
-
- 12/10
- -----
-lib/readline/input.c
- - rl_read_key: don't need to increment key sequence length here; doing
- it leads to an off-by-one error
-
-lib/readline/macro.c
- - rl_end_kbd_macro: after off-by-one error with rl_key_sequence_length
- fixed, can decrement current_macro_index by rl_key_sequence_length
- (length of key sequence that closes keyboard macro)
-
-lib/readline/readline.c
- - _rl_dispatch_subseq: fix extra increment of rl_key_sequence_length
- when ESC maps to a new keymap and we're converting meta characters
- to ESC+key
- - _rl_dispatch_subseq: better increment of rl_key_sequence_length
- before we dispatch to a function in the ISFUNC case (where the
- second increment above should have happened)
- - rl_executing_keyseq: the full key sequence that ended up executing
- a readline command. Available to the calling application, maintained
- by _rl_dispatch_subseq, indexed by rl_key_sequence_length
- - rl_executing_key: the key that was bound to the currently-executing
- readline command. Same as the `key' argument to the function
-
-lib/readline/readline.h
- - rl_executing_keyseq: extern declaration
- - rl_executing_key: extern declaration
- - rl_key_sequence_length: declaration moved here from rlprivate.h,
- now part of public interface
-
-lib/readline/rlprivate.h
- - new extern declaration for _rl_executing_keyseq_size, buffer size
- for rl_executing_keyseq
-
-lib/readline/doc/rltech.texi
- - documented new variables: rl_executing_key, rl_executing_keyseq,
- rl_key_sequence_length
-
- 12/13
- -----
-bashline.c
- - bash_execute_unix_command: replace ad-hoc code that searches
- cmd_xmap for correct command with call to rl_function_of_keyseq
- using rl_executing_keyseq; now supports key sequences longer
- than two characters. Fixes bug reported by Michael Kazior
- <kazikcz@gmail.com>
-
- 12/15
- -----
-make_cmd.c
- - make_function_def: don't null out source_file before calling
- make_command so it can be used later on when the function definition
- is executed
-
-execute_cmd.c
- - execute_intern_function: second argument is now FUNCTION_DEF *
- instead of COMMAND *
- - execute_command_internal: call execute_intern_function with the
- new second argument (the entire FUNCTION_DEF instead of just the
- command member)
- - execute_intern_function: if DEBUGGER is defined, call
- bind_function_def before calling bind_function, just like
- make_function_def does (might be able to take out the call in
- make_function_def depending on what the debugger does with it).
- Fixes bug reported by <dethrophes@motd005>
-
-expr.c
- - more minor changes to cases of INTMAX_MIN % -1 and INTMAX_MIN / 1;
- fix typos and logic errors
-
- 12/16
- -----
-bashline.c
- - find_cmd_start: change flags to remove SD_NOSKIPCMD so it skips over
- command substitutions and doesn't treat them as command separators
- - attempt_shell_completion: instead of taking first return from
- find_cmd_name as command name to use for programmable completion,
- use loop to skip over assignment statements. Fixes problem reported
- by Raphael Droz <raphael.droz+floss@gmail.com>
- - attempt_shell_completion: if we don't find a command name but the
- command line is non-empty, assume the other words are all assignment
- statements and flag that point is in a command position so we can
- do command name completion
- - attempt_shell_completion: if the word being completed is the first
- word following a series of assignment statements, and the
- command line is non-empty, flag that point is in a command position
- so we can do command name completion
-
-lib/readline/history.c
- - history_get_time: atol -> strtol
-
- 12/18
- -----
-parse.y
- - parser_in_command_position: external interface to the
- command_token_position macro for use by other parts of the shell,
- like the completion mechanism
-
-externs.h
- - extern declaration for parser_in_command_position
-
- 12/19
- -----
-
-builtins/read.def
- - read_builtin: make sure all calls to bind_read_variable are passed
- a non-null string. Fixes bug reported by Dan Douglas
- <ormaaj@gmail.com>
-
-bashline.c
- - attempt_shell_completion: mark that we're in a command position if
- we're at the start of the line and the parser is ready to accept
- a reserved word or command name. Feature most recently suggested
- by Peng Yu <pengyu.ut@gmail.com>
-
- 12/21
- -----
-lib/readline/bind.c
- - _rl_escchar: return the character that would be backslash-escaped
- to denote the control character passed as an argument ('\n' -> 'n')
- - _rl_isescape: return 1 if character passed is one that has a
- backslash escape
- - _rl_untranslate_macro_value: new second argument: use_escapes, if
- non-zero translate to backslash escapes where possible instead of
- using straight \C-x for control character `x'. Change callers
- - _rl_untranslate_macro_value: now global
-
-lib/readline/rlprivate.h
- - _rl_untranslate_macro_value: extern declaration
-
-lib/readline/{macro.c,readline.h}
- - rl_print_last_kbd_macro: new bindable function, inspired by patch
- from Mitchel Humpherys
-
-lib/readline/funmap.c
- - print-last-kbd-macro: new bindable command, bound to
- rl_print_last_kbd_macro
-
-lib/readline/doc/{rluser.texi,readline.3},doc/bash.1
- - print-last-kbd-macro: document.
-
-lib/readline/text.c
- - _rl_insert_next: if we're defining a macro, make sure the key gets
- added to the macro text (should really audit calls to rl_read_key()
- and make sure the right thing is happening for all of them)
-
-bashline.[ch]
- - print_unix_command_map: new function, prints all bound commands in
- cmd_xmap using rl_macro_dumper in a reusable format
-
-builtins/bind.def
- - new -X option: print all keysequences bound to Unix commands using
- print_unix_command_map. Feature suggested by Dennis Williamson
- (2/2011)
-
-doc/{bash.1,bashref.texi}
- - document new `bind -X' option
-
- 12/24
- -----
-
-doc/{bash.1,bashref.texi}
- - add a couple of sentences to the description of the case modification
- operators making it clearer that each character of parameter is
- tested against the pattern, and that the pattern should only attempt
- to match a single character. Suggested by Bill Gradwohl
- <bill@ycc.com>
-
- 12/28
- -----
-shell.c
- - init_noninteractive: instead of calling set_job_control(0) to
- unconditionally turn off job control, turn on job control if
- forced_interactive or jobs_m_flag is set
- - shell_initialize: call initialize_job_control with jobs_m_flag as
- argument so `bash -m script' enables job control while running the
- script
-
-jobs.c
- - initialize_job_control: if the `force' argument is non-zero, turn on
- job control even if the shell is not currently interactive
- (interactive == 0)
-
- 12/29
- -----
-
-flags.h
- - new extern declaration for jobs_m_flag
-
-builtins/{cd,set}.def,doc/{bash.1,bashref.texi}
- - added text clarifying the descriptions of cd -L and -P, suggested by
- Padraig Brady <p@draigbrady.com>
- - slight change to the description of `set -P' about resolving symbolic
- links
-
-lib/readline/doc/rluser.texi
- - Added an example to the programmable completion section: _comp_cd,
- a completion function for cd, with additional verbiage. Text
- includes a reference to the bash_completion project
-
- 1/1/2012
- --------
-jobs.c
- - set_job_status_and_cleanup: note that a job is stopped due to
- SIGTSTP (any_tstped) if job_control is set; there's no need to
- test interactive
-
- 1/5
- ---
-quit.h
- - LASTSIG(): new macro, expands to signal number of last terminating
- signal received (terminating_signal or SIGINT)
-
-trap.c
- - first_pending_trap: returns lowest signal number with a trap pending
- - trapped_signal_received: set to the last trapped signal the shell
- received in trap_handler(); reset to 0 in run_pending_traps
-
-builtins/read.def
- - read_builtin: changes to posix-mode (posixly_correct != 0) to make
- `read' interruptible by a trapped signal. After the trap runs,
- read returns 128+sig and does not assign the partially-read line
- to the named variable(s). From an austin-group discussion started
- by David Korn
-
- 1/11
- ----
-doc/{bash.1,bashref.texi}
- - slight changes to the descriptions of the compat32 and compat40 shell
- options to clarify their meaning
-
- 1/12
- ----
-lib/readline/{colors.[ch],parse-colors.[ch]}
- - new files, part of color infrastructure support
-
-Makefile.in,lib/readline/Makefile.in
- - arrange to have colors.o and parse-colors.o added to readline
- library
-
-{configure,config.h}.in
- - check for stdbool.h, define HAVE_STDBOOL_H if found
-
- 1/14
- ----
-lib/readline/bind.c
- - colored_stats: new bindable variable, enables using colors to
- indicate file type when listing completions
-
-lib/readline/complete.c
- - _rl_colored_stats: new variable, controlled by colored-stats bindable
- variable
- - colored_stat_start, colored_stat_end: new functions to set and reset
- the terminal color appropriately depending on the type of the
- filename to be printed
- - print_filename: changes to print colors if `colored-stats' variable
- set. Changes contributed by Raphael Droz
- <raphael.droz+floss@gmail.com>
-
-lib/readline/readline.c
- - rl_initialize_everything: add call to _rl_parse_colors to parse
- color values out of $LS_COLORS. May have to add to rl_initialize
- to make more dynamic if LS_COLORS changes (which doesn't happen
- very often, if at all)
-
-lib/readline/rlprivate.h
- - _rl_colored_stats: new extern declaration
-
-lib/readline/doc/{readline.3,rluser.texi},doc/bash.1
- - colored-stats: document new bindable readline variable
-
-lib/readline/colors.c
- - _rl_print_color_indicator: call rl_filename_stat_hook before calling
- lstat/stat so we can get color indicators for stuff like
- $HOME/Applications
-
-lib/readline/complete.c
- - stat_char: call rl_filename_stat_hook before calling lstat/stat
-
-findcmd.[ch],execute_cmd.c
- - search_for_command: now takes a second `flags' argument; changed
- header function prototype and callers
- - search_for_command: if (flags & 1), put the command found in $PATH
- into the command hash table (previous default behavior)
-
-execute_cmd.c
- - is_dirname: call search_for_command with flags argument of 0 so it
- doesn't try to put something in the command hash table
-
-bashline.c
- - bash_command_name_stat_hook: a hook function for readline's
- filename_stat_hook that does $PATH searching the same way that
- execute_cmd.c:execute_disk_command() does it, and rewrites the
- passed filename if found. Does not put names into command hash
- table. This allows command name completion to take advantage
- of `visible-stats' and `colored-stats' settings.
- - executable_completion: new function, calls the directory completion
- hook to expand the filename before calling executable_file or
- executable_or_directory; change command_word_completion_function to
- call executable_completion. This allows $HOME/bin/[TAB] to do
- command completion and display alternatives
-
- 1/17
- ----
-pcomplete.c
- - gen_command_matches: now takes a new second argument: the command
- name as deciphered by the programmable completion code and used
- to look up the compspec; changed callers (gen_compspec_completions)
- - gen_shell_function_matches: now takes a new second argument: the
- command that originally caused the completion function to be
- invoked; changed callers (gen_compspec_completions))
- - build_arg_list: now takes a new second argument: the command name
- corresponding to the current compspec; changed callers
- (gen_command_matches, gen_shell_function_matches)
- - build_arg_list: now uses `cmd' argument to create $1 passed to
- invoked command or shell function
- - gen_compspec_completions: if we skipped a null command at the
- beginning of the line (e.g., for completing `>'), add a new word for
- it at the beginning of the word list and increment nw and cw
- appropriately. This is all a partial fix for the shortcoming
- pointed out by Sung Pae <sungpae@gmail.com>
-
- 1/18
- ----
-
-{configure,config.h}.in
- - new check: check for AUDIT_USER_TTY defined in <linux/audit.h>,
- define HAVE_DECL_AUDIT_USER_TTY if both are found
-
-lib/readline/rlconf.h
- - ENABLE_TTY_AUDIT_SUPPORT: new define, allows use of the Linux kernel
- tty auditing system if it's available and enabled
-
-lib/readline/util.c
- - _rl_audit_tty: new function, send a string to the kernel tty audit
- system
-
-lib/readline/rlprivate.h
- - _rl_audit_tty: new extern declaration
-
-lib/readline/readline.c
- - readline: call _rl_audit_tty with line to be returned before returning
- it if the Linux tty audit system is available and it's been enabled
- in rlconf.h Original patch from Miroslav Trmac; recent request
- from Miroslav Lichvar <mlichvar@redhat.com>
-
- 1/21
- ----
-
-lib/readline/readline.c:
- - _rl_dispatch_subseq: add an inter-character timeout for multi-char
- key sequences. Suggested by <rogerx.oss@gmail.com>. Still needs
- work to make a user-settable variable
-
-parse.y
- - shell_getc: make code that uses the pop_alias dependent on ALIAS
- define
-
-variables.h
- - sv_tz: extern define should only depend on HAVE_TZSET
-
-expr.c
- - expr_streval: if ARRAY_VARS is not defined, set lvalue->ind to -1;
- move assignment to `ind' inside define
- - expr_bind_array_element: declaration and uses need to be #ifdef
- ARRAY_VARS
-
-arrayfunc.h
- - AV_ALLOWALL, AV_QUOTED, AV_USEIND: define to 0 if ARRAY_VARS not
- defined; used in subst.c unconditionally
-
-sig.h
- - make the signal blocking functions not dependent on JOB_CONTROL
-
-sig.c
- - sigprocmask: make the replacement definition not dependent on
- JOB_CONTROL
-
-trap.c
- - use BLOCK_SIGNAL/UNBLOCK_SIGNAL instead of code dependent on
- HAVE_POSIX_SIGNALS and BSD signals
-
- 1/24
- ----
-
-print_cmd.c
- - print_redirection_list: change the conditions under which
- r_duplicating_output_word is mapped to r_err_and_out to more or
- less match those used in redir.c. Fixes bug pointed out by
- Dan Douglas <ormaaj@gmail.com>
-
-
- 1/29
- ----
-lib/readline/signals.c
- - _rl_block_sigwinch,_rl_release_sigwinch: don't compile in bodies
- unless SIGWINCH is defined. Fixes bug reported by Pierre Muller
- <pierre.muller@ics-cnrs.unistra.fr>
-
-doc/{bash.1,bashref.texi}
- - small modifications to the introduction to the REDIRECTION section
- to describe how redirections can modify file handles
- - small modification to the section describing base#n to make it
- clearer that n can be denoted using non-numerics. From a posting
- by Linda Walsh <bash@tlinx.org>
-
- 2/2
- ---
-builtins/printf.def
- - printf_builtin: make sure vbuf is intialized and non-null when -v
- is supplied, since other parts of the code assume that it's not
- null (e.g., bind_printf_variable()). Fixes bug reported by Jim
- Avera <james_avera@yahoo.com>
-
- 2/4
- ---
-lib/readline/undo.c
- - _rl_free_undo_list: new function, old body of rl_free_undo_list,
- frees undo entries in UNDO_LIST * passed as argument
- - rl_free_undo_list: call _rl_free_undo_list
-
-lib/readline/rlprivate.h
- - _rl_free_undo_list: new extern declaration
- - _rl_keyseq_timeout: new extern declaration (see below)
-
-lib/readline/misc.c
- - rl_clear_history: new function. Clears the history list and frees
- all associated data similar to history.c:clear_history(), but
- takes rl_undo_list into account and frees and UNDO_LISTs saved as
- `data' members of a history list entry
-
-lib/readline/doc/rltech.texi
- - rl_clear_history: documented
-
-lib/readline/readline.c
- - _rl_keyseq_timeout: new variable to hold intra-key timeout value
- from 1/21 fix; specified in milliseconds. Default value is 500
- - _rl_dispatch_subseq: change to use _rl_keyseq_timeout as intra-key
- timeout if it's greater than 0; no timeout if <= 0
- - _rl_dispatch_subseq: don't check for queued keyboard input if we have
- pushed or pending input, or if we're reading input from a macro
-
-lib/readline/bind.c
- - keyseq-timeout: new bindable variable, shadows _rl_keyseq_timeout
- - string_varlist: add keyseq-timeout
- - sv_seqtimeout: new function to modify value of _rl_keyseq_timeout;
- clamps negative values at 0 for now
- - _rl_get_string_variable_value: return value for keyseq-timeout
-
-doc/bash.1,lib/readline/doc/{rluser.texi,readline.3}
- - keyseq-timeout: documented
-
-lib/readline/isearch.c
- - _rl_isearch_dispatch: modification to fix from 7/18 to not use
- cxt->keymap and cxt->okeymap, since by the time this code is
- executed, they are equal. Use `f' to check for rl_insert or
- unbound func
- - _rl_isearch_dispatch: if we're switching keymaps, not in
- callback mode, and don't have pending or pushed input, use
- _rl_input_queued to resolve a potentially ambiguous key sequence.
- Suggested by Roger Zauner <rogerx.oss@gmail.com>
- - _rl_isearch_dispatch: if we have changed keymaps and resolved to
- an editing function (not self-insert), make sure we stuff the
- right characters back onto the input after changing the keymap
- back so the right editing function is executed after the search
- is terminated. Rest of fix for bug reported by Roger Zauner
- <rogerx.oss@gmail.com>
-
- 2/5
- ---
-builtins/gen-helpfiles.c
- - new file: reads struct builtin and writes the long docs to files
- in the `helpdirs' subdirectory. The filename is given in the
- previously-unused `handle' member of the struct builtin. Links
- with `tmpbuiltins.o', which is created by Makefile to have the
- right long documentation. When not cross-compiling, gets the
- right #defines based on configuration options from config.h instead
- of trying to parse conditional parts of def files. Fixes
- shortcoming pointed out by Andreas Schwab <schwab@linux-m68k.org>
-
-builtins/Makefile.in
- - tmpbuiltins.c: new generated file, created to enable creation of
- separate helpfiles based on correct #defines instead of trying to
- parse conditional parts of def files
- - gen-helpfiles: new program to generate helpfiles, links with
- tmpbuiltins.o
- - HELPFILES_TARGET: new target, substituted by configure to `helpdoc'
- if separate helpfiles requested
- - targets: new target, libbuiltins.a and $(HELPFILES_TARGET)
- - CREATED_OBJECTS: new variable, holds created object files for
- make clean; changed make clean to remove created objects
- - helpdoc: changed to call gen-helpfiles instead of mkbuiltins
-
-Makefile.in
- - when building libbuiltins.a, recursively call make with `targets'
- argument to make sure separate helpfiles get built
-
-configure.in
- - substitute `helpdoc' as value of HELPFILES_TARGET if
- --enable-separate-helpfiles supplied as configure argument
-
-builtins/mkbuiltins.c
- - `-nofunctions': new argument, causes mkbuiltins to not write value
- for function implementing a particular builtin to struct builtin
- and to write document file name to `handle' member of struct builtin
- - no longer writes separate helpfiles; that is left to gen-helpfiles
-
- 2/8
- ---
-subst.c
- - make sure last_command_exit_value is set to a non-zero value before
- any calls to report_error, since `-e' set will short-circuit
- report_error. Fixes bug reported by Ewan Mellor
- <Ewan.Mellor@eu.citrix.com>
-
-variables.c
- - make_local_array_variable: added second argument; if non-zero,
- function will return an existing local associative array variable
- instead of insisting on an indexed array
-
-variable.h,subst.c
- - make_local_array_variable: changed prototype and caller
-
-builtins/declare.def
- - declare_internal: add second arg to call to make_local_array_variable;
- making_array_special, which indicates we're processing an
- assignment like declare a[b]=c. Fixes seg fault resulting from
- a being an already-declared local associative array variable in a
- function. Ubuntu bash bug 928900.
-
- 2/14
- ----
-
-execute_cmd.c
- - execute_command_internal: if redirections into or out of a loop fail,
- don't try to free ofifo_list unless saved_fifo is non-zero. It's
- only valid if saved_fifo is set
-
- 2/15
- ----
-{arrayfunc,braces,variables}.c
- - last_command_exit_value: make sure it's set before any calls to
- report_error, since -e will cause that to exit the shell
-
-builtins/common.c
- - get_job_by_name: call internal_error instead of report_error so this
- doesn't exit the shell
-
- 2/18
- ----
-builtins/evalstring.c
- - parse_and_execute: make sure the file descriptor to be redirected to
- is 1 before calling cat_file. One fix for bug reported by Dan Douglas
- <ormaaj@gmail.com>
-
-parse.y
- - read_token_word: don't return NUMBER if a string of all digits
- resolves to a number that overflows the bounds of an intmax_t.
- Other fix for bug reported by Dan Douglas <ormaaj@gmail.com>
-
- 2/19
- ----
-lib/sh/strtrans.c
- - ansicstr: use 0x7f as the boundary for characters that translate
- directly from ASCII to unicode (\u and \U escapes) instead of
- UCHAR_MAX, since everything >= 0x80 requires more than one byte.
- Bug and fix from John Kearney <dethrophes@web.de>
-
-builtins/printf.def
- - tescape: ditto for printf \u and \U escape sequences
-
- 2/20
- ----
-lib/sh/unicode.c
- - u32toutf8: fix to handle encodings up to six bytes long correctly
- (though technically UTF-8 only has characters up to 4 bytes long).
- Report and fix from John Kearney <dethrophes@web.de>
- - u32toutf8: first argument is now an unsigned 32-bit quantity,
- changed callers (u32cconv) to pass c instead of wc
- - u32reset: new function, resets local static state to uninitialized
- (locale information, currently)
-
-locale.c
- - call u32reset whenever LC_CTYPE/LC_ALL/LANG is changed to reset the
- cached locale information used by u32cconv. From a report from
- John Kearney <dethrophes@web.de>
-
- 2/21
- ----
-doc/{bash,builtins}.1
- - minor changes from Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
-
-lib/sh/unicode.c
- - u32cconv: only assume you can directly call wctomb on the passed
- value if __STDC_ISO_10646__ is defined and the value is <=
- 0x7fffffff
- - stub_charset: return locale as default instead of "ASCII", let
- rest of code decide what to do with it
-
-lib/readline/parens.c
- - _rl_enable_paren_matching: make paren matching work in vi insert
- mode. Bug report from <derflob@derflob.de>
-
- 2/22
- ----
-lib/sh/shquote.c
- - sh_backslash_quote: quote tilde in places where it would be
- expanded. From a report from John Kearney <dethrophes@web.de>
-
- 2/23
- ----
-execute_cmd.c
- - execute_pipeline: wrap the discard_unwind_frame call in #ifdef
- JOB_CONTROL, since the frame is only created if JOB_CONTROL is
- defined. Bug and fix from Doug Kehn <rdkehn@yahoo.com>
-
- 2/25
- ----
-error.c
- - report_error: make sure last_command_exit_value is non-zero before
- we call exit_shell, since the exit trap may reference it. Call
- exit_shell with last_command_exit_value to allow exit statuses
- other than 1
-
-unicode.c
- - stub_charset: use local static buffer to hold charset, don't change
- value returned by get_locale_var. Based on idea and code from
- John Kearney <dethrophes@web.de>
- - u32toutf16: function to convert unsigned 32-bit value (unicode) to
- UTF-16. From John Kearney <dethrophes@web.de>
- - u32cconv: call u32toutf16 if __STDC_ISO_10646__ defined and wchar_t
- is two bytes, send result to wcstombs, return if not encoding error.
- From John Kearney <dethrophes@web.de>
- - u32cconv: return UTF-8 conversion if iconv conversion to local
- charset is unsupported
-
- 3/2
- ---
-lib/readline/complete.c
- - print_filename: if there is no directory hook, but there is a stat
- hook, and we want to append a slash to directories, call the stat
- hook before calling path_isdir on the expanded directory name.
- Report and pointer to fix from Steve Rago <sar@nec-labs.com>
-
- 3/3
- ---
-builtins/evalstring.c
- - parse_and_execute: fix to change of 2/18: make sure the file
- descriptor being redirected to is 0 before calling cat_file when
- we see something like $(< file). Real fix for bug reported by
- Dan Douglas <ormaaj@gmail.com>
-
-subst.c
- - parameter_brace_patsub: run the replacement string through quote
- removal even if the expansion is within double quotes, because
- the parser and string extract functions treat the quotes and
- backslashes as special. If they're treated as special, quote
- removal should remove them (this is the Posix position and
- compatible with ksh93). THIS IS NOT BACKWARDS COMPATIBLE.
-
- 3/4
- ---
-lib/readline/complete.c
- - rl_menu_complete: fix to make show-all-if-ambiguous and
- menu-complete-display-prefix work together if both are set. Fix
- from Sami Pietila <sami.pietila@gmail.com>
-
- 3/5
- ---
-bashline.c
- - dircomplete_expand_relpath: new variable, if non-zero, means that
- `shopt -s direxpand' should expand relative pathnames. Zero by
- default, not user-settable yet
- - bash_directory_completion_hook: if we have a relative pathname that
- isn't changed by canonicalization or spell checking after being
- appended to $PWD, then don't change what the user typed. Controlled
- by dircomplete_expand_relpath
-
- 3/7
- ---
-m4/timespec.m4
- - new macros, cribbed from gnulib and coreutils: find out whether we
- have `struct timespec' and what file includes it
-
-m4/stat-time.m4
- - new macros, cribbed from gnulib and coreutils: find out whether the
- mtime/atime/ctime/etctime fields of struct stat are of type
- struct timespec, and what the name is
-
-include/stat-time.h
- - new file, cribbed from gnulib, with additions from coreutils: include
- the right file to get the struct timespec define, or provide our own
- replacement. Provides a bunch of inline functions to turn the
- appropriate members of struct stat into `struct timespec' values,
- zeroing out the tv_nsec field if necessary
-
-test.c
- - include "stat-time.h" for the nanosecond timestamp resolution stuff
- - stat_mtime: new function, returns struct stat and the mod time
- normalized into a `struct timespec' for the filename passed as the
- first argument
- - filecomp: call stat_mtime instead of sh_stat for each filename
- argument to get the mtime as a struct timespec
- - filecomp: call timespec_cmp instead of using a straight arithmetic
- comparison for the -nt and -ot operators, using timespec returned by
- stat_mtime. Added functionality requested by by Werner Fink
- <werner@suse.de> for systems that can support it
-
- 3/10
- ----
-include/posixdir.h
- - REAL_DIR_ENTRY: remove dependency on _POSIX_SOURCE, only use feature
- test macros to decide whether dirent.d_ino is present and usable;
- define D_INO_AVAILABLE. Report and fix from Fabrizion Gennari
- <fabrizio.ge@tiscali.it>
- - D_FILENO_AVAILABLE: define if we can use dirent.d_fileno
-
-lib/sh/getcwd.c
- - use D_FILENO_AVAILABLE to decide whether or not to compile in
- _path_checkino and whether or not to call it. Report and initial
- fix from Fabrizion Gennari <fabrizio.ge@tiscali.it>
-
-lib/readline/signals.c
- - make sure all occurrences of SIGWINCH are protected by #ifdef
-
-sig.c
- - make sure all occurrences of SIGCHLD are protected by #ifdef
-
-nojobs.c
- - make sure SA_RESTART is defined to 0 if the OS doesn't define it
-
-version.c
- - show_shell_version: don't use string literals in printf, use %s.
- Has added benefit of removing newline from string to be translated
-
-trap.c
- - queue_sigchld_trap: new function, increments the number of pending
- SIGCHLD signals by the argument, which is by convention the number
- of children reaped in a call to waitchld()
-
-trap.h
- - queue_sigchld_trap: new extern declaration
-
-jobs.c
- - waitchld: if called from the SIGCHLD signal handler (sigchld > 0),
- then call queue_sigchld_trap to avoid running the trap in a signal
- handler context. Report and original fix from Siddhesh Poyarekar
- <siddhesh@redhat.com>
-
-lib/sh/unicode.c
- - u32tocesc: take an unsigned 32-bit quantity and encode it using
- ISO C99 string notation (\u/\U)
- - u32cconv: call u32tocesc as a fallback instead of u32cchar
- - u32cconv: call u32tocesc if iconv cannot convert the character.
- Maybe do the same thing if iconv_open fails
- - u32reset: call iconv_close on localconv if u32init == 1
-
- 3/11
- ----
-config-top.h
- - CHECKWINSIZE_DEFAULT: new define, set to initial value of
- check_window_size (shopt checkwinsize): 0 for off, 1 for on.
- Default is 0
-
-{jobs,nojobs}.c
- - check_window_size: default initial value to CHECKWINSIZE_DEFAULT
-
- 3/13
- ----
-doc/bashref.texi
- - change text referring to the copying restrictions to that
- recommended by the FSF (no Front-Cover Texts and no Back-Cover
- Texts)
-
-lib/readline/doc/{history,rlman,rluserman}.texi
- - change text referring to the copying restrictions to that
- recommended by the FSF (no Front-Cover Texts and no Back-Cover
- Texts)
-
- 3/15
- ----
-array.c
- - LASTREF_START: new macro to set the starting position for an array
- traversal to `lastref' if that's valid, and to the start of the array
- if not. Used in array_reference, array_insert, array_remove
- - array_remove: try to be a little smarter with lastref instead of
- unconditionally invalidating it
-
- 3/16
- ----
-array.c
- - array_insert: fix memory leak by deleting element to be added in the
- case of an error
-
- 3/18
- ----
-lib/sh/mbschr.c
- - mbschr: don't call mbrlen unless is_basic is false; devolves to a
- straight character-by-character run through the string
-
- 3/19
- ----
-stringlib.c
- - substring: use memcpy instead of strncpy, since we know the length
- and are going to add our own NUL terminator
-
- 3/20
- ----
-subst.c
- - parameter_brace_expand_rhs: if expand_string_for_rhs returns a quoted
- null string (a list with one element for which
- QUOTED_NULL(list->word->word) returns true), return the quoted null
- and set the flags in the returned word to indicate it. Fixes bug
- reported by Mark Edgar <medgar123@gmail.com>
-
-lib/sh/tmpfile.c
- - use random(3) instead of get_random_number to avoid perturbing the
- random sequence you get using $RANDOM. Bug report and fix from
- Jurij Mihelic <jurij.mihelic@fri.uni-lj.si>
-
- 3/21
- ----
-config-top.h
- - OPTIMIZE_SEQUENTIAL_ARRAY_ASSIGNMENT: define to 1 to optimize
- sequential indexed array assignment patterns. Defined to 1 by
- default
-
-array.c
- - array_insert: if OPTIMIZE_SEQUENTIAL_ARRAY_ASSIGNMENT is defined,
- start the search at lastref (see change from 3/15)
-
- 3/27
- ----
-print_cmd.c
- - debug_print_word_list: new debugging function, prints a word list
- preceded by an optional string and using a caller-specified
- separator
-
- 4/1
- ---
-command.h
- - W_ASSNGLOBAL: new flag, set to indicate declare -g
-
-execute_cmd.c
- - fix_assignment_words: note that we have a -g argument to an assignment
- builtin and set the W_ASSNGLOBAL flag in the variable word
-
-subst.c
- - dump_word_flags: print out W_ASSNGLOBAL if present
- - do_assignment_internal: only set ASS_MKLOCAL if W_ASSIGNARG is set
- and W_ASSNGLOBAL is not. Don't want to create a local variable even
- if variable_context is non-zero if ASSNGLOBAL is set. Fixes bug
- reported by Bill Gradwohl <bill@ycc.com>
-
- 4/7
- ---
-lib/readline/readline.c
- - _rl_dispatch_subseq: make the `keyseq-timeout' variable apply to
- ESC processing when in vi mode. After hitting ESC, readline will
- wait up to _rl_keyseq_timeout*1000 microseconds (if set) for
- additional input before dispatching on the ESC and switching to
- command/movement mode. Completes timeout work suggested by
- <rogerx.oss@gmail.com>; this prompted by report from Barry Downes
- <barry.downes@gmail.com>
-
-lib/sh/shmbchar.c
- - sh_mbsnlen: new function, returns the number of (possibly multibyte)
- characters in a passed string with a passed length, examining at most
- maxlen (third argument) bytes
-
-externs.h
- - sh_mbsnlen: extern declaration for new function
-
-shell.c
- - exit_shell: call maybe_save_shell_history if remember_on_history is
- set, not just in interactive shells. That means the history is
- saved if history is enabled, regardless of whether or not the shell
- is interactive
-
-doc/{bash.1,bashref.texi}
- - TMOUT: fix description to make it explicit that TMOUT is the timeout
- period for a complete line of input, not just any input. Fixes
- problem reported in Ubuntu bug 957303:
- https://bugs.launchpad.net/ubuntu/+source/bash/+bug/957303
- - HISTFILE: document change to write history list to history file in
- any shell with history enabled, not just interactive shells. This
- seems to be more logical behavior. Suggested by Greg Wooledge
- <wooledg@eeg.ccf.org>
-
- 4/12
- ----
-lib/readline/colors.h
- - only include stdbool.h if HAVE_STDBOOL_H is defined
- - if HAVE_STDBOOL_H is not defined, provide enough definition for the
- library to use `bool', `true', and `false'
-
-lib/readline/parse-colors.[ch]
- - don't try to include <stdbool.h> at all; rely on colors.h to do it
-
-lib/sh/snprintf.c
- - vsnprintf_internal: only treat '0' as a flag to indicate zero padding
- if `.' hasn't been encountered ((flags&PF_DOT) == 0); otherwise treat
- it as the first digit of a precision specifier. Fixes bug reported
- by Petr Sumbera <petr.sumbera@sun.com>
-
- 4/15
- ----
-lib/sh/snprintf.c
- - vsnprintf_internal: if the '0' and '-' flags both occur, the '0'
- flag is ignored -- Posix. Start of a series of fixes based on
- tests and patches from Petr Sumbera <petr.sumbera@sun.com>
- - PUT_PLUS: make sure PF_PLUS flag is specified before putting the `+'
- - vsnprintf_internal: when '+' is read as a flag, don't set right-
- justify flag if the LADJUST (`-') flag has already been supplied
- - floating: make sure to output space padding before the `+', zero
- padding after
- - exponent: make sure to output space padding before the `+', zero
- padding after
- - exponent: only subtract one from the width for the decimal point
- if we're really going to print one
- - floating: use presence of PF_PLUS flag to decide whether to account
- for the `+' in the padded field width. Ditto for exponent()
-
- 4/16
- ----
-lib/sh/snprintf.c
- - vsnprint_internal: only reduce precision by 1 when processing the `g'
- format if it's > 0. A precision of 0 should stay 0; otherwise it
- gets set to -1 (NOT_FOUND) and converted to the default
- - number, lnumber: if an explicit precision is supplied, turn off the
- zero-padding flag and set the pad character back to space
- - number, lnumber: only account for a `+' when performing the field
- width calculation if the coversion is base 10; we don't add a `+'
- for other bases
-
- 4/18
- ----
-tests/printf3.sub
- - try using "perl -e 'print time'" to get the current time in seconds
- since the epoch if "date +%s" is not available (solaris 8-10)
-
- 4/19
- ----
-tests/run-printf
- - use cat -v instead of relying on diff -a being available to convert
- control characters to ascii and avoid the dreaded "Binary files
- /tmp/xx and printf.right differ"
-
- 4/20
- ----
-lib/sh/strftime.c
- - incoporated new version from Aharon Robbins <arnold@skeeve.com>
-
- 4/22
- ----
-doc/{bash.1,bashref.texi}
- - slight change to the description of /dev/tcp and /dev/udp
-
-subst.c
- - match_wpattern: logic fix to the calculation of `simple' (was |=,
- needs to be &=). Bug report from Mike Frysinger <vapier@gentoo.org>,
- fix from Andreas Schwab <schwab@linux-m68k.org>
-
-bashline.c
- - bash_filename_stat_hook: add code from bash_directory_completion_hook
- that performs pathname canonicalization in the same way that cd and
- other builtins will do
-
- 4/25
- ----
-execute_cmd.c
- - execute_pipeline: change the call to move_to_high_fd to make it use
- getdtablesize() and to not stomp on existing open file descriptors,
- like the fd the shell is using to read a script. Bug report from
- Greg Wooledge <wooledg@eeg.ccf.org>
-
- 5/6
- ---
-subst.c
- - expand_word_internal: case '$': after calling param_expand and
- setting had_quoted_null, set TEMP to null. The code that builds the
- returned string at the end of the function will take care of making
- and returning a quoted null string if there's nothing else in
- ISTRING. If there is, the quoted null should just go away. Part of
- fix for bug reported by Ruediger Kuhlmann <RKuhlmann@orga-systems.com>
- - expand_word_internal: when processing ISTRING to build return value,
- only set W_HASQUOTEDNULL in the returned word flags if the word is
- a quoted null string AND had_quoted_null is set. Rest of fix
-
- 5/9
- ---
-variables.c
- - bind_variable_internal: if we get an array variable here (implicit
- assignment to index 0), call make_array_variable_value, which
- dummies up a fake SHELL_VAR * from array[0]. This matters when
- we're appending and have to use the current value
- - bind_variable_internal: after computing the new value, treat assoc
- variables with higher precedence than simple array variables; it
- might be that a variable has both attributes set
-
-arrayfunc.c
- - bind_array_var_internal: break code out that handles creating the
- new value to be assigned to an array variable index into a new
- function, make_array_variable_value. This handles creating a
- dummy SHELL_VAR * for implicit array[0] assignment. Fixes bug
- reported by Dan Douglas <ormaaj@gmail.com>
-
-arrayfunc.h
- - make_array_variable_value: new extern declaration
-
- 5/19
- ----
-variables.c
- - bind_int_variable: if an assignment statement like x=y comes in
- from the expression evaluator, and x is an array, handle it like
- x[0]=y. Fixes bug reported by Dan Douglas <ormaaj@gmail.com>
-
- 5/24
- ----
-
-braces.c
- - mkseq: handle possible overflow and break the sequence generating
- loop if it occurs. Fixes OpenSUSE bug 763591:
- https://bugzilla.novell.com/show_bug.cgi?id=763591
-
- 5/25
- ----
-Makefile.in
- - LDFLAGS_FOR_BUILD: add to compilation recipes for build tools
- buildversion, mksignames, mksyntax
- - LDFLAGS_FOR_BUILD: add to compilation recipes for test tools
- recho, zecho, printenv, xcase
-
-builtins/Makefile.in
- - LDFLAGS_FOR_BUILD: add to compilation recipes for build tools
- gen-helpfiles, psize.aux
-
-variables.c
- - bind_int_variable: if LHS is a simple variable name without an array
- reference, but resolves to an array variable, call
- bind_array_variable with index 0 to make x=1 equivalent to x[0]=1.
- Fixes bug reported by Dan Douglas <ormaaj@gmail.com>
-
- 5/27
- ----
-subst.c
- - expand_word_internal: make sure has_dollar_at doesn't get reset before
- recursive calls to param_expand or expand_word_internal, since it has
- to save state of what came before. Use temp variable and make sure
- has_dollar_at is incremented if recursive call processes "$@".
- Fixes bug reported by gregrwm <backuppc-users@whitleymott.net> and
- supplemented by Dan Douglas <ormaaj@gmail.com>
-
-doc/{bash.1,bashref.texi}
- - changes to the description of substring expansion inspired by
- suggestions from Bill Gradwohl <bill@ycc.com>
-
-doc/bashref.texi
- - added substring expansion examples inspired by suggestions from
- Bill Gradwohl <bill@ycc.com>
-
-variables.c
- - find_shell_variable: search for a variable in the list of shell
- contexts, ignore the temporary environment
- - find_variable_tempenv: search for a variable in the list of shell
- contexts, force search of the temporary environment
- - find_variable_notempenv: search for a variable in the list of shell
- contexts, don't force search of the temporary environment
-
-variables.h
- - find_shell_variable: extern declaration
- - find_variable_tempenv: extern declaration
- - find_variable_notempenv: extern declaration
-
-arrayfunc.c
- - bind_array_variable: call find_shell_variable instead of calling
- var_lookup directly
-
-findcmd.c
- - search_for_command: call find_variable_tempenv instead of
- find_variable_internal directly
- - _find_user_command_internal: call find_variable_tempenv instead of
- find_variable_internal directly
-
-builtins/setattr.def
- - set_var_attribute: call find_variable_notempenv instead of
- find_variable_internal directly
- - show_name_attributes: call find_variable_tempenv instead of
- find_variable_internal directly
-
- 6/1
- ---
-sig.c
- - termsig_handler: don't try to save the shell history on a terminating
- signal any more, since it just causes too many problems on Linux
- systems using glibc and glibc malloc
-
-lib/readline/vi_mode.c
- - rl_vi_change_to: change to correctly redo `cc', since `c' is not a vi
- motion character. From Red Hat bug 813289
- - rl_vi_delete_to: change to correctly redo `dd', since `d' is not a vi
- motion character
- - rl_vi_yank_to: change to correctly redo `yy', since `y' is not a vi
- motion character
-
- 6/4
- ---
-lib/sh/mktime.c
- - current versions of VMS do not need to include <stddef.h>. Fix from
- John E. Malmberg <wb8tyw@qsl.net>
-
- 6/5
- ---
-lib/sh/eaccess.c
- - sh_stat: instead of using a static buffer to do the DEV_FD_PREFIX
- translation, use a dynamically-allocated buffer that we keep
- resizing. Fixes potential security hole reported by David Leverton
- <levertond@googlemail.com>
-
- 6/5
- ---
-braces.c
- - expand_seqterm: check errno == ERANGE after calling strtoimax for
- rhs and incr. Part of a set of fixes from Scott McMillan
- <scotty.mcmillan@gmail.com>
- - expand_seqterm: incr now of type `intmax_t', which changes
- arguments to mkseq
- - mkseq: a better fix for detecting overflow and underflow since it's
- undefined in C and compilers `optimize' out overflow checks. Uses
- ADDOVERFLOW and SUBOVERFLOW macros
- - mkseq: use sh_imaxabs (new macro) instead of abs() for intmax_t
- variables
- - mkseq: don't allow incr to be converted to -INTMAX_MIN
- - mkseq: make sure that strvec_create isn't called with a size argument
- greater than INT_MAX, since it only takes an int
-
- 6/6
- ---
-braces.c
- - mkseq: try and be smarter about not overallocating elements in
- the return array if the increment is not 1 or -1
-
- 6/7
- ---
-parse.y
- - history_delimiting_chars: if the parser says we're in the middle of
- a compound assignment (PST_COMPASSIGN), just return a space to avoid
- adding a stray semicolon to the history entry. Fixes bug reported
- by "Davide Brini" <dave_br@gmx.com>
-
- 6/8
- ---
-bashline.c
- - bash_directory_completion_hook: don't attempt spelling correction
- on the directory name unless the direxpand option is set and we are
- going to replace the directory name with the corrected one in the
- readline line. Suggested by Linda Walsh <bash@tlinx.org>
-
-lib/sh/shquote.c
- - sh_backslash_quote: now takes a third argument: flags. If non-zero,
- tildes are not backslash-escaped. Have to handle both printf %q,
- where they should be escaped, and filename completion, where they
- should not when used as usernames
-
-externs.h
- - sh_backslash_quote: declaration now takes a third argument
-
-builtins/printf.def
- - printf_builtin: call sh_backslash_quote with 1 as third argument
- so tildes get escaped
-
-{bashline,bracecomp}.c
- - call sh_backslash_quote with 0 as third argument so tildes are not
- escaped in completed words
-
-doc/bash.1
- - add `coproc' to the list of reserved words. From a report by
- Jens Schweikhardt <schweikh@schweikhardt.net>
-
- 6/10
- ----
-execute_cmd.c
- - line_number_for_err_trap: now global, so parse_and_execute can save
- and restore it with unwind-protect
-
-builtins/evalstring.c
- - parse_prologue: save and restore line_number_for_err_trap along
- with line_number
- - restore_lastcom: new function, unwind-protect to restore
- the_printed_command_except_trap
- - parse_prologue: use restore_lastcom to save and restore the value
- of the_printed_command_except_trap around calls to parse_and_execute
- (eval/source/.)
-
- 6/15
- ----
-lib/readline/complete.c
- - complete_fncmp: change filename comparison code to understand
- multibyte characters, even when doing case-sensitive or case-mapping
- comparisons. Fixes problem reported by Nikolay Shirokovskiy
- <nshyrokovskiy@gmail.com>
-
- 6/20
- ----
-builtins/mapfile.def
- - mapfile: move the line count increment and check for having read
- the specified number of lines to the end of the loop to avoid
- reading an additional line with zgetline. Fixes bug reported by
- Dan Douglas <ormaaj@gmail.com>
-
- 6/21
- ----
-
-execute_cmd.c
- - execute_pipeline: make sure `lastpipe_flag' is initialized to 0 on
- all systems, since it's tested later in the function. Fixes bug
- reported by John E. Malmberg <wb8tyw@qsl.net>
-
- 6/22
- ----
-mailcheck.c
- - file_mod_date_changed: return 0 right away if mailstat() does not
- return success. Fixes bug with using uninitialized values reported
- by szymon.kalasz@uj.edu.pl
-
-builtins/set.def
- - the `monitor' option is not available when the shell is compiled
- without job control, since the underlying `m' flag is not available
-
-nojobs.c
- - job_control: now declared as int variable, initialized to 0, never
- modified
-
-jobs.h
- - job_control: extern declaration no longer dependent on JOB_CONTROL
-
-execute_cmd.c
- - execute_pipeline: made necessary changes so `lastpipe' shell option
- is now available in all shells, even those compiled without
- JOB_CONTROL defined
-
- 6/23
- ----
-lib/glob/glob.c
- - glob_filename: check for interrupts before returning if glob_vector
- returns NULL or an error. Bug reported by Serge van den Boom
- <svdb@stack.nl>, fix from Andreas Schwab <schwab@linux-m68k.org>
- - call run_pending_traps after each call to QUIT or test of
- interrupt_state, like we do in mainline shell code
- - glob_vector: don't call QUIT; in `if (lose)' code block; just free
- memory, return NULL, and let callers deal with interrupt_state or
- other signals and traps
-
- 6/25
- ----
-lib/readline/input.c
- - rl_read_key: restructure the loop that calls the event hook a little,
- so that the hook is called only after rl_gather_tyi returns no input,
- and any pending input is returned first. This results in better
- efficiency for processing pending input without calling the hook
- on every input character as bash-4.1 did. From a report from
- Max Horn <max@quendi.de>
-
- 6/26
- ----
-trap.c
- - signal_is_pending: return TRUE if SIG argument has been received and
- a trap is waiting to execute
-
-trap.h
- - signal_is_pending: extern declaration
-
-lib/glob/glob.c
- - glob_vector: check for pending SIGINT trap each time through the loop,
- just like we check for interrupt_state or terminating_signal, and
- set `lose = 1' so we clean up after ourselves and interrupt the
- operation before running the trap. This may require a change later,
- maybe call run_pending_traps and do that if run_pending_traps returns?
-
-variables.c
- - sv_histtimefmt: set history_comment_character to default (`#') if
- it's 0 when we're turning on history timestamps. The history code
- uses the history comment character to prefix timestamps, and
- leaving it at 0 effectively removes them from the history. From a
- report to help-bash by Dennis Williamson <dennistwilliamson@gmail.com>
-
- 6/27
- ----
-lib/readline/signals.c
- - rl_maybe_restore_sighandler: new function, sets handler for SIG to
- HANDLER->sa_handler only if it's not SIG_IGN. Needs to be called
- on same signals set using rl_maybe_set_sighandler, which does not
- override an existing SIG_IGN handler (SIGALRM is ok since it does
- the check inline; doesn't mess with SIGWINCH)
-
- 6/30
- ----
-variables.h
- - additional defines for the new `nameref' variable attribute
- (att_nameref): nameref_p, nameref_cell, var_setref
-
-variables.c
- - find_variable_nameref: resolve SHELL_VAR V through chain of namerefs
- - find_variable_last_nameref: resolve variable NAME until last in a
- chain of possibly more than one nameref starting at shell_variables
- - find_global_variable_last_nameref: resolve variable NAME until last
- in a chain of possibly more than one nameref starting at
- global_variables
- - find_nameref_at_context: resolve SHELL_VAR V through chain of namerefs
- in a specific variable context (usually a local variable hash table)
- - find_variable_nameref_context: resolve SHELL_VAR V through chain of
- namerefs following a chain of varible contexts
- - find_variable_last_nameref_context: resolve SHELL_VAR V as in
- find_variable_last_context, but return the final nameref instead of
- what the final nameref resolves to
- - find_variable_tempenv, find_variable_notempenv, find_global_variable,
- find_shell_variable, find_variable: modified to follow namerefs
- - find_global_variable_noref: look up a global variable without following
- any namerefs
- - find_variable_noref: look up a shell variable without following any
- namerefs
- - bind_variable_internal: modify to follow a chain of namerefs in the
- global variables table; change to handle assignments to a nameref by
- following nameref chain
- - bind_variable: modify to follow chain of namerefs when binding to a
- local variable
- - unbind_variable: changes to unset nameref variables (unsets both
- nameref and variable it resolves to)
-
-subst.c
- - parameter_brace_expand_word: change to handle expanding nameref whose
- value is x[n]
- - parameter_brace_expand_indir: change to expand in ksh93-compatible
- way if variable to be indirected is nameref and a simple (non-array)
- expansion
- - param_expand: change to expand $foo where foo is a nameref whose value
- is x[n]
-
-execute_cmd.c
- - execute_for_command: changes to implement ksh93 semantics when index
- variable is a nameref
-
-builtins/setattr.def
- - show_var_attributes: change to add `n' to flags list if att_nameref
- is set
-
-builtins/set.def
- - unset_builtin: changes to error messages to follow nameref variables
-
-builtins/declare.def
- - document new -n option
- - declare_internal: new `-n' and `+n' options
- - declare_internal: handle declare -n var[=value] and
- declare +n var[=value] for existing and non-existant variables.
- Enforce restriction that nameref variables cannot be arrays.
- Implement semi-peculiar ksh93 semantics for typeset +n ref=value
-
- 7/5
- ---
-variables.c
- - unbind_variable: unset whatever a nameref resolves to, leaving the
- nameref variable itself alone
- - unbind_nameref: new function, unsets a nameref variable, not the
- variable it references
-
-variables.h
- - unbind_nameref: extern declaration
-
-builtins/set.def
- - unset_builtin: modify to add -n option, which calls unbind_nameref
- leaving unbind_variable for the usual case. This required slight
- changes and additions to the test suite
-
-doc/{bash.1,bashref.texi}
- - document namerefs and typeset/declare/local/unset -n
-
- 7/13
- ----
-lib/sh/casemod.c
- - include shmbchar.h for is_basic and supporting pieces
- - sh_casemod: use _to_wupper and _to_wlower to convert wide character
- case instead of TOUPPER and TOLOWER. Fixes bug reported by
- Dennis Williamson <dennistwilliamson@gmail.com>, fix from
- Andreas Schwab <schwab@linux-m68k.org>
- - cval: short-circuit and return ascii value if is_basic tests true
- - sh_casemod: short-circuit and use non-multibyte case modification
- and toggling code if is_basic tests true
-
-lib/readline/signals.c
- - _rl_{block,release}_sigint: remove the code that actually blocks and
- releases the signals, since we defer signal handling until calls to
- RL_CHECK_SIGNALS()
-
-lib/readline/{callback,readline,util}.c
- - if HAVE_POSIX_SIGSETJMP is defined, use sigsetjmp/siglongjmp without
- saving and restoring the signal mask instead of setjmp/longjmp
-
-lib/readline/rltty.c
- - prepare_terminal_settings: don't mess with IXOFF setting if
- USE_XON_XOFF defined
-
-doc/{bash.1,bashref.texi}
- - add some text to the description of set -e clarifying its effect
- on shell functions and shell function execution. Suggested by
- Rainer Blome <rainer.blome@gmx.de>
-
-bashline.c
- - edit_and_execute_command: increment current_command_line_count before
- adding partial line to command history (for command-oriented-history
- because of rl_newline at beginning of function), then reset it to 0
- before adding the dummy history entry to make sure the dummy entry
- doesn't get added to previous incomplete command. Partial fix for
- problem reported by Peng Yu <pengyu.ut@gmail.com>
-
- 7/24
- ----
-configure.in
- - interix: define RECYCLES_PIDS. Based on a report from Michael
- Haubenwallner <michael.haubenwallner@salomon.at>
-
- 7/26
- ----
-jobs.c
- - make_child: call bgp_delete on the newly-created pid unconditionally.
- Some systems reuse pids before cycling through an entire set of
- CHILD_MAX/_SC_CHILD_MAX unique pids. This is no longer dependent
- on RECYCLES_PIDS. Based on a report from Michael Haubenwallner
- <michael.haubenwallner@salomon.at>
-
-support/shobj-conf
- - Mac OS X: drop MACOSX_DEPLOYMENT_TARGET=10.3 from the LDFLAGS. We
- can finally kill Panther
-
- 7/28
- ----
-subst.c
- - command_substitute: make sure last_made_pid gets reset if make_child
- fails
-
-execute_cmd.c
- - execute_command_internal: case cm_simple: decide whether or not to
- wait_for a child if already_making_children is non-zero, indicates
- that there is an unwaited-for child. More of fix for bug report
- from Michael Haubenwallner <michael.haubenwallner@salomon.at>
-
-jobs.c
- - make_child: call delete_old_job (new_pid) unconditionally, don't
- bother to check whether or not pid wrap occurred. Rest of fix for
- bug report from Michael Haubenwallner
- <michael.haubenwallner@salomon.at>
-
- 7/29
- ----
-shell.c
- - subshell_exit: new function, exits the shell (via call to sh_exit())
- after calling any defined exit trap
-
-externs.h
- - subshell_exit: new extern declaration
-
-execute_cmd.c
- - execute_command_internal: make sure to call subshell_exit for
- {} group commands executed asynchronously (&). Part of fix for
- EXIT trap bug reported by Maarten Billemont <lhunath@lyndir.com>
-
-sig.c
- - reset_terminating_signals: make sure to set termsigs_initialized back
- to 0, so a subsequent call to initialize_terminating_signals works
- right. Rest of fix for bug reported by Maarten Billemont
- <lhunath@lyndir.com>
-
-{execute_cmd,general,jobs,mailcheck,mksyntax,test}.c
-builtins/{cd,fc,pushd,ulimit}.def
-lib/malloc/getpagesize.h
-lib/sh/{clktck,fpurge,inet_aton,mailstat,oslib,pathcanon,pathphys,spell,strerror}.c
- - make inclusion of <sys/param.h> dependent on HAVE_SYS_PARAM_H
- consistently
-
- 8/6
- ---
-lib/readline/histexpand.c
- - history_expand_internal: now takes an additional argument saying
- whether the history expansion occurs within a quoted string, set to
- the open quote character
- - history_expand_internal: use new argument instead of checking prev
- char and initializing quoted_search_delimiter, pass qc directly to
- get_history_event, where it allows a matching quote to terminate a
- string defining an event
- - history_expand: change single-quote handling code so that if
- history_quotes_inhibit_expansion is 0, single quotes are treated
- like double quotes
- - history_expand: change call to history_expand_internal to pass new
- argument of `"' if double-quoted string, `'' if single-quoted string;
- this lets history_expand decide what is a quoted string and what
- is not
-
- 8/7
- ---
-configure.in
- - AC_CANONICAL_BUILD: invoke for later use
-
-lib/readline/macro.c
- - _rl_prev_macro_key: new function, inverse of _rl_next_macro_key:
- backs up the index into the current macro by 1
-
-lib/readline/rlprivate.h
- - _rl_prev_macro_key: extern declaration
-
-
-lib/readline/readline.c
- - _rl_dispatch_subseq, _rl_subseq_result: don't call _rl_unget_char
- if we're currently reading from a macro; call _rl_prev_macro_key
- instead. Fixes bug reported by Clark Wang <clark.wang@oracle.com>
-
- 8/13
- ----
-builtins/evalstring.c
- - evalstring(): new function, wrapper around parse_and_execute.
- make sure we handle cases where parse_and_execute can call `return'
- and short-circuit without cleaning up properly. We call
- parse_and_execute_cleanup() then jump to the previous-saved return
- location
-
-builtins/common.h
- - extern declaration for evalstring()
-
-builtins/eval.def
- - eval_builtin: make sure we handle `eval " ... return"' in contexts
- where `return' is valid by calling evalstring(). Fixes bug with
- `eval return' in sourced files reported by Clark Wang
- <dearvoid@gmail.com>
-
-trap.c
- - run_pending_traps: call evalstring instead of parse_and_execute.
- XXX - still needs to handle saving and restoring token state in the
- presence of `return'; could use unwind_protects for that
-
-builtins/mapfile.def
- - run_callback: call evalstring instead of parse_and_execute
-
- 8/15
- ----
-bashline.c
- - bash_filename_stat_hook: make sure we don't free local_dirname
- before using it to canonicalize any expanded filename. Make sure
- it always points to *dirname and only free it if we're replacing
- it.
-
-lib/readline/complete.c
- - append_to_match: make sure we call rl_filename_stat_hook with
- newly-allocated memory to avoid problems with freeing it twice
-
- 8/17
- ----
-variables.c,config-top.h
- - if ARRAY_EXPORT is defined to 1 when variables.c is compiled, the
- code that allows indexed arrays to be exported is enabled and
- included
-
- 8/19
- ----
-shell.c
- - call start_debugger from main() only if dollar_vars[1] != 0 (close
- enough to a non-interactive shell, since we can be interactive with
- -i while running a shell script). Fixes oddity reported by
- Techlive Zheng <techlivezheng@gmail.com>
-
- 8/20
- ----
-arrayfunc.c
- - quote_array_assignment_chars: don't bother quoting if the word has
- not been marked as an assignment (W_ASSIGNMENT)
- - quote_array_assignment_chars: turn on W_NOGLOB in the word flags
- so assignment statements don't undergo globbing. Partial fix for
- problems reported by Dan Douglas <ormaaj@gmail.com>
-
- 8/21
- ----
-command.h
- - W_NOBRACE: new word flag that means to inhibit brace expansion
-
-subst.c
- - brace_expand_word_list: suppress brace expansion for words with
- W_NOBRACE flag
-
- 8/22
- ----
-builtins/read.def
- - read_builtin: don't call dequote_string on what we've read, even if
- we saw an escape character, unless (input_string && *input_string).
- We may have escaped an IFS whitespace character. Fixes seg fault
- reported by <armandsl@gmail.com>
-
-execute_cmd.c
- - execute_command_internal: set the_printed_command_except trap when
- about to execute a ( ... ) user subshell. For now, set it only if
- ERR is trapped; can relax that later. Fixes bug reported by
- Mike Frysinger <vapier@gentoo.org>
-
- 8/23
- ----
-jobs.c
- - remove references to first_pid and pid_wrap, since we're not using
- them for anything anymore
-
- 8/24
- ----
-subst.c
- - changes for W_NOBRACE everywhere appropriate: so it can be displayed
- for debugging, and passed out of expand_word_internal
-
-doc/{bash.1,bashref.texi}
- - small changes to make it clearer that the = and == operators are
- equivalent, and will cause pattern matching when used with [[.
- From a question from Michal Soltys <soltys@ziu.info>
-
-doc/bashref.texi
- - some small formatting changes from Karl Berry <karl@freefriends.org>
-
- 8/27
- ----
-lib/readline/doc/{history,rlman,rluserman}.texi
- - some small formatting changes from Karl Berry <karl@freefriends.org>
-
-arrayfunc.c
- - assign_array_element_internal, assign_compound_array_list,
- unbind_array_element, array_value_internal: changes to make
- assignment statements to negative indices (a[-1]=2) and unsetting
- array elements using negative indices (unset 'a[-1]') work.
- From suggestions by Dennis Williamson <dennistwilliamson@gmail.com>
- and Chris F. A. Johnson <chris@cfajohnson.com>
-
-subst.c
- - array_length_reference: changes to make length references to array
- elements using negative indices (${#a[-1]}) work
-
- 8/28
- ----
-doc/{bash.1,bashref.texi}
- - document new treatment of negative indices to indexed arrays when
- assigning, referencing, calculating length, and unsetting
-
- 8/29
- ----
-shell.c
- - show_shell_usage: add -l to list of shell invocation options (short
- for --login). From Red Hat bug 852469
-
-configure.ac
- - renamed from configure.in, as latest autoconf versions want. Patches
- Stefano Lattarini <stefano.lattarini@gmail.com>
-
-MANIFEST,Makefile.in,doc/bashref.texi,support/mkconffiles
- - configure.in -> configure.ac
-
- 9/1
- ---
-
-parse.y
- - read_token_word: allow words like {array[ind]} to be valid redirection
- words for constructs like {x}<file
-
-redir.c
- - redir_varassign: bind_var_to_int already handles array assignments,
- so don't need to do anything more for things like {a[i]}<file
- - redir_varvalue: changes to allow references to {a[i]} when
- performing redirections using valid_array_reference and
- get_array_value. Adds functionality requested most recently by
- <unknown@vmw-les.eng.vmware.com>
-
-lib/readline/display.c
- - update_line: if the first difference between the old and new lines
- is completely before any invisible characters in the prompt, we
- should not adjust _rl_last_c_pos, since it's before any invisible
- characters. Fixed in two places
- - prompt_modechar: return a character indicating the editing mode:
- emacs (@), vi command (:), or vi insert (+)
- - _rl_reset_prompt: new function, just calls rl_expand_prompt. Will be
- inlined, placeholder for more changes
- - expand_prompt: if show-mode-in-prompt is enabled, add a character to
- the front of the prompt indicating the editing mode, adjusting the
- various variables as appropriate to keep track of the number of
- visible characters and number of screen positions
-
-lib/readline/bind.c
- - show-mode-in-prompt: new bindable boolean variable, shadowed by
- _rl_show_mode_in_prompt variable
- - hack_special_boolean_var: call _rl_reset_prompt when toggling or
- setting show-mode-in-prompt
-
-lib/readline/readline.c
- - readline_internal_setup: make sure the correct vi mode keymap is set
- before expanding the prompt string for the first time
-
-lib/readline/misc.c
- - rl_emacs_editing_mode: make sure to call _rl_reset_prompt if we're
- showing the editing mode in the prompt
-
-lib/readline/rlprivate.h
- - _rl_reset_prompt, _rl_show_mode_in_prompt: extern declarations
-
-lib/readline/vi_mode.c
- - rl_vi_insertion_mode: call _rl_reset_prompt
- - rl_vi_movement_mode: call _rl_reset_prompt. Finishes changes for
- showing mode in prompt string, originally requested by Miroslav
- Koskar <mkoskar@gmail.com> and most recently by Jordan Michael
- Ziegler <jziegler@bnl.gov>
-
-doc/bash.1,lib/readline/doc/{readline.3,rluser.texi}
- - document new show-mode-in-prompt variable, off by default
-
- 9/3
- ---
-
-jobs.c
- - set_childmax: new function, external mechanism for other parts of
- the shell to set js.c_childmax, the number of saved exited child
- statuses to remember
-jobs.h
- - set_childmax: extern declaration
-
-variables.c
- - CHILD_MAX: new special variable, with sv_childmax function to
- run when it changes. Setting CHILD_MAX to a value greater than
- zero but less than some maximum (currently 8192) sets the number of
- exited child statuses to remember. set_childmax (jobs.c) ensures
- that the number does not drop below the posix-mandated minimum
- (CHILD_MAX)
-
-doc/{bash.1,bashref.texi}
- - CHILD_MAX: document new meaning and action when variable is set
-
- 9/5
- ---
-redir.c
- - redir_varassign: call stupidly_hack_special_variables after
- assigning fd number to specified variable, so we can use constructs
- like {BASH_XTRACEFD}>foo. Suggested by Pierre Gaston
- <pierre.gaston@gmail.com>
-
- 9/8
- ---
-expr.c
- - readtok: invalidate previous contents of `curlval' before freeing
- and reallocating tokstr (which, chances are, will get the same
- pointer as before and render curlval inconsistent). Fixes other
- bug reported by Dan Douglas <ormaaj@gmail.com>
-
- 9/9
- ---
-lib/readline/complete.c
- - rl_username_completion_function: protect call to setpwent() with
- #ifdef (HAVE_GETPWENT)/#endif. Fixes bug reported by
- Gerd Hofmann <gerd.hofmann.nbg@googlemail.com>
-
-lib/readline/display.c
- - rl_message: second and subsequent calls to rl_message can result in
- local_prompt being overwritten with new values (e.g., from the
- successive calls displaying the incremental search string). Need
- to free before overwriting if it's not the same as the value saved
- in saved_local_prompt. Fixes memory leak reported by
- Wouter Vermaelen <vermaelen.wouter@gmail.com>
-
-lib/readline/{terminal.c,rlprivate.h}
- - move CUSTOM_REDISPLAY_FUNC and CUSTOM_INPUT_FUNC defines from
- terminal.c to rlprivate.h so other files can use them
-
-expr.c
- - expr_streval: if noeval is non-zero, just return 0 right away,
- short-circuiting evaluation completely. readtok will leave curtok
- set correctly without re-entering the evaluator at all. Rest of
- fix for bug reported by Dan Douglas <ormaaj@gmail.com>
-
- 9/11
- ----
-
-parse.y
- - parse_comsub: make sure the `reserved word ok in this context' flag
- is preserved after we read `do' followed by whitespace. Fixes bug
- reported by Benoit Vaugon <benoit.vaugon@gmail.com>
-
- 9/13
- ----
-configure.ac,config.h.in
- - enable-direxpand-default: new configure option, turns the `direxpand'
- shell option on by default
-
-bashline.c
- - dircomplete_expand, dircomplete_expand_relpath: initialize to 1 if
- DIRCOMPLETE_EXPAND_DEFAULT is defined and non-zero
-
-doc/bashref.texi
- - enable-direxpand-default: document new configure option
-
- 9/14
- ----
-shell.c
- - --protected: make option valid only when wordexp is compiled into
- the shell. Fix from Roman Rakus <rrakus@redhat.com>
-
-configure.ac
- - HP NonStop (*-nsk*): compile --without-bash-malloc. Change from
- Joachim Schmitz <jojo@schmitz-digital.de>
-
- 9/16
- ----
-subst.c,execute_cmd.c,lib/glob/sm_loop.c,lib/sh/shquote.c
- - minor code cleanups from Joachim Schmitz <jojo@schmitz-digital.de>
-
-lib/readline/colors.h
- - workaround for HP NonStop compiler issue with <stdbool.h> from
- Joachim Schmitz <jojo@schmitz-digital.de>
-
- 9/17
- ----
-builtins/printf.def
- - printf_builtin: handle localtime returning NULL, as can happen when
- encountering overflow. Bug report and initial fix from
- Eduardo A. Bustamante López <dualbus@gmail.com>
-
-doc/{bash.1,bashref.texi}
- - emphasize that brace expansion using character ranges ({a..c}) acts
- as if the C locale were in use. Prompted by message from
- Marcel Giannelia <info@skeena.net>
-
- 9/20
- ----
-lib/sh/wcsnwidth.c
- - wcsnwidth: new function, variant of wcwidth, returns the number of
- wide characters from a string that will be displayed to not exceed
- a specified max column position
-
- 9/21
- ----
-builtins/help.def
- - show_builtin_command_help: break code that displays the short-doc
- for each builtin in two columns into a new function: dispcolumn
- - wdispcolumn: multibyte-char version of dispcolumn; uses wide
- chars and printf "%ls" format. Fixes problem reported by
- Nguyá»n Thái Ngá»c Duy <pclouds@gmail.com>
-
- 9/22
- ----
-execute_cmd.c
- - execute_disk_command: before running the command-not-found hook,
- call kill_current_pipeline() to make sure we don't add processes
- to an existing pipeline or wait for processes erroneously
-
- 9/23
- ----
-lib/readline/input.c
- - rl_input_available_hook: new hook function, called from
- _rl_input_available (or _rl_input_queued) to return whether or not
- input is available wherever the input source is
-
-lib/readline/doc/rltech.texi
- - rl_input_available_hook: document
-
- 9/27
- ----
-lib/glob/sm_loop.c:
- - GMATCH: after one or more `*', an instance of ?(x) can match zero or
- 1 times (unlike ?, which has to match one character). The old code
- failed if it didn't match at least once. Fixes `a*?(x)' bug.
- - GMATCH: if we hit the end of the search string, but not the end of
- the pattern, and the rest of the pattern is something that can
- match the NUL at the end of the search string, we should successfully
- match. Fixes `a*!(x)' bug reported by <hans1worst@gmail.com>
-
- 10/2
- ----
-command.h
- - add c_lock member to coproc structure for future use to tell who is
- manipulating it
-
-execute_cmd.c
- - execute_coproc: block SIGCHLD while parent is forking coproc
- process and adding pid to sh_coproc struct to avoid race condition
- where child is reaped before the pid is assigned and the coproc is
- never marked as having died. Fixes race condition identified by
- Davide Baldini <baldiniebaldini@gmail.com>
- - add assignments to c_lock member of struct coproc in various
- functions that manipulate it; was used to identify race condition
- - coproc_pidchk: don't call coproc_dispose to avoid using malloc and
- other functions in a signal handler context
- - coproc_dispose: call BLOCK_SIGNAL/UNBLOCK_SIGNAL for SIGCHLD while
- manipulating the sh_coproc struct
-
- 10/6
- ----
-lib/readline/complete.c
- - rl_display_match_list: if printing completions horizontally, don't
- bother with spacing calculations if limit == 1, which means we are
- printing one completion per line no matter what. Fixes bug
- reported by David Kaasen <kaasen@nvg.ntnu.no>
-
- 10/7
- ----
-builtins/declare.def
- - declare_internal: add error checking for nameref attribute and
- variable assignments: self-references, attempts to make an array
- variable a nameref
-
-subst.c
- - parameter_brace_expand: handle parameter_brace_expand_word returning
- &expand_param_fatal or &expand_param_error and return the appropriate
- error value
- - parameter_brace_expand_word: if a nameref variable's value is not a
- valid identifier, return an error
- - param_expand: if a nameref variable's value is not a valid identifier,
- return an error
-
-test.c
- - unary_operator: add new -R variable, returns true if variable is set
- and has the nameref attribute. From ksh93
-
-builtins/test.def
- - add -R to description of conditional commands for help test
-
-doc/{bash.1,bashref.texi}
- - document new -R unary conditional operator
-
- 10/13
- -----
-trap.c
- - check_signals_and_traps: new function, convenience function for the
- rest of the shell to check for pending terminating and interrupt
- signals, and to check for and process any pending traps
- - any_signals_trapped: new function, returns non-zero if any signals
- are trapped and -1 if not
-
-trap.h
- - extern declaration for check_signals_and_traps
-
-bashline.c
- - bashline_reset: make sure we reset the event hook
- - bash_event_hook: call check_signals_and_traps instead of just
- checking for terminating signals so we can run pending traps and
- react to interrupts, and reset the event hook when we're done
-
-
- 10/14
- -----
-trap.c
- - trap_handler: if executing in a readline signal handler context,
- call bashline_set_event_hook to install bash_event_hook to process
- the signal (if bash cares about it)
-
-sig.c
- - sigint_sighandler: call bashline_set_event_hook to set the event
- hook if we're executing in a readline signal handler context
-
-lib/readline/input.c
- - rl_getc: call RL_CHECK_SIGNALS if read returns -1/EINTR and the caught
- signal is SIGINT or SIGQUIT rather than waiting until the next time
- around the loop
- - rl_getc: call rl_event_hook after calling RL_CHECK_SIGNALS to allow
- an application signal handler to set the event hook in its own
- signal handler (e.g., like bash trap_handler or sigint_sighandler)
-
-
-parse.y
- - yy_readline_get: don't set interrupt_immediately before we call
- readline(). Inspired by report from lanshun zhou
- <zls.sogou@gmail.com>
-
-input.c
- - getc_with_restart: add call to run_pending_traps after call to
- CHECK_TERMSIG
-
-lib/sh/zread.c
- - zread: call check_signals_and_traps if read() returns -1/EINTR
- instead of just ignoring the EINTR and deferring handling any
- signal that generated it
-
-builtins/mapfile.def
- - mapfile: don't set interrupt_immediately before calling zgetline()
- (which uses zread internally)
-
-builtins/read.def
- - read_builtin: don't set interrupt_immediately before calling zread
- (moved code around so that it was only being set right around calls
- to zread to avoid signal handler conflicts). Inspired by report
- from lanshun zhou <zls.sogou@gmail.com>
- - edit_line: don't set interrupt_immediately around call to readline()
- - include shmbutil.h
- - read_builtin: don't call read_mbchar unless is_basic(c) returns
- false for the character we just read
-
- 10/15
- -----
-sig.c
- - throw_to_top_level: if interrupt_state is non-zero, make sure that
- last_command_exit_value reflects 128+SIGINT if it's not already
- greater than 128
-
- 10/20
- -----
-builtins/wait.def
- - WAIT_RETURN: set wait_signal_received back to 0 for the potential
- next call to wait
-
-quit.h
- - CHECK_WAIT_INTR: macro to check whether trap_handler handled a
- signal and set wait_signal_received; longjmp to wait_intr_buf in
- that case
-
-jobs.c
- - wait_for, waitchld: call CHECK_WAIT_INTR at the same places we call
- CHECK_TERMSIG to check for terminating signals
- - wait_sigint_handler: don't longjmp out of the wait builtin unless
- interrupt_immediately is set; otherwise just SIGRETURN from the
- handler
- - wait_sigint_handler: if interrupt_immediately not set, but we are
- executing in the wait builtin and SIGINT is not trapped, treat it
- as a `normally received' SIGINT: restore the signal handler and
- send SIGINT to ourselves
- - waitchld: when in posix mode and running SIGCHLD traps, don't longjmp
- to wait_intr_buf (and let wait be interrupted) if we're running from
- a signal handler. Wait for CHECK_WAIT_INTR to do the longjmp.
- run_pending_traps will run the SIGCHLD trap later
-
-nojobs.c
- - reap_zombie_children, wait_for_single_pid, wait_for: call
- CHECK_WAIT_INTR where we call CHECK_TERMSIG
- - wait_sigint_handler: don't longjmp out of the wait builtin unless
- interrupt_immediately is set; otherwise just SIGRETURN from the
- handler
-
-trap.c
- - trap_handler: make sure wait_signal_received is set if the wait
- builtin is executing, and only longjmp if interrupt_immediately is
- set. This whole set of fixes was prompted by report from
- lanshun zhou <zls.sogou@gmail.com>
-
- 10/24
- -----
-lib/glob/glob.c
- - glob_filename: only check directory_name for globbing chars if
- it's of non-zero length
-
-lib/sh/strchrnul.c
- - new simpler implementation
-
-subst.c
- - command_substitute: call set_shellopts after turning off errexit
- in subshells so it's reflected in $SHELLOPTS
-
- 11/7
- ----
-builtins/evalstring.c
- - parse_and_execute: treat ERREXIT case like reader_loop does: set
- variable_context to 0 before longjmping back to top_level. Don't
- run the unwind-protect context to avoid side effects from popping
- function contexts. Part of fix for problem reported by Nikolai
- Kondrashov <nikolai.kondrashov@redhat.com>
-
-execute_cmd.c
- - execute_simple_command: call unlink_fifo_list only if this is the
- last element of a pipeline (or not in a pipeline), rather than for
- every child. Fixes difference in behavior between /dev/fd and
- FIFOs reported by Zev Weiss <zev@bewilderbeest.net>
- - execute_null_command: do the same thing in the parent branch after
- make_child
-
- 11/14
- -----
-subst.c
- - parameter_brace_expand: a variable is null if it's special ($@, $*),
- the expansion occurs within double quotes, and the expansion turns
- into a quoted null. Fixes debian bug 692447 reported by
- Matrosov Dmitriy <sgf.dma@gmail.com>
-
-jobs.c
- - run_sigchld_trap: make sure `running_trap' sentinel is set
- appropriately
- - waitchld: only run the sigchld trap if we're not in a signal
- handler, not running a trap, and executing the wait builtin.
- Otherwise, queue for later handling. We still run one instance
- of the trap handler per exited child. Bulk of fix for bug
- reported by Elliott Forney <idfah@cs.colostate.edu>
-
-trap.c
- - queue_sigchld_trap: set catch_flag so run_pending_traps notices,
- and set trapped_signal_received for completeness. Rest of fix
- for bug reported by Elliott Forney <idfah@cs.colostate.edu>
-
-lib/malloc/malloc.c
- - block_signals: renamed to _malloc_block_signals, made public
- - unblock_signals: renamed to _malloc_unblock_signals, made public
-
-lib/malloc/imalloc.h
- - extern declarations for _malloc_{un,}block_signals
-
-lib/malloc/table.c
- - mregister_alloc, mregister_free: block signals around table
- manipulation
-
- 11/15
- -----
-trap.c
- - run_pending_traps: set SIG_INPROGRESS flag around calls to
- run_sigchld_handler so other parts of the shell know that the
- SIGCHLD trap handler is executing
- - run_pending_traps: if we get a situation where we are looking at
- running a SIGCHLD trap but the trap string is IMPOSSIBLE_TRAP_HANDLER
- and the SIG_INPROGRESS flag is set, just skip it. This is possible
- if run_pending_traps is called from a SIGCHLD trap handler run by
- run_sigchld_trap
-
-doc/bash.1,lib/readline/doc/{rluser.texi,readline.3}
- - corrected description of the effect of `set history-size 0'. Report
- from Vesa-Matti J Kari <vmkari@cc.helsinki.fi>
-
-include/stdc.h
- - CPP_STRING: new define, replaces __STRING
-
-lib/malloc/{malloc.c,imalloc.h}
- - replace __STRING with CPP_STRING
-
- 11/16
- -----
-lib/readline/bind.c
- - sv_histsize: if argument evaluates to a value < 0, unstifle the
- history
-
- 11/22
- -----
-redir.c
- - do_redirection_internal: if we have REDIR_VARASSIGN set in the
- redirection flags and we set up `redirector' using fcntl or dup2,
- don't add a redirect to make sure it stays open. Let the
- script programmer manage the file handle. Fixes bug reported by
- Sam Liddicott <sam@liddicott.com>
-
- 11/24
- -----
-jobs.c
- - wait_for_any_job: new function, waits for an unspecified background
- job to exit and returns its exit status. Returns -1 on no background
- jobs or no children or other errors. Calls wait_for with new
- sentinel value ANY_PID
- - wait_for: changes to handle argument of ANY_PID: don't look up or
- try to modify the child struct, only go through the wait loop once.
- Return -1 if waitpid returns no children
-
-jobs.h
- - ANY_PID: new define
-
-builtins/wait.def
- - new option: -n. Means to wait for the next job and return its exit
- status. Returns 127 if there are no background jobs (or no
- children). Feature most recently requested by Elliott Forney
- <idfah@cs.colostate.edu>
-
-doc/{bash.1,bashref.texi}
- - document new `wait -n' option
-
-execute_cmd.c
- - execute_command_internal: save make_command_string () result in a
- temp variable before calling savestring() on it; avoids evaluating
- make_command_string() result twice. Fix from John E. Malmberg
- <wb8tyw@qsl.net>
-
- 11/28
- -----
-
-builtins/declare.def
- - declare_internal: if an array variable is declared using `declare -a'
- or `declare -A', but not assigned a value, set the `invisible'
- attribute so the variable does not show up as set. Fix for bug
- about variable initialization reported by Tim Friske <me@timfriske.com>
-
-builtins/{mapfile,read}.def
- - after calling find_or_make_array_variable, make sure the invisible
- flag is turned off, in case the variable was declared previously
- using `declare -a' or `declare -A'. Side effect of above change to
- declare_internal
-
-subst.c
- - shell_expand_word_list: handle the W_ASSNGLOBAL flag and put -g into
- the list of options passed to make_internal_declare as appropriate.
- Fix for bug reported by Tim Friske <me@timfriske.com>
-
- 11/30
- -----
-test.c
- - unary_op: make sure -v and -n check that the variable is not marked
- as invisible before calling var_isset. Fix for bug reported by Tim
- Friske <me@timfriske.com>
-
- 12/2
- ----
-subst.c
- - process_substitute: turn off the `expanding_redir' flag, which
- controls whether or not variables.c:find_variable_internal uses the
- temporary environment to find variables. We want to use the
- temp environment, since we don't have to worry about order of
- evaluation in a subshell. Fixes bug reported by Andrey Borzenkov
- <arvidjaar@gmail.com>
-
- 12/4
- ----
-lib/glob/glob.c
- - glob_filename: changes to avoid null filenames and multiple entries
- returned for patterns like **/** (globstar enabled). Fixes bug
- reported by Ulf Magnusson <ulfalizer@gmail.com>
-
- 12/10
- -----
-lib/glob/glob.c
- - glob_filename: finish up a series of changes to make globstar-style
- globbing more efficient, avoid more duplicate filenames, and be more
- compatible with other shells that implement it
- o collapse a sequence of **/**/** to one **
- o note when the directory name is all ** or ends in ** so we
- can treat it specially when the filename is **
- All inspired by report from Andrey Borzenkov <arvidjaar@gmail.com>
-
-lib/sh/zread.c
- - zreadn: new function, like zread, but takes an additional argument
- saying how many bytes to read into the local buffer. Can be used to
- implement `read -N' without so many one-byte calls to zreadc. Code
- from Mike Frysinger <vapier@gentoo.org>
-
- 12/12
- -----
-lib/glob/sm_loop.c
- - PATSCAN (glob_patscan): if passed string already points to end of
- pattern, return NULL immediately. Fixes problem with
- extglob_skipname reported by Raphaël Droz <raphael.droz@gmail.com>
-
- 12/13
- -----
-execute_cmd.c
- - execute_coproc: handle the command's exit status being inverted
- (an oversight). Fixes bug reported by DJ Mills
- <danielmills1@gmail.com> and Andreas Schwab <schwab@linux-m68k.org>
-
- 12/14
- -----
-lib/readline/readline.c
- - bind_arrow_keys_internal: add MINGW key bindings for Home, End,
- Delete, and Insert keys. Fix from Pierre Muller
- <pierre.muller@ics-cnrs.unistra.fr>
-
-builtins/printf.def
- - printf_builtin: '%()T' conversion: if there is no argument supplied,
- behave as if -1 had been supplied (current time). ksh93-like feature
- suggested by Clark Wang <dearvoid@gmail.com>
-
-doc/{bash.1,bashref.texi}
- - document new printf %()T default argument behavior
-
- 12/15
- -----
-lib/readline/display.c
- - displaying_prompt_first_line: new variable, indicates whether or
- not the first line of output is displaying the prompt. Always true
- in normal mode, sometimes false in horizontal scrolling mode
- - rl_redisplay: set displaying_prompt_first_line to true unless we
- are in horizontal mode; set to false in horizontal mode if the left
- margin of the displayed line is greater than the end of the prompt
- string
- - rl_redisplay: when in horizontal scroll mode, don't adjust
- _rl_last_c_pos by the wrap offset unless the line is displaying
- a prompt containing invisible chars
- - update line: don't adjust _rl_last_c_pos by the wrap offset unless
- the line is displaying a prompt containing invisible chars
- - update_line: if shrinking the line by reducing the number of
- displayed characters, but we have already moved the cursor to the
- beginning of the line where the first difference starts, don't
- try to delete characters
-
-builtins/read.def
- - unbuffered_read: set to 2 if invoked as `read -N'
- - if unbuffered_read is set to 2, compute the number of chars we
- need to read and read that many with zreadn. Posix mode still
- uses zreadintr. Code from Mike Frysinger <vapier@gentoo.org>
-
-doc/{bash.1,bashref.texi}
- - read: make it clear that if read times out, it saves any input
- read to that point into the variable arguments. Report from
- Fiedler Roman <Roman.Fiedler@ait.ac.at>
-
-subst.c
- - command_substitute: change direct assignment of exit_immediately_on_error
- to use change_flag ('e', FLAG_OFF) instead
-
-flags.c
- - use errexit_flag as the variable modified by changes to the -e
- option, reflect those changes to exit_immediately_on_error
-
-execute_cmd.c
- - execute_builtin: new global variable, builtin_ignoring_errexit, set
- to 0 by default and set to 1 if eval/source/command executing in a
- context where -e should be ignored
- - execute_builtin: set exit_immediately_on_error to errextit_flag
- after executing eval/source/command in a context where -e should
- be ignored
-
-flags.c
- - if builtin_ignoring_errexit is set, changes to errexit_flag are
- not reflected in the setting of exit_immediately_on_error. Fixes
- bug reported by Robert Schiele <rschiele@gmail.com>
-
- 12/23
- -----
-include/posixjmp.h
- - setjmp_nosigs: new define, call setjmp in such a way that it will
- not manipulate the signal mask
-
-{expr,test,trap}.c
- - setjmp_nosigs: call instead of setjmp; don't need to manipulate
- signal mask
-
-builtins/read.def
- - read_builtin: setjmp_nosigs: call instead of setjmp; don't need
- to manipulate signal mask
-
-builtins/evalstring.c:
- - parse_and_execute: setjmp_nosigs: call instead of setjmp; don't need
- to manipulate signal mask
- - parse_string: setjmp_nosigs: call instead of setjmp; don't need
- to manipulate signal mask
- - parse_and_execute: save and restore the signal mask if we get a
- longjmp that doesn't cause us to return or exit (case DISCARD)
-
- 12/24
- -----
-general.c
- - bash_tilde_expand: only set interrupt_immediately if there are no
- signals trapped; we want to jump to top level if interrupted but
- not run any trap commands
-
- 12/25
- -----
-jobs.c
- - run_sigchld_trap: no longer set interrupt_immediately before calling
- parse_and_execute, even if this is no longer run in a signal handler
- context
-
-input.c
- - getc_with_restart: add call to QUIT instead of CHECK_TERMSIG
-
-parse.y
- - yy_stream_get: now that getc_with_restart calls QUIT, don't need to
- set interrupt_immediately (already had call to run_pending_traps)
-
-execute_cmd.c
- - execute_subshell_builtin_or_function,execute_function,execute_in_subshell:
- setjmp_nosigs: call instead of setjmp when saving return_catch; don't
- need to manipulate signal mask
- - execute_subshell_builtin_or_function,execute_in_subshell:
- setjmp_nosigs: call instead of setjmp where appropriate when saving
- top_level; don't need to manipulate signal mask if we're going to
- exit right away
-
-subst.c
- - command_substitute: setjmp_nosigs: call instead of setjmp when saving
- return_catch; don't need to manipulate signal mask
- - command_substitute: setjmp_nosigs: call instead of setjmp where
- appropriate when saving top_level; don't need to manipulate signal
- mask if we're going to exit right away
-
-trap.c
- - run_exit_trap: setjmp_nosigs: call instead of setjmp when saving
- return_catch; don't need to manipulate signal mask
- - run_exit_trap: setjmp_nosigs: call instead of setjmp where
- appropriate when saving top_level; don't need to manipulate signal
- mask if we're going to exit right away
- - _run_trap_internal: setjmp_nosigs: call instead of setjmp when saving
- return_catch; don't need to manipulate signal mask
-
-builtins/evalfile.c
- - _evalfile: setjmp_nosigs: call instead of setjmp when saving
- return_catch; don't need to manipulate signal mask
-
-builtins/evalstring.c
- - evalstring: setjmp_nosigs: call instead of setjmp when saving
- return_catch; don't need to manipulate signal mask
-
-shell.c
- - main: setjmp_nosigs: call instead of setjmp where appropriate when
- saving top_level; don't need to manipulate signal mask if we're
- going to exit right away
- - run_one_command: setjmp_nosigs: call instead of setjmp where
- appropriate when saving top_level; don't need to manipulate signal
- mask if we're going to exit right away
- - run_wordexp: setjmp_nosigs: call instead of setjmp where
- appropriate when saving top_level; don't need to manipulate signal
- mask if we're going to exit right away
-
-eval.c
- - reader_loop: save and restore the signal mask if we get a longjmp
- that doesn't cause us to return or exit (case DISCARD)
-
- 12/26
- -----
-parse.y
- - shell_input_line_{index,size,len}: now of type size_t; in some cases
- the unsigned property makes a difference
- - STRING_SAVER: saved_line_{size,index} now of type size_t
- - shell_getc: don't allow shell_input_line to grow larger than SIZE_MAX;
- lines longer than that are truncated until read sees a newline;
- addresses theoretical buffer overflow described by Paul Eggert
- <eggert@cs.ucla.edu>
- - set_line_mbstate: size_t changes like shell_getc
- - shell_getc: if shell_input_line is larger than 32K, free it and
- start over to avoid large memory allocations sticking around
-
-variables.c
- - bind_global_variable: new function, binds value to a variable in
- the global shell_variables table
-
-variables.h
- - bind_global_variable: new extern declaration
-
-builtins/declare.def
- - declare_internal: if -g given with name=value, but variable is not
- found in the global variable table, make sure to call
- bind_global_variable so the variable is created and modified at
- global scope. Fixes a bug where declare -g x=y could modify `x'
- at a previous function scope
-
-command.h
- - W_ASSIGNARRAY: new word flag, compound indexed array assignment
-
-subst.h
- - ASS_MKGLOBAL: new assignment flag, forcing global assignment even in
- a function context, used by declare -g
-
-execute_cmd.c
- - fix_assignment_words: set W_ASSIGNARRAY flag if -a option given to
- declaration builtin
-
-subst.c
- - do_assignment_internal: explicitly handle case where we are
- executing in a function and we want to create a global array or
- assoc variable
- - shell_expand_word_list: call make_internal_declare if -a option
- given to declaration builtin (W_ASSIGNARRAY); handle -g option with
- it (W_ASSNGLOBAL). Fixes inconsistency noticed by Vicente Couce
- Diaz <vituko@gmail.com>, where declare -ag foo=(bar) could modify
- array variable foo at previous function scope, not global scope
-
- 12/27
- -----
-bashline.c
- - Minix needs the third argument to tputs to be a void funtion taking
- an int argument, not an int-returning function. Fix from
- John E. Malmberg <wb8tyw@qsl.net> as part of VMS bash port
-
- 12/29
- -----
-configure.ac,version.c,patchlevel.h
- - bash-4.3-devel: new version, new shell compatibility level (43)
-
-subst.c
- - parameter_brace_patsub: put the bash-4.2 code back in from the
- change of 3/3 that runs the replacement string through quote
- removal, make it dependent on shell_compatibility_level <= 42
-
-builtins/shopt.def
- - compat42: new shopt option
- - set_compatibility_level: change logic to set and unset various
- compat variables and shell_compatibility_level
-
-COMPAT
- - new documentation for bash-4.3 compatibility changes
-
-doc/{bash.1,bashref.texi}
- - compat42: document new shopt option
-
-builtins/shopt.def
- - set_compatibility_opts: new function, sets the various shopt
- compat variables based on the value of shell_compatibility_level
-
-builtins/common.h
- - set_compatibility_opts: new extern declaration
-
-variables.c
- - BASH_COMPAT: new special variable; sets the shell compatibility
- level. Accepts values in decimal (4.2) or integer (42) form;
- Unsetting variable, setting it to empty string, or setting it to
- out-of-range value sets the shell's compatibility level to the
- default for the current version. Valid values are 3.1/31 through
- the current version
- - sv_shcompat: new function implementing logic for BASH_COMPAT
-
-variables.h
- - sv_shcompat: new extern declaration
-
-doc/{bash.1,bashref.texi}
- - BASH_COMPAT: description of new variable
-
-lib/readline/complete.c
- - _rl_colored_stats: default back to 0 for 4.3 release branch
-
- 1/5/2013
- --------
-quit.h
- - remove spurious call to itrace in CHECK_WAIT_INTR
-
-bashline.c
- - bash_event_hook: if we're going to jump to top_level, make sure we
- clean up after readline() by calling rl_cleanup_after_signal().
- Fixes bug reported against devel branch by Raphaël Droz
- <raphael.droz@gmail.com>
- - bash_event_hook: reset the event hook before checking for signals
- or traps in case we longjmp
-
-doc/{bash.1,bashref.texi}
- - small additions to the set -e section to make it more clear that
- contexts where -e is ignored extend to compound commands as well
- as shell functions
-
-lib/readline/readline.h
- - rl_signal_event_hook: new extern declaration
-
-lib/readline/input.c
- - rl_signal_event_hook: new variable, hook function to call when a
- function (currently just read(2)) is interrupted by a signal and
- not restarted
- - rl_getc: call rl_signal_event_hook instead of rl_event_hook
-
-lib/readline/doc/rltech.texi
- - rl_signal_event_hook: document new function
-
-bashline.c
- - changes to set rl_signal_event_hook instead of rl_event_hook
-
-lib/readline/readline.h
- - change readline version numbers to 6.3
-
- 1/6
- ---
-doc/{bash.1,bashref.texi}
- - a couple of changes to the descriptions of the ERR trap and its
- effects based on a message from Rob Nagler <nagler@bivio.biz>
-
- 1/9
- ---
-expr.c
- - expassign: invalidate curlval before freeing and NULLing tokstr to
- avoid aliasing issues. Fixes bug reported by Eduardo A. Bustamante
- López<dualbus@gmail.com> and Dan Douglas <ormaaj@gmail.com>
-
-braces.c
- - array_concat: don't be so aggressive in trying to short-circuit. We
- can only short-circuit if we have a single-element array where the
- element is an empty string (array[0] == "" array[1] = 0x0). Existing
- practice requires us to replicate arrays and prefix or append empty
- strings. Fixes bug reported by Eduardo A. Bustamante López
- <dualbus@gmail.com>
-
- 1/11
- ----
-execute_cmd.c
- - execute_builtin: since mapfile uses evalstring() to run its callbacks
- internally, just like eval, so it needs to handle the case where the
- temp environment given to mapfile persists throughout the entire
- set of callback commands. This might be a problem with trap also, but
- trap isn't run in the same way. Fixes bug reported by Dan Douglas
- <ormaaj@gmail.com>
-
- 1/13
- ----
-redir.c
- - redirection_error: before expanding the redirection word (if
- expandable_redirection_filename returns true), disable command
- substitution during expansion. Fixes bug reported by Dan Douglas
- <ormaaj@gmail.com>
-
-subst.c
- - expand_word_internal: case '\\': if the next character is an IFS
- character, and the expansion occurs within double quotes, and the
- character is not one for which backslash retains its meaning, add
- the (escaped) '\' and the (escaped) character. Fixes bug reported
- by Dan Douglas <ormaaj@gmail.com>
-
- 1/15
- ----
-builtins/cd.def
- - cd_builtin: make sure call to internal_getopt handles -e option.
- Fixes bug reported by <mashimiao.fnst@cn.fujitsu.com>
-
- 1/17
- ----
-subst.c
- - expand_word_list_internal: make sure tempenv_assign_error is
- initialized to 0
-
-execute_cmd.c
- - execute_simple_command: make sure tempenv_assign_error is reset to 0
- after it's tested to see if an error should force the shell to exit.
- Fixes problem where a the failure of a tempenv assignment preceding
- a non-special builtin `sticks' and causes the next special builtin
- to exit the shell. From a discussion on bug-bash started by
- douxin <wq-doux@cn.fujitsu.com>
-
- 1/20
- ----
-subst.c
- - parameter_brace_expand_rhs: call stupidly_hack_special_variables
- after assigning with ${param[:]=word} even if IFS is changing.
- Suggested by Dan Douglas <ormaaj@gmail.com> [TENTATIVE, needs work
- on IFS side effects]
-
-command.h
- - W_GLOBEXP (which was unused) is now W_SPLITSPACE (which isn't used
- yet)
-
-{execute_cmd,subst,variables}.c
- - removed all code that mentioned W_GLOBEXP
- - removed mention of gnu_argv_flags and code that set it
-
- 1/22
- ----
-subst.c
- - param_expand: set W_SPLITSPACE if we expand (unquoted) $* and
- IFS is unset or null so we can be sure to split this on spaces
- no matter what happens with IFS later
- - expand_word_internal: note that param_expand returns W_SPLITSPACE
- in the returned word flags and keep track of that state with
- `split_on_spaces'
-
- 1/23
- ----
-subst.c
- - expand_word_internal: if split_on_spaces is non-zero, make sure
- we split `istring' on spaces and return the resultant word. The
- previous expansions should have quoted spaces in the positional
- parameters where necessary. Suggested by Dan Douglas
- <ormaaj@gmail.com>
-
-execute_cmd.c
- - execute_command_internal: make sure any subshell forked to run a
- group command or user subshell at the end of a pipeline runs any
- EXIT trap it sets. Fixes debian bash bug 698411
- http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=698411
-
-subst.c
- - shell_expand_word_list: fix code that creates args for and calls
- make_internal_declare to avoid calling it twice (missing `else'
- in 12/26 change)
- - do_assignment_internal: fix code from 12/26 change to fix problem
- where an existing assoc variable could be converted to an array
- without checking `mkassoc'
-
- 1/24
- ----
-builtins/evalfile.c
- - _evalfile: add missing `close (fd)' calls before returning to
- avoid fd leaks. Bug and fix from Roman Rakus <rrakus@redhat.com>
-
- 1/25
- ----
-builtins/read.def
- - read_builtin: don't try to play tricks with the top of the unwind-
- protect stack after read gets a SIGALRM; save input_string to new
- memory, run the stack, then restore input_string and assign the
- variables. Part of fix for bug reported by konsolebox
- <konsolebox@gmail.com>; the rest of the fix is with the changes in
- trap and signal handling and doing away with interrupt_immediately
-
- 1/26
- ----
-redir.c
- - redirection_expand, write_here_string, write_here_document: before
- calling any of the word expansion functions, after setting
- expanding_redir to 1 (which bypasses the temp environment in the
- variable lookup functions), call sv_ifs to reset the cached IFS-
- related variables set by subst.c:setifs(). This ensures that
- redirections will not get any IFS values that are set in the
- temporary environment, as Posix specifies. Then, after the word
- expansions, after resetting expanding_redir to 0, call sv_ifs
- again to make sure the cached IFS values are set from any
- assignments in the temporary environment. We force executing_builtin
- to 1 to `fool' the variable lookup functions into using any temp
- environment, then reset it to its old value after sv_ifs returns.
- This is what allows read() to use the (cached) IFS variables set
- in the temp environment. Fixes inconsistency reported by Dan Douglas
- <ormaaj@gmail.com>
-
- 1/29
- ----
-lib/readline/display.c
- - update_line: fix off-by-one error when updating vis_lbreaks array
- in a multibyte locale that occurs when moving multibyte chars from
- one line down to another. Bug report and fix from Egmont
- Koblinger <egmont@gmail.com>
-
- 1/30
- ----
-configure.ac
- - changed version to 4.3-alpha
-
-redir.c
- - redir_open: handle open returning -1/EINTR, which seems to happen
- a lot with FIFOs and SIGCHLD, and call QUIT to handle other
- signals that can interrupt open(2). Bug report and initial fix
- from Mike Frysinger <vapier@gentoo.org>
-
- 1/31
- ----
-subst.c
- - parameter_brace_expand: make sure to propagate the PF_ASSIGNRHS flag
- to parameter_brace_expand_word
- - parameter_brace_expand_word: make sure that if the PF_ASSIGNRHS flag
- is set and we are expanding ${a[@]} or ${a[*]} we set quoted to
- include Q_DOUBLE_QUOTES before calling array_value_internal, mirroring
- what we do for $@ and $*. Fixes inconsistency reported by Dan
- Douglas <ormaaj@gmail.com>
-
-configure.ac
- - use AC_CHECK_TOOL instead of AC_CHECK_PROG to check for ar, since it
- will find $host-prefixed versions of utilities. Report and fix from
- Mike Frysinger <vapier@gentoo.org>
-
-builtins/setattr.def
- - set_var_attribute: check whether bind_variable (called when the
- variable whose attributes are being modified is found in the temp
- environment) just modified a read-only global variable, and don't
- bother marking the temporary variable for propagation if so. The
- propagation is superfluous and will result in a strange error
- message
-
- 2/2
- ---
-variables.c
- - initialize_shell_variables: don't try to import function definitions
- with invalid names from the environment if already in posix mode,
- but create them as (invisible) exported variables so they pass
- through the environment. Print an error message so user knows
- what's wrong. Fixes bug reported by Tomas Trnka <ttrnka@mail.muni.cz>
-
- 2/9
- ---
-
-builtins/read.def
- - sigalrm_seen, alrmbuf: now global so the rest of the shell (trap.c)
- can use them
- - sigalrm: just sets flag, no longer longjmps to alrmbuf; problem was
- longjmp without manipulating signal mask, leaving SIGALRM blocked
-
-quit.h
- - move CHECK_ALRM macro here from builtins/read.def so trap.c:
- check_signals() can call it
-
-trap.c
- - check_signals: add call to CHECK_ALRM before QUIT
- - check_signals_and_traps: call check_signals() instead of including
- CHECK_ALRM and QUIT inline. Integrating check for read builtin's
- SIGALRM (where zread call to check_signals_and_traps can see it)
- fixes problem reported by Mike Frysinger <vapier@gentoo.org>
-
- 2/12
- ----
-lib/glob/xmbsrtowcs.c
- - xdupmbstowcs2: fixed but where end of string was not handled
- correctly, causing loop to go past end of string in a bunch of cases.
- Fixes bug reported by "Dashing" <dashing@hushmail.com>
-
-
- 2/13
- ----
-builtins/pushd.def
- - popd_builtin: treat any argument that isn't -n or of the form
- [-+][[:digit:]]* as an error. Fixes problem reported by Bruce
- Korb <bruce.korb@gmail.com>
-
- 2/14
- ----
-configure.ac
- - add check for sig_atomic_t; already a placeholder for it in
- config.h.in
-
- 2/15
- ----
-subst.c
- - do_compound_assignment: don't call assign_compound_array_list with
- a NULL variable in case make_local_xxx_variable returns NULL
- (it will if you try to shadow a readonly or noassign variable).
- Fixes bug reported by Richard Tollerton <rich.tollerton@ni.com>
-
- 2/16
- ----
-variables.c
- - make_local_variable: print error messager if an attempt is made to
- create a local variable shadowing a `noassign' variable. Previously
- we just silently refused to do it
-
-trap.[ch]
- - get_original_signal: now global so rest of the shell can use it
-
-sig.c
- - initialize_shell_signals: install a signal handler for SIGTERM
- that does nothing except set a sigterm_received flag instead of
- ignoring it with SIG_IGN, as long as SIGTERM is not ignored when
- the shell is started. Use get_original_signal early to get the
- original handler, since we will do that later anyway
- - set_signal_handler: if installing sigterm_sighandler as the SIGTERM
- handler, make sure to add SA_RESTART flag to make it as close to
- SIG_IGN as possible
-
-sig.h
- - sigterm_sighandler: new extern declaration
-
-quit.h
- - RESET_SIGTERM: set sigterm_receved to 0
- - CHECK_SIGTERM: check sigterm_received; if it's non-zero, treat it
- as a fatal signal and call termsig_handler to exit the shell
-
-jobs.c
- - make_child: call RESET_SIGTERM just before fork() so we can detect
- if the child process received a SIGTERM before it's able to change
- the signal handler back to what it was when the shell started
- (presumably SIG_DFL). Only has effect if the shell installed
- sigterm_sighandler for SIGTERM, interactive shells that were not
- started with SIG_IGN as the SIGTERM handler
- - make_child: call RESET_SIGTERM in the parent after fork() so the
- rest of the shell won't react to it
-
-execute_cmd.c
- - execute_simple_command: call CHECK_SIGTERM after make_child in child
- to catch SIGTERM received after fork() and before restoring old
- signal handlers
- - execute_disk_command: call CHECK_SIGTERM after make_child in child
- process after restoring old signal handlers and again just before
- calling shell_execve. Fixes race condition observed by
- Padraig Brady <p@draigbrady.com> when testing with his `timeout'
- program
-
-lib/readline/display.c
- - open_some_spaces: new function, subset of insert_some_chars that just
- opens up a specified number of spaces to be overwritten
- - insert_some_spaces: now just calls to open_some_spaces followed by
- _rl_output_some_chars
- - update_line: use col_temp instead of recalculating it using
- _rl_col_width in the case where we use more columns with fewer bytes
- - update_line: use open_some_spaces and then output the right number
- of chars instead of trying to print new characters then overwrite
- existing characters in two separate calls. This includes removing
- some dodgy code and making things simpler. Fix from Egmont
- Koblinger <egmont@gmail.com>
- - use new variable `bytes_to_insert' instead of overloading temp in
- some code blocks (nls - nfd, bytes that comprise the characters
- different in the new line from the old)
-
- 2/18
- ----
-redir.c
- - do_redirection_internal: add undoable redirection for the implicit
- close performed by the <&n- and >&n- redirections. Fixes bug
- reported by Stephane Chazelas <stephane.chazelas@gmail.com>
-
- 2/19
- ----
-sig.c
- - termsig_handler: an interactive shell killed by SIGHUP and keeping
- command history will try to save the shell history before exiting.
- This is an attempt to preserve the save-history-when-the-terminal-
- window-is-closed behavior
-
- 2/21
- ----
-braces.c
- - brace_expand: if a sequence expansion fails (e.g. because the
- integers overflow), treat that expansion as a simple string, including
- the braces, and try to process any remainder of the string. The
- remainder may include brace expansions. Derived from SuSE bug
- 804551 example (https://bugzilla.novell.com/show_bug.cgi?id=804551)
-
- 2/23
- ----
-{quit,sig}.h,sig.c
- - sigterm_received declaration now in sig.h; type is sig_atomic_t
- - sigwinch_received type now sig_atomic_t
- - sig.h includes bashtypes.h and <signal.h> if SIG_DFL not defined
- (same logic as trap.h) to pick up sig_atomic_t
-
-unwind_prot.c
- - include sig.h before quit.h (reverse order)
-
- 2/27
- ----
-builtins/shopt.def
- - reset_shopt_options: make sure check_window_size is reset to the
- default from config.h, not unconditionally to 0
-
-jobs.[ch]
- - last_made_pid, last_asynchronous_pid: now volatile. Change from SuSE
-
-jobs.c
- - wait_for: if we're using sigaction to install a handler for SIGCHLD,
- make sure we specify SA_RESTART
-
-lib/{tilde,readline}/shell.c
- - get_home_dir: instead of looking in the password file every time,
- look once and cache the result
-
-sig.[ch]
- - sigwinch_received, sigterm_received: now `volatile' qualified
-
-sig.c,quit.h
- - interrupt_state,terminating_signal: now sig_atomic_t
-
- 3/1
- ---
-MANIFEST,examples/*
- - removed around 120 files without FSF copyrights; requested by
- Karl Berry in early January
-
- 3/2
- ---
-lib/malloc/malloc.c
- - morecore: only check whether SIGCHLD is trapped if SIGCHLD is defined
-
-doc/bashref.texi
- - Fixed most of the examples in the GNU Parallel section to use better
- shell idioms following complaints on bug-bash; added a couple of
- examples and smoothed out the text
-
-quit.h
- - include "sig.h" for sig_atomic_t
-
-lib/readline/display.c
- - update_line: when inserting one or more characters at the end of
- the display line in a non-multibyte environment, just write from the
- first difference to the end of the line and return. We don't have
- to adjust _rl_last_c_pos. This is needed to adjust from the old
- two-part copy to a single call to _rl_output_some_chars (change of
- 2/16)
-
- 3/4
- ---
-Makefile.in,doc/Makefile.in
- - PACKAGE_TARNAME, docdir: new variables substituted by autoconf
- - OTHER_DOCS,OTHER_INSTALLED_DOCS: new variables with auxiliary
- documentation files to be installed into $(docdir)
- - install: add new rule to install $(OTHER_DOCS)
- - uninstall: add new rule to uninstall $(docdir)/$(OTHER_INSTALLED_DOCS)
-
-doc/bash.1
- - add URL to `POSIX' file in `SEE ALSO' section; put pointer to that
- section in --posix and set -o posix descriptions
-
-examples/
- - removed around 110 examples at the request of the FSF due to copyright
- issues
-
- 3/5
- ---
-builtins/setattr.def
- - readonly: modified help text slightly to make it clearer that
- functions aren't changed or displayed unless the -f option is given.
- Report from <gotmynick@gmail.com>
-
- 3/9
- ---
-include/typemax.h
- - SIZE_MAX: define to 65535 (Posix minimum maximum) if not defined
-
-parse.y
- - include "typemax.h" for possible SIZE_MAX definition, make sure we
- include it after shell.h
-
-{braces,expr}.c
- - include "typemax.h" for possible INTMAX_MIN and INTMAX_MAX definitions
-
- 3/10
- ----
-bashline.c
- - bash_default_completion: make sure completion type of `!' (same as
- TAB but with show-all-if-ambiguous set) and glob-word-completion
- sets rl_filename_completion_desired to 0 so extra backslashes don't
- get inserted by `quoting' the completion. We can't kill all the
- matches because show-all-if-ambiguous needs them. Bug report from
- Marcel (Felix) Giannelia <info@skeena.net>
-
-[bash-4.3-alpha frozen]
-
- 3/14
- ----
-general.c
- - trim_pathname: use memmove instead of memcpy since the source and
- destination pathnames may overlap. Report and fix from Matthew
- Riley <mattdr@google.com>
-
- 3/18
- ----
-configure.ac
- - socklen_t is defined as `unsigned int' if configure can't find it
-
- 3/20
- ----
-lib/readline/complete.c
- - S_ISVTX: since it's not defined on all platforms (Minix), make sure
- its use is protected with #ifdef
-
- 3/21
- ----
-doc/{bash.1,bashref.texi}
- - Added mention of ${!name[@]} and ${!name[*]} expansions to get all
- indices of an array. Suggested by Jonathan Leffler
- <jonathan.leffler@gmail.com>
-
- 3/24
- ----
-subst.h
- - SD_IGNOREQUOTE: new define for skip_to_delim; if set, means that
- single quotes (for now) will be treated as ordinary characters
-
-subst.c
- - skip_to_delim: handle SD_IGNOREQUOTE. no callers use it for now
-
- 3/25
- ----
-support/config.{guess,sub}
- - updated to versions from autoconf-2.69
-
- 3/31
- ----
-lib/sh/shquote.c
- - sh_single_quote: short-circuit quoting a single "'" instead of
- creating a long string with empty single-quoted strings
-
-parser.h
- - DOLBRACE_QUOTE2: new define, like DOLBRACE_QUOTE, but need to single-
- quote results of $'...' expansion because quote removal will be
- done later. Right now this is only done for ${word/pat/rep}
-
-parse.y
- - parse_matched_pair: set state to DOLBRACE_QUOTE2 for pattern
- substitution word expansion so we don't treat single quote specially
- in the pattern or replacement string
- - parse_matched_pair: if we're parsing a dollar-brace word expansion
- (${...}) and we're not treating single quote specially within
- double quotes, single-quote the translation of $'...' ansi-c
- escaped strings. Original report and fix from Eduardo A.
- Bustamante López <dualbus@gmail.com>
-
-subst.c
- - extract_dollar_brace_string: ${word/pat/rep} scanning now sets the
- DOLBRACE_QUOTE2 flag instead of DOLBRACE_QUOTE so we don't treat
- single quotes specially within a double-quoted string
-
-execute_cmd.c
- - fix_assignment_words: skip over assignment statements preceding a
- command word before trying to figure out whether or not assignment
- statements following a possible declaration command should be
- treated specially. Fixes bug reported by Dan Douglas
- <ormaaj@gmail.com>
-
- 4/4
- ---
-lib/readline/readline.c
- - _rl_dispatch_subseq: only call _rl_vi_set_last (and check whether
- the key is a text modification command) if the key sequence length
- is 1. That keeps the arrow keys from setting the last command
- when called in vi command mode. Fixes bug reported by Ian A.
- Watson <watson_ian_a@lilly.com>
-
- 4/6
- ---
-lib/readline/bind.c
- - rl_parse_and_bind: when parsing a double-quoted string as the value
- of a variable, make sure we skip past the leading double quote.
- Fix from Andreas Schwab <schwab@linux-m68k.org>
-
-variables.c
- - hash_lookup: set new local variable last_table_searched to the table
- a successful lookup appears in; tested in make_local_variable to
- solve the problem below
- - make_local_variable: if we find a variable with the tempenv flag
- set at the same `level' as variable_context', but not found in the
- temporary_env (temp environment preceding the builtin), return it.
- The temp environment preceding the function call has already been
- merged (in execute_function) into the list of variable contexts the
- function sees as shell_variables by the time this is called. Fixes
- inconsistency pointed out by Dan Douglas <ormaaj@gmail.com>
-
-subst.c
- - expand_arith_string: expanded out contents of expand_string,
- expand_string_internal, expand_string_if_necessary to create a
- WORD_DESC and call call_expand_word_internal() on it directly.
- We don't want process substitution to be performed ( 1<(2) ) should
- mean something different in an arithmetic expression context.
- It doesn't work to just turn on the DQUOTE flag, since that means
- that things like ${x["expression"]} are not expanded correctly.
- Fixes problem pointed out by Dan Douglas <ormaaj@gmail.com>
-
- 4/13
- ----
-subst.c
- - process_substitute: run the EXIT trap before exiting, as other
- shells seem to. Fixes problem pointed out by Dan Douglas
- <ormaaj@gmail.com>
-
-lib/readline/readline.c
- - readline_internal_setup: call rl_vi_insertion_mode to enter vi
- mode instead of rl_vi_insert_mode to avoid resetting the saved last
- command information. Posix says that `.' can repeat a command
- that was entered on a previous line so we need to save the info.
- Fixes bug reported by Ian A. Watson <watson_ian_a@lilly.com>
-
- 4/14
- ----
-lib/readline/complete.c
- - rl_completion_matches: make sure xrealloc returns something non-null
- (can happen when interrupted by a signal) before trying to add
- matches to match_list
-
-subst.c
- - array_remove_pattern: return NULL right away if array_variable_part
- returns an invisible variable
- - array_length_reference: handle array_variable_part returning an
- invisible variable
- - get_var_and_type: handle array_variable_part returning an invisible
- variable
-
- 4/15
- ----
-execute_cmd.c
- - execute_command_internal: make sure to run the EXIT trap for group
- commands anywhere in pipelines, not just at the end. From a point
- raised by Andreas Schwab <schwab@linux-m68k.org>
-
-variables.c
- - bind_int_variable: make sure invisible flag is unset. Fixes problems
- like "declare -ai a; : $(( a[4]=4 ));"
-
-arrayfunc.c
- - array_variable_part: return variable even if invisible flag set,
- callers must handle invisible vars
-
- 4/18
- ----
-builtins/set.def
- - unset_builtin: if -n flag given, call unset_nameref instead of
- unset_variable
-
-variables.c
- - find_variable_nameref: print warning message if nameref circular
- reference detected, return NULL and let caller deal with it
-
-builtins/declare.def
- - declare_builtin: only disallow global references at this point if
- we are at the global scope
-
- 5/16
- ----
-configure.ac
- - update release status to beta
-
- 5/23
- ----
-trap.c
- - run_pending_traps: save and restore pipeline around calls to
- evalstring() in case we get a trap while running a trap. Have to
- figure out the recursive running traps issue elsewhere. Fixes
- bug reported by Roman Rakus <rrakus@redhat.com>
- - run_pending_traps: make sure to set running_trap to the appropriate
- signal value when running a trap command
- - run_pending_traps: short-circuit immediately if running_trap set
- when invoked. Could change this later to only skip if it would
- run the same trap as currently being run (running_trap == sig + 1)
-
-configure.ac
- - add warning if bison not found
-
-lib/readline/doc/rltech.texi
- - new section with an example program illustrating the callback
- interface. Suggested by Peng Yu <pengyu.ut@gmail.com>
-
-examples/loadables/Makefile.in
- - remove references to `cut' and `getconf', which were removed in
- early March
-
- 5/28
- ----
-lib/sh/pathphys.c
- - sh_realpath: correct inverted two arguments to call to sh_makepath.
- Report and fix from Julien Thomas <jthomas@exosec.fr>
-
- 6/7
- ---
-execute_cmd.c
- - executing_line_number: the else clauses that are conditional on
- various options being defined can simply be if clauses -- they are
- mutually exclusive and all have `return' in the body. Fixes bug
- reported by Flavio Medeiros <flaviomotamedeiros@gmail.com>
-
- 6/25
- ----
-lib/readline/readline.c
- - readline_internal_setup: only sent the meta-key enable string to the
- terminal if we've been told to use one and the terminal has been
- successfully initialized (RL_ISSTATE (RL_STATE_TERMPREPPED) != 0).
- Suggested by Dan Mick <dan.mick@inktank.com>
-
-lib/readline/signals.c
- - _rl_signal_handler: call any defined signal hook after calling
- rl_resize_terminal when handling a SIGWINCH. We already have called
- the original SIGWINCH handler but will not be resending the signal
- to ourselves
-
- 6/27
- ----
-lib/readline/doc/history.3, doc/bash.1
- - fix description of the `$' modifier to note that it expands to the
- last *word*, which is not always the last argument. Report from
- ariyetz@gmail.com via gnu.org RT
-
- 6/29
- ----
-lib/glob/smatch.c
- - glob_asciiranges: initialize to value of GLOBASCII_DEFAULT instead
- of 0 (0 if not defined)
-
-configure.ac,config.h.in
- - --enable-glob-asciiranges-default: new option, controls the value of
- GLOBASCII_DEFAULT; use it to turn globasciiranges shopt option on
- by default
-
-doc/bashref.texi
- - document new --enable-glob-asciiranges-default configure option
-
-variables.c
- - assign_in_env: implement += value appending semantics for assignments
- preceding command names
-
- 7/4
- ---
-expr.c
- - set lasttok = NUM in all of the functions that result in a number,
- even if it's a boolean, to avoid errors with constructs like
- 1 * x = 1, which should be an asignment error. Fixes problem
- pointed out by Dan Douglas <ormaaj@gmail.com>
-
-parse.y
- - decode_prompt_string: don't bother to call strcpy if
- polite_directory_format returns its argument unchanged. It's not
- necessary and Mac OS X 10.9 aborts because of a supposed overlapping
- string copy. Bug and fix from simon@hitzemann.org
-
-subst.c
- - parameter_brace_find_indir: new function, code from
- parameter_brace_expand_indir that looks up the indirectly-referenced
- variable, but does not expand it
- - parameter_brace_expand_indir: call parameter_brace_find_indir to
- look up indirected variable reference
- - get_var_and_type: call parameter_brace_find_indir if it looks like we
- are trying to manipulate an indirect variable reference like
- ${!b%%foo}. This makes a difference if !b references an array
- variable. Bug report from Dan Douglas <ormaaj@gmail.com>
-
- 7/6
- ---
-lib/sh/casemod.c
- - sh_modcase: make sure argument passed to is_basic is <= UCHAR_MAX,
- since cval can convert something to a wchar_t greater than UCHAR_MAX.
- Fixes bug reported by Tomasz Tomasik <scx.mail@gmail.com>
-
- 7/8
- ---
-lib/readline/history.c
- - add_history_time: if history_length == 0, referencing history_length
- - 1 will result in an array bounds error, so make history_length be
- at least 1 before going on. Fixes bug reported by Geng Sheng Liu
- <gsliu.tju@gmail.com>
-
-builtins/setattr.def
- - show_func_attributes: display definition (if NODEFS argument is 0) and
- attributes for a particular function; used by `declare -fp name'
-
-builtins/declare.def
- - declare_internal: call show_func_attributes if -f supplied with -p.
- Fixes inconsistency observed by Linda Walsh <bash@tlinx.org>
-
-builtins/common.h
- - new extern declaration for show_func_attributes
-
-builtins/read.def
- - read_builtin: check the first supplied variable name for validity
- before attempting to read any input, since we know we will have to
- at least use that one. Don't check any other names yet. Suggested
- by jidanni@jidanni.org
-
- 7/10
- ----
-redir.c
- - do_redirection_internal: when closing a file descriptor with
- r_close_this ([n]<&-) count close errors as redirection errors if
- errno ends up as EIO or ENOSPC. Originally reported back in April
- 2012 by Andrey Zaitsev <jstcdr@gmail.com>
-
- 7/11
- ----
-redir.c
- - do_redirection_internal: before calling check_bash_input, make sure
- that we don't call check_bash_input for an asynchronous process that
- is replacing stdin with something else. The seek backwards affects
- the parent process as well, since parents and children share the
- file pointer. Fixes problem originally reported in March 2013 by
- Martin Jackson <mjackson220.list@gmail.com>
-
- 7/13
- ----
-doc/{bash.1,bashref.texi}
- - slight change to add a description of `shopt -o' suggested by Bruce
- Korb <bruce.korb@gmail.com>
-
- 7/19
- ----
-lib/readline/histfile.c
- - history_do_write: if close returns < 0, make sure we restore the
- backup history file and return a non-zero value
- - history_truncate_file: if write or close return < 0, make sure we
- return a non-zero value
-
-[bash-4.3-beta frozen]
-
- 7/21
- ----
-lib/readline/isearch.c
- - rl_display_search: now takes an entire search context flags word as
- the second argument, instead of just reverse flag; changed callers
- - rl_display_search: if the search has failed, add `failed ' to the
- beginning of the search prompt
- - _rl_isearch_dispatch: if the search has failed, display the entire
- search string with an indication that the search failed but with the
- last matching line. Suggested by jidanni@jidanni.org
-
-command.h
- - W_ASSIGNINT: new word flag; used internally for make_internal_declare
- and set by fix_assignment_words
-
-execute_cmd.c
- - fix_assignment_words: set W_ASSIGNINT if compound assignment and -i
- given as option. We don't do anything with the value yet
-
-subst.c
- - shell_expand_word_list: rework the way the option list that is
- passed to make_internal_declare is created
-
- 8/1
- ---
-doc/{bash.1,bashref.texi}
- - minor changes to description of $! based on a report from Chris
- Down <chris@chrisdown.name>
-
-arrayfunc.c
- - assign_array_element_internal: before trying to get an array's max
- index to process a negative subscript, make sure the array exists.
- Bug report from Geir Hauge <geir.hauge@gmail.com>
-
- 8/2
- ---
-arrayfunc.c
- - assign_array_element_internal: before using array_max_index() when
- processing a negative subscript, make sure the variable is an array.
- if it's not, use 0 as array_max_index assuming it's a string.
- Fixes bug report from Geir Hauge <geir.hauge@gmail.com>
-
- 8/3
- ---
-Makefile.in
- - pcomplete.o: add dependency on $(DEFDIR)/builtext.h. Suggested by
- Curtis Doty <curtis@greenkey.net>
-
- 8/5
- ---
-lib/glob/sm_loop.c
- - strcompare: short-circuit and return FNM_NOMATCH if the lengths of the
- pattern and string (pe - p and se - s, respectively) are not equal
- - strcompare: don't bother trying to set *pe or *se to '\0' if that's
- what they already are. Fixes bug reported by Geir Hauge
- <geir.hauge@gmail.com>
-
- 8/6
- ---
-doc/{bash.1,bashref.texi},builtins/hash.def,lib/readline/doc/rluser.texi
- - minor typo changes from Geir Hauge <geir.hauge@gmail.com>
-
-bultins/help.def
- - show_longdoc: avoid trying to translate the empty string because it
- often translates to some boilerplate about the project and
- translation. Report and fix from Geir Hauge <geir.hauge@gmail.com>
-
- 8/8
- ---
-builtins/help.def
- - help_builtin: try two passes through the list of help topics for each
- argument: one doing exact string matching and one, if the first pass
- fails to find a match, doing string prefix matching like previous
- versions. This prevents `help read' from matching both `read' and
- `readonly', but allows `help r' to match everything beginning with
- `r'. Inspired by report from Geir Hauge <geir.hauge@gmail.com>
-
- 8/13
- ----
-builtins/fc.def
- - fc_builtin,fc_gethnum: calculate `real' end of the history list and
- use it if -0 is specified as the beginning or end of the history
- range to list. Doesn't work for fc -e or fc -s by design. Feature
- requested by Mike Fied <micfied@gmail.com>
-
- 8/16
- ----
-trap.c
- - _run_trap_internal: use {save,restore}_parser_state instead of
- {save,restore}_token_state. It's more comprehensive
-
- 8/23
- ----
-doc/bash.1
- - disown: remove repeated text. Report and fix from Thomas Hood
- <jdthood@gmail.com>
-
- 8/25
- ----
-lib/readline/rltty.c
- - set_special_char: fix prototype (last arg is rl_command_func_t *)
-
-sig.c
- - set_signal_handler: return oact.sa_handler only if sigaction
- succeeds; if it doesn't, return SIG_DFL (reasonable default). From
- https://bugzilla.redhat.com/show_bug.cgi?id=911404
-
-bashline.c
- - attempt_shell_completion: fix to skip assignment statements preceding
- command name even if there are no programmable completions defined.
- From https://bugzilla.redhat.com/show_bug.cgi?id=994659
- - attempt_shell_completion: if still completing command word following
- assignment statements, do command completion even if programmable
- completion defined for partial command name entered so far
-
- 8/26
- ----
-pcomplete.c
- - pcomp_filename_completion_function: make sure rl_filename_dequoting_function
- is non-NULL before trying to call it. Bug and fix from
- Andreas Schwab <schwab@linux-m68k.org>
-
-bashline.c
- - bash_command_name_stat_hook: if *name is not something we're going
- to look up in $PATH (absolute_program(*name) != 0), just call the
- usual bash_filename_stat_hook and return those results. This makes
- completions like $PWD/exam[TAB] add a trailing slash
-
- 9/2
- ---
-builtins/read.def
- - read_builtin: before comparing what we read to the delim, make sure
- we are not supposed to be ignoring the delimiter (read -N). We
- set the delim to -1, but it's possible to read a character whose
- int value ends up being between -1 and -128. Fixes bug
- reported by Stephane Chazelas <stephane.chazelas@gmail.com>
-
-doc/{bash.1,bashref.texi}
- - word splitting: crib some language from Posix to make it clear that
- characters in IFS are treated as field *terminators*, not field
- *separators*. Addresses issue raised by DJ Mills
- <danielmills1@gmail.com>
-
-lib/readline/{util.c,rldefs.h}
- - _rl_stricmp,_rl_strnicmp: now take const char * string arguments;
- changed prototype declarations
-
- 9/5
- ---
-doc/{bash.1,bashref.texi}
- - [[: modify description of pattern matching to make it clear that the
- match is performed as if the extglob option were enabled. From Red
- Hat bug https://bugzilla.redhat.com/show_bug.cgi?id=1002078
-
- 9/12
- ----
-lib/readline/isearch.c
- - _rl_isearch_dispatch: if we read an ESC and it's supposed to
- terminate the search, make sure we check for typeahead with
- _rl_pushed_input_available, since installing a hook function causes
- typeahead to be collected in `ibuffer' (input.c). If there is any,
- make sure we still use the ESC as a prefix character. Bug and fix
- from Mike Miller <mtmiller@ieee.org>
-
- 9/16
- ----
-builtins/{caller,cd,kill,pushd,wait}.def
- - builtin_usage(): make sure call to this sets return status to
- EX_USAGE
-
- 9/18
- ----
-terminal.c
- - rl_change_environment: new application-settable variable; if non-
- zero (the default), readline will modify LINES and COLUMNS in the
- environment when it handles SIGWINCH
- - _rl_get_screen_size: if rl_change_environment is non-zero, use setenv
- to modify LINES and COLUMNS environment variables
-
-readline.h
- - rl_change_environment: new extern declaration for applications
-
- 9/22
- ----
-configure.ac
- - relstatus: bumped version to bash-4.3-beta2
-
- 9/24
- ----
-
-lib/readline/readline.c
- - bind_arrow_keys_internal: added more key bindings for the numeric key
- pad arrow keys on mingw32. Patch from Pierre Muller
- <pierre.muller@ics-cnrs.unistra.fr>
-
- 10/19
- -----
-
-bashline.c
- - maybe_restore_tilde: version of restore_tilde that honors `direxpand';
- calls restore_tilde after saving directory expansion hook if
- necessary. Report from Andreas Schwab <schwab@linux-m68k.org>
-
-builtins/cd.def
- - -@: new option, allows cd to use `extended attributes' present in
- NFSv4, ZFS; idea taken from ksh93. Attributes associated with a
- file are presented as a directory containing the attributes as
- individual files. Original patch contributed by Cedric Blancher
- <cedric.blancher@gmail.com>
-
- 10/20
- -----
-aclocal.m4
- - BASH_CHECK_MULTIBYTE: check for wcwidth being broken with unicode
- combining characters needs a value to use when cross-compiling.
- Bug report from Bert Sutherland <bertsutherland@gmail.com>
-
-doc/{bash.1,bashref.texi}
- - document new -@ option to cd builtin
-
- 10/28
- -----
-lib/glob/{{gmisc,glob}.c,glob.h}
- - extglob_pattern renamed to extglob_pattern_p, declared in glob.h
-
-subst.c
- - expand_word_internal: typo fix: case to fix " $@\ " bug in bash-4.2
- had a typo (& isexp instead of &&)
-
- 10/29
- -----
-input.c
- - getc_with_restart: make sure local_index and local_bufused are
- reset to 0 before returning EOF, in case we are running an interactive
- shell without line editing and ignoreeof is set. Report and fix
- from Yong Zhang <yong.zhang@windriver.com>
-
-lib/readline/search.c
- - _rl_nsearch_init: take out extra third argument to rl_message; it
- only matches prototype (and maybe format) in cases where
- PREFER_STDARG and USE_VARARGS are both undefined, which is rare
-
- 10/31
- -----
-subst.c
- - process_substitute: when opening the named pipe in the child, open
- without O_NONBLOCK to avoid race conditions. Happens often on AIX.
- Bug report and fix from Michael Haubenwallner
- <michael.haubenwallner@salomon.at>
-
-builtins/ulimit.def
- - RLIMIT_NTHR: if RLIMIT_PTHREAD is not defined, but RLIMIT_NTHR is,
- use RLIMIT_NTHR (NetBSD)
-
- 11/5
- ----
-locale.c
- - set_default_locale_vars,set_locale_var: if TEXTDOMAINDIR has been
- set, and default_dir has a non-null value, call bindtextdomain(3)
- when TEXTDOMAIN is assigned a value. Fixes problem reported by
- Michael Arlt <qwertologe@googlemail.com>
-
- 11/6
- ----
-builtins/cd.def
- - cdxattr: only create synthetic pathname in `buf' if NDIRP argument
- is non-null
- - change_to_directory: if we have specified -@ and cdxattr returns
- failure, fail immediately. Fixes bug reported by Joshuah Hurst
- <joshhurst@gmail.com>
-
- 11/12
- -----
-redir.c
- - print_redirection: change r_err_and_out (&>) and its append form,
- r_append_err_and_out (&>>) cases to separate redirection operator
- from filename by a space, in case we have a process substitution.
- Fixes bug reported by admn ombres <admn.ombres@gmail.com>
-
- 11/15
- -----
-execute_cmd.c
- - execute_simple_command: don't close process substitution fds until
- we are finished executing any current shell function. Partial fix
- for bug reported by John Dawson <john.dawson@gmail.com>
-
-support/shobj-conf
- - add support for Darwin 13 (Mac OS X 10.9, Mavericks). Based on a
- report by Ludwig Schwardt <ludwig.schwardt@gmail.com>
-
- 11/20
- -----
-[bash-4.3-rc1 frozen]
-
- 11/24
- -----
-builtins/printf.def
- - bind_printf_variable: make sure that the variable assigned to is
- no longer marked as invisible. Fixes bug reported by NBaH
- <nbah@sfr.fr>
-
- 11/28
- -----
-jobs.c
- - delete_old_job: fix off-by-one error in job index in call to
- internal_warning. Bug report from Peter Cordes <peter@cordes.ca>
-
- 11/30
- -----
-doc/bashref.texi
- - add string to description of special parameters with name of
- special parameter prefixed by a $, so you can search for $#,
- for instance
-
- 12/2
- ----
-lib/readline/{histexpand.c
- - get_history_event: account for current_history() possibly returning
- NULL. Report and fix from Pankaj Sharma <pankaj.s01@samsung.com>
-
-
- 12/11
- -----
-
-lib/readline/parse-colors.c
- - get_funky_string: don't call abort if we see something we can't
- parse; just return an error
- - _rl_parse_colors: if we encounter an error while parsing $LS_COLORS
- we need to leave _rl_color_ext_list as NULL after freeing its
- elements, then turn off _rl_colored_stats. Report and fix from Martin
- Wesdorp <mwesdorp@casema.nl>
-
- 12/13
- -----
-
-lib/readline/parse-colors.c
- - _rl_parse_colors: if we encounter an unrecognized prefix, throw an
- error but try to recover and go on to the next specification
-
-variables.c
- - make_local_variable: for new variables this function creates, set
- the att_invisible attribute. All callers from declare_internal.
- Indirectly, this is a fix for bug with `declare -n var; var=foo;'
- reported by Pierre Gaston <pierre.gaston@gmail.com>
- - bind_variable: if assigning to nameref variable that doesn't have
- a value yet (e.g., with `declare -n var; var=foo'), don't try to
- use the unset name. Fixes a segfault reported by Pierre Gaston
- <pierre.gaston@gmail.com>
-
-execute_cmd.c
- - execute_command_internal: make sure last_command_exit_value is set
- to 0 after any command executed in the background. Fixes bug
- reported by Martin Kealey <martin@kurahaupo.gen.nz>
-
- 12/17
- -----
-support/config.{guess,sub}
- - updated to latest versions from git
-
- 12/19
- -----
-parse.y
- - struct STRING_SAVER: now has a new `flags' element, to identify the
- caller: alias expansion, double-paren parsing, or parse_and_execute
- - push_string: now sets flags to PSH_ALIAS if `ap' argument is non-NULL
- - push_string: now doesn't attempt to call strlen on a NULL string to
- set shell_input_line_size
- - parser_expanding_alias, parser_save_alias, parser_restore_alias: new
- functions to provide an external interface to push_string and
- pop_string; parser_save_alias sets flags element to PSH_SOURCE (could
- be renamed PSH_EXTERN someday)
- - shell_getc: when yy_getc returns '\0', instead of just testing
- whether the pushed_string_list is not-empty before popping it, don't
- pop if if the saved string has flags PSH_SOURCE, indicating that
- parse_and_execute set it before setting bash_input to the string.
- We should continue reading to the end of that string before popping
- back to a potential alias. Partial solution for the problem of aliases
- with embedded newlines containing `.' commands being executed out of
- order reported by Andrew Martin <andrew.martin@gmail.com>
- - shell_getc: when yy_getc returns '\0' and there is a saved string of
- type PSH_SOURCE, restart the read without popping the string stack
- if we have not read to the end of bash_input.location.string. Rest
- of fix for out-of-order execution problem
-
-externs.h
- - parser_expanding_alias, parser_save_alias, parser_restore_alias: new
- extern function declarations
-
-builtins/evalstring.c
- - pe_prologue: if the parser is expanding an alias, make sure to add
- an unwind-protect to restore the alias; undoes the work that will be
- performed by parse_and_execute/parse_string
- - parse_and_execute,parse_string: after calling push_stream to save
- bash_input, check whether or not the parser is currently expanding
- an alias (parser_expanding_alias() != 0). If it is, we want to save
- that string in the pushed_string_list, which we do with
- parser_save_alias.
-
- 12/23
- -----
-execute_cmd.c
- - execute_for_command: make sure to set line_number before expanding
- the word list, so expansion errors have the right line number.
- From a report from Ben Okopnik <ben@okopnik.com>
-
-expr.c
- - exp2: save token pointer before calling readtok(), arrange to use
- saved token pointer when printing error token on a division by 0
- error
-
- 12/27
- -----
-lib/readline/display.c
- - rl_redisplay: when calculating effects of invisible characters in a
- prompt that is split across physical screen lines to set the indices
- of linebreaks, don't bother testing local_prompt_prefix (line 751).
- That prefix doesn't matter when calculating prompt visible and
- invisible characters. Fixes problem reported by Jinesh Choksi
- <jinesh@onelittlehope.com>
-
-Makefile.in
- - install: make sure to use $(DESTDIR) when installing OTHER_DOCS.
- Report and fix from Matthias Klose <doko@debian.org>
-
-doc/texinfo.tex
- - updated to version of 2013-09-11
-
- 12/28
- -----
-lib/readline/undo.c
- - rl_do_undo: if we are undoing from a history entry (rl_undo_list ==
- current_history()->data), make sure the change to rl_line_buffer is
- reflected in the history entry. We use the guts of
- rl_maybe_replace_line to do the work. Fixes problem reported by
- gregrwm <backuppc-users@whitleymott.net>
-
- 12/30
- -----
-sig.c
- - sigint_sighandler: if we get a SIGINT (and this signal handler is
- installed) while the wait builtin is running, note that we received
- it in the same way as jobs.c:wait_sigint_handler and return. The
- various wait_for functions will look for that with CHECK_WAIT_INTR.
- This fixes the wait builtin not being interruptible in an interactive
- job control shell
-
- 12/31
- -----
-trap.c
- - set_signal_hard_ignored: rename set_signal_ignored to this, since it
- both sets original_signals[sig] and sets the HARD_IGNORE flag
- - set_signal_ignored: new function, now just sets original_signals[sig]
-
-trap.h
- - set_signal_hard_ignored: new external declaration
-
-sig.c
- - initialize_terminating_signals: call set_signal_hard_ignored instead
- of set_signal_ignored for signals with disposition SIG_IGN when the
- shell starts
-
-execute_cmd.c
- - setup_async_signals: make sure we get the original dispositions for
- SIGINT and SIGQUIT before starting the subshell, and don't call
- set_signal_ignored because that sets original_signals[sig]. If we
- don't, subsequent attempts to reset handling using trap will fail
- because it thinks the original dispositions were SIG_IGN. Posix
- interpretation 751 (http://austingroupbugs.net/view.php?id=751)
-
- 1/2/2014
- --------
-lib/sh/stringvec.c
- - strvec_mcreate, strvec_mresize: versions of create and resize that
- use malloc and realloc, respectively, instead of xmalloc/xrealloc
-
-braces.c
- - expand_amble,mkseq: use strvec_mcreate/strvec_mresize so we can
- catch and handle memory allocation failures instead of aborting
- with the xmalloc/xrealloc interface
-
-lib/sh/strdup.c
- - strdup replacement function for ancient systems that don't have it
-
-lib/sh/itos.c
- - mitos: new function, itos that uses strdup instead of savestring
-
-externs.h
- - strvec_mcreate/strvec_mresize: new extern declarations
- - mitos: new extern declaration
-
-configure.ac
- - bash version moved to 4.3-rc2
-
- 1/6
- ---
-doc/bash.1,lib/readline/doc/{rluser.texi,readline.3}
- - separate the description of what happens when readline reads the
- tty EOF character from the description of delete-char, leaving a
- note in the delete-char description about common binding for ^D.
- From suggestion by Parke <parke.nexus@gmail.com>
-
-lib/readline/doc/{version.texi,history.3,*.texi}
- - updated email addresses and copyright dates
-
- 1/7
- ---
-variables.c
- - delete_var: new function, just removes a variable from a hash table
- and frees it, without doing anything else
- - make_variable_value: if we are trying to assign to a nameref variable,
- return NULL if the value is null or the empty string or not a valid
- identifier
-
-variables.h
- - delete_var: new extern declaration
-
-subst.h
- - ASS_NAMEREF: new define for assignments, means assigning to a nameref
- variable
-
-builtins/declare.def
- - declare_internal: if we are creating and assigning to a nameref
- variable, make sure the value is a valid variable name (checks done
- by make_variable_value via bind_variable_value) and display an
- error message, deleting the variable we just created, if it is not.
- Fixes bug reported by Peggy Russell <prusselltechgroup@gmail.com>
-
- 1/9
- ---
-builtins/declare.def
- - declare_internal: turning on nameref attribute for an existing
- variable turns off -i/-l/-u/-c attributes (essentially the ones
- that cause evaluation at assignment time) for ksh93 compat
-
-builtins/setattr.def
- - show_name_attributes: if asked to display attributes and values for
- a nameref variable, don't follow the nameref chain to the end. More
- ksh93 compat
-
- 1/10
- ----
-trap.c
- - _run_trap_internal: use {save,restore}_parser_state instead of
- {save,restore}_token_state, like in run_pending_traps(); don't
- need to save and restore last_command_exit_value as a result
- - _run_trap_internal: call {save,restore}_pipeline like in
- run_pending_traps()
- - run_pending_traps: since we no longer run traps in a signal handler
- context, do not block and unblock the trapped signal while the
- trap is executing
- - run_pending_traps: allow recursive invocations (basically, running
- traps from a trap handler) with only a warning if the shell is
- compiled in debug mode. If a caller doesn't want this to happen,
- it should test running_trap > 0. signal_in_progress (sig) only works
- for the signals the shell handles specially
-
-bashline.c
- - bash_event_hook: make sure we clean up readline if interrupt_state
- is set, not only when SIGINT is not trapped. check_signals_and_traps
- will call check_signals, which calls QUIT, which will longjmp back
- to top_level, running the interrupt trap along the way. Fixes the
- problem of signal handlers being reset out from under readline, and
- not being set properly the next time readline is called, because
- signals_set_flag is still set to 1. XXX - might need to do this
- for other signals too?
-
- 1/11
- ----
-subst.h
- - SD_GLOB: new define for skip_to_delim; means we are scanning a
- glob pattern.
-
-subst.c
- - skip_to_delim: if flags include SD_GLOB, assume we are scanning a
- glob pattern. Currently only used to skip bracket expressions
- which may contain one of the delimiters
-
- 1/12
- ----
-subst.c
- - parameter_brace_expand: when expanding $@ as part of substring
- expansion, pattern substitution, or case modification, don't turn
- on the QUOTED_NULL flag. The code that constructs the word to be
- returned from expand_word_internal expects a different code path
- when $@ is being expanded. Fixes bug reported by Theodoros
- V. Kalamatianos <thkala@gmail.com>
-
- 1/19
- ----
-subst.c
- - list_dequote_escapes: new function; analogue of list_quote_escapes
-
-pathexp.c
- - quote_string_for_globbing: fix case where unescaped ^A is last char
- in string; need to pass it through unaltered instead of turning it
- into a bare backslash
- - quote_string_for_globbing: when quoting for regexp matching in [[,
- don't treat backslash as a quote character; quote the backslash as
- any other character. Part of investigation into reports from
- Eduardo A. Bustamante López <dualbus@gmail.com>
-
- 1/25
- ----
-builtins/gen-helpfiles.c
- - write_helpfiles: add prototype
- - make sure to #undef xmalloc/xfree/xrealloc/free if USING_BASH_MALLOC
- is defined. the code does not use them, and we don't link against
- xmalloc.o. Report from Linda Walsh <bash@tlinx.org>
-
-Makefile.in
- - variables.o: add dependency on builtins/builtext.h; helps with
- parallel builds. Report from Linda Walsh <bash@tlinx.org>
-
-support/shobj-conf
- - darwin: combine the stanzas into one that will not require them to
- be updated on each Mac OS X release. Report and fix from Max Horn
- <max@quendi.de>
-
- 1/27
- ----
-support/shobj-conf
- - darwin: changed the install_name embedded into the shared library
- to contain only the major version number, not the minor one. The
- idea is that the minor versions should all be API/ABI compatible,
- and it is better to link automatically with the latest one. Idea
- from Max Horn <max@quendi.de>
-
- 1/29
- ----
-[bash-4.3-rc2 released]
-
- 1/30
- ----
-lib/readline/readline.h
- - rl_clear_history, rl_free_keymap: add extern declarations. Report
- from Hiroo Hayashi <hiroo.hayashi@computer.org>
-
-general.c
- - include trap.h for any_signals_trapped() prototype
-
-lib/sh/unicode.c
- - include <stdio.h> for sprintf prototype
-
- 1/31
- ----
-execute_cmd.c
- - execute_simple_command: only posix-mode shells should exit on an
- assignment failure in the temporary environment preceding a special
- builtin. This is what the documentation and code comments have
- always said
- - execute_simple_command: make sure redirection errors, word expansion
- errors, and assignment errors to Posix special builtins cause a
- non-interactive posix mode shell to exit. Previously the shell
- would not exit if the failed special builtin was on the LHS of ||
- or &&
-
-pathexp.c
- - quote_string_for_globbing: when quoting a regular expression
- (QGLOB_REGEXP), allow an unquoted backslash to pass through
- unaltered. Don't use it as a quote character or quote it. More
- investigation from 1/24 and report by Mike Frysinger
- <vapier@gentoo.org>
- - quote_string_for_globbing: when quoting a regular expression
- (QGLOB_REGEXP), turn CTLESC CTLESC into CTLESC without adding a
- backslash to quote it. We should not have to quote it because it is
- not a character special to EREs. More investigation from 1/24
-
-lib/glob/glob.c
- - glob_testdir: now takes a second flags argument (currently unused);
- changed prototype and callers
-
- 2/1
- ---
-lib/glob/glob.c
- - glob_testdir: if flags argument includes GX_ALLDIRS (globstar), use
- lstat so we skip symlinks when traversing the directory tree.
- Originally reported by Chris Down <chris@chrisdown.name>
-
- 2/2
- ---
-lib/readline/undo.c
- - rl_do_undo: make sure CUR is non-zero before dereferencing it to
- check cur->data against rl_undo_list. Report and fix from
- Andreas Schwab <schwab@linux-m68k.org>
-
-doc/{bash.1,bashref.texi}
- - added slight clarifying language to the description of $*,
- describing what happens when the expansion is not within double
- quotes
-
- 2/4
- ---
-test.c
- - unary_test: add code to -v case so that it interprets `bare' array
- references (foo[1]) and returns true if that index has a value
-
- 2/5
- ---
-trap.c
- - restore_default_signal: fix SIGCHLD special case for SIG_TRAPPED flag
- off but SIG_INPROGRESS mode set and handler IMPOSSIBLE_TRAP_HANDLER;
- continue with resetting handler in this case. maybe_set_sigchld_trap
- will check these things before resetting sigchld trap from
- run_sigchld_trap. Fixes (apparently long-standing?) problem reported
- by Alexandru Damian <alexandru.damian@intel.com>
-
- 2/6
- ---
-lib/sh/strtrans.c
- - ansic_quote: fixed a bug when copying a printable character that
- consumes more than one byte; byte counter was not being incremented.
- Bug report from jidanni@jidanni.org
-
- 2/7
- ---
-input.c
- - getc_with_restart: if read(2) returns -1/EINTR and interrupt_state or
- terminating_signal is set (which means QUIT; will longjmp out of this
- function), make sure the local buffer variables are zeroed out to
- avoid reading past the end of the buffer on the next call. Bug report
- from Dan Jacobson <jidanni@jidanni.org>
-
- 2/9
- ---
-bashline.c
- - command_word_completion_function: if a directory in $PATH contains
- quote characters, we need to quote them before passing the candidate
- path to rl_filename_completion_function, which performs dequoting on
- the pathname it's passed. Fixes bug reported by Ilyushkin Nikita
- <ilyushkeane@gmail.com>
-
- 2/11
- ----
-parse.y
- - xparse_dolparen: save and restore shell_eof_token around call to
- parse_string, intead of just leaving it set to ')'
- - shell_getc: when -v is set, only print the command line when
- shell_eof_token is 0, so we don't print it multiple times when
- recursively entering the parser to parse $(...) commands. Fixes
- bug reported by Greg Wooledge <wooledg@eeg.ccf.org>
-
-[changed release status to 4.3-release]
-
- 2/13
- ----
-lib/sh/strtrans.c
- - ansic_quote: handle case where mbrtowc reports that the multibyte
- sequence is incomplete or invalid. Fixes bug reported by
- Eduardo A. Bustamante López <dualbus@gmail.com>
-
- 2/14
- ----
-variables.c
- - find_variable_nameref_context: fix a problem that caused the loop
- to go one context too close to the global context. In some cases,
- simple variable assignment would set a variable in the global
- context instead of a local context. Bug report from
- Geir Hauge <geir.hauge@gmail.com>
-
- 2/26
- ----
-[bash-4.3 released]
-
- 2/27
- ----
-aclocal.m4
- - broken wcwidth check: fix typo reported by David Michael
- <fedora.dm0@gmail.com>
-
- 2/28
- ----
-support/bashbug.sh
- - add ${BUGADDR} to error message printed if sending mail fails
-
-trap.c
- - _run_trap_internal: don't call {save,restore}_pipeline if running
- DEBUG trap; run_debug_trap calls them itself. Fixes bug reported
- by Moe Tunes <moetunes42@gmail.com>
-
-test.c
- - unary_test: fix 'R' case by using find_variable_noref instead of
- find_variable
- - test_unop: add back missing 'R' case. Fixes bug reported by
- NBaH <nbah@sfr.fr>
-
- 3/2
- ---
-jobs.c
- - end_job_control: if job control is active, we changed the terminal's
- process group, so make sure we restore it. Fixes bug reported by
- Eduardo A. Bustamante López <dualbus@gmail.com>
-
- 3/7
- ---
-pcomplete.c
- - pcomp_curtxt: new variable, holds the original text to be completed
- as passed to the programmable completion code
- - pcomp_filename_completion_function: if we are running compgen
- (presumably in a shell function completion) and performing readline
- completion, check the word being completed. If it's not empty, but
- the original word passed to the programmable completion code is an
- empty string (""), call a dequoting function if one is available.
- This compensates for an assumption in bash-completion. Reported by
- Albert Shih <Albert.Shih@obspm.fr>
-
-lib/readline/readline.c
- - _rl_dispatch_subseq: when deciding whether or not to set vi mode's
- idea of the last command, use whether or not the dispatching keymap
- is vi_movement_keymap instead of the key sequence length. The `c',
- `d', and `y' commands all take motion commands as `arguments' and
- will produce key sequences longer than 1 character. The arrow keys
- will end up dispatching out of a different keymap, so the test will
- prevent arrow keys from setting the last command (the problem in
- bash-4.2). Bug report from Daan van Rossum <daan@flash.uchicago.edu>
-
-lib/readline/vi_mode.c
- - _rl_vi_motion_command: convenience function to test whether a key is
- a vi-mode motion command
-
-lib/readline/rlprivate.h
- - _rl_vi_motion_command: extern declaration
-
-parse.y
- - parse_matched_pair: we should not skip processing single quotes in
- posix mode if dolbrace_state == DOLBRACE_QUOTE2 (pattern
- substitution). Fixes bug reported by David Sines
- <dave.gma@googlemail.com>
-
- 3/10
- ----
-lib/readline/readline.c
- - _rl_dispatch_callback: treat a return value of -1 as the end of
- a command dispatch sequence if the current context doesn't
- indicate that we're reading a multi-key sequence
- ((cxt->flags & KSEQ_SUBSEQ) == 0). Turn off the multikey flag
- and free the context chain in this case. Fixes one bug reported
- by Felix Yan <felixonmars@gmail.com> to bug-readline list
- - _rl_dispatch_callback: treat a return value of > 0 the same as 0
- and return from the function, since only values < 0 cause us to
- simulate recursion. Rest of fix for bug tracked down by
- Anatol Pomozov <anatol.pomozov@gmail.com>
-
- 3/11
- ----
-
-execute_cmd.c
- - execute_in_subshell: if a longjmp occurs, set result to
- EXECUTION_FAILURE only if last_command_exit_value == EXECUTION_SUCCESS;
- use value of last_command_exit_value otherwise. Fixes cosmetic
- issue reported by Dennis Lambe Jr. <malsyned@malsyned.net>
-
-doc/bash.1
- - shell-kill-word and shell-backward-kill-word should be documented
- as unbound by default. Report from Oliver Hartley
- <ohartley@talktalk.net>
-
-trap.c
- - run_pending_traps: save value of $? before running trap commands in
- trap_saved_exit_value, like run_exit_trap
- - _run_trap_internal: save value of $? before running trap commands in
- trap_saved_exit_value, like run_exit_trap
-
-builtins/common.c
- - get_exitstat: when running `return' in a trap action, and it is not
- supplied an argument, use the saved exit status in
- trap_saved_exit_value. Fixes Posix problem reported by
- Eduardo A. Bustamante López <dualbus@gmail.com>
-
- 3/13
- ----
-lib/sh/shquote.c
- - sh_contains_quotes: new function, returns true if a given string
- contains any of the shell quote characters (single quote, double
- quote, or backslash)
-
-externs.h
- - sh_contains_quotes: new extern declaration
-
-pcomplete.c
- - pcomp_filename_completion_function: more changes for the benefit of
- bash-completion: if the argument is not the same as the original
- argument passed to the programmable completion code (pcomp_curtxt),
- and we are being run by compgen as part of a completion, dequote the
- argument as bash-completion expects. Fix for the complete-word-
- with-quoted-special-chars problem with bash-completion
-
- 3/17
- ----
-execute_cmd.c
- - execute_intern_function: when in posix mode, make defining a function
- with the same name as a special builtin a fatal error only when the
- shell is not interactive. Interactive shells display an error
- message and go on. From a discussion with Doug McIlroy
- <doug@cs.dartmouth.edu>
-
- 3/18
- ----
-arrayfunc.c
- - assign_compound_array_list: when using expand_assignment_string_to_string
- to expand the value in a ( [x]=y ) compound assignment, make sure
- that we convert 0x0 to "" when expanding [x]= so it doesn't appear as
- if the index is unset. Fixes bug reported by Geir Hauge
- <geir.hauge@gmail.com>
-
-builtins/common.c
- - get_exitstat: update fix of 3/11 to allow the DEBUG trap to use the
- current value of $? instead of the value it had before the trap
- action was run. This is one reason the DEBUG trap exists, and
- extended debug mode uses it. Might want to do this only in Posix
- mode
-
-doc/{bash.1,bashref.texi}
- - return: add language cribbed from Posix saying what happens when
- return is run without an argument from a trap, including the DEBUG
- trap exception
-
- 3/19
- ----
-lib/glob/gmisc.c
- - extglob_pattern_p: make sure ?(patlist) is flagged as an extglob
- pattern
-
-lib/glob/glob.c
- - extglob_skipname: rewrite to handle patterns that begin but do not
- end with an extglob pattern; change test for easy case and loop
- through patterns accordingly. Fixes problem with matching filenames
- with a leading dot reported by Stephane Chazelas
- <stephane.chazelas@gmail.com>
- - wextglob_skipname: make analogous changes
-
- 3/20
- ----
-Makefile.in
- - pass -DDEBUG down to builds in readline and history directories
-
-lib/readline/util.c
- - _rl_trace and related functions are now only compiled in if DEBUG
- is defined
-
-lib/readline/Makefile.in
- - substitute @DEBUG@ and pass -DDEBUG, if necessary, to compilation
- in LOCAL_CFLAGS
-
- 3/21
- ----
-parse.y
- - shell_getc: when checking whether or not to reallocate
- shell_input_line to add trailing newline, don't try to subtract from
- shell_input_line_size. size_t is unsigned, so if its value is less
- than 3 (like, say, 2), size-3 is a very large number and the string
- will not be reallocated. Use len+3 > size instead of len > size-3.
- Fixes bug reported in
- https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1295467
-
- 3/27
- ----
-lib/readline/display.c
- - _rl_clean_up_for_exit: don't bother to call _rl_move_vert to whatever
- readline thinks the last displayed line is if it's 0. Two reasons: a
- minor optimization, and it protects against unwanted moving if this
- function is called twice, as it is when ^C is pressed. Fixes bug
- reported by Egmont Koblinger <egmont@gmail.com>
-
- 3/28
- ----
-bashline.c
- - invalid_completion: new function, used to identify attempts to
- complete words that are syntax errors
- - attempt_shell_completion: if invalid_completion returns true for a
- word in a command position, punt on all completions. Fixes cosmetic
- issue reported by Uwe Storbeck <uwe@ibr.ch>
- - attempt_shell_completion: add clause so that in_command_position
- remains set to 1 for an empty word following a command separator like
- (, &, or |
-
-lib/readline/kill.c
- - rl_yank, rl_yank_nth_arg_internal: don't return -1 from bindable
- functions, return 1 instead
-
-lib/readline/text.c
- - rl_rubout, _rl_rubout_char, rl_delete, rl_change_case,
- rl_transpose_chars, rl_transpose_words, _rl_set_mark_at_pos,
- rl_exchange_point_and_mark, _rl_insert_next, _rl_char_search,
- _rl_char_search_internal:
- don't return -1 from bindable functions, return 1 instead
-
-lib/readline/vi_mode.c
- - rl_vi_end_word, rl_vi_rubout, rl_vi_delete, rl_vi_char_search,
- rl_vi_match, _rl_vi_set_mark, _rl_vi_goto_mark:
- don't return -1 from bindable functions, return 1 instead
-
-lib/readline/macro.c
- - rl_start_kbd_macro, rl_end_kbd_macro:
- don't return -1 from bindable functions, return 1 instead
-
-builtins/setattr.def
- - set_var_attribute: honor setting of no_invisible_vars when setting
- att_invisible on a variable
- - include "../flags.h" for no_invisible_vars
-
-builtins/declare.def
- - declare_internal: honor setting of no_invisible_vars when setting
- att_invisible on a variable
- - include "../flags.h" for no_invisible_vars
-
-Makefile.in,builtins/Makefile.in
- - make sure declare.o and setattr.o depend on flags.h
-
-execute_cmd.c
- - decpoint: new function, returns locale's decimal point or `.' default
- - mkfmt: use decpoint() to get decimal point instead of unconditionally
- using `.'. Fixes bug reported by Andrey Tataranovich
- <tataranovich@gmail.com> in debian bug 741669
-
- 4/10
- ----
-lib/readline/rltypedefs.h
- - add back old Function/VFunction/etc typedefs, since other packages
- (python, samba) use them. Mark as deprecated using gcc and clang
- attributes. Report and fix from Max Horn <max@quendi.de>
-
- 4/14
- ----
-jobs.c
- - run_sigchld_trap: unwind-protect value of this_shell_builtin, since
- it matters in some cases whether or not we are running `wait' or
- `eval'. Fixes bug reported by Eduardo A. Bustamante López
- <dualbus@gmail.com>
-
- 4/18
- ----
-shell.h
- - sh_parser_state_t: add `need_here_doc' flags member, since
- xparse_dolparen (via parse_command) sets it to 0
-
-parse.y
- - gather_here_documents: make sure need_here_doc is > 0, since we
- don't want to just decrement it forever if it ends up < 0. Partial
- fix for bug reported by Jared Yanovich <slovichon@gmail.com>
- - {save,restore}_parser_state: save and restore need_here_doc flag.
- Rest of fix for bug reported by Jared Yanovich <slovichon@gmail.com>
-
- 4/19
- ----
-subst.c
- - cond_expand_word: since we are not supposed to be performing word
- splitting here, set expand_no_split_dollar_star to 1 in addition to
- setting W_NOSPLIT2
- - expand_word_internal: if we have a case where we have an unquoted
- $@ but we are in a case where we don't want to split (W_NOSPLIT2),
- make sure we return a list consisting of a single word with the
- arguments separated by spaces and don't do word splitting. Fixes
- bug reported by Greg Wooledge <wooledg@eeg.ccf.org> from an IRC
- discussion
-
-builtins/hash.def
- - print_portable_hash_info: single-quote pathnames and hashed filenames
- that contain shell metacharacters. Fixes bug reported by
- <g1pi@libero.it> in debian bash bug #739853
-
- 4/20
- ----
-lib/readline/display.c
- - When using horizontal scrolling, the redisplay code erases too much
- of the line containing successful results, so make sure we only
- erase to the end of the line after making sure we move the cursor
- to the end. Fixes bug reported by <Trond.Endrestol@ximalas.info>
-
- 4/23
- ----
-{bashhist,bashline}.c
-builtins{bind,help,type}.def
-lib/glob/glob.c, lib/intl/{loadmsgcat,localealias}.c,lib/sh/mktime.c
- - fixes to memory leaks uncovered by coverity scan
-
- 4/24
- ----
-{bashhist,subst,redir,assoc,jobs,array,trap}.c
-lib/intl/l10flist.c
-builtins/complete.def
- - fixes to memory leaks and other resource usage problems uncovered by
- coverity scan
-
-redir.c
- - do_redirection_internal: if dup2 fails (presumably because of a
- resource limit), close the file descriptor we opened before returning
- error
-
- 4/25
- ----
-config-top.h
- - DEFAULT_BASHRC: new define with the name of the default shell
- startup file
-
-bashline.c
- - bash_directory_completion_matches: don't dequote the directory name.
- If rl_completion_found_quote is non-zero, readline will dequote the
- filename itself. Fixes bug reported by Clark Wang
- <dearvoid@gmail.com>
-
- 4/27
- ----
-subst.c
- - parameter_brace_expand_rhs: if parameter_brace_find_indir returns
- NULL or "", or if it returns something that is not a valid identifier,
- report an error and return &expand_wdesc_error so the error can
- propagate up. Fixes bug reported by Andre Holzhey
- <andre.holzhey@gmx.de>
-
- 4/29
- ----
-subst.c
- - parameter_brace_substring: don't short-circuit right away if the
- value is NULL but we are looking at the positional parameters. Part
- of fix for bug reported by Pierre Gaston <pierre.gaston@gmail.com>
- - pos_params: if there are no positional parameters, only short-circuit
- if we are looking for $1 and above. Rest of fix for bug reported
- by Pierre Gaston <pierre.gaston@gmail.com>
-
-subst.h
- - SD_NOPROCSUB: new flag for skip_to_delim, means to not allow any
- process subsitutions (should not have overloaded SD_NOSKIPCMD)
-
-subst.c
- - skip_to_delim: honor SD_NOPROCSUB flag
-
-make_cmd.c
- - make_arith_for_expr: set W_NOPROCSUB flag in the created word
- - make_arith_for_command: set SD_NOPROCSUB in the flags argument to
- skip_to_delim so we don't treat <( or >( as a process substitution
- (we won't evaluate them in eval_arith_for_expr anyway). Fixes
- bug reported by Pierre Gaston <pierre.gaston@gmail.com>
-
- 5/1
- ---
-lib/glob/gmisc.c
- - glob_dirscan: new function, takes a pattern and a directory separator
- argument and advances the pattern to the last occurrence of the
- separator. Like strrchr, but understands extended glob patterns and
- uses glob_patscan to skip over them
-
-lib/glob/glob.c
- - extglob_skipname: if the extended globbing pattern is invalid, don't
- skip the name
- - glob_filename: if there is a slash in the pattern to be matched, and
- extglob is enabled, use glob_dirscan to find the real last occurrence
- of `/' to avoid being confused by slashes in extglob patterns. Fix
- for bug reported by Pierre Gaston <pierre.gaston@gmail.com>
-
- 5/6
- ---
-variables.c
- - make_local_variable: only set the att_invisible attribute if
- no_invisible_vars isn't set
- - find_variable_for_assignment: new function, intended to be called by
- code that eventually wants to assign a value to the variable; will not
- skip invisible variables; currently identical to find_variable
- - find_variable_no_invisible: new function, finds the first visible
- instance of variable with a given name in the variable context chain;
- eventually will be used to replace find_variable; separate right now
- for testing
-
-variables.h
- - find_variable_for_assignment: extern declaration
- - find_variable_no_invisible: extern declaration
-
- 5/7
- ---
-variables.c
- - make_local_variable: don't clear `invisible' attribute if we are
- returning an existing local variable at the right context. Let the
- upper layers do that. Fixes bug reported by Dan Douglas
- <ormaaj@gmail.com>
-
- 5/8
- ---
-lib/readline/input.c
- - rl_getc: call RL_CHECK_SIGNALS if a read(2) is interrupted (-1/EINTR)
- by SIGALRM or SIGVTALRM (placeholder for non-keyboard-generated
- signals of interest)
-
-builtins/read.def
- - edit_line: call bashline_set_event_hook and
- bashline_reset_event_hook around call to readline(), so the right
- signal handling happens
- - read_builtin: make sure we add an unwind_protect call to
- bashline_reset_event_hook. These changes fix bug reported in
- https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1317476
-
-bashline.c
- - bash_event_hook: make sure we clean up the readline state by calling
- rl_cleanup_after_signal if sigalrm_seen is non-zero. The read builtin
- sets this when it times out
-
- 5/12
- ----
-doc/{bash.1,bashref.texi}
- - clarify language to make it clear that changing attributes of a
- nameref variable (e.g., export), actually changes the attributes of
- the referenced variable. Fixes omission noted by Jeff Haemer
- <jeffrey.haemer@gmail.com>
-
-arrayfunc.c
- - bind_array_var_internal: make sure ENTRY no longer has invisible
- attribute before returning. Fixes bug reported by Geir Hauge
- <geir.hauge@gmail.com>
-
- 5/22
- ----
-execute_cmd.c
- - shell_execve: if execve fails and we return 127 or 126, make sure to
- set last_command_exit_value if a call to file_error or report_error
- causes the shell to exit. This ensures that the shell exits with
- the right value.
-
- 6/6
- ---
-shell.c
- - drop_priv_mode: print an error message on setuid() failure, optionally
- exit if errno == EAGAIN, as it can be on Linux when RLIMIT_NPROC for
- the target user is exceeded.
-
-config-top.h
- - EXIT_ON_SETUID_FAILURE: new settable define, will cause the shell to
- exit if setuid fails with errno == EAGAIN
-
- 6/10
- ----
-parse.y
- - time_command_acceptable: fix so time is accepted everywhere the
- grammar is looking for a `compound_list'. Fixes bug reported by
- Dale Worley <worley@alum.mit.edu>
-
- 6/12
- ----
-subst.c
- - clear_fifo_list: new function, clears FDs associated with open pipes
- in current FIFO list without closing the file descriptors. Can
- possibly be used when shell_execve fails and the shell jumps back
- to top_level and we don't want the shell to close the open FIFOs
- each time through the read-execute loop. Bug reported by Harald
- Koenig <koenig@tat.physik.uni-tuebingen.de>
-
-
- 6/16
- ----
-builtins/shopt.def
- - compat42: make sure the `compat42' option sets the correct variable
- for compatibility level. Fixes bug reported by Ondrej Oprala
- <ooprala@redhat.com>
-
-support/bashbug.sh
- - fix typo when echoing $USAGE. Report from Shantanu Kulkarni
- <djbware@shantanukulkarni.org>
-
-execute_cmd.c
- - shell_execve: before longjmp back to subshell_top_level, clear out the
- FIFO fd list by calling clear_fifo_list so the FDs (which we inherited
- from our parent) aren't closed every time through the read-eval loop.
- Fix for bug reported by Harald Koenig <koenig@tat.physik.uni-tuebingen.de>
-
- 6/18
- ----
-subst.c
- - extract_process_subst: add additional argument: xflags, allow callers to
- pass flags like extract_command_subst
- - extract_process_subst: call xparse_dolparen like command substitution
- to avoid problems when parsing commands constructs with embedded open
- parens. Fixes bug reported by Tim Friske <me@timfriske.com>
-
-subst.h
- - extract_process_subst: modified prototype for extern declaration
-
- 6/19
- ----
-execute_cmd.c
- - execute_pipeline: if running with lastpipe enabled, make sure that we
- check whether or not the job id is valid using INVALID_JOB before
- calling job_exit_status. the jobs list can get frozen and unfrozen in
- the presence of nested pipelines and loops and wait_for can clear a
- job table entry. Fixes bug reported by <scorp.dev.null@gmail.com>
-
-jobs.c
- - freeze_jobs_list: now returns old value of jobs_list_frozen; unused at
- current time
-
-jobs.h
- - freeze_jobs_list: change return value
-
- 6/20
- ----
-lib/glob/smatch.c
- - MEMCHR: single-byte and wide character defines (memchr/wmemchr)
-
-lib/glob/sm_loop.c
- - GMATCH: when the wildcards are the last element of the pattern, make
- sure they do not match a string containing a `/' if FNM_PATHNAME is
- set in FLAGS
- - GMATCH: when recursively calling GMATCH after we see a `*', don't
- try to consume the rest of the pattern with `*' if FNM_PATHNAME is
- set in FLAGS, just consume up to the next slash and then see whether
- or not the rest of the pattern matches. Fixes bug reported by Ian
- Kelling <ian@iankelling.org>
- - GMATCH: when processing `*' in the pattern, after skipping consecutive
- wildcards, if we hit a literal `/' in the pattern and we're looking
- for a pathname, skip characters in the string until we find a `/'
- (no slash means the match fails), and try to match the rest of the
- pattern against the portion of the string after the next `/'. Picked
- up from gnulib/glibc
-
-pathexp.c
- - split_ignorespec: since split_ignorespec gets globbing patterns,
- make sure we call skip_to_delim with the SD_GLOB flag so delimiters
- that occur within bracket expressions don't delimit the pattern.
- Fixes problem with [[:digit:]] in GLOBIGNORE reported by Ian Kelling
- <ian@iankelling.org>
-
-unwind_prot.c
- - unwind_protect_tag_on_stack: new function, returns 1 if unwind-protect
- frame corresponding to `tag' argument is on unwind-protect stack
-
-unwind_prot.h
- - unwind_protect_tag_on_stack: extern declaration
-
- 6/30
- ----
-lib/readline/misc.c
- - _rl_revert_all_lines: set entry->data to 0 after assigning it to
- rl_undo_list to avoid pointer aliasing problems that would result
- in entry->line being freed by an undo. The subsequent free would
- be a double free. Report and fix from Jared Yanovich
- <slovichon@gmail.com>
-
-subst.c
- - command_substitute: other shells do not appear to inherit the -v
- option when reading and executing command substitutions. Reported
- by Ondrej Oprala <ooprala@redhat.com>
-
- 7/1
- ---
-config-top.h
- - CHECKHASH_DEFAULT: new define that supplies the default value for
- check_hashed_filenames (`checkhash' shopt option); still 0 by default
-
-findcmd.c
- - check_hashed_filenames: initialize using CHECKHASH_DEFAULT
-
-lib/readline/histexpand.c
- - history_expand: double quotes can inhibit recognition of the history
- comment character if history_quotes_inhibit_expansion is non-zero
-
-lib/readline/doc/{history.3,hstech.texi}
- - history_quotes_inhibit_expansion: expand definition to note that it
- inhibits scanning for the history comment character as well; correct
- typo to make it clear that it only works on double-quoted strings
-
-lib/sh/zgetline.c
- - add new fourth argument: DELIM, allows delimiter to be something
- other than newline (if DELIM != '\n', UNBUFFERED_READ should be
- non-zero)
- - UNBUFFERED_READ is now fifth argument
- - check character against DELIM rather than strictly newline
-
-externs.h
- - zgetline: change function prototype for extern declaration
-
-builtins/mapfile.def
- - mapfile: change calling sequence for zgetline calls
- - mapfile_builtin: new -d option: DELIM, like in read builtin
- - mapfile_builtin: pass `delim' to mapfile() as new argument; default
- to '\n' unless -d option supplied
- - mapfile: take new DELIM argument, pass to zgetline
- - mapfile: if DELIM != '\n', set unbuffered_read to 1
-
-doc/{bash.1,bashref.texi}
- - mapfile: document new `-d DELIM' option
-
- 7/5
- ---
-lib/readline/histfile.c
- - history_truncate_file: if there is an error writing the truncated
- history list back to the history file, use the same strategy as
- history_do_write: create a backup file, rename the history file to
- the backup file, and restore the original history file from the
- backup file name if the write or the close fails. Suggestion from
- Chen Gang <gang.chen.5i5j@gmail.com> to bug-readline
-
-execute_cmd.c
- - evalnest, evalnest_max: new variables establishing maximum number of
- recursive `eval' calls; current max is 4096
- - execute_builtin: unwind-protect value of evalnest around calls to
- eval builtin. Suggested by Oliver Morais <oliver.morais@gmail.com>
- - {initialize_subshell,execute_subshell_builtin_or_function}: reset
- evalnest to 0 in a subshell
-
-builtins/setattr.def
- - show_name_attributes: show a variable's attributes even if it's
- invisible (don't show any value since it has none). This means that
- declare -p var will display VAR's attributes even when var marked
- as invisible. Feature request from Peggy Russell
- <prusselltechgroup@gmail.com>
- - show_var_attributes: don't print assignment if array or assoc
- attribute is set but variable marked as invisible
-
-tests/array.right
- - special note: changed all declare -a output tests because the shell
- will no longer print out values for invisible array variables. This
- is a change, but one for correctness:
-
- declare -a foo='()'
- and
- declare -a foo
- are not equivalent
-
- 7/22
- ----
-subst.c
- - parameter_brace_expand: after calling parameter_brace_expand_indir,
- turn off the W_ARRAYIND flag in the word it returns, because there
- is no way for it to return the index that should be used, and the
- rest of the function assumes that IND is valid if W_ARRAYIND is set.
- Fixes bug reported by Corentin Peuvrel <cpeuvrel@pom-monitoring.com>
-
- 8/2
- ---
-parse.y
- - read_token_word: if we read a character that will end a command
- substitution, don't skip over quoted newlines when we read an
- additional character to figure out whether it's a two-character
- token. This lets the higher layers deal with quoted newlines after
- the command substitution. Fixes bug reported by EmanueL Czirai
- <amanual@riseup.net>
-
- 8/11
- ----
-execute_cmd.c
- - execute_pipeline: check whether lastpipe_jid corresponds to a valid
- job before calling append_process, for the same reason as fix from
- 6/19. Fixes bug reported by <lolilolicon@gmail.com>
-
- 8/12
- ----
-lib/sh/unicode.c
- - stub_charset: use strncpy instead of strcpy because we are copying
- into a local fixed-length buffer. Fixes vulnerability reported by
- <romerox.adrian@gmail.com>
-
-execute_cmd.c
- - execute_pipeline: if we don't call append_process, call
- wait_for_single_pid to get the status of `lastpid', since that will
- check the status of already-reaped processes. Fixes spurious error
- message about non-existent process from fix of 8/11
-
- 8/15
- ----
-jobs.c
- - running_in_background: new variable, keeps track of whether or not we
- are running in the background (not perfect yet)
- - initialize_job_control: even if we are not turning on job control,
- get the terminal pgrp so we can use it later
- - {set_job_control,initialize_job_control}: set running_in_background
- to 1 if terminal pgrp != shell pgrp
- - {stop_pipeline,make_child,wait_for}: if we are running in the
- background, don't mess with the terminal's process group; assume that
- the parent shell will do that. Fixes bug reported by Greg Wooledge
- <wooledg@eeg.ccf.org>
-
-shell.c
- - shell_reinitialize: reset running_in_background back to 0
-
- 8/24
- ----
-execute_cmd.c
- - {execute_connection,execute_command_internal}: make sure that
- asynchronous commands always set $? to 0 and are not affected by the
- command's exit status being inverted using `!'. Fixes bug reported
- by Vincent Lefevre <vincent@vinc17.net>
-
-lib/readline/display.c
- - rl_message: call vsnprintf with full msg_bufsiz, since it counts
- one fewer than the buffer length passed as an argument. Bug report
- and fix from Dylan Cali <calid1984@gmail.com>
-
- 8/26
- ----
-builtins/evalstring.c
- - evalstring: if CURRENT_TOKEN == yacc_EOF, reset it to newline. This
- is instead of calling reset_parser(); that might still be needed.
- Fixes bug with eval and a subsequent statement ending with EOF
- reported by <jim.avera@gmail.org>
-
-pcomplete.c
- - filter_stringlist: when extglob is on, a leading ! in the filter
- pattern should be left alone when it introduces a !(pat) pattern;
- otherwise it messes up the pattern. Fixes bug reported by David
- Korn <dgkorn@gmail.com>
-
- 8/27
- ----
-doc/{bash.1,bashref.texi}
- - clarify the behavior of bash when given the -c option, since $0 is
- technically not a positional parameter. Bug reported by Stephane
- Chazelas <stephane.chazelas@gmail.com>
-
- 8/28
- ----
-lib/readline/history.c
- - add_history: use history_max_entries (if history is stifled) or
- DEFAULT_HISTORY_INITIAL_SIZE if not (new define, defaults to 502)
- to size the initial allocation of the history array. Assumption
- is that this will reduce the number of allocations
-
- 8/29
- ----
-execute_command.c:
- - sourcenest, sourcenest_max: new variables used to track level of
- sourced files and (maybe) one day catch infinite source recursion
- - execute_builtin: if current source level exceeds sourcenest_max,
- trigger an error and jump back to the top level
- - {initialize_subshell,execute_subshell_builtin_or_function}: reset
- sourcenest to 0 in a subshell
-
- 9/2
- ---
-variables.c
- - bind_variable: if a nameref expands to an array reference, make
- sure that assign_array_element gets called (maybe even
- recursively) instead of bind_variable_internal, so invalid variable
- names (like arr[0]) don't get created. Fixes bug reported by
- <lolilolicon@gmail.com>
-
- 9/3
- ---
-execute_cmd.c
- - evalnest_max,sourcenest_max: initialize from EVALNEST_MAX and
- SOURCENEST_MAX, respectively. Feature suggested by
- <bogun.dmitriy@gmail.com>
-
-config-top.h
- - define EVALNEST_MAX and SOURCENEST_MAX to 0
-
- 9/6
- ---
-bashline.c
- - find_cmd_start: fix to (crudely) deal with >| token; even though
- skip_to_delim finds `|' as a delimiter, we call it again and use
- what the second call finds. Fixes bug reported by Dan Jacobson
- <jidanni@jidanni.org>
-
-findcmd.c
- - find_in_path_element: if in posix mode, do not expand a literal
- tilde in a $PATH element
-
-doc/bashref.texi
- - add change to tilde expansion in $PATH elements to posix mode
- description
-
-builtins/common.h
- - ISHELP: new define for builtins that do their own option parsing
- and don't use internal_getopt(); checks whether argument is --help
- - CHECK_HELPOPT: convenience define to help builtins that do their
- own option parsing to check for --help with one line of code
- - CASE_HELPOPT: convenience define to help builtins that use
- internal_getopt() check for --help with one line of code
-
-builtins/help.def
- - builtin_help: new function, prints out --help output for current
- builtin
-
-builtins/{kill,let,pushd}.def
- - add CHECK_HELPOPT to builtins that use ISOPTION; call builtin_help
- and return EX_USAGE (kill/let/pushd/popd/dirs)
-
-builtins/{caller,fg_bg}.def
- - use CHECK_HELPOPT to recognize --help, since these builtins perform
- checks that can cause them to return before calling no_options
- (caller/fg/bg)
-
-builtins/{exit,return}.def
- - use CHECK_HELPOPT to recognize --help before calling get_exitstat()
- (return/exit/logout)
-
-builtins/{break,shift}.def
- - use CHECK_HELPOPT to recognize --help before any other checks
- (break/continue/shift)
-
-builtins/bashgetopt.h
- - GETOPT_EOF: convenience define
- - GETOPT_HELP: new define, to indicate internal_getopt saw --help
-
-builtins/bashgetopt.c
- - internal_getopt: return GETOPT_HELP for --help
-
-builtins/common.c
- - no_options: recognize --help, call builtin_help and return 2
- (builtin/eval/source/./times)
-
-builtins/command.def
- - use CASE_HELPOPT() to handle --help after calling internal_getopt()
- (command)
-
-builtins/{colon,echo,test}.def
- - do not recognize --help (:/true/false/echo/test)
-
- 9/8
- ---
-sig.c
- - termsig_sighandler: if readline is active now, set the bashline event
- hook. Old code just set it for interactive shells. Part of fix for
- bug reported by <mickael9@gmail.com>
-
-bashline.c
- - bash_event_hook: call rl_cleanup_after_signal if terminating_signal
- is non-zero, since check_signals_and_traps() will cause the shell to
- exit if it is and we want to clean up the readline state first. Rest
- of fix for bug reported by <mickael9@gmail.com>
-
- 9/9
- ---
-jobs.c
- - waitchld: when running the wait builtin in posix mode, with a trap set
- on SIGCHLD, use queue_sigchld_trap instead of trap_handler (SIGCHLD),
- otherwise you will lose SIGCHLDs when children_exited > 1. Fixes bug
- reported by <crispusfairbairn@gmail.com>
-
-builtins/read.def
- - read_builtin: if we are changing the tty settings, call
- initialize_terminating_signals so we have a chance to catch all
- terminating signals and potentially clean up the terminal before
- exiting
- - read_builtin: tty_modified: new variable, set to 1 if we change the
- terminal attributes and have to call ttyrestore() to restore them
- - if one of the `reads' returns -1/EINTR due to a terminating signal,
- and we have modified the terminal, call ttyrestore before calling
- CHECK_TERMSIG
- - ttyrestore: set tty_modified to 0 when called
-
- 9/10
- ----
-builtins/read.def
- - termsave: now global to file so other functions can use it
- - read_tty_cleanup: if tty_modified is non-zero, call ttycleanup to
- restore old terminal settings and turn off tty_modified
-
-sig.c
- - termsig_handler: call read_tty_cleanup if currently executing read
- builtin; it does the right thing. Final piece of fix for bug reported
- by Jan Rome <jan.rome@gmail.com>
-
- 9/11
- ----
-general.c
- - printable_filename: general function to return a printable
- representation of a string (presumed to be a filename)
-
-general.h
- - extern declaration for printable_filename
-
-execute_cmd.c
- - execute_disk_command: use printable_filename
-
-builtins/{bind,cd,enable,hash,source}.def
- - use printable_filename as appropriate when printing error messages.
- From a suggestion by Vincent Lefevre <vincent@vinc17.net>
-
-builtins/bind.def
- - use CASE_HELPOPT() to handle --help after calling internal_getopt()
- (bind)
-
- 9/12
- ----
-builtins/common.h
- - SEVAL_FUNCDEF: new flag for parse_and_execute; it means that we only
- accept a single function definition command, as when we are importing
- functions from the environment
- - SEVAL_ONECMD: new flag for parse_and_execute; for future use
-
-builtins/evalstring.c
- - parse_and_execute: if the SEVAL_FUNCDEF flag is set, disallow anything
- but a function definition command
-
-variables.c
- - initialize_shell_variables: don't allow functions with invalid names
- to be imported from the environment, even though we still allow them
- to be defined
- - initialize_shell_variables: when importing function definitions from
- the environment, call parse_and_execute with the SEVAL_FUNCDEF flag
- to force the command to be just a function definition
-
-subst.c
- - param_expand: when expanding a $name variable expansion, make sure that
- the variable is visible and set before following the nameref chain
- - param_expand: when expanding a $name variable expansion and following the
- nameref chain, make sure the resulting variable is visible and set
- before using it
-
- 9/13
- ----
-variables.c
- - initialize_shell_variables: when importing function definitions from
- environment, use SEVAL_ONECMD flag for parse_and_execute. Part of
- CVE-2014-6271
-
-builtins/evalstring.c
- - parse_and_execute: if SEVAL_ONECMD flag set, return immediately after
- calling execute_command_internal. Final piece for fix for bug
- reported by Stephane Chazelas <stephane.chazelas@gmail.com>. Part of
- CVE-2014-6271
-
- 9/24
- ----
-parse.y
- - reset_parser: reset eol_ungetc_lookahead to 0 here, since we don't want
- shell_getc returning it on the next call. Fixes problem reported by
- Tavis Ormandy <taviso@cmpxchg8b.com> and Michal Zalewski
- <lcamtuf@coredump.cx>. Potentially part of CVE-2014-6271; fix for
- CVE-2014-7169
-
- 9/25
- ----
-parse.y
- - push_heredoc: new function, pushes a here-doc redirection onto
- redir_stack handling overflow of redir_stack. Exits on overflow.
- Original fix from Florian Weimer <fweimer@redhat.com>. Fix for
- CVE-2014-7186
- - change straight assignments to redir_stack to call push_redir
- - add one to size of word_lineno stack to avoid off-by-one error
- below in read_token_word. Overflow just results in line numbers
- being wrong. Fix for CVE-2014-7187
-
- 9/27
- ----
-{execute_cmd,trap}.c
- - changes to make minimal-config builds work again, mostly missing
- #ifdefs for optional features
-
-builtins/common.c
- - builtin_help: dummy version to be included if HELP_BUILTIN not
- defined, for minimal-config builds
-
-variables.c
- - initialize_shell_variables: incorporated patches from Florian
- Weimer <fweimer@redhat.com> to change the strings bash looks
- for when importing shell functions from the environment. It
- adds a prefix (BASH_FUNC_) and a suffix (%%) to the name to
- mark it as having been created by bash as an exported function.
- Fix for remote attacks part of CVE-2014-6271 and CVE-2014-7169
- - mk_env_string: takes new argument, indicating whether we are
- constructing a function
- - mk_env_string: encodes function names as described above, so
- initialize_shell_variables can find them
-
- 9/28
- ----
-copy_cmd.c
- - copy_redirects: before calling savestring on here_doc_eof, make
- sure it's not NULL (it could have been the result of a here
- document delimited by EOF or EOS). Fixes bug reported by
- Michal Zalewski <lcamtuf@coredump.cx>. Fix for CVE-2014-6277
-
-make_cmd.c
- - make_redirection: initialize here_doc_eof member to NULL. Rest of
- fix for CVE-2014-6277
-
- 9/29
- ----
-parse.y
- - current_input_line_state: return a sh_input_line_state_t containing
- the current shell_input_line and its index and size variables
-
-shell.h
- - current_input_line_state: extern declaration
-
-builtins/evalstring.c
- - parse_and_execute: call reset_parser() before returning if
- SEVAL_ONECMD set. Fixes bug reported by Michal Zalewski
- <lcamtuf@coredump.cx> and designated CVE-2014-6278
- - parse_and_execute: if we parse a function definition when
- SEVAL_FUNCDEF is set, but don't consume the entire passed string,
- throw an error, reset the parser, and return. Part of fix for
- CVE-2014-6278
- - parse_and_execute: if parsing the shell function definition when
- SEVAL_FUNCDEF is set transforms the function name (e.g., if it
- begins with a newline or begins or ends with whitespace), throw
- an error, reset the parser, and return. Fixes bug reported by
- Eric Kobrin <ekobrin@akamai.com>
-
- 10/2
- ----
-jobs.c
- - bgp_prune: don't do anything if bgpids.npid == 0 or
- bgpids.list == NULL. This can happen if something gets run before
- the job control framework is initialized. Bug report from
- <mancha1@zoho.com>
-
- 10/3
- ----
-parse.y
- - xparse_dolparen: don't set token_to_read to newline after calling
- parse_string() and cleaning up when the shell is not interactive. This
- makes the parser think it's ok to read new commands even if it's not in
- a state where that should be possible. Underlying fix for bug reported
- by Michal Zalewski <lcamtuf@coredump.cx> and designated CVE-6278
- - parser_remaining_input: new function, returns the portion of
- shell_input_line that hasn't yet been read
- - current_input_line_state: removed
-
-shell.h
- - parser_remaining_input: extern declaration
- - current_input_line_state: removed
-
-builtins/evalstring.c
- - parse_and_execute: change code that checks whether parse_command has
- consumed the entire passed string when SEVAL_FUNCDEF is used to use
- parser_remaining_input instead of messing around with (new)
- current_input_line_state. Part of fix for CVE-2014-6278
-
-variables.c
- - initialize_shell_variables: if we don't call parse_and_execute, free
- the temporary string, since parse_and_execute won't. Report and fix
- from Eric Kobrin <ekobrin@akamai.com>
-
- 10/4
- ----
-print_cmd.c
- - print_function_def: when in posix mode, print shell function
- definitions as posix specifies them, without the leading
- `function' keyword
-
-general.c
- - exportable_function_name: return 1 if the passed string can be
- added to the environment as an exported function name. Currently
- prohibits function names containing `/' and `=' from being
- exported
-
-general.h
- - exportable_function_name: extern declaration
-
-builtins/setattr.def
- - set_or_show_attributes: if exporting a function with export -f,
- call exportable_function_name to determine whether the function
- should be exported; don't export function if it returns 0
-
- 10/7
- ----
-builtins/setattr.def
- - set_or_show_attributes: don't show identifiers that are invisible
- and imported from the environment, since that combination of
- attributes means that the imported variable is not a valid shell
- identifier. Report from Stephane Chazelas
- <stephane.chazelas@gmail.com>
-
- 10/8
- ----
-shell.c
- - shell_initialize: set new variable should_be_restricted, which
- says whether or not the shell will be a restricted one based on the
- shell name; use in calls to initialize_shell_variables (to inhibit
- importing shell functions) and initialize_shell_options (to inhibit
- parsing $SHELLOPTS) and initialize_bashopts (to inhibit parsing
- $BASHOPTS). Report from <paulfm@umn.edu>
-
- 10/12
- -----
-execute_cmd.c
- - execute_function: unwind-protect loop_level, set loop_level to 0
- when entering a function so break and continue in functions don't
- break loops running outside of the function. Fix picked up from
- dash via Herbert Xu <herbert@gnodor.apana.org.au>
-
- 10/13
- -----
-doc/Makefile.in
- - bashref.pdf: create using texi2dvi --pdf rather than postprocessing
- the dvi file, so we have PDF bookmarks and links. Fix from
- Siep Kroonenberg <siepo@cybercomm.nl>
-
- 10/14
- -----
-subst.h
- - Q_ARITH: new quoting flag. Semantics are per Posix's spec for
- arithmetic expansion: act as if string is quoted, but don't treat
- double quotes specially (in this case, they will be removed by quote
- removal)
- - Q_ARRAYSUB: new quoting flag, indicates we are expanding an indexed
- array subscript
-
-subst.c
- - expand_arith_string: if we are not expanding the string, but we saw
- a quote with Q_ARITH specified as one of quoting flags, perform
- quote removal even if Q_DOUBLE_QUOTES is specified
- - param_expand: change calls to expand_arith_string for $[ and $((
- cases to specify Q_ARITH. Now $(( "$x" )) and $(( "x" )) work if x
- has a value that evaluates to a valid number, as Posix specifies
- - expand_word_internal: add test for quoted&Q_ARITH to the tilde case,
- so we continue to perform tilde expansion in arithmetic contexts
- - expand_word_internal: if quoted&Q_ARITH, continue processing when we
- see a `"', acting as if the double quote isn't present (already
- Q_DOUBLE_QUOTED)
-
-arrayfunc.c
- - array_expand_index: pass Q_DOUBLE_QUOTED|Q_ARITH|Q_ARRAYSUB as quoted
- argument in call to expand_arith_string. This inhibits word
- splitting (Q_DOUBLE_QUOTED) while discarding double quotes (Q_ARITH),
- identical to the quote flags passed while expanding $(( )) and $[ ].
- Q_ARRAYSUB reserved for future use. Fixes problem reported by
- Stephane Chazelas <stephane.chazelas@gmail.com>
-
- 10/16
- -----
-subst.c
- - parameter_brace_expand_word: if the PF_ASSIGNRHS flag is set and we
- are expanding what looks like an array subscripted with @ or *,
- make sure the variable we're expanding is actually an array before
- we add Q_DOUBLE_QUOTES to the flags. If we don't, things like
- scalar[@] will remain quoted. Fixes ubuntu bug 1381567
- https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1381567
-
- 10/17
- -----
-{jobs,nojobs}.c
- - get_original_tty_job_signals: get original signal dispostions for
- SIGTSTP, SIGTTIN, SIGTTOU before we start manipulating them in
- make_child
- - default_tty_job_signals: make sure we set SIGTSTP, SIGTTIN, or
- SIGTTOU to SIG_IGN if they were ignored at shell startup instead of
- unconditionally setting them to SIG_DFL. Fixes bug reported by
- idallen@idallen.ca
-
-jobs.h
- - get_original_tty_job_signals: extern declaration
-
-trap.c
- - initialize_traps: add call to get_original_tty_job_signals
-
- 10/22
- -----
-subst.c
- - expand_string_for_rhs: when expanding in this context (rhs of a word
- expansion or pattern removal), we don't perform word splitting, so
- we don't want to split $* if IFS is empty. Fixes bug reported by
- Stephane Chazelas <stephane.chazelas@gmail.com>
-
- 10/23
- -----
-subst.c
- - param_expand: when expanding $* in a pattern context where the
- expansion is quoted (Q_PATQUOTE), don't quote the expansion --
- the outer quotes don't make the characters in the expansion of
- $* special. Posix interp 221. Reported by Stephane Chazelas
- <stephane.chazelas@gmail.com>
-
- 10/28
- -----
-lib/readline/bind.c
- - enable-bracketed-paste: new bindable variable, enables support for
- a terminal's `bracketed paste mode'. Code contributed by
- Daniel Colascione <dancol@dancol.org>
-
-doc/bash.1,lib/readline/doc/{readline.3,rluser.texi}
- - enable-bracketed-paste: add description
-
-lib/readline/{readline.c,rlprivate.h}
- - _rl_enable_bracketed_paste: declarations
- - #defines for use by bracketed paste implementation
-
-lib/readline/rltty.c
- - rl_prep_terminal: send BRACK_PASTE_INIT string to terminal if we
- are supposed to enable bracketed-paste mode; change terminal_prepped
- to indicate we sent that string and need to clean up
- - rl_deprep_terminal: if terminal_prepped indicates we sent the
- bracketed-paste mode init string to the terminal, send the cleanup
- string before restoring the terminal modes
-
-lib/readline/kill.c
- - rl_bracketed_paste_begin: function to read bracketed paste until
- BRACK_PASTE_SUFF; discard the suffix, and insert the rest of the
- paste as a single (undoable) object. Bound to BRACK_PASTE_PREF
-
-lib/readline/funmap.c
- - bracketed-paste-begin: new bindable command, executes
- rl_bracketed_paste_begin
-
-lib/readline/readline.c
- - bind_bracketed_paste_prefix: new function, sets up to recognize
- the bracketed paste prefix sequence (BRACK_PASTE_PREF) in emacs
- keymap and vi insertion keymap
- - readline_initialize_everything: call bind_bracketed_paste_prefix
-
- 11/1
- ----
-builtins/ulimit.def
- - RLIMIT_POSIXLOCKS: now synonym for RLIMIT_LOCKS
- - -k: new option: RLIMIT_KQUEUES, max kqueues allocated for this
- process
- - -P: new option: RLIMIT_NPTS, max number of pseudoterminals available
- to this process
-
-doc/{bash.1,bashref.texi}
- - document `ulimit -k' option
- - document `ulimit -P' option
-
-parse.y
- - `timespec list_terminator' production: if the list terminator is `;'
- set last_read_token to `;' to allow things like `time ; command' to
- time null commands and not throw a syntax error. Patch from
- Piotr Grzybowski <narsil.pl@gmail.com>
- - `BANG list_terminator' production: do the same thing
-
-variables.c
- - sv_optind: use find_shell_variable and get_variable_value so we can
- have the variable's context in the case we need to do something
- when we are restoring a previous variable context's value
-
-builtins/getopt.h
- - sh_getopt_state_t: struct to save sh_getopt's internal state so we
- can restore it around function calls in the event that we have a
- local copy of OPTIND
-
-builtins/getopt.[ch]
- - sh_getopt_{save,restore}_istate: new functions to save and restore
- getopt's internal state
- - sh_getopt_{alloc,dispose}_istate: new functions to allocate and
- deallocate sh_getopt_istate_t objects
-
-execute_cmd.c
- - maybe_restore_getopt_state: restore sh_getopt state after executing
- function body iff the funtion declared a local copy of OPTIND
- - execute_function: save sh_getopt state before executing function body
- - execute_function: note in getopt_state->flags whether or not the
- function declared a local copy of OPTIND; used by
- maybe_restore_getopt_state
- - execute_function: maybe restore sh_getopt state before returning via
- call to maybe_restore_getopt_state. Fixes bugs with getopts and
- state between calls reported in 2011 by Bernd Eggink
- <monoped@sudrala.de> and in 2014 by Oyvind Hvidsten
- <oyvind.hvidsten@dampir.no>
-
-configure.ac
- - enable-function-import: new option, controls whether function imports
- are included. Enabled by default. Patch from David Galos
- <davegalos@google.com>
-
-config.h.in
- - FUNCTION_IMPORT: define controlled by enable-function-import above
-
-variables.c
- - initialize_shell_variables: include code to import function
- definitions from the environment if FUNCTION_IMPORT is defined
-
-doc/bashref.texi
- - --enable_function-import: document new configuration option
-
- 11/5
- ----
-lib/readline/history.c
- - history_lines_read_from_file: new variable, set by read_history and
- read_history_range to the actual number of lines read from the
- history file. The value is valid immediately after a call to one
- of those functions
- - history_lines_written_to_file: new variable, set by write_history,
- history_do_write, and history_truncate_file to the actual number of
- lines written to the history file. The value is valid immediately
- after a call to one of those functions
-
-variables.c
- - sv_histsize: set history_lines_in_file after history_truncate_file()
- only if hmax < history_lines_in_file (lines we've already read); a
- cosmetic change only
-
-bashhist.c
- - load_history: set history_lines_in_file after read_history() from
- history_lines_read_from_file, since read_history reads all of the
- lines from the history file even if it's more than $HISTSIZE
- - maybe_save_shell_history: after calling write_history(), set
- history_lines_in_file to history_lines_written_to_file, since we
- can assume that we read everyhing we just wrote
-
-builtins/history.def
- - history_builtin: after calling read_history (history -r), set the
- new value of history_lines_in_file, for the same reason as above
- - history_builtin: after calling read_history_range (history -n), set
- history_lines_in_file from history_lines_read_from_file
-
- 11/6
- ----
-lib/readline/histfile.c
- - history_truncate_file: since we move the old file to a backup copy
- before truncating, make sure the new file is owned by the same uid
- as the old
- - history_do_write: use chown in the same way as history_truncate_file
-
- 11/12
- -----
-lib/readline/display.c
- - expand_prompt: takes a new `flags' argument; only one flag defined
- so far: PMT_MULTILINE
- - expand_prompt: changed all callers to add new flags argument
- - rl_expand_prompt, redraw_prompt: make sure to set PMT_MULTILINE in
- FLAGS argument to expand_prompt if expanding parts of a prompt
- containing embedded newlines
- - expand_prompt: only add mode char to last line of a prompt with
- embedded newlines, so mode indicator doesn't get lost and gets
- updated properly. Fixes problem reported by Renlin Li
- <lirenlin@gmail.com>
-
- 11/13
- -----
-
-lib/readline/display.c
- - prompt_modestr: changed prompt_modechar to return a string denoting
- the editing mode; default strings for emacs and both vi modes are
- #defines in this file. prompt_modestr takes an argument in which
- it returns the length of the mode string
- - expand_prompt: if expanding mode strings in the prompt, get the
- mode string to use and add it at the beginning of the prompt string,
- before expanding it. This will allow future work allowing the mode
- string to contain invisible characters
-
- 11/15
- -----
-lib/readline/rlprivate.h
- - _rl_{emacs,vi_cmd,vi_ins}_mode_str: extern declarations for
- variables to hold current values of user-settable mode strings;
- variables to hold lengths
-
-lib/readline/rlconf.h
- - defines for default values of the mode strings for each editing mode
- and keymap
-
-lib/readline/display.c
- - _rl_{emacs,vi_cmd,vi_ins}_mode_str: new variables to hold values of
- user-settable mode strings
- - _rl_{emacs,vi_cmd,vi_ins}_modestr_len: new variables to hold lengths
- of corresponding mode string variables
- - prompt_modestr: return appropriate user-settable mode string
- variables
-
-lib/readline/bind.c
- - {emacs,vi-ins,vi-cmd}-mode-string: new user-settable mode string
- variables
- - sv_{emacs,viins,vicmd}_modestr: variable handling functions for user-
- settable mode string variables. Non-null values are run through
- rl_translate_keyseq so users can include invisible character
- sequences in the mode strings; null values restore the default
- - _rl_get_string_variable_value: handle values for new user-settable
- mode string variables. Original code contributed by Dylan Cali
- <calid1984@gmail.com>
-
-lib/readline/doc/rluser.texi
- - {emacs,vi-ins,vi-cmd}-mode-string: document, including the fact that
- you can use \1 and \2 to bracket sequences of non-printing
- characters
-
- 11/16
- -----
-lib/readline/history.c
- - add_history: replace loop that copies history list down one item
- with call to memmove to take advantage of whatever efficiencies
- libc can offer. Won't be any slower than current loop
-
-lib/readline/display.c
- - rl_redraw_prompt_last_line: new function, calls redraw_prompt if
- the prompt contains multiple lines; calls rl_forced_update_display
- if not
-
-lib/readline/readline.h
- - rl_redraw_prompt_last_line: extern declaration, undocumented in
- texinfo manual until I get it a little more work
-
-bashline.c
- - bash_execute_unix_command: instead of unconditionally calling
- rl_forced_update_display, call rl_redraw_prompt_last_line if we
- cleared the last line before executing the command. This keeps
- commands that don't display any other output but just manipulate
- the contents of the line buffer from redisplaying the prompt lines
- before the last newline multiple times. Fixes bug reported by
- Jesper Nygards <jesper.nygards@gmail.com> and Rob Foehl
- <rwf@loonybin.net>. This means that commands that display output
- will *only* display the final line of the prompt
- - bash_execute_unix_command: if the command returns 124, we redraw
- the line unconditionally, including all lines of the prompt
-
- 11/18
- -----
-builtins/mapfile.def
- - mapfile_builtin: don't allow a valid array reference through to
- mapfile(), since it will just create a shell variable with that name.
- Bug and fix from Eduardo A. Bustamante López <dualbus@gmail.com>
-
- 11/19
- -----
-lib/readline/complete.c
- - _rl_colored_completion_prefix: new variable, if non-zero, and color
- support is compiled in, and the $LS_COLORS variable exists and
- contains color definitions, display any common prefix of a set of
- completions in blue when displaying all the possible completions.
- Doesn't work with menu-complete, which inserts possible completions
- inline
- - colored_prefix_start(), colored_prefix_end(): new functions, used to
- bracket colored completion prefixes
- - fnprint: if prefix_bytes is non-zero, and _rl_colored_completion_prefix
- is > 0, display the first PREFIX_BYTES bytes of the word bracketed
- by calls to colored_prefix_start and colored_prefix_end
- - print_filename: if _rl_colored_completion_prefix is > 0, compute the
- length in bytes of the common prefix and pass that to fnprint
-
-lib/readline/readline.c
- - readline_initialize_everything: initialize the colors from $LS_COLORS
- if _rl_colored_completion_prefix is non-zero
-
-lib/readline/colors.c
- - _rl_print_prefix_color: new function, changes text color to that
- defined for the common prefix of a set of possible completions
- (currently cyan, same as directories); currently uses C_PREFIX,
- defined in colors.h as C_DIR
-
-lib/readline/colors.h
- - _rl_print_prefix_color: new extern declaration
-
-lib/readline/bind.c
- - colored-completion-prefix: new bindable variable, if set, common
- prefix of a set of possible completions is displayed in color.
- Feature requested by several, most recently by Richard Neill
- <rn214@richardneill.org> (in a slightly different form) and
- Duy Nguyen <pclouds@gmail.com>
-
- 11/20
- -----
-builtins/printf.def
- - printf_builtin: allow null (empty) format strings supplied with
- -v var to set `var' to the empty string. That is, printf -v var ""
- is now the same as var="". Change suggested by Mike Frysinger
- <vapier@gentoo.org>
-
-pathexp.h
- - FNMATCH_NOCASEGLOB: macro to decide whether or not to pass
- FNM_CASEFOLD flag to strmatch depending on whether glob_ignore_case
- is set; analogout to FNMATCH_IGNCASE
-
-pathexp.c
- - glob_name_is_acceptable: use FNMATCH_NOCASEMATCH to determine flags
- passed to strmatch; if nocaseglob is used to generate glob matches,
- it should be used to generate ignored matches
-
- 11/21
- -----
-pcomplete.c
- - filter_stringlist: the call to strmatch now honors the setting of
- nocasematch. Feature request from Ville Skytta <ville.skytta@iki.fi>
- back in 2010
-
-doc/bash.1,lib/readline/doc/rluser.texi
- - complete -X: document that filtering the list of possible completions
- honors the nocasematch option when performing matching
-
-lib/glob/gmisc.c
- - include chartypes.h and strmatch.h for new defines
- - match_pattern_{wchar,char}: now take new third FLAGS argument, flags
- have same meanings as strmatch(); intent is to handle case
- insensitive comparisons under same conditions as strmatch
- - FOLD: imported case-folding define from sm_loop.c; wide and single-
- byte character versions
- - match_pattern_{wchar,char}: use FOLD when comparing characters to
- honor FNM_CASEFOLD if set in FLAGS argument
-
-externs.h
- - match_pattern_{wchar,char}: updated extern declarations
-
-subst.c
- - match_{upattern,wpattern}: update strmatch/wcsmatch calls to include
- FNMATCH_IGNCASE in flags argument
- - match_{upattern,wpattern}: update match_pattern_{char,wchar} calls
- to include FNMATCH_IGNCASE in flags argument (consistent with calls
- to strmatch). This makes pattern substitution word expansion honor
- nocasematch shell option. Feature requested by Davide Baldini
- <baldiniebaldini@gmail.com>
- - match_wpattern: make sure to fold case if necessary when doing simple
- matching
-
-doc/{bash.1,bashref.texi}
- - pattern substitution: updated description to include honoring setting
- of nocasematch when performing matching
-
-subst.c
- - expand_word_internal: optimize handling of "$@" idiom by calling
- list_rest_of_args() and quote_list() directly at the top of the
- function instead of going through normal code path
- - cached_quoted_dollar_at: WORD_LIST of quoted positional parameters,
- used by same code above that optimizes "$@"; if non-null we just
- return a copy of the list; if null, we save a copy of the list we
- create
- - invalidate_cached_quoted_dollar_at: convenience function to allow
- other parts of the shell (e.g., remember_args()) to destroy the
- cached list of quoted positional parameter when the positional
- parameters change
-
-builtins/common.c
- - remember_args: call invalidate_cached_quoted_dollar_at()
-
-builtins/shift.def
- - shift_builtin: call invalidate_cached_quoted_dollar_at after modifying
- dollar_vars[]
-
-builtins/source.def
- - maybe_pop_dollar_vars: call invalidate_cached_quoted_dollar_at just
- to be safe
-
- 11/23
- -----
-builtins/evalfile.c
- - _evalfile: return -1 if errno == ENOENT and the flags don't include
- FEVAL_ENOENTOK. If we print an error message we should return an
- error
- - force_execute_file: new function, reads and executes commands from
- a file but returns an error if file doesn't exist
-
-builtins/common.h
- - force_execute_file: new extern declaration
-
-shell.c
- - main: call start_debugger even if dollar_vars[1] == 0 if the shell
- isn't interactive (interactive_shell == 0)
- - start_debugger: call force_execute_file instead of maybe_execute_file;
- turn off debugging mode if it returns value < 0
-
- 11/24
- -----
-hashlib.h
- - DEFAULT_HASH_BUCKETS: doubled to 128, cost in memory use is small but
- changes traversal order when not sorting results
-
- 11/25
- -----
-doc/{bash.1,bashref.texi}
- - make it clearer, by breaking it out into a separate paragraph, that
- referencing an array without a subscript is equivalent to referencing
- it with subscript 0
- - add text saying that referencing any variable using a valid subscript
- is OK
-
- 11/28
- -----
-
-arrayfunc.c
- - bind_array_variable, bind_assoc_variable: allow binding value to a
- readonly variable if the ASS_FORCE flag is set in the FLAGS
- argument
-
-subst.h
- - ASS_FORCE: new assignment flag; means to allow assignment even if
- variable is marked readonly
-
-builtins/declare.def
- - when assigning a value to an array or assoc variable using
- something like `declare -r foo=bar' where foo is an existing array
- variable, pass the ASS_FORCE to assign_array_var_from_string so
- the assignment is allowed. Fixes debian bug 765759
- http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=765759
-
-builtins/setattr.def
- - var_attribute_string: new function to return (as argument) a char
- array with attribute flag values for a given variable; returns the
- length of the array
-
-lib/sh/shquote.c
- - sh_quote_reusable: function returning a version of its string
- argument that is quoted for reuse
-
-externs.h
- - sh_quote_reusable: extern declaration
-
-builtins/common.h
- - MAX_ATTRIBUTES: define used to size arrays for attribute flag
- characters
- - var_attribute_string: new extern function declaration
-
-subst.c
- - array_remove_pattern: fixed a bug where `var' instead of `v' was
- tested for invisible attribute
- - get_var_and_type: fill in a valid *VARP if returning VT_VARIABLE
- because callers may need to use it
- - parameter_brace_transform: family of functions to implement the new
- mksh-inspired ${param@spec} transformation word expansions. Some
- of the operators transform the (expanded) value of the parameter,
- the rest expand to information about the parameter itself
- (array_transform, parameter_list_transform, list_transform,
- string_transform, pos_params_assignment, array_var_assignment,
- string_var_assignment)
- - parameter_brace_expand: changes to parse the new `@' word expansion
- operator and call parameter_brace_transform appropriately
- - parameter_brace_expand: make sure we handle ${#@} as we have before
- even in the presence of the new `@' operator
-
-variables.c
- - push_temp_var: make sure to call bind_variable_internal with the
- ASS_FORCE flag so we override readonly variables created with
- something like `tempvar=foo declare -r foo'.
- - bind_variable_internal: honor ASS_FORCE flag to allow binding even
- if a variable is readonly
-
-execute_cmd.c
- - struct func_array_state: new state to save state of BASH_LINENO,
- BASH_SOURCE, and FUNCNAME during function execution so it can be
- restored on a jump to top level
- - restore_funcarray_state: new function to restore func_array_state
- - execute_function: fill in func_array_state variable, add unwind-
- protect to restore it on jump to top level, call explicitly at
- end of function if subshell != 0 (may not be necessary, but safe
- for now). Fixes bug with local assignments to FUNCNAME reported
- by Arfrever Frehtes Taifersar Arahesis <arfrever.fta@gmail.com>
-
- 11/29
- -----
-arrayfunc.c
- - assign_compound_array_list: turn off ASS_APPEND flag when processing
- each individual assignment inside the parens in var+=(...). The
- outer += should not affect assignments to existing subscripts;
- those should be treated like usual assignments unless += supplied
- inside the parens. Bug report from Maarten Billemont
- <lhunath@lyndir.com>, fix from Eduardo A. Bustamante López
- <dualbus@gmail.com>
-
-config.h.in
- - HAVE_PSELECT: define if pselect(2) available
-
-configure.ac
- - check for pselect(2), define HAVE_PSELECT if found
-
-lib/readline/input.c
- - rl_getc: use pselect(2) to wait for input ready on readline's
- input fd or for a signal to arrive, will handle SIGWINCH (which
- does not interrupt read(2)) and thus allow resize to happen without
- having to wait to read more input. Only works if pselect available
- and returns -1/EINTR on a signal even if the signal was installed
- with SA_RESTART. From a suggestion from Egmont Koblinger
- <egmont@gmail.com>
-
- 12/3
- ----
-variables.c
- - flush_temporary_env: new function, disposes all temp variables in
- temporary_env hash table
- - bind_variable: only try to update a temporary variable's value in the
- temporary env if the value argument is not null. Fixes bug reported
- by <tangqinghao@360.cn>
-
-variables.h
- - flush_temporary_env: new extern declaration
-
-subst.c
- - command_substitute: if running command substitution as part of
- expanding a redirection (expanding_redir == 1), flush any temporary
- environment we've inherited as part of this command, since we are not
- supposed to have access to the temporary environment. Since
- expanding_redir only controls access to the temporary environment for
- variable lookup and binding, we can turn it off in the subshell
-
- 12/4
- ----
-builtins/printf.def
- - printstr: make sure a missing precision specifier after a `.' is
- treated as 0, as printf(3) specifies. Fixes ubuntu bash bug
- 1399087 (https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1399087)
-
- 12/5
- ----
-subst.c
- - skip_to_delim: if scanning past process substitution (skipcmd == 1,
- noprocsub == 0), use extract_delimited_string instead of
- extract_process_subst, which was changed a while back (bash-4.3.23)
- to use xparse_dolparen. xparse_dolparen complains if the command
- or process substitution is unterminated, since it runs the parser,
- which is not what we want here. Command substitution does the same
- thing. Fixes bug reported by Daniel Kahn Gillmor
- <dkg@fifthhorseman.net> as Debian bash bug 771968
- (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=771968)
-
- 12/6
- ----
-subst.c
- - command_substitute: short-circuit without forking on a command string
- that consists entirely of <blank>s and newlines
-
-jobs.c
- - make_child: changes to allow interrupts through if fork fails and
- we are sleeping for `forksleep' seconds
- - waitchld: make things a little more resilient if CHILD ends up NULL
-
- 12/12
- -----
-lib/readline/complete.c
- - rl_display_match_list: when calculating common prefix to display in
- color, make sure we correctly handle a common prefix with a trailing
- `/' as we do when checking whether or not to add an ellipis.
- printable_part() doesn't return the whole pathname if it ends in a
- slash, to avoid printing null strings, so we have to make sure we
- have the entire prefix
-
-lib/readline/complete.c
- - _rl_complete_display_matches_interrupt: new variable, set to 1 by
- _rl_complete_sigcleanup to let rl_display_match_list know it has
- freed the match list
- - display_matches: check for signals during the printing loops with
- RL_SIG_RECEIVED(), return immediately if there is a pending signal
- (might not want to do this if it's SIGWINCH -- CHECK)
- - rl_complete_internal: if _rl_complete_display_matches_interrupt
- set after calling display_matches, just null out `matches' since
- it's already been freed and call any application-set signal hook
-
- 12/14
- -----
-parse.y
- - time_command_acceptable: if the token before a newline is `|',
- return 0, since it's not really valid to time inside a pipeline.
- Only handles a single newline but allows things like
- echo a |
- time cat
- to invoke /usr/bin/time, which is probably enough to catch the
- stray carriage return. Fixes bug reported by Andre Majorel
- <aym-ung@teaser.fr>
-
-builtins/declare.def
- - declare_internal: don't try to perform compound assignments unless
- the WORD_DESC has flags including W_COMPASSIGN (maybe should check
- W_ASSIGNMENT as well), avoiding unexpected evaluation if a word
- is of the form (word) and is assigned to an array variable like so:
- declare -x var=$value. Bug reported by Stephane Chazelas
- <stephane.chazelas@gmail.com>. Will eventually be contingent on
- compatibility level > 43, but not there yet. TENTATIVE
-
- 12/15
- -----
-lib/sh/Makefile.in
- - add missing dependencies for shmatch.o. Pointed out by Sergey
- Mikhailov <sergey.mikhailov@gmail.com>
-
- 12/16
- -----
-{execute_cmd,subst}.c
- - W_ASSIGNINT: remove, not used any more
-
-execute_cmd.c
- - fix_assignment_words: don't look for `-i' option and set W_ASSIGNINT
- flag any more; doing things a different way
- - shell_expand_word_list: instead of using W_ASSIGNINT flag, since it
- doesn't take into account all options that can transform values on
- assignment (-l/-u/-c can also), go through option arguments looking
- for options that need special handling and add them to the `opts'
- array for make_internal_declare to use. Fixes bug with constructs
- like `declare -al foo=(UPONE UPTWO UPTHREE)' not being lowercased on
- assignment reported by Linda Walsh <bash@tlinx.org>
-
-
-
- 12/18
- -----
-lib/readline/readline.c
- - rl_internal_char: when we read EOF on a non-empty line, check for
- signals and invoke any readline signal handling and any application-
- installed signal hook
-
- 12/20
- -----
-lib/readline/readline.c
- - rl_internal_char: if we read EOF on a non-empty line, set c to
- _rl_eof_char the first time through. If we read EOF the next time,
- return EOF from readline(). If callbacks are defined, this returns
- EOF immediately, since lastc isn't available. Fix for problem
- most recently identified by Jiri Kukacka <jiri.kukacka@orcle.com>,
- it has come up in the past
-
- 12/21
- -----
-builtins/declare.def
- - declare_internal: keep track of whether or not an assignment statement
- argument to declare is an array subscript assignment; need to
- differentiate assignments from straight declarations (declare a[4])
- which are accepted for backwards compatibility
- - assignment statements like declare a[2]=foo are now treated as
- straight subscript assignment statements if a already exists as an
- array variable
- - declare foo='(1 2 3)' is treated as an assignment to foo[0] if foo
- exists and is an array, just as it would be if it were an assignment
- statement and `declare' was not present. All this from a proposal
- by Stephane Chazelas <stephane.chazelas@gmail.com>
-
- 12/22
- -----
-builtins/read.def
- - read_tty_modified: function to tell the rest of the shell if the
- read builtin has modified the tty
- - read_builtin: make sure to initialize terminating signals before
- installing a SIGALRM signal handler in case we modify the tty as
- well as ask for a timeout; the subsequent call to
- initialize_terminating_signals would overwrite the read-builtin-
- local SIGALRM handler
-
-builtins/common.h
- - read_tty_modified: new extern declaration
-
-shell.c
- - exit_shell: if read_tty_modified() returns true, call read_tty_cleanup
- to undo the terminal modifications. Extension of previous fixes;
- fixes bug with read -s reported by Richard W. Marsden
- <richard@marsden.nu>
-
-
- 12/23
- -----
-builtins/setattr.def
- - show_var_attributes: call print_array_assignment and print_assoc_assignment
- with a `not quoted' flag so the assignment statements are not
- surrounded by single quotes. Caused changes to a lot of test output
-
- 12/29
- -----
-lib/readline/complete.c
- - stat_char: Windows doesn't handle X_OK flag to access(2); use file
- extensions to determine whether or not a file is executable. Bug
- report and fix from Eli Zaretskii <eliz@gnu.org>
-
-configure.ac
- - changed version to bash-4.4-devel
-
-lib/readline/readline.h
- - changed version to readline-6.4
-
- 12/30
- -----
-readline.h
- - struct readline_state: fix types of `ignorefunc' and `attemptfunc'
- members
-
-lib/sh/shquote.c,externs.h
- - sh_contains_shell_metas, sh_contains_quotes: now take `const char *'
- as parameter
-
-stringlib.c,externs.h
- - strcreplace: `text' argument now `const char *'
-
-pathexp.[ch]
- - quote_globbing_chars: `string' argument now `const char *', accompanying
- changes to function local variables
-
-pcomplete.c
- - preproc_filterpat: `text' argument now `const char *'
- - filter_stringlist: `text' argument now `const char *'
-
- 12/31
- -----
-builtins/evalstring.c
- - should_suppress_fork: new function, broke code that decides whether
- to turn on CMD_NO_FORK flag out of parse_and_execute into a separate
- function
-
-execute_cmd.c
- - execute_command_internal: AND_AND, OR_OR: call should_suppress_fork
- for the RHS of && and ||, make `make' invocations marginally more
- efficient
-
-flags.c
- - get_current_flags: returns a bitmap of all single-letter shell
- options with a non-zero value meaning option is enabled
- - set_current_flags: set current single-letter options from a passed
- bitmap, which has presumably been initialized with get_current_flags
-
-flags.h
- - {get,set}_current_flags: new extern declarations
-
-builtins/declare.def
- - declare_internal: if invoked as `local', interpret name argument of
- `-' to mean to save (and restore at shell return) single-letter
- shell options
-
-variables.c
- - push_func_var: if we encounter `-' as the name of a local variable,
- take the value and call set_current_flags on it to restore old
- flag settings
-
-builtins/set.def
- - get_current_options: returns a bitmap of all shell options settable
- with `set', with a non-zero value meaning option is enabled
- - set_current_options: set current shell options from a passed
- bitmap, which has presumably been initialized with get_current_options
-
-
- 1/1/2015
- --------
-lib/readline/parens.c
- - _rl_blink_matching_paren: initialize to 0 whether or not select(2) is
- available. Inconsistency reported by Mark Karpov
- <markkarpov@opmbx.org>
-
-builtins/declare.def
- - declare_internal: use get_current_options instead of
- get_current_flags, so `local -' can be generalized
-
-variables.c
- - push_func_var: use set_current_options instead of set_current_flags
- so `local -' can be generalized
-
-doc/{bash.1,bashref.texi}
- - document new `local -' feature; originally inspired by Robert Elz
- <kre@munnari.oz.au> describing feature in NetBSD sh
-
- 1/3
- ---
-lib/readline/{complete,funmap,kill,histfile,util}
-lib/readline/readline.h
-lib/tilde/tilde.c
- - fixes for filename- and evironment-related issues on Windows. Fixes
- from Eli Zaretskii <eliz@gnu.org>
- - Windows can paste to the console from the clipboard like Cygwin
- - Windows uses $APPDATA as a pseudo-$HOME
-
-lib/readline/input.c
- - rl_getc: use _getch on Windows to avoid being overridden by a getch
- ncurses function
- - win32_isatty: replace Windows isatty(3) with a function that does
- additional checks, sinces Windows isatty returns non-zero for
- every character device. From Eli Zaretskii <eliz@gnu.org>
-
-lib/readline/display.c
- - delete_chars: if compiled with ncurses on Windows, this code can
- work, so build it in if NCURSES_VERSION defined
- - open_some_spaces: ditto
-
- 1/6
- ---
-doc/{bash.1,bashref.texi}
- - minor grammar and typo corrections from TonyMc <afmcc@btinternet.com>
-
- 1/8
- ---
-sig.c
- - throw_to_top_level: only attempt to run the interrupt trap if SIGINT
- is trapped -- minor optimization
- - throw_to_top_level: if we are running a trap, call run_trap_cleanup
- to turn off the sigmodes flags
-
-trap.c
- - _run_trap_internal: temporarily suppress pending SIGINTs while running
- one of the traps the shell handles internally (e.g., ERR). Fixes bug
- reported by Keith Thompson <keithsthompson@gmail.com>
-
- 1/10
- ----
-bashhist.c
- - bash_history_inhibit_expansion: use skip_to_delim with the history
- expansion character to see whether or not the instance of the
- history expansion character should be skipped because, for instance,
- it is in a command substitution. Fixes issue reported by
- Zigmund.Ozean@zig-home.localdomain
-
- 1/14
- ----
-lib/readline/isearch.c
- - _rl_isearch_dispatch: if we are in a multibyte locale, make sure to
- use _rl_find_prev_mbchar when trying to delete characters from the
- search string, instead of just chopping off the previous byte.
- Fixes bug reported by Kyrylo Shpytsya <kshpitsa@gmail.com>
-
-lib/readline/complete.c
- - rl_filename_completion_function: if we tilde-expand `dirname', make
- sure we use the expanded result instead of throwing it away for the
- quote-removed `users_dirname', which still has any leading tilde.
- Fixes bug reported by Dave Rutherford <dave@evilpettingzoo.com>
-
-execute_cmd.c
- - select_query: if the read builtin doesn't return anything in REPLY,
- return NULL (failure). Fixes bug reported by Etherial Raine
- <osirisgothra@hotmail.com>
-
-builtins/read.def
- - read_builtin: if REPLY has the readonly or noassign attribute, return
- failure
-
- 1/16
- ----
-redir.c
- - redir_open: if open() returns -1/EINTR, check traps as well as
- using QUIT to handle signals
-
- 1/18
- ----
-jobs.c
- - wait_for: make sure queue_sigchld is set to 1 before unblocking
- SIGCHLD if MUST_UNBLOCK_CHLD is defined
-
- 1/19
- ----
-pcomplete.h
- - new progcomp option: COPT_NOSORT, means to not sort list of possible
- completions
-
-pcomplete.c
- - pcomp_set_readline_variables: if COPT_NOSORT set in compspec flags,
- set rl_sort_completion_duplicates to 0
-
-builtins/complete.def
- - _compopt: new option value: -o nosort, sets COPT_NOSORT in compspec
- option flags. Provides new -o nosort option for complete and compgen
-
-bashline.c
- - attempt_shell_completion: make sure rl_sort_completion_matches is
- set to 1 before completion is attempted; allow a compspec to turn
- it off
-
-lib/readline/kill.c
- - rl_vi_yank_pop: new function, vi-mode version of yank-pop. Original
- code from Ian Kelling <ian@iankelling.org>
-
-lib/readline/funmap.c
- - `vi-yank-pop': bindable name mapped to rl_vi_yank_pop
-
-lib/readline/readline.h
- - rl_vi_yank_pop: extern declaration
-
- 1/21
- ----
-lib/sh/shquote.c
- - sh_backslash_quote: change to understand and handle multibyte
- characters, using is_basic, COPY_CHAR_P. See
- https://bugzilla.redhat.com/show_bug.cgi?id=1184320 for original
- report
-
- 1/23
- ----
-include/posixjmp.h
- - use setjmp_sigs instead of redefined setjmp, it fails on Cygwin.
- Report from Eric Blake <eblake@redhat.com>
-
-builtins/wait.def,shell.c
- - use setjmp_sigs instead of setjmp call, since setjmp no longer
- redefined to something known
-
-include/chartypes.h, lib/readline/chardefs.h
- - make sure all ctype.h macros are called with unsigned char args,
- casting to make sure
-
-lib/sh/casemod.c
- - sh_modcase: don't assume that the upper and lower case versions of a
- character are the same width, so don't try to do the conversion in
- place: convert and copy the converted characters one or more at a
- time to the returned string
- - sh_modcase: since upper and lower case versions of same character
- may have different widths in some locales, don't shortcut and assume
- that we can do single-byte case modification (toupper) with a
- single-byte input character (e.g., `i'). Fix for problem reported
- by Stephane Chazelas <stephane.chazelas@gmail.com>
-
- 1/31
- ----
-lib/readline/histfile.c
- - history_truncate_file, history_do_write: if the first rename(2)
- of the history file to the backup file fails, set the backup file
- name to NULL to prevent any later attempts to restore the
- original. Report from Jonathan Hankins <jhankins@homewood.k12.al.us>
- - history_do_write: don't attempt to back up non-regular files.
- Report from Jonathan Hankins <jhankins@homewood.k12.al.us>
-
- 2/2
- ---
-trap.c
- - run_interrupt_trap: now takes an argument indicating whether or not
- it was called just before a longjmp to top_level; change callers
- - run_interrupt_trap: if running a trap and we are being called before
- a longjmp to top_level, call run_trap_cleanup on running trap so
- a QUIT call while running a DEBUG trap, for instance, doesn't leave
- sigmodes[DEBUG_TRAP] including SIG_INPROGRESS. Fixes bug reported
- by Chih-Chieh Chou <ccchou@gmail.com>
-
-sig.c
- - throw_to_top_level: change call to run_interrupt_trap to pass arg 1
- - termsig_handler: change call to run_interrupt_trap
-
-trap.h
- - run_interrupt_trap: update extern prototype declaration
-
- 2/4
- ---
-lib/readline/histfile.c
- - histfile_backup, histfile_restore: new functions to back up and restore
- history file to `filename-', following (one level of) symlinks through
- so we don't rename the symlink itself. From a suggestion by
- Jonathan Hankins <jhankins@homewood.k12.al.us>
-
-assoc.c
- - assoc_to_assign: if an index happens to be `@' or `*', make sure it's
- double-quoted. Bug report from Greg Wooledge <wooledg@eeg.ccf.org>
-
- 2/5
- ---
-lib/readline/bind.c
- - rl_bind_key: if we are rebinding a key that is not bound to a
- function or a macro, construct a key sequence and pass it to
- rl_bind_keyseq. Make sure that '\' when it is used as a key is
- changed to "\\" so it can survive rl_translate_keyseq. Fixes
- https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=776743
-
- 2/8
- ---
-include/posixjmp.h
- - _rl_longjmp, sh_longjmp: new defines, expand to siglongjmp or longjmp
- depending on autoconf results, used to avoid redefining longjmp,
- remove _OPENNT conditional code. Report from Eric Blake
- <eblake@redhat.com>
-
-{bashjmp,quit}.h,{execute_cmd,expr,jobs,sig,trap}.c,builtins/{evalstring.c,return.def}
- - change calls to longjmp to use sh_longjmp
-
-lib/readline/util.c
- - change calls to longjmp to use _rl_longjmp
-
- 2/18
- ----
-variables.c
- - bind_int_variable: make sure `v' is non-null before making it visible
-
- 2/19
- ----
-arrayfunc.c
- - assign_array_var_from_word_list: after assignment, mark variable as no
- longer invisible
- - assign_array_var_from_string: after assignment, mark variable as no
- longer invisible
-
-builtins/declare.def
- - declare_internal: add warning if an attempt is made to use a quoted
- compound assignment as an argument to declare (declare -a foo='( 1 2 )');
- backwards compatible with bash-4.3. Still a tentative change
-
- 2/20
- ----
-lib/glob/smatch.c
- - is_wcclass: check malloc() return value, return -1 if it fails
- Report from Tobias Stoeckmann <tobias@stoeckmann.org>
-
-lib/sh/shmatch.c
- - sh_regmatch: check malloc() return value, handle NULL value if it
- fails. Report from Tobias Stoeckmann <tobias@stoeckmann.org>
-
- 2/22
- ----
-lib/readline/doc/rltech.texi
- - rl_callback_handler_install: note that the handler function should
- free the line it receives, as with readline. Suggested by
- Ulf Magnusson <ulfalizer@gmail.com>
- - Readline Signal Handling: note that application needs to clean up
- readline's terminal state if it wants to handle a signal before
- the line handler restores it. Suggested by Ulf Magnusson
- <ulfalizer@gmail.com>
-
- 2/24
- ----
-lib/readline/histfile.c
- - history_do_write,history_truncate_file: if the write fails, make sure
- to set history_lines_written_to_file to 0 so we don't lose those
- history entries
-
- 2/27
- ----
-execute_cmd.c
- - execute_function: unwind-protect the value of line_number_for_err_trap,
- so a function that returns a non-zero value and triggers an ERR trap
- has the right value for LINENO. Any simple command in the function
- body can change it. Bug report from Paul Donohue <gnu@paulsd.com>
-
- 3/5
- ---
-lib/sh/shquote.c
- - sh_backslash_quote: cast `c' to `unsigned char' before using as
- index into backslash_table. Report and fix from
- alexeyv.90@gmail.com
-
-arrayfunc.[ch]
- - valid_array_reference: added second `flags' argument for future use;
- currently unused
-
-parse.y,{redir,subst,variables,test}.c
-builtins/{declare,printf,read,set}.def
- - valid_array_reference: changed callers
-
- 3/7
- ---
-lib/readline/signals.c
- - _rl_handle_signal: if readline gets a SIGTSTP or SIGTTIN, block
- SIGTTOU so a backgrounded readline can reset the terminal settings
- appropriately, otherwise the terminal state and readline's idea
- of it can get messed up. Original report from Dave Wysochanski
- <dwysocha@redhat.com> and Dave Anderson <anderson@redhat.com>
-
-trap.c
- - run_pending_traps: don't allow recursive SIGWINCH trap invocations;
- they're wasteful and trying to handle a stream of signals while a
- user resizes the terminal can lead to malloc errors trying to save
- and restore the_pipeline multiple times. Problem reported most
- recently by Martin M. S. Pederson (Fedora bash bug 1197768
- https://bugzilla.redhat.com/show_bug.cgi?id=1197768)
- - reset_or_restore_signal_handlers: set pending_traps to 0 for all
- signals when forking a child. TENTATIVE fix
-
-jobs.c
- - {save,restore}_pipeline: block SIGCHLD while manipulating the_pipeline
- like cleanup_the_pipeline does. XXX - may not be necessary
-
-lib/readline/display.c
- - rl_redisplay: fixed case where multibyte character in the prompt
- (e.g., \u03bb) in the last screen column causes problems with line
- wrapping because the newline marker is put in the middle of the
- multibyte char. Most recently reported on Ubuntu by
- <sterpe@gmail.com>
-
-pathexp.c
- - quote_string_for_globbing: if a bracket expression doesn't have a
- closing right bracket, rescan it from just after the opening
- bracket without treating it as a bracket expression. Bug report
- from Stephane Chazelas <stephane.chazelas@gmail.com>
-
- 3/9
- ---
-subst.c
- - process_substitute: keep the last pipeline created to run a process
- substitution in LAST_PROCSUB_CHILD; discard it when another one is
- created
-
-jobs.[ch]
- - discard_pipeline: now global, so process_substitute can call it
-
-jobs.c
- - last_procsub_child: new variable, set and modified only by the process
- substitution code
- - find_pipeline: if the requested pid is in LAST_PROCSUB_CHILD, return
- it; analogous to the way this code handles the_pipeline
- - waitchld: if we find a child via find_pipeline that is a part of the
- last process substitution child, mark that child appropriately. If
- the child is dead, add it to the bgp list. This and the previous
- change allow waiting for the most recent process substitution (the
- one corresponding to $!). Original report from Stephane Chazelas
- <stephane.chazelas@gmail.com>
-
- 3/10
- ----
-arrayfunc.c
- - unbind_array_element: make sure skipsubscript() doesn't try to parse
- embedded quotes in the subscript, since this has already been through
- one round of word expansion before calling the unset builtin. (This
- function is only called by the unset builtin). Fixes bug reported by
- <vampyrebat@gmail.com>
-
- 3/17
- ----
-jobs.c
- - waitchld: move code that adds the last process substitution pid to
- the bgpids array from waitchld (where it can call malloc in a signal
- handler context) to cleanup_dead_jobs
-
- 3/19
- ----
-subst.c
- - parameter_brace_expand: if expanding an array in a context where word
- splitting will not take place (W_ASSIGNRHS only for now), make sure
- to pass the double-quoted flag to chk_atstar so we don't get the
- unquoted $* behavior, which will cause unwanted word splitting.
- Fixes bug reported by isabella parakiss <izaberina@gmail.com>
-
-arrayfunc.c
- - unbind_array_element: don't assume that caller will check and pass
- only array variables; don't allow non-array variables to be unset
- using the `@' or `*' subscripts and don't allow any subscripts other
- than 0; return -2 in those cases
- - unbind_array_element: unset a non-array variable if passed a subscript
- of `0' (e.g., `unbind "scalar[0]"'). This is new functionality that
- parallels the ${scalar[0]} expansion
-
-builtins/set.def
- - unset_builtin: don't check whether a variable is an array if it's
- referenced using array syntax (scalar[0]); pass it to
- unbind_array_element anyway and check the result. This means that
- `unset scalar' and `unset scalar[0]' are equivalent
-
- 3/20
- ----
-builtins/set.def
- - set_builtin: make `-i' an invalid option, unconditionally for now.
- From a bug-bash discussion started by Peng Yu <pengyu.ut@gmail.com>
-
- 3/21
- ----
-lib/readline/colors.c
- - _rl_print_color_indicator: handle dangling symlinks (C_ORPHAN) and
- the `target' specifier for links (dereference S_ISLNK if the target
- exists). Bug report and fix from andreas@stapelspeicher.org
-
-{arrayfunc,subst}.c
- - add code to save and restore this_command_name in places that set
- this_command_name to NULL to prevent error messages from arithmetic
- evaluation. Fixes bug reported by brian.carpenter@gmail.com
-
-builtins/mapfile.def
- - do_chop: remove a new DELIM argument from the line, instead of
- unconditionally removing newline
- - mapfile: if -d delim is supplied and we are breaking fields at DELIM,
- remove DELIM if the -t option is supplied by passing DELIM to do_chop().
- Suggested by Geir Hauge <geir.hauge@gmail.com>
-
-doc/{bash.1,bashref.texi}
- - mapfile: document new -t option behavior, defaults are the same
-
-builtins/alias.def
- - print_alias: if the first character of an alias name is `-', add a
- `-- ' after `alias' to avoid option errors when trying to reuse the
- output. Bug report and fix on savannah from Pasha Bolokhov
- <pasha.bolokhov@gmail.com>
-
- 3/22
- ----
-builtins/declare.def
- - declare_internal: if creating a variable does not return a valid
- variable in VAR, check for null variable before dereferencing it.
- This happens with nameref variables referencing variables set to
- the empty string.
- Fixes bug reported by Arthur200000 <arthur200126@163.com>
-
- 3/23
- ----
-doc/{bash.1,bashref.texi}
- - INVOCATION: add language to make it clear that non-interactive login
- shells execute ~/.bash_logout if they run the `exit' builtin. From a
- question from Christoph Anton Mitterer <calestyo@scientia.net>
-
- 4/6
- ---
-subst.c
- - process_substitute: increment and decrement subshell_level around
- calls to parse_and_execute, as in command substitution, so
- $BASH_SUBSHELL gets new values in the subshell. Fixes inconsistency
- pointed out by Peng Yu <pengyu.ut@gmail.com>
-
-doc/{bash.1,bashref.texi}
- - read: add clarifying text to note that the -N option does not split
- on $IFS, but does retain backslash as an escape character subject
- to -r. Report from isabella parakiss <izaberina@gmail.com>
-
-builtins/declare.def
- - declare_internal: unless it's the last statement in a {...} block,
- NEXT_VARIABLE must be protected by braces. Bug introduced in patch
- from 3/22, reported by Eduardo A. Bustamante López
- <dualbus@gmail.com>
-
- 4/7
- ---
-parse.y
- - shell_getc: if bash is reading input from a string that ends with an
- unquoted backslash, add another backslash instead of a newline, since
- the backslash and newline will disappear in normal processing. Fixes
- bug with `bash -c 'eval \\; echo y' ' skipping the eval command and
- setting incorrect exit status, and `bash -ic 'eval \\; echo y' '
- seeing EOF on empty line and exiting before the echo. Keep track of
- backslash state with last_was_backslash; set in char reading loop.
- Fixes bug reported by Eduardo A. Bustamante López <dualbus@gmail.com>
-
- 4/8
- ---
-shell.c
- - main: check for $INSIDE_EMACS as well as $EMACS when deciding whether
- or not bash is being run in a GNU emacs shell window. Don't bother
- checking whether $TERM is unset because variable initialization sets
- it to `dumb' if unset. Fixes from Paul Eggert <eggert@CS.UCLA.EDU>
-
-parse.y
- - push_token: new function, rotates current_token through last_read_token,
- saving old values like yylex() does, sets current_token to argument
-
-evalfile.c
- - _evalfile: if current_token is yacc_EOF, push a newline as the value
- of current_token instead, using push_token(). yacc_EOF can result if
- sourced file doesn't end with a newline but does end with an unescaped
- backslash. Fixes bug reported by Pedro Gimeno
- <pgwr-842@personal.formauri.es>
-
-lib/readline/histfile.c
- - use PARAMS(x) instead of __P(x). Bug reported by Evan Gates
- <evan.gates@gmail.com>
-
- 4/9
- ---
-execute_cmd.c
- - execute_simple_command: if we haven't already forked, and we have
- created FIFOs, turn off the no-fork optimization in the simple
- command's flags. Originally reported to savannah by Kuang-che Wu as
- https://savannah.gnu.org/support/index.php?108732
-
- 4/10
- ----
-trap.c
- - trap_if_untrapped: new function, sets a trap on a signal if that
- signal is not already trapped
- - maybe_set_debug_trap: new function, sets DEBUG trap to command string
- argument only if it's not already trapped
-
-trap.h
- - maybe_set_debug_trap: new extern declaration
-
-
-builtins/source.def
- - source_builtin: if the -T option isn't set, use maybe_set_debug_trap
- in the unwind-protect instead of unconditionally restoring the old
- trap string. That means if the sourced file changes the DEBUG trap,
- that new trap will persist instead of being undone when the old
- value is restored. Fixes bug reported by Scott Bronson
- <bronson@rinspin.com>
-
-builtins/evalstring.c
- - parse_string: before we jump to top_level, if we are at the `bottom'
- of the parse_and_execute stack (parse_and_execute_level == 0), call
- top_level_cleanup() before jumping so the right cleanup happens (e.g.,
- cleaning up redirections and other state). Fixes bug reported by
- Sam Liddicott <sam@liddicott.com>
-
- 4/15
- ----
-jobs.c
- - delete_job: only add J_ASYNC (and not J_FOREGROUND) jobs to the
- bgpids array, since Posix says shells only need to save the status
- of async jobs. Report and fix from John Fremlin <john@fb.com>
-
- 4/17
- ----
-pcomplib.c
- - COMPLETE_HASH_BUCKETS: increase to 256 since bash-completion is
- over 300 completions by now
-
-variables.c
- - VARIABLES_HASH_BUCKETS: constant used to size shell variables hash
- table instead of relying on hash library default. Used in calls
- to hash_create in create_variable_tables(), push_temp_var(), and
- push_func_var(). Currently set to 1024 because why not? From a
- discussion starting at
- https://lists.gnu.org/archive/html/bug-bash/2015-04/msg00089.html
- - initialize_shell_variables: if FUNCTION_IMPORT is not defined, the
- nested conditional compilation causes syntax errors. Bug and fix
- from Eric Blake <eblake@redhat.com>
-
-configure.ac
- - function-import: fix typo, assign to correct variable. Found as the
- result of a report by Eric Blake <eblake@redhat.com>
-
-shell.c
- - open_shell_script: check whether or not file argument is a
- directory before opening; Posix says that implementations may open
- a directory with O_RDONLY. Bug report from
- Eduardo A. Bustamante López <dualbus@gmail.com>
-
- 4/19
- ----
-ulimit.def
- - fix typo in limits[] declaration of `k'
-
- 4/20
- ----
-configure.ac
- - add template definitions set by AC_USE_SYSTEM_EXTENSIONS from a report
- from Andreas Schwab <schwab@linux-m68k.org>
-
-variables.c
- - FUNCTIONS_HASH_BUCKETS: constant used to size the hash tables used for
- shell functions and the text of shell function definitions. Initially
- set to 512, even though it's a really rare case that someone has more
- than around 150 functions, even with bash-completion
-
- 4/21
- ----
-shell.c
- - main: malloc_set_register: change arg to 0 to disable keeping track of
- allocations and frees in table; change to 1 for malloc debugging on
- demand. Table is too small to keep effective track of allocations on
- a modern system, need to use something like valgrind
-
- 4/22
- ----
-shell.c
- - main: move cmd_init() (initialize word desc and word list object
- caches) after startup files are read so the cache doesn't get filled
- up with semi-permanent storage for shell functions and variables
-
-execute_cmd.c
- - execute_function: use maybe_set_debug_trap in the same way as source
- builtin change from 4/10 to allow functions to reset a DEBUG trap
- when set -T not in effect. From a report by Peng Yu
- <pengyu.ut@gmail.com>
-
- 4/23
- ----
-execute_cmd.c
- - execute_disk_command: don't overwrite value of subshell_environment
- by assigning SUBSHELL_FORK; just OR in SUBSHELL_FORK so something
- like SUBSHELL_ASYNC or SUBSHELL_PIPE is preserved
-
-jobs.c
- - wait_for: don't call give_terminal_to if running in a subshell
- environment, not just if running_in_background is set; don't want
- shell functions waiting for a process to complete in a pipeline to
- give the terminal to the wrong process group. Part of fix for bug
- reported by Valentin Bajrami <valentin.bajrami@gmail.com>
- - make_child: child process should not try to give the terminal to the
- pipeline_pgrp if running as part of a pipeline (SUBSHELL_PIPE in
- subshell_environment); functions in execute_cmd.c don't set that
- flag until after make_child returns and the child process is running.
- Rest of fix for bug reported by Valentin Bajrami
- <valentin.bajrami@gmail.com>
-
- 4/24
- ----
-redir.c
- - redirection_error: if the redirection involves {varname}, only use
- `varname' in the error message if the error code is < 0 (one of the
- internal redirection errors, like ambiguous or bad variable name);
- otherwise the issue is probably with the filename and should be treated
- as usual. Fixes problem reported by Dr. David Alan Gilbert
- <dgilbert@redhat.com>
-
-configure.ac,config.h.in
- - sys/ioctl.h: add check in AC_CHECK_HEADERS macro, define HAVE_SYS_IOCTL_H
-
-lib/readline/{rltty,terminal}.c
- - sys/ioctl.h: include unconditionally for ioctl declaration, avoid
- issues with `implicit declaration' warnings. Issue originally
- raised on gdb list by Chen Gang <xili_gchen_5257@hotmail.com>
-
- 4/27
- ----
-lib/malloc/table.c
- - mem_table: now a circular buffer showing the state of the last
- REG_TABLE_SIZE allocations rather than a hash table that quickly
- fills up
-
-builtins/declare.def
- - typeset_builtin: add -n to list of supported options. Omission
- reported by Valentin Bajrami <valentin.bajrami@gmail.com>
-
-unwind_prot.c
- - use object caches instead of malloc/free to allocate and deallocate
- unwind-protect elements
- - uwp_init: initialize unwind-protect element object cache
-
-unwind_prot.h
- - uwp_init: extern declaration
-
-shell.c
- - main: call uwp_init right after calling cmd_init -- initialize all the
- object caches at the same place
-
-lib/malloc/table.[ch]
- - mlocation_table: new table to keep track of allocation locations by
- file and line, functions to initialize table, record an allocation,
- and dump the table to stderr
- - mregister_alloc: call mlocation_register_alloc to record the location
- (source file/line) for each allocation to pinpoint malloc hot spots
- by number of calls. More detail than gprof
-
-parse.y
- - set_line_mbstate: replace free/xmalloc pair with xrealloc call
- - read_token_word: call alloc_word_desc instead of xmalloc so we can take
- advantage of the WORD_DESC cache
-
- 4/28
- ----
-execute_cmd.c
- - execute_simple_command: if command execution fails because the command
- is a directory, and the `autocd' option is set, add a `--' argument
- to the constructed `cd' command to protect against command names with
- the same name as options to `cd'. Report and fix from
- isabella parakiss <izaberina@gmail.com>
-
- 4/30
- ----
-jobs.c
- - printable_job_status, j_strsignal: change calls to strcpy and sprintf
- that write to retcode_name_buffer to use strncpy and snprintf to
- avoid buffer overflows caused by malicious translations. Bug and fix
- from Trammell Hudson <Trammell.Hudson@twosigma.com>
-
- 5/1
- ---
-strtrans.c
- - ansicstr: make sure the buffer is at least 12 bytes to ensure enough
- space for any eventual call to u32cesc for one multibyte char
-
- 5/4
- ---
-jobs.c
- - wait_for: if an interactive shell is running a loop and waiting for
- a non-builtin command to exit, and the command exits due to SIGINT,
- act as if the shell received the SIGINT as well and break the loop.
- This matches the behavior when the shell is running a builtin command
- in a loop, and when running a non-builtin command outside a loop, and
- seems more broadly useful than running the trap handler over and over
- again. Report originally from Kaz Kylheku <kkylheku@gnu.org>
-
-builtins/set.def
- - unset_builtin: use different variables for keeping the state of the
- -f and -v options than the loop uses to decide whether or not to
- treat a name as a function or a variable. Fixes problem with
- unset_function setting `sticking' after you unset a function when
- invoked with no options. Bug report from Dreamcat4
- <dreamcat4@gmail.com>
-
-shell.c
- - open_shell_script: set running_shell_script to 1, set to 0 in every
- other case (new variable)
- - main: when checking whether or not to call start_debugger, test
- running_shell_script instead of dollar_vars[1]. The goal is to not
- invoke the debugger for interactive shells but allow it to run for
- things like `bash --debugger -i /tmp/script'. Problem reported by
- Rocky Bernstein <rocky@gnu.org>
-
-lib/readline/histexpand.c
- - history_event_delimiter_chars: new (as yet undocumented) variable
- containing by default characters that can delimit a history event
- specifier without requiring a `:': "^$*%-" as the documentation has
- always said. Fixes bug reported by Anders Granlund
- <anders.granlund.0@gmail.com>
-
- 5/10
- ----
-lib/glob/gmisc.c
- - match_pattern_char, match_pattern_wchar: if passed an empty string,
- return a match if the first character of the pattern is `*'
-
-subst.c
- - pat_subst: change to allow empty strings to be replaced as long as
- pattern matches empty string. Report and fix from isabella parakiss
- <izaberina@gmail.com>
-
- 5/12
- ----
-lib/sh/strtrans.c
- - ansic_wshouldquote: make behavior consistent in the event of an
- invalid multibyte sequence: return 1 to the caller so the string
- will be $'...' quoted
-
-builtins/cd.def
- - cd_builtin: print the right error message even if printable_filename
- changes errno (e.g., EILSEQ)
-
-lib/sh/shquote.c
- - sh_backslash_quote: in multibyte locales, even if is_basic does not
- return true, backslash-quote an ASCII character that backslash_table
- says should be quoted. Part of fix for bug reported by Igor
- Bogomazov <ygrex@ygrex.ru>
-
-bashline.c
- - directory_exists: new function, dequotes the string argument, removes
- any trailing slash, and returns true if the result is a valid
- existing filename
- - bash_filename_stat_hook,bash_directory_completion_hook: use
- directory_exists instead of calling lstat/stat on the quoted
- directory name. Rest of fix for bug reported by Igor Bogomazov
- <ygrex@ygrex.ru>
-
- 5/15
- ----
-aclocal.m4
- - BASH_CHECK_MULTIBYTE: when checking for locale_charset, add $LIBINTL
- to $LIBS. If we're using the included lib/intl/libintl.a, it will
- include a version of locale_charset
-
- 5/17
- ----
-lib/readline/bind.c
- - sv_isrchterm: make sure we check for v[end] == 0 while in the loop
- looking for whitespace. Bug report and fix from Sergio Durigan
- Junior <sergiodj@sergiodj.net>
-
-lib/sh/shmbchar.c
- - mbstrlen,mbsmbchar: move calculation of MB_CUR_MAX out of loop;
- calculate it once at beginning
-
-lib/sh/mbscmp.c
- - mbscmp: move calculation of MB_CUR_MAX out of loop; calculate it once
- at beginning
-
-lib/sh/mbscasecmp.c
- - mbscasecmp: move calculation of MB_CUR_MAX out of loop; calculate it
- once at beginning
-
-lib/sh/shquote.c
- - sh_backslash_quote: move calculation of MB_CUR_MAX out of loop;
- calculate it once at beginning
-
-lib/sh/casemod.c
- - sh_modcase: move calculation of MB_CUR_MAX out of loop; calculate it
- once at beginning
-
-subst.c
- - expand_word_internal: move calculation of MB_CUR_MAX out of loops;
- calculate it once at beginning of function (XXX should use
- locale_mb_cur_max)
-
- 5/22
- ----
-lib/readline/rlmbutil.h
- - _rl_wcwidth: new function, short-circuits wcwidth calls for ASCII
- printable characters, returns 1 for those
- - WCWIDTH: call _rl_wcwidth instead of wcwidth
-
-lib/readline/display.c
- - rl_redisplay: move calculation of MB_CUR_MAX out of loop; calculate
- it once at beginning. Report and patch from Ole Laursen
- <ole.laursen@gmail.com>
-
- 5/24
- ----
-lib/readline/text.c
- - rl_insert: change to attempt to batch-insert pending typeahead (not
- pushed input or input from a macro) that maps to rl_insert. An
- attempt to suppress redisplay until readline reads all typeahead --
- pasted input, for instance. Inspired by report from Ole Laursen
- <ole.laursen@gmail.com>. XXX - need to make this a bindable
- variable; already controlled by _rl_optimize_typeahead
-
-lib/readline/rlprivate.h
- - _rl_optimize_typeahead: extern declaration
-
-lib/readline/doc/{hstech.texi,history.3}
- - next_history: clarify under what circumstances the history offset is
- incremented; suggestion from Glenn Golden <gdg@zplane.com>
-
-print_cmd.c
- - print_arith_command: should be compiled in if either DPAREN_ARITHMETIC
- or ARITH_FOR_COMMAND is defined. Report from Flavio Medeiros
- <flaviomotamederios@gmail.com>
-
-flags.c
- - change_flag: new variable verbose_flag, set when `v' flag modified;
- sets value of echo_input_at_read correspondingly
-
-flags.h
- - verbose_flag: new extern declaration
-
-shell.c
- - long_options: --verbose now sets verbose_flag
- - main: set echo_input_at_read from verbose_flag after parsing any
- long options
-
-builtins/fc.def
- - fc_builtin: don't unwind-protect echo_input_at_read directly; set it
- to 1 before calling fc_execute_file as before, and reset it to value
- of global verbose_flag using set_verbose_flag called from an
- unwind_protect. Report from isabella parakiss <izaberina@gmail.com>
-
-builtins/shopt.def
- - shopt_set_debug_mode: new function, called when the extdebug shell
- option changes. Right now, it sets function_trace_mode when extdebug
- is enabled, and turns off when extdebug is disabled. The
- documentation has always said that shopt does this. Report from
- Peng Yu <pengyu.ut@gmail.com>
-
- 5/27
- ----
-findcmd.[ch]
- - add support for EXECIGNORE shell variable, list of extglob patterns
- that prevent matching filenames from being identified as executable
- files
-
-variables.c
- - EXECIGNORE: arrange for findcmd.c:setup_exec_ignore to be called when
- $EXECIGNORE changes
-
-variables.h
- - sv_execignore: extern declaration
-
-doc/{bash.1,bashref.texi}
- - document EXECIGNORE variable
-
- 5/28
- ----
-lib/readline/callback.c
- - rl_callback_sigcleanup: new function, cleans up and unsets any state
- rl_callback_read_char uses. Intended to be used after a signal
-
-lib/readline/signals.c
- - _rl_handle_signal: call rl_callback_sigcleanup on SIGINT. Fixes bug
- reported to python group by Martin Panter <vadmium+floss@gmail.com>
-
-lib/readline/isearch.c
- - _rl_isearch_cleanup: now a public function so rl_callback_cleanup can
- call it
-
-lib/readline/search.c
- - _rl_nsearch_cleanup: now a public function so rl_callback_cleanup can
- call it
-
-lib/readline/rlprivate.h
- - _rl_[in]search_cleanup: extern declarations
-
-lib/readline/readline.h
- - rl_callback_sigcleanup: new extern declaration
-
-lib/readline/doc/rltech.texi
- - rl_callback_sigcleanup: documented
-
-lib/readline/readline.h
- - bump readline version to 7.0 due to addition of rl_callback_sigcleanup
-
- 5/29
- ----
-builtins/declare.def
- - declare_internal: if we are trying to change attributes or value for
- a nameref variable whose value points to an unset variable, make
- sure we create a new variable whose name is the value of the nameref
- variable. That is,
-
- declare -n foo=bar
- unset foo # unsets bar
- declare -i foo
-
- should create a (invisible) variable named `bar' with the integer
- attribute. Fixes problem reported by Greg Wooledge
- <wooledg@eeg.ccf.org>
-
-builtins/set.def
- - unset_builtin: if we find a nameref variable when we look it up with
- find_variable (the returned variable has a name different from what
- we looked up), make sure we use that new name for the rest of the
- function rather than rely on unbind_variable to do the same thing as
- find_variable. Fixes problem reported by Greg Wooledge
- <wooledg@eeg.ccf.org>
- - unset_builtin: if we try to unset a nameref variable whose value is
- not a set variable, make sure we don't try to unset the nameref
- itself, but rather the variable it points to. This ensures that the
- following always works as it should
-
- declare -n foo=bar
- unset foo # unsets bar and leaves foo unchanged
-
-lib/readline/funmap.c
- - vi-insertion-mode: make sure it maps to rl_vi_insert_mode, which is
- actually what the `i' keybinding in vi_movement_keymap maps to.
- Cosmetic fix from isabella parakiss <izaberina@gmail.com>
-
- 6/2
- ---
-general.c
- - conf_standard_path: moved get_standard_path here from command.def; made
- public function
-
-general.h
- - conf_standard_path: extern declaration
-
-
- 6/3
- ---
-parse.y
- - parse_matched_pair: make sure that command substitution constructs
- within ${...} expansions are parsed as such using parse_comsub, so
- the P_FIRSTCLOSE flag doesn't stop parsing if a right brace appears
- within the comsub. Report from Christos Zoulas <christos@zoulas.com>
-
-findcmd.c
- - search_for_command: take two new flags for FLAGS arg: CMDSRCH_STDPATH,
- which means use the command -p path, and CMDSRCH_TEMPENV, currently
- unused. Existing flag value of 1 now CMDSRCH_HASH
- - search_for_command: don't set `path' to NULL if it wasn't found in
- the temporary environment; we can use it later
- - search_for_command: look for the hashed file if temp_path == 0, not
- if we set path back to 0 (or path lookup failed)
- - search_for_command: just call find_user_command_in_path with a
- pathlist argument that's set depending on the flags passed
- - find_in_path: new function, just calls find_user_command_in_path at
- this point
- - search_for_command: don't put non-existent files into the hash table
-
-findcmd.h
- - CMDSRCH_*: new flags for search_for_command
- - find_in_path: extern declaration
-
-execute_cmd.c
- - execute_disk_command: check for CMD_STDPATH and call search_for_command
- with CMDSRCH_STDPATH if it's set
-
-builtins/command.def
- - command_builtin: if -p given without -v or -V, set the CMD_STDPATH
- flag in the simple command we construct from the rest of the
- argument list. This fixes the command -p cmd issue with changing
- $PATH for the duration of `cmd's execution reported by
- <sdowdy@rap.ucar.edu>
-
-builtins/common.h
- - CDESC_STDPATH: new flag for describe_command; means to use standard
- path for command -pv or -pV
-
-builtins/command.def
- - command_builtin: if -p given with -v or -V, pass the CDESC_STDPATH
- flag to describe_command
-
-builtins/type.def
- - describe_command: if given the CDESC_STDPATH flag, use find_in_path
- with the conf_standard_path() result. Since `all' will never be on
- with this flag, at least not yet, we can allocate and free the path
- list. Fixes the bug of a temporary environment value for PATH
- preceding a `command -pv' or `command -pV' persisting when the
- command finishes and means we use fewer unwind-protects
-
- 6/4
- ---
-Makefile.in (plus other Makefile.ins)
- - VPATH: remove `.' from VPATH value. It's not needed any more and it
- trips a GNU make 4.1 bug on Cygwin. Report and fix from Eric Blake
- <eblake@redhat.com>
-
-lib/readline/histfile.c
- - history_tempfile: new function, takes history file name as template
- and creates a temp file name including the PID
- - history_truncate_file, history_do_write: instead of creating backup
- and restoring it on failure, use history_tempfile to create a temp
- file name, write to it, then rename to original history filename
- (handling symlinks using history_restore()). Original report and
- patch from Russell Stuart <russell-savannah@stuart.id.au>
-
-doc/{bash.1,bashref.texi}
- - ulimit: clarify that -c and -f are in increments of 512 bytes when
- in posix mode. Fix from Robin Johnson <robbat2@gentoo.org> via
- <vapier@gentoo.org>
-
- 6/9
- ---
-execute_cmd.c
- - execute_in_subshell: don't call restore_default_signal for the exit
- trap, reset_signal_handlers already does the right thing and keeps
- the trap string around; no need to kill trap string. Bug report
- from Miroslav Koskar <mk@mkoskar.com>
-
- 6/11
- ----
-nojobs.c
- - find_proc_slot: now takes pid as an argument to avoid finding old
- procs when pids wrap around
- - add_pid: pass pid to find_proc_slot to avoid multiple instances of
- the same pid in the list when pids wrap around. Fixes bug reported
- by Roy Keene <rkeene@rkeene.org>
-
-execute_cmd.c
- - REAP: test for job_control == 0 also to determine whether or not
- to call reap_dead_jobs, since shells without job control enabled
- don't report on background process status
-
-doc/bash.1,lib/readline/doc/hsuser.texi
- - history: clarify documentation of -a option to note that it will not
- append the same line to the history file more than once. Fixes
- problem reported by Reuben Thomas <rrt@sc3d.org>
-
- 6/12
- ----
-execute_cmd.c
- - execute_in_subshell: don't bother decrementing subshell_level before
- this returns; the caller will just exit. This means that
- $BASH_SUBSHELL will have consistent values in the subshell and any
- subsequent exit trap. Fixes bug reported by Miroslav Koskar
- <mk@mkoskar.com>
- - shell_execve: before longjmp to subshell_top_level, call reset_parser
- to free up any input line and stack of pushed strings
-
-parse.y
- - mk_alexpansion: if the last character of the alias is a shell
- metacharacter, don't add a space to the string following the alias
- value, since that will change the meaning of the command. THIS IS
- NOT BACKWARDS COMPATIBLE AND MAY REQUIRE REVERTING. Inspired by an
- email message from Jilles Tjoelker <jilles@stack.nl> to austin
- group
-
- 6/13
- ----
-subst.c
- - dequote_string: don't turn strings consisting of a single CTLESC
- into empty strings; return them unmodified. The idea is that there
- is nothing to quote. This means that something like
- c=$'\001'
- x=$c
- results in x containing '\001' when IFS=$'\001'. See if this will
- cause problems by adding a debugging statement in the code
-
- 6/15
- ----
-parse.y
- - CHECK_FOR_RESERVED_WORD: don't return ESAC when you read `esac'
- after a `|' while in a case pattern list (parser_state & PST_CASEPAT).
- This is Posix grammar rule 4
- (http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_10_02)
-
- 6/16
- ----
-jobs.c
- - wait_for: make sure we queue SIGCHLD signals if a SIGCHLD trap
- handler is running (signal_in_progress or IMPOSSIBLE_TRAP_HANDLER),
- since we allow recursive trap invocations now
- - wait_for: make sure we treat SIGCHLD as trapped if the trap handler
- is set to IMPOSSIBLE_TRAP_HANDLER so we don't miss signals during
- calls to run_sigchld_trap()
-
-trap.c
- - run_pending_traps: since we allow recursive trap handler invocations,
- make sure we set pending_traps[SIGCHLD] to 0 while we mark the
- signal handler in progress (SIG_INPROGRESS) and don't reset it to 0
- after run_sigchld_trap returns in case more SIGCHLDs have been
- queued while it's running
-
- 6/22
- ----
-lib/readline/readline.c
- - _rl_dispatch_subseq: if we shadowed any function, not just self-
- insert, bind that function to the key we shadowed and dispatch on it.
- This preserves and dispatches off the original key, not ANYOTHERKEY,
- and makes sure we are dispatching from a keymap with the right key
- binding. Fixes bug reported by Carlos Pita
- <carlosjosepita@gmail.com>
-
- 6/23
- ----
-bashline.c
- - attempt_shell_completion: don't read past the end of rl_line_buffer
- while skipping assignment statements before command names. Fix for
- bug reported by Hanno Böck <hanno@hboeck.de>
-
-lib/readline/parens.c
- - _rl_enable_paren_matching: make paren matching work in vi insert
- mode. Really, this time. Bug report from Carlos Pita
- <carlosjosepita@gmail.com>
-
- 6/29
- ----
-parse.y
- - parse_comsub: when starting to parse a word, make sure that we set
- lex_rwlen to 0 along with lex_wlen if we are in a position where we
- can read a reserved word. Fixes bug reported by Nathan Neulinger
- <nneul@neulinger.org>
-
- 6/30
- ----
-sig.h
- - include <signal.h> unconditionally and rely on guards in sig.h to
- keep from including it more than once. Irix 6.5 defines SIG_DFL
- in other files and defeats the test of SIG_DFL. Fixes bug
- reported by Klaus Ziegler <klausz@haus-gisela.de>
-
-alias.c
- - ALIAS_HASH_BUCKETS: table size increased to 64
-
- 7/7
- ---
-
-{jobs,nojobs}.c
- - wait_sigint_cleanup: new function, to be called by longjmp targets
- for wait_intr_buf. Performs any necessary cleanup of internal waitchld
- state before going back to top level
-
-jobs.h
- - wait_sigint_cleanup: new extern declaration
-
-builtins/wait.def
- - wait_builtin: call wait_sigint_cleanup after longjmp back to
- wait_intr_buf on interrupt
-
-[bash-4.4-alpha frozen]
-
- 7/7
- ---
-bashline.c
- - attempt_shell_completion: when skipping assignment statements, don't
- skip past rl_point to find the word on which to perform programmable
- completion. Fixes bug reported by Hanno Böck <hanno@hboeck.de>
-
- 7/10
- ----
-
-pcomplib.c
- - compspec_copy: set the refcount on the copy to 1, since it's a freshly
- allocated copy and there are no other pointers to it. Fixes memory
- leak from gen_progcomp_completions
-
-lib/readline/complete.c
- - printable_part: if the pathname passed is just `/', just return it
- instead of potentially reading before the `/'. Fixes bug reported
- by Hanno Böck <hanno@hboeck.de>
-
- 7/11
- ----
-support/man2html.c
- - change calls to malloc to use xmalloc; provide standard xmalloc
- definition. Report from Bill Parker <wp02855@gmail.com>
-
-builtins/wait.def
- - wait_intr_flag: set to denote validity of wait_intr_buf as target
- for longjmp; reset by WAIT_RETURN macro; should always be 0 when
- wait_builtin returns
-
-quit.h
- - CHECK_WAIT_INTR: now also checks wait_intr_flag to ensure valid state
- of wait_intr_buf before sh_longjmp
-
-{jobs,nojobs}.c
- - wait_intr_flag: extern declaration for use by CHECK_WAIT_INTR
-
-sig.c
- - wait_intr_flag: set back to 0 every place the shell resets state after
- a jump to top_level
- - sigint_sighandler: only set wait_signal_received if wait_intr_flag
- indicates that the wait builtin has correctly set wait_intr_buf.
- Final fix for bug reported by Ondrej Oprala <ooprala@redhat.com>
-
-subst.c
- - parameter_brace_expand: fix so that ${!vvv@} is not interpreted as
- introducing a `@' operator, but instead retains its meaning as all
- variables whose name begins with vvv. Fixes bug reported by
- konsolebox <konsolebox@gmail.com>
-
- 7/14
- ----
-execute_cmd.c
- - execute_connection: remove the fork optimization from and AND_AND
- and OR_OR cases; it has trouble with `a && b && c', since the `&&'
- is left-associative. Putting that code here can result in unwanted
- fork optimizations since the `b' will end up as `second' on a
- recursive call to execute_command. Bug reported by Mike Frysinger
- <vapier@gentoo.org>
-
-builtins/evalstring.c
- - optimize_fork: moved code from execute_connection to here; checks
- whether the RHS of a && or || passes the suppress_fork() tests and
- turns on the NO_FORK bit if so
- - parse_and_execute: if suppress_fork() tests fail, check whether the
- command to be executed is a connection and attempt to optimize the
- fork for the right side using optimize_fork(). The key is dealing
- with the entire command passed to `bash -c' or `eval'
-
-builtins/common.h
- - optimize_fork: new extern declaration
-
-execute_cmd.c
- - execute_command_internal: enable code put in to undo redirections
- before exiting the shell due to `set -e' in the case of a shell
- function that gets command-not-found or a syntax error. Reported
- back in May, 2014 by Mark Ferrell <major@homeonderanged.org>
-
-bashhist.c
- - bash_history_inhibit_expansion: enable change from 1/10 that skips
- over history expansion character in command and process
- substitution
-
- 7/15
- ----
-lib/readline/{history,undo}.c
- - replace_history_data now _hs_replace_history_data
-
- 7/16
- ----
-lib/readline/readline.c
- - make sure _rl_to_lower doesn't ever get characters that are outside
- of its valid range by casting arg to unsigned char
-
-lib/readline/colors.h
- - change completion prefix color (C_PREFIX) to be the same as C_SOCK,
- which is less likely to collide with file type colorings (magenta)
-
-lib/readline/complete.c
- - fnprint: now takes an additional argument: the full, expanded pathname
- corresponding to the `toprint' argument
- - fnprint: don't zero out prefix_bytes if we're not printing the
- ellipisis but we still want to use prefix_bytes for displaying
- the common prefix in a color
- - print_filename: move colored-stats display responsibility into fnprint
- - fnprint: change so colored-prefix and colored-stats can cooperate
- and display filenames with multiple colors: one for the prefix and
- one for the file type. The prefix is displayed in the prefix color
- and the remainder of the pathname, if any, is displayed in the color
- corresponding to the file type. Report and suggestion from Mike
- Frysinger <vapier@gentoo.org>
-
- 7/17
- ----
-lib/readline/readline.[ch]
- - rl_readline_state: now unsigned long, prepare for more than 32 states
-
-
- 7/18
- ----
-lib/readline/history.h
- - history_offset: now declared here, was always a global variable
- - copy_history_entry: now declared here, part of the public interface
- - alloc_history_entry: now declared here, part of the public interface
-
- 7/20
- ----
-lib/readline/readline.h
- - RL_STATE_CHARSEARCH: new state, for vi mode character search. Was
- previously handled by simply setting _rl_callback_func
-
-lib/readline/vi_mode.c
- - rl_domove_motion_callback: split into two functions, remaining code
- after _rl_dispatch call goes into new function
- _rl_vi_domove_motion_cleanup
- - rl_vi_char_search: set RL_STATE_CHARSEARCH
- - rl_vi_char_search: sets `i2' member of callback data to the key used
- to invoke the char search
- - _rl_vi_callback_char_search: unset RL_STATE_CHARSEARCH after reading
- the character to find
- - _rl_vi_domove_motion_cleanup: make sure RL_STATE_VIMOTION is unset in
- all cases where this function returns
- - _rl_vi_domove_motion_cleanup: use `end' member of vi motion context
- as value of rl_end to restore after adding blank at end of line in
- rl_domove_motion_callback; avoids need to keep `old_end' and somehow
- pass it between the two functions
-
-lib/readline/rlprivate.h
- - _rl_vi_domove_motion_cleanup: new extern declaration
-
-lib/readline/callback.c
- - rl_callback_read_char: handle RL_STATE_CHARSEARCH, including case
- where char search is vi motion command for d/c/y/m and RL_STATE_VIMOTION
- is set when this is called. Last of set of fixes for bug reported
- by Carlos Pita <carlosjosepita@gmail.com> with vi-mode `dty' command
- in callback mode
-
- 7/21
- ----
-subst.c
- - command_substitute, process_substitute: add QUIT call in the child
- after restoring original signal handlers to catch post-fork SIGINT
- or terminating signal
-
-jobs.c,nojobs.c
- - make_child: after forking, clear interrupt_state in child
- before restoring signal mask so children get their own set of
- interrupts
-
- 7/22
- ----
-lib/sh/shquote.c
- - sh_double_quote: since all uses of the return value from this function
- are for display and not subject to subsequent expansion, we don't
- need to protect CTLESC and CTLNUL with CTLESC. Bug report and fix
- from isabella parakiss <izaberina@gmail.com>
-
-parse.y
- - decode_prompt_string: need to protect literal instances of CTLESC
- and CTLNUL with CTLESC, even if they are not coming out of one of
- the backslash-expansions
-
-subst.c
- - make_internal_declare: fixed memory leak; make_internal_declare should
- free the memory it allocates to construct the word list. From Red
- Hat bug 1245233; https://bugzilla.redhat.com/show_bug.cgi?id=1245233
-
-lib/readline/readline.c
- - _rl_dispatch_subseq: when checking whether an ESC in vi insert mode
- should be treated as part of a key sequence or as a single char,
- make sure we are getting input from the keyboard before we check
- _rl_input_queued(). If we are getting input from a macro, this
- causes a needless delay. Report from Carlos Pita
- <carlosjosepita@gmail.com>
-
- 7/23
- ----
-input.c
- - save_bash_input: before checking to see whether or not a new fd has a
- stale associated buffer, make sure that the new fd is within bounds.
- Bug report and fix from Alexey Makhalov <makhaloff@gmail.com>
-
-
- 7/24
- ----
-doc/{bash.1,bashref.texi}
- - note that the `return' builtin accepts arguments beginning with `-'
- without requiring `--'
-
- 7/27
- ----
-examples/loadables/Makefile.in
- - add variables and targets to support `make install'; installs
- supported builtins in $(libdir)/bash
-
- 7/28
- ----
-lib/readline/{readline,rlprivate}.h, lib/readline/display.c
- - rearrange some structure members for better alignment and to reduce
- padding. Fix from <git-dpa@aegee.org>
-
-tests/run-*
- - use BASH_TSTOUT instead of hardcoded /tmp/xx as output file
-
-trap.[ch]
- - maybe_set_error_trap: set a trap for the ERR trap if it is not already
- trapped; similar to maybe_set_debug_trap back from 4/10
-
-lib/malloc/malloc.c
- - internal_free: make sure `ubytes' is initialized if MALLOC_WATCH is
- defined and we'll be passing it to _malloc_ckwatch. Report from
- Flavio Medeiros <flaviomotamederios@gmail.com>
-
-execute_cmd.c
- - execute_function: use maybe_set_error_trap in the same way as
- maybe_set_debug_trap. Fixes bug reported by David Waddell
- <David.Waddell@owmobility.com>
-
- 7/29
- ----
-jobs.c
- - wait_for: no longer need to call job_signal_status when checking
- whether a comsub shell reaped a child that died due to SIGINT; code
- now uses child_caught_sigint
-
- 7/30
- ----
-builtins/exec.def
- - exec_builtin: after call to restore_original_signals, need to call
- default_tty_job_signals to undo changes done by initialize_job_signals.
- Fix for problem reported by Andreas Schwab <schwab@suse.de>
-
-doc/{bash.1,bashref.texi}
- - clarify definition of metacharacter to explicitly include newline;
- prompted by report from George Gallo <georgeggallo@gmail.com>
-
- 8/3
- ---
-lib/readline/search.c
- - _rl_free_history_entry: should be void, not int. Report from
- Dilyan Palauzov <dilyan.palauzov@aegee.org>
-
-general.h
- - sh_load_func_t, sh_unload_func_t: new function pointer types, used by
- enable for load and unload hook functions
-
-builtins/enable.def
- - dyn_load_builtin: attempt to execute a function named
- BUILTIN_builtin_load, where BUILTIN is the name of the command being
- loaded. If that function returns 0, the load fails
- - dyn_unload_builtin: attempt to execute a function named
- BUILTIN_builtin_unload, where BUILTIN is the name of the command
- being unloaded. It offers a dynamic builtin a way to clean up after
- itself. Inspired by suggestion from Piotr Grzybowski
- <narsil.pl@gmail.com> in response to a bug report from isabella
- parakiss <izaberina@gmail.com>
-
- 8/6
- ---
-lib/readline/colors.[ch]
- - _rl_print_color_indicator: now takes `const char *' argument
-
-lib/readline/complete.c
- - colored_stat_start: now takes `const char *' argument
-
-lib/malloc/table.h
- - ma_table_t: `file' member is now `const char *'
-
-lib/malloc/table.c
- - mlocation_register_alloc: make sure variable assigned to `file' in
- ma_table_t is of type `const char *'. Fixes from Dilyan Palauzov
- <dilyan.palauzov@aegee.org>
-
-lib/termcap/termcap.[ch]
- - tputs: should return int instead of void
-
-lib/readline/readline.h
- - RL_STATE_DONE: correct value, avoid collision
-
-lib/readline/vi_mode.c
- - _rl_vi_redoing: now global, added _rl_ prefix to `vi_redoing'
-
-lib/readline/readline.c
- - _rl_subseq_result: call _rl_dispatch_subseq instead of rl_dispatch to
- avoid changing _rl_dispatching_keymap
- - _rl_subseq_result: in the -2 case, set _rl_dispatching_keymap to the
- map passed as an argument. Without this, vi mode doesn't call
- rl_vi_set_last when it should
- - _rl_dispatch_subseq: if redoing a vi mode command with `.'
- (_rl_vi_redoing != 0) in callback mode and we're indirecting into
- another keymap that has shadowed the key corresponding to the command
- we are redoing, just call _rl_subseq_result immediately: vi redo
- doesn't need to read any additional input, and rl_vi_redo assumes
- that a single call to rl_dispatch is sufficient. Fixes bug reported
- by Carlos Pita <carlosjosepita@gmail.com>
-
- 8/7
- ---
-subst.c
- - parameter_brace_expand: if a substitution (parameter expansion) error
- occurs, and shell_compatibility_level is <= 43, return expansion error
- as in all previous versions. If shell_compatibility_level is > 43,
- a posix-mode non-interactive shell will consider this a fatal error.
- Problem reported by Christian Neukirchen <chneukirchen@gmail.com>
-
-doc/bashref.texi
- - documented that word expansion errors cause fatal errors in posix mode
- non-interactive shells
-
- 8/8
- ---
-subst.h
- - SD_COMPLETE: skip_to_delim being called as part of word completion
- - SX_COMPLETE: one of the string_extract functions being called as
- part of word completion
-
-bashline.c
- - find_cmd_start,find_cmd_end,find_cmd_name: call skip_to_delim with
- SD_COMPLETE flag
-
-subst.c
- - skip_double_quoted: takes new flags argument; changed callers
- - skip_double_quoted: if flags argument includes SX_COMPLETE, pass it
- to extract_command_subst
- - extract_command_subst: if flags&SX_COMPLETE, call
- extract_delimited_string instead of xparse_dolparen, since completion
- may call this for unterminated command substitutions. Fixes
- (imperfectly) bug reported by Ingo Ruhnke <grumbel@gmail.com>
- - skip_to_delim: if passed the SD_COMPLETE flag, pass the SX_COMPLETE
- flag to skip_double_quoted
- - char_is_quoted: pass SX_COMPLETE flag to skip_double_quoted
- - unclosed_pair: pass SX_COMPLETE flag to skip_double_quoted
-
- 8/9
- ---
-execute_cmd.c
- - time_command: catch longjmps to top_level and print command timing
- statistics even after a jump to top_level. Fixes issue reported by
- Sam Watkins <sam@nipl.net>
-
- 8/10
- ----
-config-top.h
- - OPENLOG_OPTS: if SYSLOG_HISTORY is defined, define to LOG_PID, so
- each message is tagged with the pid
-
-bashhist.h
- - bash_syslog_history: the first time it's called, call openlog with
- OPENLOG_OPTS and SYSLOG_FACILITY
-
- 8/11
- ----
-doc/{bash.1,bashref.texi}
- - GROUPS,FUNCNAME: change description to note that assignments are
- silently ignored, but do not return an error (which would constitute
- an assignment error and cause posix mode shells to abort). Problem
- pointed out by Grzegorz Bajson <gbajson@gmail.com>
-
- 8/12
- ----
-subst.c
- - parameter_brace_expand_indir: if the value of the indirectly expanded
- variable isn't something that the shell would expand if it were inside
- ${}, error out right away before calling parameter_brace_expand_word.
- Fixes problem reported by isabella parakiss <izaberina@gmail.com>
- - parameter_brace_expand: handle returning &expand_wdesc_error or
- &expand_wdesc_fatal from parameter_brace_expand_indir in case it does
- that someday
-
- 8/13
- ----
-jobs.c
- - {save,restore}_pipeline: saved_pipeline now a linked list of pipelines,
- new ones allocated in save_pipeline and freed in restore_pipeline.
- This allow multiple nested calls to save_pipeline (e.g., in traps
- and then in process substitution). Fix for bug reported by isabella
- parakiss <izaberina@gmail.com>
-
-print_cmd.c
- - named_function_string: if printing a function with the same name as a
- reserved word, add the `function ' keyword before the name to avoid
- parsing problems when trying to reuse it as input. Fix for bug
- reported by isabella parakiss <izaberina@gmail.com>
-
- 8/14
- ----
-lib/readline/text.c
- - rl_insert: when optimizing typeahead, make sure we set rl_last_func
- ourselves if we set pending input, since the mainline code path
- won't set rl_last_func if input is pending. Fixes bug reported by
- Hiroo Hayashi <hiroo.hayashi@computer.org>
-
- 8/15
- ----
-builtins/type.def
- - describe_command: if using the short description (CDESC_SHORTDESC) in
- posix mode, describe posix special builtins as such. Requested by
- Stephane Chazelas <stephane.chazelas@gmail.com>
-
-builtins/enable.def
- - BASH_LOADABLES_PATH: a colon-separated list of directories where bash
- looks for loadable builtins specified as arguments to `enable -f'
-
-doc/{bash.1,bashref.texi}
- - BASH_LOADABLES_PATH: document new shell variable
-
-configure.ac,Makefile.in,builtins/Makefile.in
- - loadablesdir: set in configure, substitute into Makefiles. Reserved
- for future use
-
- 8/18
- ----
-subst.c
- - shell_expand_word_list: if make_internal_declare fails, make sure to
- propagate that error return back and make the assignment statement
- fail. Fixes seg fault reported by Sergey Tselikh <stselikh@gmail.com>
-
- 8/20
- ----
-builtins/declare.def
- - declare_internal: made a slight tweak to the warning message about
- quoted compound assignments by printing it only if the array (indexed
- or assoc) does not already exist
-
- 8/21
- ----
-braces.c
- - mkseq: call strvec_dispose before throw_to_top_level if we saw SIGINT
- to avoid a memory leak
-
-trap.c
- - maybe_set_return_trap: set the RETURN trap to string if it's not
- already trapped, in the same way as the debug and error traps
-
-execute_cmd.c
- - execute_function: use maybe_set_return_trap to allow functions to set
- return traps that persist across calls even if function tracing is
- enabled
-
-lib/readline/input.c
- - rl_gather_tyi: make sure errno reset to 0 after select call, for
- ioctl and read
- - rl_gather_tyi: if read returns -1/EIO, return -1
- - rl_read_key: if rl_gather_tyi returns -1/EIO, return READERR if in
- RL_STATE_READCMD (reading command in readline_internal_char), EOF
- if not (like rl_getc). Continue to return '\n' on other errors;
- rl_done = 1 in any case. Fix for issue reported by
- Lubomir Rintel <lkundrak@v3.sk>
-
-lib/readline/{misc,text,vi_mode}.c
- - fix return values from rl_read_key to handle < 0
-
- 8/22
- ----
-
-parse.y
- - parsing_redirection: macro that expands to true if the last read
- token (always passed as an argument) is a redirection token that
- will leave us reading a word that's the target of the redirection
- - command_token_position: make sure that even if the parser state
- indicates we are reading a simple command (PST_REDIRLIST), we do
- not perform alias expansion on a WORD that is part of a redirection,
- using parsing_redirection() to do so. Fixes but reported to Red Hat
- by Robert Alm Nilsson <rorialni@gmail.com>
- https://bugzilla.redhat.com/show_bug.cgi?id=795795
-
-builtins/declare.def
- - declare_internal: only print the warning now if the variable is not
- already an array or if we are not creating an array with -a or -A,
- cuts down the spurious warnings
- - declare_internal: even if the rhs of the assignment looks like a
- compound array, if we're not assigning to an existing array or we're
- not creating an array, make it an array subscript assignment. This
- means things like declare a[1]='(foo)' and a[1]='(foo)' behave
- identically
-
-builtins/help.def
- - wdispcolumn: change use of displen and add new dispchars variable to
- deal with locales where each wide character does not take up one
- column position. Fix for bug reported by Mingye (Arthur) Wang
- <arthur200126@hotmail.com>
-
- 8/23
- ----
-sig.c
- - sigint_sighandler: if we get a SIGINT while this_shell_builtin ==
- wait_builtin, perform the special handling only if wait_intr_flag
- is non-zero, don't just use it to set wait_sigint_received. This
- makes sure we run bashline_set_event_hook. Fixes bug reported by
- isabella parakiss <izaberina@gmail.com>
-
- 8/25
- ----
-subst.h
- - SD_HISTEXP: new flag for skip_to_delim, indicates we are looking for
- the history expansion character (special double quote handling)
- - skip_to_delim: handle SD_HISTEXP flag, changes double quote handling
- to be similar to history library: don't call skip_double_quote, make
- sure single quotes aren't special in double quotes, but continue to
- skip over $(), ${}, and other similar constructs
-
- 8/27
- ----
-support/bash.pc.in
- - new file, pkgconfig template for bash, installed to support nascent
- loadable builtins dev environment
-
-examples/loadables/Makefile.inc
- - new file, example Makefile with correct definitions for loadable
- builtin development
-
-configure.ac
- - headersdir: directory where headers get installed to support loadable
- builtin development
- - examples/loadables/Makefile.inc, support/bash.pc: create
-
-Makefile.in
- - INSTALLED_HEADERS, INSTALLED_BUILTINS_HEADERS, INSTALLED_INCFILES,
- CREATED_HEADERS: new variables holding names of include files to
- install into $(headersdir) for loadable builtin development
- - install-headers,install-headers-dirs: new targets to support
- installing headers into $(headersdir) and subdirectories for loadable
- builtin development
- - uninstall-headers: target to uninistall headers in $(headersdir)
- - uninstall: call uninstall-headers whether or not install-headers
- was done; add uninstall in examples/loadables
- - install: add install in examples/loadables
- - clean: add clean in examples/loadables
-
-examples/loadables/Makefile.in
- - install-supported, install-unsupported: new targets, make install
- chooses one based on $(SHOBJ_STATUS)
- - install-supported: now cds to the top level build directory and
- installs the header files
- - install-supported: now installs Makefile.inc to $(loadablesdir) as
- an example
- - uninstall-supported,uninistall-unsupported: uninstall targets,
- make uninstall chooses one based on $(SHOBJ_STATUS)
-
- 8/31
- ----
-lib/glob/Makefile.in
- - CPPFLAGS: move after ${INCLUDES} so library-specific include paths
- take precedence. This is what the other parts of the shell do.
- Report from Poor Yorick <org.gnu.lists.bug-bash@pooryorick.com>
-
-builtins/read.def
- - reset_alarm: cancel alarm before restoring signal handler to avoid
- possible race condition. Report and fix from Oleg Popov
- <dev-random@mail.ru>
-
-subst.c
- - string_extract_verbatim: if SEPARATORS is "'", don't short-circuit
- to string_extract_single_quoted unless the SX_NOCTLESC flag is set.
- Callers expect this function to honor CTLESC, even to quote a single
- quote. Fixes bug reported by isabella parakiss <izaberina@gmail.com>
- and several others
-
- 9/2
- ---
-include/chartypes.h
- - TOCTRL: handle '?' by special-casing it to 0x7f. Fixes a problem
- with $'\c?' reported by Helmut Karlowski <helmut.karlowski@ish.de>
-
-redir.c
- - write_here_string: don't word-split the here string document. The
- bash documentation has always said this doesn't happen, even though
- bash has done so for years, and other shells that implement here-
- strings don't perform any word splitting. The practical effect is
- that sequences of IFS characters are collapsed to spaces. Fixes
- bug reported by Clint Hepner <clint.hepner@gmail.com>
-
- 9/3
- ---
-doc/{bash.1,bashref.texi}
- - add \? to the list of backslash escapes expanded by $'...' ANSI-C
- quoting. It was expanded but not documented
-
-lib/readline/util.c
- - _rl_audit_tty: updated from Red Hat patch
-
-lib/readline/readline.c
- - HAVE_DECL_AUDIT_USER_TTY: correct #define check
-
- 9/13
- ----
-shell.c
- - read_from_stdin: make sure value set to 1 appropriately if the shell
- is reading from standard input, as Posix seems to specify (?)
-
-lib/readline/kill.c
- - _rl_copy_to_kill_ring: don't assume that rl_kill_ring has been
- allocated if _rl_last_command_was_kill is non-zero; make sure it's
- non-null before indexing into it
-
- 9/15
- ----
-variables.c
- - initialize_shell_variables: cope with a NULL env pointer. Fixes bug
- reported by ziyunfei <446240525@qq.com>
-
- 9/16
- ----
-builtins/exec.def
- - exec_builtin: if -c is supplied, pass an empty array instead of a NULL
- pointer to shell_execve
-
-variables.c
- - set_pwd: only believe $PWD if it begins with a slash; try to
- canonicalize it and set it to physical path if canonicalization fails.
- Reported by ziyunfei <446240525@qq.com>
-
- 9/17
- ----
-subst.c
- - do_compound_assignment: make sure to dispose of word list generated
- by expand_compound_array_assignment; fixes memory leak reported in
- https://bugzilla.redhat.com/show_bug.cgi?id=1264101
-
-variables.c
- - adjust_shell_level: clamp the value of shell_level at 1000 and reset
- there, instead of > 1000, since the itos replacement code doesn't
- handle the value 1000. Fixes bug reported by ziyunfei
- <446240525@qq.com>
-
-shell.h,parse.y
- - save_parser_state,restore_parser_state: now save and restore
- redir_stack, short-circuiting if need_here_doc == 0. If we save a
- non-zero value for need_here_doc, we have to make sure there is
- something valid for gather_here_documents to work on. Fixes bug
- reported by Brian Carpenter <brian.carpenter@gmail.com>
-
- 9/18
- ----
-array.c
- - array_to_assign: use ansic_shouldquote to check whether each element
- value contains non-printable characters and use ansic_quote to
- generate the value instead of using sh_double_quote unconditionally
-
-assoc.c
- - assoc_to_assign: if either the key or the value of an associative
- array element contains non-printable characters (ansic_shouldquote
- returns true), use ansic_quote to quote them instead of using double
- quotes unconditionally
-
- 9/19
- ----
-subst.c
- - pat_subst: handle REP being NULL. Fixes bug reported by Brian
- Carpenter <brian.carpenter@gmail.com>
-
-builtins/evalstring.c
- - parse_string: if we get a longjmp to top_level with DISCARD as the
- code (in which case we are going to go on), return -DISCARD to our
- caller (always xparse_dolparen) after doing our own cleanup instead
- of calling jump_to_top_level
-
-parse.y
- - xparse_dolparen: if parse_string returns < 0, do the appropriate
- cleanup and then jump_to_top_level with the negative of the return
- value. This allows us to do the appropriate parser cleanup in
- case we're not going to exit the shell. Fixes bug reported by Brian
- Carpenter <brian.carpenter@gmail.com>
-
-subst.c
- - extract_delimited_string: if a recursive call to one of the extract_
- functions or a call to ADVANCE_CHAR leaves i past the end of the
- string, cut the loop off at the end of the string. Fixes bug
- reported by Brian Carpenter <brian.carpenter@gmail.com>
-
- 9/20
- ----
-subst.c
- - get_var_and_type: return appropriate values if variable indirection
- results in a NULL variable. Fixes bug reported by Brian Carpenter
- <brian.carpenter@gmail.com>
-
-lib/readline/history.c
- - history_get_time: handle strtol overflows caused by malicious
- modifications to timestamps in the history file. Fixes issue
- reported by rens@endoria.net
-
- 9/21
- ----
-lib/readline/rlconf.h
- - ENABLE_AUDIT_TTY_SUPPORT: now undefined (off) by default
-
- 9/24
- ----
-jobs.c
- - waitchld: if we get a SIGINT while waiting for a child to exit, but
- the kernel doesn't interrupt the waitpid(2) call, assume the child
- caught SIGINT if it exited for some reason other than SIGINT. Fix
- suggested by Stephane Chazelas <stephane.chazelas@gmail.com>
-
-input.c
- - make_buffered_stream: use B_TEXT in buffered stream flags instead
- of (typo) O_TEXT. Report and fix from Eric Blake <eblake@redhat.com>
-
- 9/27
- ----
-execute_cmd.c
- - shell_execve: call reset_parser before calling initialize_subshell,
- which calls delete_all_aliases. reset_parser wants to free the
- pushed string list, which has pointers back into the alias table
- (use after free)
- - execute_simple_command: if we fork for an async command, make sure
- the child process increments shell_level before performing any
- word expansions, so $BASH_SUBSHELL is incremented. Fixes issue
- reported by ziyunfei <446240525@qq.com>
-
- 10/1
- ----
-builtins/kill.def
- - kill_builtin: make -L equivalent to -l for compatibility with other
- (Linux) versions of kill
-
-doc/{bash.1,bashref.texi}
- - kill: document new `-L' option
-
- 10/2
- ----
-[bash-4.4-beta frozen]
-
- 10/5
- ----
-doc/{bash.1,bashref.texi}
- - LC_TIME: document that the shell recognizes it and calls setlocale
- when it changes; and that the shell uses it for time formatting
-
- 10/6
- ----
-subst.c
- - skip_single_quoted: now takes an additional `flags' argument, like
- skip_double_quoted; changed callers
- - skip_single_quoted: now pays attention to SX_COMPLETE flag, allows
- backslash to escape single quote, like $'...' allows
- - skip_to_delim: added case where we are completing and we are
- skipping over a $'...' string to call skip_single_quoted with
- SX_COMPLETE flag to allow backslash to quote single quote. Fixes
- bug reported by Daniel Colascione <dancol@dancol.org>
- - char_is_quoted: make analogous changes to handle $'...' so we can
- accommodate $'ab \' cd'
-
- 10/11
- -----
-subst.c,bashjmp.h
- - no_longjmp_on_fatal_error: now global so other parts of the shell can
- use it
-
-arrayfunc.c
- - expand_array_index: if no_longjmp_on_fatal_error is non-zero, don't
- longjmp to top_level, just return 0. Fixes bug reported by
- isabella parakiss <izaberina@gmail.com>
-
-subst.c
- - CQ_RETURN: restore old value of no_longjmp_on_fatal_error (oldjmp);
- make sure all callers (skip_matched_pair, skip_to_delim,
- char_is_quoted) save no_longjmp_on_fatal_error to oldjmp before
- setting it to 1
-
-expr.c
- - expr_streval: if longjmping after an unbound variable error, jump
- back to expr toplevel (evalbuf) if no_longjmp_on_fatal_error is set
- in an interactive shell
-
-variables.c
- - push_func_var: if pushing an array variable, such as when a variable
- in the temporary environment is promoted to an array by mapfile when
- the shell is in posix mode (so variable assignments preceding special
- builtins or shell functions persist in the shell environment after
- the builtin returns), make sure to copy the array or hash table so
- the variable is duplicated correctly. Fixes seg fault reported by
- Linda Walsh <bash@tlinx.org>
-
- 10/13
- -----
-variables.c
- - initialize_shell_variables: add call to sv_shcompat, so BASH_COMPAT
- can be set in the initial environment
-
-execute_cmd.c
- - execute_function: set loop_level to 0 only if shell_compatibility_level
- is greater than bash-4.3; this was kind of an incompatible change.
- Report from Carlos Pita <carolosjosepita@gmail.com>
-
-COMPAT,doc/{bash.1,bashref.texi}
- - compat43: added loop_level changes to description
-
- 10/15
- -----
-lib/sh/casemod.c,lib/readline/display.c
- - make sure mb_cur_max variable is defined outside of HANDLE_MULTIBYTE
- if it's used outside HANDLE_MULTIBYTE. Fixes from Greg Wooledge
- <wooledg@eeg.ccf.org>
-
-support/Makefile.in
- - bash.pc: remove as part of distclean, not clean. Report from Andreas
- Schwab <schwab@linux-m68k.org>
-
- 10/17
- -----
-subst.c
- - array_var_assignment: make sure to call quote_string or quote_escapes
- on the assignment string, so spaces in the assignment survive word
- splitting. Fixes bug reported by isabella parakiss
- <izaberina@gmail.com>
-
- 10/20
- -----
-doc/{bash.1,bashref.texi}
- - word splitting: make sure that newline is listed as one of the IFS
- whitespace characters. Fixes omission reported by ziyunfei
- <446240525@qq.com>
-
-lib/readline/histfile.c
- - history_do_write: make sure that we only create and use the tempfile
- if the history file exists and is a regular file. Reported several
- times, most recent check the result of a report from
- <marko.teiste@gmail.com>
-
- 10/22
- -----
-jobs.c
- - delete_all_jobs: if running_only == 0, we are eventually going to
- clear the bgpids list, so don't bother to add pids to it in
- delete_job (call with DEL_NOBGPID flag if running_only == 0)
-
- 10/24
- -----
-jobs.[ch]
- - bgpids: new implementation from a patch from John Fremlin
- <john@fb.com>, uses an array for the list of the last CHILD_MAX
- terminated background pids, and a separate hash table to search it.
- The storage can be freed as a unit, and the size of the hash table
- (currently 4096) is independent of the size of the bgpids table
-
-subst.c
- - inherit_errexit: new variable to control whether or not command
- substitution inherits the -e (errexit) option. Disabled by default
-
-general.c
- - posix_initialize: set inherit_errexit = 1 when Posix mode is enabled
-
-builtins/shopt.def
- - inherit_errexit: new shell option, tracks value of inherit_errexit,
- allows command substitution to inherit the setting of errexit without
- posix mode. From a request and patch submitted by Christoph Gysin
- <christoph.gysin@gmail.com>
-
-{version,version2}.c
- - use #if HAVE_SNPRINTF instead of #if defined in case configure
- decides to #define it to 0. Fixes problem reported by Klaus Ziegler
- <klausz@haus-gisela.de>
-
-configure.ac
- - when checking for sys/resource.h, make sure to include <sys/time.h>
- for the benefit of both old systems that require it and new versions
- of autoconf that require a header file to compile to report its
- presence. Reported by Klaus Ziegler <klausz@haus-gisela.de>
-
- 10/26
- -----
-subst.h
- - SD_ARITHEXP: new flag value for skip_to_delim, supports parsing
- arithmetic expressions in parameter expansions
-
-subst.c
- - skip_to_delim: handle SD_ARITHEXP flag by skipping parentheses for
- subexpressions and allowing ?: expression to not terminate an
- arithmetic expression delimited by `:'
- - skiparith: just call skip_to_delim with the SD_ARITHEXP option and
- the right delimiter string and return the right result. Fixes bug
- reported by <grishalevit@gmail.com>
-
-include/shmbchar.h
- - strip out everything except what is needed to support is_basic and
- similar functions, since the mbchar_t typedef apparently conflicts
- with some AIX-specific type definition. Problem reported by
- Michael Felt <aixtools@gmail.com>
-
- 10/27
- -----
-builtins/{set,ulimit}.def
- - {set,ulimit}_builtin: make sure that --help is treated the same as
- -? and prints a message and returns. Fixes bug reported by ziyunfei
- <446240525@qq.com>
-
-builtins/*.def
- - make sure to consistently use builtin_help() instead of mix of that
- function and builtin_usage()
-
- 10/29
- -----
-doc/{bash.1,bashref.texi}
- - BASH_CMDS, BASH_ALIASES: note that removing elements from these
- array variables is not currently reflected in the command hash
- table and alias list, respectively. Reported by isabella parakiss
- <izaberina@gmail.com>
-
- 10/30
- -----
-eval.c
- - reader_loop: if PS0 is set in an interactive shell, expand and
- display it after reading a (complete) command but before executing
- it. This differs from the DEBUG trap because the DEBUG trap is
- executed once for each simple command (and some others, like each
- time through a for loop). From a patch submitted by Dan Stromberg
- <dstromberglists@gmail.com>
-
-parse.y
- - prompt_again: set ps0_prompt from $PS0 in an interactive shell
-
-doc/{bash.1,bashref.texi}
- - PS0: document new prompt string
-
- 11/3
- ----
-subst.c
- - cond_expand_node: if special > 0, remove quoted nulls from the word
- list, since no word splitting takes place. Fixes bug reported by
- Corentin Peuvrel <cpeuvrel@pom-monitoring.com>
-
- 11/4
- ----
-doc/{bash.1,builtins.texi}
- - inherit_errexit: add to shopt description; modify Posix mode
- description
-
- 11/9
- ----
-lib/readline/util.c
- - rl_tilde_expand: fix out-of-bounds read caused when this function
- is invoked with rl_point == 0. Bug reported by Hanno Böck
- <hanno@hboeck.de>
-
- 11/11
- -----
-{nojobs,jobs}.c
- - get_original_tty_job_signals: force the original signal disposition
- for SIGTSTP/SIGTTIN/SIGTTOU to SIG_DFL in interactive shells. This
- will force child processes to get SIG_DFL even if the shell is
- started with those signals ignored. From a bug report from
- Keith Thompson <keithsthompson@gmail.com>
-
- 11/13
- -----
-make_cmd.c
- - make_function_def: if a function is being defined without a source
- file, and the shell has not been initialized, assume that the
- function is being imported from the environment and set the
- source_file struct member to "environment". Set to "main" if the
- shell has been initialized. Fixes bug reported on savannah by
- Arno-Can Uestuensoez
- https://savannah.gnu.org/support/index.php?108903
-
-subst.c
- - skip_to_delim: if the shell is in posix mode (posixly_correct != 0)
- and performing history expansion ((flags & SD_HISTEXP) != 0), allow
- double quotes to quote the history expansion character. TENTATIVE
- CHANGE, inspired by
- https://savannah.gnu.org/support/index.php?108491
-
- 11/14
- -----
-jobs.c
- - wait_for: modify change from 4/23 to only give the terminal to
- shell_pgrp if not running in the background and subshell_environment
- indicates we're not in a pipeline and not an async command. Fixes
- bug reported by konsolebox <konsolebox@gmail.com>
-
- 11/16
- -----
-doc/{bash.1,bashref.texi}
- - document new posix-mode behavior of not giving ! special meaning
- within double quotes, even if histexpand is enabled
-
- 11/17
- -----
-builtins/evalfile.c
- - fc_execute_file: pass FEVAL_BUILTIN flag to _evalfile so it returns
- the value of parse_and_execute after executing the commands in the
- file. Fixes bug reported by Chris Marusich <cmmarusich@gmail.com>
-
- 11/20
- -----
-subst.c
- - process_substitute: don't unconditionally set pipeline_pgrp to
- shell_pgrp; do that only if pipeline_pgrp == 0 (we haven't forked
- yet) or if we know we haven't forked for a command, a pipeline,
- or an async command. Fixes bug reported by
- <gnu.20.drkshadow@spamgourmet.com>
- as https://savannah.gnu.org/support/index.php?108593
-
- 11/24
- -----
-variables.c
- - set_pwd: inherit the value of OLDPWD from the initial environment
- if it names a directory. From a report from John Wiersba
- <jrw32982@yahoo.com>
-
-builtins/set.def
- - -T: fix help text to note that the DEBUG and RETURN traps are both
- inherited if this is set. Report from Grisha Levin
- <grishalevit@gmail.com>
-
-doc/{bash.1,bashref.texi}
- - HISTIGNORE,GLOBIGNORE: note that the pattern matching is subject to
- the setting of the `extglob' variable. Clarification raised by
- Aharon Robbins <arnold@skeeve.com>
-
-builtins/jobs.def,doc/{bash.1,bashref.texi}
- - disown: add text to synopsis making it clear that disown takes a
- pid argument. From a report from Matthew Stanfield
- <matthew@i-dig.info>
-
-findcmd.c,doc/{bash.1,bashref.texi}
- - EXECIGNORE: change pattern matching to use FNMATCH_EXTFLAG like other
- IGNORE variables. From a report from Aharon Robbins <arnold@skeeve.com>
-
-trap.c
- - _run_trap_internal: make sure to catch and use return values supplied
- as arguments to `return'; instead of just catching return, make sure
- we use return_catch_value as well. Fixes bug reported by
- Grisha Levit <grishalevit@gmail.com>, affects RETURN, DEBUG, ERROR
- traps
-
- 11/30
- -----
-lib/readline/display.c
- - rl_redisplay: fix code that deals with prompts that contain
- multibyte characters whose physical length is longer than the screen
- width (so the prompt line wraps) to deal with invisible characters
- in the prompt and set the inv_lbreaks offsets correctly and set
- lpos appropriately
- - _rl_move_cursor_relative: always called with either visible line or
- invisible line. Decide whether we are being called with the invisible
- line (or a portion thereof) as the DATA argument; make sure to account
- for invisible characters in the last line of the prompt by offsetting
- the desired buffer offset (NEW) by where DATA starts in invisible line
- and checking whether that is past the last invisible character in
- the prompt
- - _rl_move_cursor_relative: do the same for the visible line by using
- the visible line lbreaks array instead of _rl_screenwidth, since
- that fails in the presence of multibyte characters (buffer offset
- vs. physical screen position). These fix bug with prompts with
- multibyte characters and invisible characters that are longer than
- the screen width reported by Ryo Furue <ryofurue@gmail.com>
-
- 12/1
- ----
-parse.y,make_cmd.c
- - here_doc_first_line: new variable, set to non-zero to indicate the
- first line of possibly multiple here documents associated with the
- current command. Set in parse.y:gather_here_documents() before
- reading any here documents, set to 0 after reading the first line
- of any here document in make_cmd.c:make_here_document().
-
-parse.y
- - history_delimiting_chars: if parser_state indicates we are reading
- a here document, don't use current_command_line_count to see whether
- or not we're on the first line of a here document -- it can be fooled
- by multi-line commands (or even backslash-escaped newlines). Use
- here_doc_first_line to check that directly. Fixes bug reported by
- Geoffrey Allott <geoffrey@allott.email>
-
-shell.h,parse.y
- - save and restore here_doc_first_line as part of the shell's parser
- state
-
-lib/sh/tmpfile.c
- - use ANSI-C rand() interface if random() not available. Fixes problem
- with linking on (ancient) Solaris 2.4 reported by Klaus Ziegler
- <klausz@haus-gisela.de>
-
- 12/2
- ----
-aclocal.m4
- - RL_LIB_READLINE_VERSION: if cross-compiling, assume current version
- of readline if cross-compiling bash while using an external readline
- library. Fix from Barry Davis <barry_davis@stormagic.com>
-
-execute_cmd.c
- - execute_builtin: save and restore value of builtin_ignoring_errexit
- instead of assuming we can set it back to 0 -- the ignore-errexit
- cases might be nested
- - execute_builtin: after a builtin executes and eval_unwind is set,
- set exit_immediately_on_error to 0 if builtin_ignoring_errexit is
- set, and back to the value of errexit otherwise, just like the
- code that sets -e does. Fixes short-circuiting bug reported by
- Marcin Swigon <swigon.mar@gmail.com>
-
- 12/5
- ----
-builtins/setattr.def
- - set_or_show_attributes: instead of using a fixed string for the
- options argument to `declare', which results in export adding the
- readonly attribute, build the option string dynamically like in
- subst.c:shell_expand_word_list()
- - set_or_show_attributes: don't add the -r option to declare if the
- attribute passed as an argument doesn't include att_readonly; add
- -x if the attribute includes att_exported
- - set_or_show_attributes: add the -g option to declare so readonly
- and export in functions that go through this code path don't create
- local variables. Part of fix for bug reported by ziyunfei
- <446240525@qq.com>
-
-execute_cmd.c
- - make_internal_declare: if we have an assignment builtin that isn't
- supposed to create local variables (export/readonly), make sure to
- add the W_ASSNGLOBAL flag to each assignment statement word.
- Part of fix for bug reported by ziyunfei <446240525@qq.com> where
- readonly can create local variables when invoked with a compound
- array assignment as an argument within a shell function
-
-subst.c
- - make_internal_declare: added third argument: command name. Not used
- in any useful way yet
- - do_compound_assignment: handle attempted assignments to readonly
- variables and print error messages, like bind_variable does and the
- callers expect. This means that assignments to readonly array
- variables can't go through a code path that allows them to fail
- silently
-
-doc/Makefile.in
- - uninstall: run install-info --delete after removing the installed
- info file to update the directory file
-
-execute_cmd.c
- - execute_disk_command: since we still (and have always) perform
- redirections in child processes, we need to mark that state so
- we know that we're in a child process. subshell_performing_redirections
- is the new variable; non-zero when executing do_redirections()
-
-subst.c
- - process_substitute: if we are executing process substitution in a
- redirection expansion context (expanding_redir == 1), the child
- process should not have access to any temporary environment the
- parent has. Call flush_tempenv() in the child process to get rid
- of it. Fix for bug reported by Clint Hepner <clint.hepner@gmail.com>
-
- 12/9
- ----
-jobs.c
- - waitchld: if in posix mode and attempting to let SIGCHLD interrupt the
- wait builtin, make sure wait_intr_flag is non-zero before trying to
- longjmp to wait_intr_buf. Fixes bug reported by Aharon Robbins
- <arnold@skeeve.com>
-
- 12/10
- -----
-lib/readline/display.c
- - update_line: if a prompt containing invisible characters changes,
- and the change is within the prompt string, we need to redraw the
- entire prompt. After that redraw, if the cursor position is after
- the first index where the old and new lines differ, we can short-
- circuit the update if the line length stays the same
- - update_line: if we redraw the entire prompt string because the prompt
- contains invisible characters and the first difference is in the
- middle of the prompt, we possibly need to adjust our idea of the
- first differing character in the old and new lines. We punt and do
- a dumb update in this case. Fixes bug with dynamic vi-mode mode
- strings containing invisible characters reported by Dylan Cali
- <calid1984@gmail.com>
-
- 12/11
- -----
-lib/readline/display.c
- - update_line: if we move up to a new screen line, we need to recompute
- the number of invisible characters on the new current line
- (visible_wrap_offset). Fixes bug reported to bug-readline by
- Per Bothner <per@bothner.com>
- - update_line: update code that attempts to compute where we are in
- the new line buffer. Fixes `vt100' bug reported to bug-readline by
- Per Bothner <per@bothner.com>
-
- 12/18
- -----
-execute_cmd.c
- - execute_function: unwind-protect and restore BASH_ARGC and BASH_ARGV
- - restore_funcarray_state: now global
-
-execute_cmd.h
- - make func_array_state type global, add extern function declaration
- for restore_funcarray_state
-
-builtins/evalfile.c
- - _evalfile: use restore_funcarray_state and pop_args as unwind-protects
- to restore BASH_{SOURCE,LINENO,ARGC,ARGV} and FUNCNAME on interrupts.
- Fixes bug reported back on 11/10 by Grisha Levit
- <grishalevit@gmail.com>
-
- 12/20
- -----
-lib/readline/isearch.c
- - _rl_isearch_dispatch: after removing the only character from the
- search string with DEL, leaving the search string empty, don't match
- the previous line if we didn't have a match before
-
- 12/22
- -----
-bashhist.c
- - enable_history_list,remember_on_history: initialize to 0 instead of 1
-
-shell.c
- - init_interactive,init_interactive_script: set enable_history_list and
- remember_on_history to 1 (defaults)
-
- 12/23
- -----
-variables.c
- - initialize_shell_variables: don't inherit PS4 from the environment
- if the shell is running with euid == 0; just reset it to `+ '. This
- is a known potential vulnerability, since PS4 expansion performs
- command substitution in the root shell's context before displaying
- it. Discussion started by up201407890@alunos.dcc.fc.up.pt
-
-bashhist.c
- - bash_history_reinit: initialize remember_on_history to the value of
- enable_history_list (set -o history). Fixes bug reported by
- Stephane Chazelas <stephane.chazelas@gmail.com> with command-line
- option `-o history' not having any effect
-
- 12/28
- -----
-lib/readline/{history.h,histfile.c}
- - history_file_version: new int variable, reserved for future use
- - history_multiline_entries: new int variable, can be set by the
- calling application to enable reading multi-line history entries
- from the history file (currently undocumented)
-
-lib/readline/history.c
- - _hs_append_history_line: new function, append a line passed as an
- argument to a specified history entry, used to create multi-line
- history entries
-
-lib/readline/histfile.c
- - read_history_range: implement a heuristic that temporarily sets the
- history comment character if the first line read from the history
- file looks like it has is a timestamp (#[:digit:]) so we can read
- timestamps from the history file properly. Originally reported
- back in March 2015 by Christoph Anton Mitterer <calestyo@gmail.com>
- - read_history_range: make sure history_multiline_entries is non-zero
- if the history file looks like it has timestamps
- - read_history_range: if we think we have a history file with timestamps
- and we read more than one non-timestamp consecutive history lines,
- assume they are part of a single multi-line history entry and paste
- them together using _hs_append_history_line. Feature most recently
- requested by james harvey <jamespharvey20@gmail.com>, also suggested
- by Christoph Anton Mitterer <calestyo@gmail.com>
-
-examples/loadables/setpgid.c
- - setpgid: new loadable builtin, originally contributed by Jason
- Vas Dias <jason.vas.dias@gmail.com>
-
- 12/29
- -----
-bashhist.c
- - bash_history_inhibit_expansion: fix cases where a history expansion
- should be skipped because it's in a command or process substitution
- but there is another history expansion preceding the substitution
- on the command line. Don't let the previous history expansion fool
- the function into saying the command substitution history expansion
- should be performed
-
-builtins/evalstring.c
- - parse_prologue: always unwind-protect history_expansion_inhibited,
- since history expansion can be enabled in non-interactive shells,
- and calling eval once in a non-interactive shell inhibits history
- expansion forever even if `set -o histexpand' was run before the
- eval
-
-builtins/common.h
- - SEVAL_NOHISTEXP: new flag for parse_and_execute/parse_string; means
- to not perform history expansion (decouple from SEVAL_NOHIST, which
- now means to not remember commands on history); changed all callers
- that had SEVAL_NOHIST to have SEVAL_NOHIST|SEVAL_NOHISTEXP
-
-builtins/evalstring.c
- - parse_prologue: instead of calling bash_history_disable, set
- remember_on_history to 0 if SEVAL_NOHIST and history_expansion_inhibited
- to 1 if SEVAL_NOHISTEXP
-
- 12/30
- -----
-subst.c
- - skip_to_histexp: new function, a stripped-down version of skip_to_delim.
- Used to skip to the next unquoted instance of the history expansion
- character, handles peculiar quoting and command/process substitution
- requirements. Better fix for bug reported by
- Zigmund.Ozean@zig-home.localdomain back in January, prompted by report
- from Keith Thompson <keithsthompson@gmail.com>
-
-bashhist.c
- - bash_history_inhibit_expansion: use skip_to_histexp instead of
- skip_to_delim
-
-subst.c
- - parameter_brace_expand_rhs: if the rhs of an expansion is "$@" and
- IFS is null, we need to separate the (quoted) positional parameters
- in the returned word with a space, and mark the word as needing to
- be split on spaces (W_SPLITSPACE). Fix for issues reported back in
- October 2014 as the result of an austin-group discussion, and just
- re-reported by Martijn Dekker <martijn@inlv.org>
-
- 1/4/2016
- --------
-execute_cmd.c
- - execute_simple_command: if autocd is set, invoke a function named
- `cd' if one exists, instead of the shell builtin. Feature requested
- by transl8czech@gmail.com
-
-builtins/mkbuiltins.c
- - if a command's short description is the same as its name (e.g., `true'),
- don't mark the short doc to be translated. Report and fix from
- Benno Schulenberg <bensberg@justemail.net>
-
- 1/6
- ---
-subst.c
- - command_substitute,process_substitute: before replacing the file
- descriptor underlying stdout (fd 1), make sure to purge any pending
- stdio output that hasn't been written successfully, even after a
- call to fflush(). Fixes bug reported by cks@cs.toronto.edu
-
- 1/7
- ---
-builtins/{echo,printf}.def
- - echo_builtin,printf_builtin: don't use terminate_immediately; use
- calls to QUIT in the body of the print loop after writes and flushes.
- Fixes problem with running the signal handler and exit trap in a
- signal context and other bug reported by cks@cs.toronto.edu
-
-builtins/common.c
- - sh_chkwrite: put in calls to QUIT to catch signals that interrupt
- writes
-
-shell.c
- - get_current_user_info: protect endpwent() with #ifdef HAVE_GETPWENT.
- Fixes bug reported by pb <p-bauer-schriesheim@t-online.de>
-
- 1/8
- ---
-lib/readline/bind.c
- - _rl_init_file_error: now a varargs function so it can take format
- strings and arguments and pass them to vfprintf
- - rl_parse_and_bind: print a warning if we encounter a key binding
- string with one or more hyphens but we don't find a valid modifier
- (`control', `meta', etc.). Prompted by a report from Andrew Kurn
- <kurn@sfu.ca>
- - rl_parse_and_bind: improve several existing error messages now that
- _rl_init_file_error takes a variable number of arguments
- - rl_variable_bind: print error message upon encountering unknown
- variable
-
- 1/10
- ----
-lib/readline/bind.c
- - rl_parse_and_bind: if a `bare' keybinding is supplied without any
- terminating `:' or whitespace separating it from the command to be
- bound, signal an error
-
- 1/11
- ----
-subst.c
- - process_substitute: when compiled without job control (JOB_CONTROL not
- defined), make sure we call stop_making_children like we do in the job
- control code branch, so already_making_children is reset to 0. This
- is what command substitution does. Fixes bug reported by Alastair
- Hughes <hobbitalastair@yandex.com>
-
- 1/12
- ----
-execute_cmd.c
- - execute_in_subshell: if a user subshell (`(command)') or other shell
- compound command has an input pipe, note for later by setting
- stdin_redir. This will inhibit the implicit redirection of standard
- input from /dev/null for async commands executed as part of this
- subshell. Fixes bug reported by Martin D Kealey <martin@kurahaupo.gen.nz>
- - execute_simple_command: if the shell forks to execute this command
- because it has an input pipe, set stdin_redir to inhibit later redirection
- from /dev/null for async commands
-
- 1/13
- ----
-execute_cmd.c
- - HASH_BANG_BUFSIZE: use #define for size of buffer used in
- READ_SAMPLE_BUF instead of straight constant 80
- - HASH_BANG_BUFSIZ: increase to 128 because Linux allows 128 chars in
- exec header. Reported by Ludovic Courtès <ludo@gnu.org>
-
-configure.ac
- - remove support for purify and purecoverage
- - change release level to `rc1'
-
- 1/15
- ----
-builtins/enable.def
- - dyn_load_builtin: fix missing argument to builtin_error if load function
- returns an error. Fix from Aharon Robbins <arnold@skeeve.com>
-
- 1/18
- ----
-builtins/history.def
- - histtime: display a better error message for invalid timestamps; use
- existing `??' string for empty/missing timestamps or invalid history
- entries. Suggestion from Reuben Thomas <rrt@sc3d.org>
-
- 1/21
- ----
-lib/readline/text.c
- - rl_insert: when trying to optimize typeahead, make sure to reset the
- key sequence and key sequence length when we read a character that is
- not bound to self-insert. Bug report from Geir Hauge
- <geir.hauge@gmail.com>
-
- 1/25
- ----
-doc/{bash.1,bashref.texi}
- - word splitting: add example showing how -d'' is equivalent to -d
- after word splitting and null argument removal
-
- 1/27
- ----
-doc/{bash.1,bashref.texi}
- - read: modify description to make it more clear that the line is split
- using the same rules as word splitting, and use `delimiters' instead
- of `separators', which people read the wrong way
-
- 2/2
- ---
-variables.c
- - initialize_shell_variables: allow FUNCNEST to set funcnest_max when
- imported from the environment. Inspired by
- https://bugzilla.redhat.com/show_bug.cgi?id=1274553
-
- 2/11
- ----
-bashhist.c
- - bash_history_inhibit_expansion: function should be compiled in only if
- BANG_HISTORY is defined. Report from isabella parakiss
- <izaberina@gmail.com>
-
-[bash-4.4-rc1 frozen]
-
- 2/15
- ----
-lib/readline/text.c
- - rl_refresh_line: call rl_redraw_prompt_last_line instead of
- rl_forced_update_display to avoid redrawing all lines of a multiline
- prompt (overwriting the last line of the multiline prompt in the
- process). Report from Hugh Davenport <hugh@davenport.net.nz>
-
- 2/18
- ----
-subst.c
- - parameter_brace_expand: when processing ${!name[@]}, make sure to
- free `name' before returning the list of keys to avoid a memory leak.
- Fixes bug reported by Emilio PastorMira <Emilio.PastorMira@utimaco.com>
-
- 2/19
- ----
-trap.c
- - free_trap_strings: when freeing the `special' traps (NSIG to BASH_NSIG),
- check whether or not the `signal' is trapped, as it would be if the
- subshell inherited it (errtrace) and don't free the trap string in that
- case. Fixes bug reported by Jan Klötzke <jan@kloetzke.net>
-
- 2/21
- ----
-lib/sh/netconn.c
- - isnetconn: return false if getpeername fails with errno == EBADF.
- Bug and fix from Andrew Gregory <andrew.gregory.8@gmail.com>
-
-builtins/shopt.def
- - parse_bashopts: when reading BASHOPTS from the environment, make
- sure to call any set functions associated with a variable, instead
- of just setting the value to 1. Report and fix from
- Vehlow, Jörg <Joerg.Vehlow@kratzer-automation.com>
-
- 2/22
- ----
-lib/readline/complete.c
- - rl_display_match_list: don't bother calling strrchr to check the
- return value from printable_part() if rl_filename_completion_desired
- is non-zero, since in that case printable_part just returns its
- argument. Fixes git completion issue reported by
- Dilyan Palauzov <dilyan.palauzov@aegee.org>
- - _rl_colored_completion_prefix: default is now 0, testing is complete
-
- 2/23
- ----
-variables.c
- - assign_hashcmd: if the shell is restricted, reject attempts to add
- pathnames containing slashes to the hash table, as the hash builtin
- does. Fixes bug reported to savannah by Sylvain Beucler as
- https://savannah.gnu.org/support/?108969
-
- 2/24
- ----
-subst.c
- - NEED_FPURGE_DECL: need it before externs.h included, since fpurge
- is now used in this file. Fixes warning reported by Mike
- Frysinger <vapier@gentoo.org>
- - skip_double_quoted: add missing argument to declaration
-
-parse.y
- - shell_getc: in call to internal_warning, use %lu to print an argument
- cast explicitly to unsigned long. Fixes warning reported by Mike
- Frysinger <vapier@gentoo.org>
-
- 2/27
- ----
-parse.y
- - decode_prompt_string: quote result of \s expansion in case shell has
- been invoked with a pathname like '$(id)'. Inspired by report from
- Travis Garrell <travis.garrell@oracle.com>
- - decode_prompt_string: quote result of \h and \H expansions in the
- (unlikely) case that the hostname has been changed to something
- malicious including a command substitution. From report from
- Travis Garrell <travis.garrell@oracle.com>
-
-builtins/getopts.def
- - getopts_unbind_variable: new static function, just calls unbind_variable
- for now. Placeholder for any future work to do something special if
- OPTARG is readonly. Based on discussion started by Robert Elz
- <kre@munnari.oz.au>
-
-lib/readline/vi_mode.c
- - rl_vi_unix_word_rubout: new function, implements ^W as Posix specifies
- it for vi mode, using whitespace and punctuation characters as word
- boundaries. Prompted by question from Carlos Pita
- <carolosjosepita@gmail.com>
-
-lib/readline/vi_keymap.c
- - bind rl_vi_unix_word_rubout to ^W by default in both insert and
- command mode
-
-lib/readline/rltty.c
- - _rl_bind_tty_special_chars: if in vi mode, bind the WERASE character
- to rl_vi_unix_word_rubout
-
-lib/readline/funmap.c
- - vi-unix-word-rubout is new bindable name for rl_vi_unix_word_rubout
-
-lib/readline/readline.h
- - rl_vi_unix_word_rubout: new extern declaration
-
- 2/28
- ----
-doc/bash.1
- - document readline blink-matching-paren variable
- - document readline completion-display-width variable
- - document readline completion-map-case variable
- - note that the default value of history-size depends on the value of
- the HISTSIZE variable. All from a message from Branden Robinson
- <g.branden.robinson@gmail.com>
-
-doc/bash.1,lib/readline/doc/{readline.3,rluser.texi}
- - convert-meta: modify the description to note that readline will turn
- the default to off if the locale contains eight-bit characters
- - input-meta: modify the description to note that readline will turn
- the default to on if the locale contains eight-bit characters
- - output-meta: modify the description to note that readline will turn
- the default to on if the locale contains eight-bit characters. From
- a message from Branden Robinson <g.branden.robinson@gmail.com>
-
- 3/6
- ---
-examples/loadables/Makefile.in
- - install-dev: make installdirs a prerequisite; don't rely on the
- install-supported target to create it first. Bug with parallel
- install (`make -j 4 install') reported by Chris Staub
- <cstaub67@gmail.com>
-
- 3/12
- ----
-lib/readline/display.c:
- - rl_clear_visible_line: clear all screen lines occupied by the current
- visible readline line. Inspired by report from Lauri Ranta
- <lauri.ranta@gmail.com>
-
-lib/readline/readline.h
- - rl_clear_visible_line: extern declaration
-
-lib/readline/doc/rltech.texi
- - rl_clear_visible_line: add documentation
-
- 3/19
- ----
-findcmd.c
- - file_status: add inadvertently-dropped test for EXECIGNORE to the
- `other' bits check. The check was in the original patch
- - search_for_command: if the file should not be considered executable
- because it's in the EXECIGNORE blacklist, don't set file_to_lose_on,
- since the attempt to execute the last-ditch path will circumvent the
- EXECIGNORE setting. Fixes bug reported by Dennis Williamson
- <dennistwilliamson@gmail.com>
-
- 3/28
- ----
-lib/readline/display.c
- - rl_redisplay: when computing where the cursor should go (and the
- physical cursor position) after displaying the prompt, don't adjust
- the cursor position by wadjust if there are no multibyte chars in
- the prompt. lpos is already a physical cursor position; _rl_screenwidth
- is the physical screen width, and we're not calling _rl_col_width and
- don't need to take invisible characters into account again. Fixes
- bug reported by Andreas Schwab <schwab@linux-m68k.org>
-
- 4/1
- ---
-parse.y
- - parse_comsub: when we read `esac' followed by a break character,
- turn on the LEX_RESWDOK flag because we can now read another case
- statement or other compound command. Fixes bug reported by
- Christian Franke <Christian.Franke@t-online.de>, original version
- of patch from Piotr Grzybowski <narsil.pl@gmail.com>
- - parse_comsub: leave the reserved-word-ok flag set for four-char
- reserved words (then/else/elif/done/time) that can be followed by
- reserved words; set lex_rwlen to 0 so we know to start reading a
- new one
-
- 4/7
- ---
-builtins/{alias,complete,jobs}.def
- - {alias,compopt,disown}: add missing `CASE_HELPOPT;' so --help option
- prints help longdoc instead of builtin_usage()
-
- 4/8
- ---
-arrayfunc.c
- - assign_array_var_from_word_list: use bind_array_var_internal instead
- of inline code, so value conversions happen on assignment (case
- modification, arithmetic evaluation, etc). Fixes bug reported by
- Geir Hauge <geir.hauge@gmail.com>
-
- 4/9
- ---
-shell.c
- - main: change the logic that determines whether or not bash is running
- under an emacs terminal emulator so it works with future versions of
- emacs, which will change to use only $INSIDE_EMACS. Report and fix
- from Paul Eggert <eggert@cs.ucla.edu>
-
-lib/glob/sm_loop.c
- - EXT: if we see ?(pat), we can match 0 or 1 times, so if we don't
- match, we should consume the extglob pattern and go on to attempt
- to match the rest of the pattern against the string. Fixes bug
- reported by Isabella Parakiss <izaberina@gmail.com>
- - GMATCH: in case `*', don't short-circuit and match anything if the
- * is the last character in the pattern until after we check the
- special cases for matching a `.'. Fixes bugs reported back on 3/23
- by Isabella Parakiss <izaberina@gmail.com>
-
- 4/13
- ----
-bashhist.c
- - hc_erasedups: fix memory leak by freeing history entry returned by
- remove_history. Bug and fix from Seiichi Ishitsuka
- <ishitsuka.sc@ncos.nec.co.jp>
-
- 4/19
- ----
-config-top.h
- - CD_COMPLAINS: now settable in config-top.h; enables (fatal) error
- messages if cd is given multiple directory arguments
-
- 4/20
- ----
-execute_cmd.c
- - coproc_setvars: refuse to create variables with names that are not
- valid identifiers. Suggestion from Piotr Grzybowski
- <narsil.pl@gmail.com>
-
-rltty.c
- - rl_tty_set_echoing: interface to set _rl_echoing_p, returning old
- value. Inspired by gdb use of _rl_echoing_p when switching
- between terminal and curses modes described by Doug Evans
- <dje@google.com>
-
-bashline.c
- - bash_execute_unix_command: use rl_clear_visible_line instead of
- erasing current line on the screen, inspired by same report from
- 3/12. Still tentative change
-
-configure.ac
- - update release status to rc2, may skip this and go directly to
- release
-
- 4/21
- ----
-arrayfunc.c
- - convert_var_to_array: make sure that the newly-converted array
- variable is not marked as being an associative array. Fixes bug
- reported by Grisha Levit <grishalevit@gmail.com>
- - convert_var_to_assoc: make sure that the newly-converted associative
- array variable is not marked as being an indexed array
-
- 4/22
- ----
-builtins/evalstring.c
- - should_suppress_fork: don't suppress the fork if there are any traps
- set, since that requires that we hang around to react to a signal or
- collect the command's exit status and run something. Fixes bug
- reported by Brian Vandenberg <phantall@gmail.com>
-
-histexpand.c
- - history_tokenize_word: handle >| as a single token. Fix from
- Piotr Grzybowski <narsil.pl@gmail.com> from a report from
- idallen@idallen-fibe.dyndns.org
-
- 4/24
- ----
-execute_cmd.
- - coproc_setvars: don't overwrite readonly variables used as coproc
- names. From a report from Grisha Levit <grishalevit@gmail.com>
-
-histexpand.c
- - history_tokenize_word: handle strings of digits before redirections
- beginning with `<' or `>' as part of the redirection word; handle
- strings of digits following `<&' or `>&' as part of the redirection
- word. Inspired by patch from Piotr Grzybowski <narsil.pl@gmail.com>
- from a report from idallen@idallen-fibe.dyndns.org
-
-lib/readline/complete.c
- - rl_display_match_list: if the common prefix is longer than any of
- the possible matches, set the length of the common prefix to 0 so
- the entire match gets printed for each match
- - rl_display_match_list: make sure to output at least one space
- between each displayed match, even if the displayed length is
- longer than our computed max
- - fnprint: if the length of the prefix (prefix_bytes) is greater than
- or equal to the length of the string to be printed (print_len), make
- sure to set the prefix length to 0 so the entire string is printed.
- From a report from Grisha Levit <grishalevit@gmail.com>
-
- 4/25
- ----
-subst.c
- - command_substitute: update the conditions under which we give the
- terminal to pipeline_pgrp with give_terminal_to to the same ones
- where wait_for uses to decide whether to give the terminal back to
- shell_pgrp. This code exists to undo the work wait_for does; it
- has to give the terminal back to pipeline_pgrp only under those
- conditions when wait_for gives it back to the shell pgrp. Fix for
- bug reported by Paulo Bardes <bardes0022@gmail.com>
-
- 4/26
- ----
-bashline.c
- - bash_filename_stat_hook: temporarily disable the `nounset' shell
- option around calls to expand_prompt_string so we don't get error
- messages during completion. Fixes issue reported by Eric Pruitt
- <eric.pruitt@gmail.com>
-
- 4/27
- ----
-doc/{bash.1,bashref.texi}
- - extdebug: clarify that having this option enabled at shell startup
- acts identically to --debugger. From a report from Grisha Levit
- <grishalevit@gmail.com>
-
-jobs.[ch]
- - wait_for_single_pid: now takes additional `int flags' argument
-
-{jobs,execute_cmd}.c,builtins/wait.def
- - wait_for_single_pid: changed callers to add extra argument
-
-jobs.c
- - wait_for_single_pid: if (flags & 1) == 0, don't print the error
- message if PID isn't found; changed execute_pipeline call when
- lastpipe is set
-
- 4/28
- ----
-general.c
- - bash_tilde_expand: try not setting interrupt_immediately or
- terminate_immediately; see what happens with networked password
- databases
-
- 4/29
- ----
-subst.c
- - parameter_brace_expand, parameter_brace_expand_rhs: now take an
- additional `pflags' argument from its caller so we can pass
- state
- - parameter_brace_expand_rhs: if expand_string_for_rhs returns a
- quoted null, but l_hasdollat is set to 1, meaning we saw a quoted
- "$@" of some form, we need to turn off special handling of "$@"
- so something like "${@-${@-$@}}" expands to an empty string like
- Posix says it should. Fixes bug reported by Grisha Levit
- <grishalevit@gmail.com>
-
- 5/1
- ---
-variables.c
- - bind_variable_internal: if we have a nameref variable with a valid
- array reference that is invalid for assignment (e.g., a[*]), and
- assign_array_element returns NULL, short-circuit and return NULL.
- Fixes bug reported by Grisha Levit <grishalevit@gmail.com>
-
-general.[ch]
- - valid_nameref_value: new function, return 1 if passed argument is
- a valid variable name argument for a nameref variable: a valid
- identifier, a valid array reference, or a valid positional
- parameter. Second argument indicates whether the value is to be
- used for an assignment; in this case, return an error if the name
- consists of all digits
-
-builtins/declare.def
- - declare_internal: disallow values for nameref variables that don't
- pass the tests in valid_nameref_value. Part of fix for bug
- reported by Grisha Levit <grishalevit@gmail.com>
-
-variables.c
- - bind_variable_internal: if trying to assign a value to a nameref
- variable, throw an error if valid_nameref_value fails (with a second
- argument of 1). More fixes for bug reported by Grisha Levit
- <grishalevit@gmail.com>
-
- 5/2
- ---
-builtins/declare.def
- - declare_internal: don't allow nameref attribute to be applied to an
- existing readonly variable; it can be used to circumvent readonly
- value. Fix for bug reported by Grisha Levit <grishalevit@gmail.com>
-
-variables.[ch]
- - find_variable_last_nameref, find_global_variable_last_nameref: takes
- a new flags argument. If flags is non-zero, and we find a nameref
- variable that is unset (has no value), return that variable instead
- of NULL.
-
-{variables,execute_cmd,arrayfunc,subst}.c,builtins/{declare,set}.def
- - find_variable_last_nameref, find_global_variable_last_nameref: change
- callers to add flags argument (initially 0)
-
- 5/3
- ---
-variables.c
- - bind_variable_internal: make sure we run the value of a namref
- variable through valid_nameref_value before doing the assignment.
- This can go away if we stop allowing namerefs to refer to positional
- parameters
-
-execute_cmd.c
- - execute_select_command: if bind_variable returns NULL, handle it as
- an error, as if attempting assignment to a readonly variable
- - execute_for_command: use 1 as second argument to
- find_variable_last_nameref, so it will return an invisible nameref
- to assign for each variable in the list
- - execute_for_command: if the current word in the list is an invalid
- identifier and the loop variable is a nameref, handle it as an error,
- as if attempting assignment to a readonly variable
-
- 5/4
- ---
-variables.c
- - bind_int_variable: add warning if assigning an int to a nameref
- variable
- - assign_in_env: if assigning a variable in the temporary environment
- that is a namref, throw an error if trying to assign an invalid
- value
- - bind_variable_value: use valid_nameref_value instead of calls to
- legal_identifier and valid_array_reference
-
-execute_cmd.c
- - coproc_setvars: if we have a nameref variable as the coproc name, but
- it can't be assigned to for some reason, remove the nameref attribute
- and issue a warning that we are doing so
- - coproc_setvars: don't allow assignment to a nameref variable with an
- invalid variable name, using same code as find_or_make_array_variable
-
-general.c
- - valid_nameref_value: disallow values consisting solely of digits,
- like the positional parameters
-
-builtins/declare.def
- - declare_internal: don't call valid_nameref_value on the existing value
- of a variable that's being converted to a nameref -- that value is
- going to be thrown away and we've already checked the new value
- - declare_internal: call bind_variable_value with the ASS_NAMEREF flag
- if we're assigning to an existing nameref variable (for instance,
- `declare -n x ; declare x=42')
-
- 5/5
- ---
-variables.c
- - make_local_variable: if we are being asked to create a local copy of
- a nameref variable from a prior scope (checked by looking up
- using find_variable_noref), use the nameref variable, not the variable
- it references (which we find using find_variable). Bug report from
- Grisha Levit <grishalevit@gmail.com> ; fix by Piotr Grzybowski
- <narsil.pl@gmail.com>
-
-builtins/declare.def
- - declare_internal: if asked to do the same thing as above (difference
- is declare -n r=foo in previous case; declare -n r in this one),
- don't follow reference var from a previous context. Create a new
- local variable (using make_local_variable) and inherit attributes
- from previous scope's nameref as above
-
- 5/6
- ---
-builtins/declare.def
- - declare_internal: if we are assigning a value to an existing
- invisible nameref variable, validate value early so we don't end up
- removing the variable after the assignment fails
-
-builtins/shopt.def
- - toggle_shopts: don't call set_bashopts here unless $BASHOPTS exists,
- since we don't want to set it up before it gets read from the
- environment. Keeping BASHOPTS read-only should keep users from
- unsetting it. Fix from Grisha Levit <grishalevit@gmail.com>
- - shopt_set_debug_mode: make sure error_trace_mode reflects the setting
- of extdebug. This one is tentative. Fix from Grisha Levit
- <grishalevit@gmail.com>
- - shopt_set_debug_mode: call set_shellopts after setting error_trace_mode
- or function_trace_mode. Fix from Grisha Levit <grishalevit@gmail.com>
-
-shell.c
- - start_debugger: make sure that function_trace_mode and error_trace_mode
- reflect the value of debugging_mode, so they are both disabled if we
- disable debugging mode because we can't find the debugger start file.
- Fix from Grisha Levit <grishalevit@gmail.com>
- - start_debugger: set $SHELLOPTS and $BASHOPTS to the option values are
- reflected if we change or set them here. Fix from Grisha Levit
- <grishalevit@gmail.com>
-
-builtins/set.def
- - reset_shell_options: add reset values for: posix, nolog, pipefail.
- Fix from Grisha Levit <grishalevit@gmail.com>
-
-builtins/shopt.def
- - reset_shopt_options: add reset values for: autocd, checkjobs,
- complete_fullquote, dirspell, failglob, globstar, gnu_errfmt,
- huponexit, inherit_errexit, interactive_comments, lastpipe,
- no_empty_cmd_completion, progcomp. Fix from Grisha Levit
- <grishalevit@gmail.com>
- - reset_shopt_options: make sure the following options have the right
- defaults based on #defines: checkjobs, checkwinsize, direxpand,
- extglob, globasciiranges. Fix from Grisha Levit
- <grishalevit@gmail.com>
-
-flags.c
- - reset_shell_flags: add missing flags, re-initialize history_expansion
- based on STRICT_POSIX
-
- 5/8
- ---
-lib/readline/histexpand.c
- - history_expand: if any expansion returns 1 from history_expand_internal,
- indicating that :p was supplied, make it apply to the entire line
- like tcsh and csh. Fixes bug reported by Dean Stanton
- <dstanton@tintri.com>
-
-variables.[ch]
- - ifsname: move define to variables.h
-
-execute_cmd.c
- - execute_for_command: check whether or not the word in the for command
- is IFS; call setifs every time the variable is assigned a value.
- Fixes bug report from Grisha Levit <grishalevit@gmail.com>
-
- 5/16
- ----
-general.c
- - valid_nameref_value: explicitly handle name == 0 and *name == 0 right
- away to save calls to legal_identifier
-
-builtins/declare.def
- - declare_internal: if trying to set nameref attribute on a variable
- with a null value, flag as invalid assignment, just as if running
- `declare -n r=""'. Fixes bug report from Grisha Levit
- <grishalevit@gmail.com>
- - declare_internal: when creating a variable with a temporary value
- (""), use ASS_FORCE in the assignment flags to bypass name validity
- checks on nameref variable names
-
-variables.c
- - bind_variable_internal: don't call valid_nameref_value if we're
- forcing assignment with (flags & ASS_FORCE)
-
-builtins/read.def
- - read_builtin: handle bind_variable returning NULL when setting REPLY.
- Report and fix from Grisha Levit <grishalevit@gmail.com>
-
-builtins/setattr.def
- - set_var_attribute: handle bind_variable returning NULL
-
-lib/sh/tmpfile.c
- - sh_seedrand(): call srandom() to seed the random number generator
- - sh_mktmpname, sh_mktmpfd: if we have random(), assume we have
- srandom() and seed the random number generator. Still looking for
- better value to see random number generator with
-
-variables.c
- - check_unbind_variable: use internal_error instead of builtin_error
-
-{execute_cmd,variables}.c
- - fix some places where bind_variable could return NULL and it was not
- checked. Fix from Piotr Grzybowski <narsil.pl@gmail.com>
-
- 5/17
- ----
-arrayfunc.c
- - convert_var_to_{array,assoc}: make sure to turn off nameref attribute,
- since namerefs can't be arrays
-
-execute_cmd.c
- - coproc_setvars: if the coproc name names a nameref, resolve the
- nameref and use it as the name of the coproc. Suggested by Grisha
- Levit <grishalevit@gmail.com>
-
-subst.c
- - command_substitute: don't bother calling QUIT after calling
- reset_signal_handlers in the child, kill the child with SIGINT in
- case we just reset the signal handler to SIG_DFL and we should just
- exit instead of throwing to top level. Fixes bug reported by
- Grisha Levit <grishalevit@gmail.com>
-
- 5/18
- ----
-variables.c
- - find_variable_nameref_for_create: find a nameref variable whose value
- doesn't resolve to an existing variable and see whether or not that
- value is appropriate for a new variable to be created
- - find_variable_nameref_for_assignment: find a nameref variable whose
- value doesn't resolve to an existing variable and see whether or not
- that value is appropriate for a new variable to be created.
- Difference between _assignment and _create is that _assignment
- allows the nameref value to be a subscripted array reference
-
-builtins/setattr.def
- - set_var_attribute: if variable lookup doesn't return anything, check
- for a nameref and make sure that any reference value is something we
- should be working on here, using find_variable_nameref_for_create().
- If it fails, error out and return, otherwise it's probably a reference
- to a variable that hasn't been set yet, so let bind_variable take care
- of that. Report from Grisha Levit <grishalevit@gmail.com>
-
-arrayfunc.c
- - bind_array_variable: if find_shell_variable returns NULL, check for a
- nameref using find_variable_nameref_for_create and create a new array
- variable with the value if it returns a valid nameref variable.
- Makes `unset var; declare -n ref=var ; ref[0]=foo' work right.
- Report from Grisha Levit <grishalevit@gmail.com>
-
- 5/19
- ----
-variables.[ch]
- - unbind_variable_noref: unset a variable NAME without following any
- nameref chain. If the first instance of the variable with that name
- is a nameref, just unset that nameref variable.
-
-builtins/getopts.def
- - getopts_unbind_variable: if OPTARG is going to be unbound, use
- unbind_variable_noref to unbind that name even if it is a nameref
- variable. Issue raised by Grisha Levit <grishalevit@gmail.com>
-
-execute_cmd.c
- - coproc_unsetvars: use unbind_variable_noref in case someone sets the
- coproc _PID variable as a nameref pointing to something read-only or
- strange. Issue raised by Grisha Levit <grishalevit@gmail.com>
-
-builtins/set.def
- - set_ignoreeof: use unbind_variable_noref to unset "IGNOREEOF" and
- "ignoreeof"
- - set_posix_mode: use unbind_variable_noref to unset "POSIXLY_CORRECT"
-
-variables.c
- - make_vers_array: use unbind_variable_noref to unset "BASH_VERSINFO"
-
-lib/sh/shmatch.c
- - sh_regmatch: use unbind_variable_noref to unset "BASH_REMATCH"
-
-bashline.c
- - bash_execute_unix_command: use check_unbind_variable to unset
- READLINE_LINE and READLINE_POINT
-
-pcomplete.c
- - unbind_compfunc_variables: use unbind_variable_noref to unset
- COMP_LINE, COMP_POINT, COMP_WORDS, COMP_CWORD, COMP_TYPE, COMP_KEY
- - gen_shell_function_matches: use unbind_variable_noref to unset
- COMPREPLY
-
-config-top.h
- - USE_MKTEMP/USE_MKSTEMP: define by default to use libc version of
- mktemp and mkstemp in lib/sh/tmpfile.c. Recommended by Mike
- Frysinger <vapier@gentoo.org> to fix a FreeBSD problem
-
-configure.ac,config.h.in
- - mkstemp: check for mkstemp, define HAVE_MKSTEMP if available
-
-config-bot.h
- - USE_MKSTEMP: #undef if HAVE_MKSTEMP not defined
-
- 5/22
- ----
-variables.c
- - assign_in_env: if appending to a variable's value, make sure we call
- make_variable_value with the empty string if expand_assignment_string_to_string
- returns NULL, as do_assignment_internal does. Fixes bug with
- `str=''; val=foo ; val+=str printenv val' reported by Grisha Levit
- <grishalevit@gmail.com>
- - assign_in_env: if assigning to a nameref variable in the temporary
- environment, and the nameref has a valid value for assignment (even
- if the target variable is not set), resolve the nameref and create
- a variable in the temporary environment named by the nameref's value.
- If the nameref variable is invisible or isn't set to a valid value
- for assignment, just create a regular temporary variable with the
- nameref's name. This provides a degree of ksh93 compatibility.
- Suggested by Grisha Levit <grishalevit@gmail.com>
- - find_variable_nameref_context,find_variable_last_nameref_context:
- instead of returning NULL when detecting a loop, return a
- distinguished value: &nameref_maxloop_value
- - bind_variable: catch nameref_maxloop_value so we can do different
- things based on whether or not we get it. Right now we don't do
- anything different, but we could
-
- 5/24
- ----
-lib/readline/display.c
- - update_line,_rl_move_cursor_relative: save value of MB_CUR_MAX in a
- variable and use it throughout the functions instead of recomputing it
- every time (which possibly costs a function call)
-
- 5/25
- ----
-builtins/declare.def
- - declare_internal: only check whether the value being assigned to a
- nameref variable is a valid identifier if we're not appending to an
- existing value. Suggested by Grisha Levit <grishalevit@gmail.com>
- - declare_internal: add a couple of more checks on nameref names:
- o make sure `declare -n x[3]=y' is an error
- o nameref variable self-references now produce a warning when
- in function scope
- o nameref variable self-references using subscripted arrays
- (a=a[0]) now produce warnings at function scope and errors at
- global scope
-
- 5/29
- ----
-builtins/declare.def
- - declare_internal: use name of readonly variable when calling sh_readonly
- instead of name passed as argument to declare in case we've followed
- a nameref chain
- - declare_internal: when turning off attributes on a nameref variable
- after following the nameref chain and turning them off on the target
- variable, don't allow the readonly attribute to be removed. This is
- primarily intended to turn off the nameref attribute. Issue pointed
- out by Grisha Levit <grishalevit@gmail.com>
- - declare_internal: if we are attempting to modify an existing global
- nameref variable, and the -n option is supplied, operate on the
- nameref variable itself, not the variable it references
-
-doc/{bash.1,bashref.texi}
- - change the descriptions of namerefs and declare -n slightly to note
- that using the -n option to declare will operate on the nameref
- variable itself rather than the variable it references
-
-variables.c
- - bind_variable_internal: if trying to assign to a read-only variable,
- print the error message using the variable's name instead of the
- name passed to bind_variable in case we followed a nameref
-
-builtins/declare.def
- - declare_internal: when we're creating a (possibly invisible) variable
- as part of another operation, assigning NULL, make sure to use
- ASS_FORCE to avoid warning messages from any existing nameref
- variables we follow
- - declare_internal: allow the nameref attribute to be removed from a
- readonly nameref variable without a value but do not allow it to be
- removed from a readonly nameref variable that has a value, even if it
- doesn't reference an existing variable. This distinction is for ksh93
- compatibility. Pointed out by Grisha Levit <grishalevit@gmail.com>
-
- 5/31
- ----
-builtins/declare.def
- - declare_internal: if the call to bind_variable_value fails for some
- reason, make sure to restore the nameref attribute to flags_on and
- flags_off before calling NEXT_VARIABLE
-
-subst.c
- - make_internal_declare: handle += append op
- - shell_expand_word_list: when transforming assignment statement
- arguments to `declare', make sure to handle += append op to avoid
- passing invalid identifiers to declare. Report by Grisha Levit
- <grishalevit@gmail.com>
-
- 6/1
- ---
-builtins/declare.def
- - declare_internal: if a nameref assignment fails, only call delete_var
- to delete the variable if we created it in declare_internal in the
- first place
-
-general.c
- - check_selfref: new function, checks a NAME against a VALUE for nameref
- self-reference
-
-general.h
- - check_selfref: extern declaration
-
-builtins/declare.def
- - declare_internal: call check_selfref to determine whether a given NAME
- and VALUE constitute an invalid nameref variable self-reference
-
-variables.c
- - bind_variable_internal: call check_selfref to determine whether a
- given NAME and VALUE constitute an invalid nameref variable self-
- reference
-
- 6/2
- ---
-parse.y
- - clear_shell_input_line: new function, clears contents of shell_input_line
- and sets index to 0, but doesn't free it
-
-externs.h
- - clear_shell_input_line: extern declaration
-
-builtins/evalstring.c
- - parse_and_execute: call clear_shell_input_line after setting input to
- string to be executed. Fixes problem with command substitution and
- multi-line aliases reported by Grisha Levit <grishalevit@gmail.com>
-
-eval.c
- - parse_command: only execute PROMPT_COMMAND if the shell is not
- currently expanding an alias; use the same tests as parse.y:SHOULD_PROMPT
- and parse.y:prompt_again() use to decide whether or not to print a
- prompt. Fixes problems with PROMPT_COMMAND and multi-line aliases
- reported by Grisha Levit <grishalevit@gmail.com>
-
-builtins/set.def
- - unset_builtin: changes to fix three problems reported by Grisha
- Levit <grishalevit@gmail.com>:
- o if -n is supplied, we should not try to unset a function if
- a variable isn't found
- o unsetting namerefs whose values are array references does
- not work
- o unset -n n[0], where n is a nameref, would unset the
- referenced variable instead of `n'
-
-redir.c
- - redir_varvalue: handle case where nameref var points to subscripted
- array reference. Reported by Grisha Levit <grishalevit@gmail.com>
-
-variables.c
- - bind_variable_value: make sure to call check_selfref only if aflags
- includes ASS_NAMEREF and not ASS_FORCE. Reported by Grisha Levit
- <grishalevit@gmail.com>
-
-general.c
- - valid_nameref_value: now understands a FLAGS value of 2 to mean that
- the name will be used to create a variable, so only legal_identifier
- matters
-
-arrayfunc.c
- - find_or_make_array_variable: call valid_nameref_value with FLAGS value
- of 2 to indicate we will be creating a variable. Fixes mapfile issue
- reported by Grisha Levit <grishalevit@gmail.com>
-
- 6/5
- ---
-builtins/declare.def
- - declare_internal: only pass ASS_FORCE as part of assignment flags to
- assignments concerning arrays
- - declare_internal: when at the global scope, if we resolve a nameref
- and commit to using the new name, go back to to the beginning of the
- loop and use the new name in the checks and variable references.
- Make sure we construct the new name as a straight substitution of
- the nameref value into the old name, including array subscripts and
- rebuilding the correct values for `offset' and `value', since they
- are relative to the original value of name.
- Fixes several issues with checking use of subscripted array variables
- as nameref values
- - declare_internal: when calling assign_array_element, make sure to
- pass ASS_APPEND if aflags includes it, so things like
- declare -a var; var[1]=1; declare var[1]+=4
- append to the value appropriately and var[1] ends up being `14'
-
-arrayfunc.c
- - valid_array_reference: make sure the array reference is properly
- terminated after the first subscript; return invalid if there is
- anything following the closing `]'
-
- 6/12
- ----
-variables.c
- - bind_variable_internal: if asked to perform an array subscript
- assignment on a nameref variable, display a warning and remove the
- nameref attribute (as bash-4.3 did). Reported by Dan Douglas
- <ormaaj@gmail.com>
-
- 6/14
- ----
-test.c
- - posixtest: handle four-argument case where argv[1] == '(' and
- argv[4] == ')' by performing two-argument test on $2 and $3.
- Reported by Joerg Schilling <Joerg.Schilling@fokus.fraunhofer.de>
-
- 6/15
- ----
-variables.c
- - sv_ignoreeof: make sure ignoreeof is set only if IGNOREEOF is set and
- has a value (no `local IGNOREEOF'). Reported by Grisha Levit
- <grishalevit@gmail.com>
- - sv_strict_posix: make sure posixly_correct is set only if
- POSIXLY_CORRECT is set and has a value. Reported by Grisha Levit
- <grishalevit@gmail.com>
-
- 6/16
- ----
-builtins/declare.def
- - declare_internal: analogous to 6/12 change; when performing an array
- subscript assignment on a nameref, display a warning, remove the
- nameref attribute, and go on
-
- 6/21
- ----
-execute_cmd.c
- - shell_execve: make sure errno is (re)set appropriately before
- returning error value on exec format error
-
- 6/23
- ----
-subst.c
- - param_expand: when expanding $* in a context where splitting is not
- desired (pflags & PF_ASSIGNRHS), make sure to quote the word and the
- included separators. Reported by Dan Douglas <ormaaj@gmail.com>
-
- 6/30
- ----
-configure.ac
- - release version is now `beta2'
-
-execute_cmd.c
- - execute_simple_command: even if already_making_children is non-zero,
- don't call wait_for if last_made_pid == NO_PID. Indirectly inspired
- by report from Nicolas Vivet <nicolas@nzx.io>
-
- 7/2
- ---
-subst.c
- - expand_word_internal: when adding an IFS character to the accumulated
- string, don't quote it if word expansion is not going to be
- performed ((word->flags & (W_NOSPLIT|W_NOSPLIT2)) == 0) in the
- default case. This was already the case everwhere else, when we did
- `goto add_ifs_character;'. Fixes bug reported by Ibrahim M. Ghazal
- <imgx64@gmail.com>
-
-subst.[ch],arrayfunc.c
- - string_list_dollar_at: now takes a new third argument, currently
- reserved for future use; changed callers and declaration
-
- 7/7
- ---
-[bash-4.4-beta2 frozen]
-
- 7/9
- ---
-bashline.c
- - check_redir: make sure that index is > 0 before checking previous
- char; fixes out of bounds read reported by Hanno Böck
- <hanno@hboeck.de>
-
- 7/16
- ----
-subst.c
- - parameter_brace_expand: if ${array[@]} or ${array[*]} is supplied
- with an unset (or empty) array, and -u is enabled, don't make it
- an unbound variable error, like $@ or $* when there are no
- positional parameters. Based on report from Ian Allen
- <idallen@idallen-fibe.dyndns.org>
-
-lib/readline/signals.c
- - rl_pending_signal(): return the number of any signal readline has
- caught but is waiting to handle
-
-lib/readline/callback.c
- - rl_persistent_signal_handlers: new variable, restores readline-6.2
- signal handler semantics: installed at rl_callback_handler_install
- time and removed with rl_clear_signals when a complete line has
- been read
- - _rl_callback_newline: call rl_set_signals if rl_persistent_signal_handlers
- is non-zero
- - rl_callback_read_char: install signal handlers with rl_set_signals
- if rl_persistent_signal_handlers is 0 (the default)
- - CALLBACK_READ_RETURN: uninstall signal handlers with rl_clear_signals
- only if rl_persistent_signal_handlers is 0 (the default)
-
-lib/readline/readline.h
- - rl_pending_signal: new extern declaration
- - rl_persistent_signal_handlers: new extern declaration
-
- 7/19
- ----
-execute_cmd.c
- - execute_while_or_until: make sure we decrement `continuing' the way
- we decrement `breaking' if the loop test indicates we will be
- breaking out of the loop. That keeps `until continue' from
- keeping `continuing' set to 1. Reported by Dan Douglas
- <ormaaj@gmail.com>
-
- 7/20
- ----
-trap.c
- - run_pending_traps,_run_trap_internal: save and restore temporary_env,
- set temporary_env to 0 before trap runs so traps don't inherit a
- command's temporary env. Fixes bug with IFS assignment in tempenv
- and trap reported by Andriy Martynets <martynets@volia.ua>
-
-jobs.c
- - run_sigchld_trap: save and restore temporary_env, set temporary_env
- to 0 before trap runs so traps don't inherit a command's temporary
- env (see above)
-
- 7/21
- ----
-execute_cmd.c
- - execute_function: unwind-protect function_line_number, in case we
- are executing a function inside another function. Reported by
- Grisha Levit <grishalevit@gmail.com> in context of evaled functions
- and DEBUG traps
- - execute_arith_for_command,execute_arith_command,execute_simple_command,
- execute_cond_command: make sure line_number doesn't go < 0 when
- adjusting it by function_line_number
-
- 7/23
- ----
-subst.c,command.h
- - move the PF_ constants to command.h so other files can see them, now
- that PF_ASSIGNRHS has meaning to string_list_dollar_at
-
-arrayfunc.h
- - AV_ASSIGNRHS: new flag, indicate that ${a[@]} is being expanded on
- the RHS of an assignment statement
-
-arrayfunc.c
- - array_value_internal: if AV_ASSIGNRHS passed for ${a[@]}, pass
- PF_ASSIGNRHS to string_list_dollar_at to support args separated by
- spaces even if $IFS does not have the default value. Reported by
- Dan Douglas <ormaaj@gmail.com>
-
-subst.c
- - string_list_dollar_at: if FLAGS argument includes PF_ASSIGNRHS, obey
- rules for $@ on the RHS of an assignment statement: expand to
- postitional parameters separated by spaces no matter what the first
- character of $IFS is. Reported by Dan Douglas <ormaaj@gmail.com>
- - parameter_brace_expand_word: pass AV_ASSIGNRHS as flags value to
- array_value if PF_ASSIGNRHS is set and we are expanding an array
- variable subscripted by @ or *
- - param_expand: pass pflags to string_list_dollar_at in case it contains
- PF_ASSIGNRHS
- - expand_word_internal: if we have an assignment statement argument to
- a declaration builtin (W_ASSIGNARG), turn on W_ASSIGNRHS when we see
- the `=' to enable special $@ behavior
- - expand_word_internal: if W_ASSIGNARG enabled in word flags, pass that
- flag and W_ASSIGNRHS to recursive call to expand_word_internal when
- expanding double-quoted string; handles "$@" when IFS is not the
- default value and word splitting will not be performed
-
-subst.c
- - expand_word_internal: change case that handles '' (single-quoted
- empty string) to only discard it if we will not be performing word
- splitting (W_NOSPLIT|W_NOSPLIT2), since we need to add a quoted null
- argument if the subsequent characters will cause word splitting.
- This is how "" (double-quoted empty string) is handled after a bug
- fix back in August 2010. Reported by Grisha Levit
- <grishalevit@gmail.com>, fix for Posix interp 888
-
- 7/27
- ----
-subst.c
- - param_expand: change fix from 6/23 (expanding $* in a context where
- word splitting is not performed) to make sure that $* expands to
- something before trying to quote the string. Bug and fix from
- Andreas Schwab <schwab@suse.de>
-
-lib/readline/bind.c
- - _rl_get_string_variable_value: fix a cut-and-paste error that caused
- the emacs mode string to be displayed for both vi insert and command
- mode strings. Report and fix from Steve Jones <sjml@slohj.org>
-
- 7/28
- ----
-lib/readline/display.c
- - update_line: we can't use PROMPT_ENDING_INDEX unless we're testing
- against _rl_last_c_pos; if we are testing buffer indices, we need to
- use prompt_last_invisible directly. Fixes mode string redisplay issue
- with short prompt strings reported by Steve Jones <sjml@slohj.org>
-
- 8/4
- ---
-nojobs.c
- - without_job_control: new function, resets child state that's
- eventually used to decide whether or not to wait_for children
-
-execute_cmd.c
- - initialize_subshell: call without_job_control in both the
- JOB_CONTROL and no job control paths so we can reset the state in
- subshells that will not cause them to wait_for children
- inappropriately. Fixes bug reported by Dan Cross <crossd@gmail.com>
-
- 8/5
- ---
-configure.ac
- - release version is now `rc2'
-
-bashline.c
- - command_word_completion_function: if direxpand is set, make sure to
- run hint_text through bash_directory_completion_hook, since
- readline will do that and we want to be able to match the results
- readline returns. Fixes bug reported by Pat Somaru
- <tuf18542@temple.edu>
-
-command.h
- - W_COMPLETE: new flag word value
- - PF_COMPLETE: new flags value for param_expand
-
-subst.h
- - SX_STRIPDQ: new flag, used for string_extract_double_quoted
-
-bashline.c
- - bash_filename_stat_hook,bash_directory_completion_hook: pass W_COMPLETE
- flag to expand_prompt_string
-
-subst.c
- - expand_word_internal: if W_COMPLETE in word->flags, pass PF_COMPLETE
- to param_expand
- - param_expand: if PF_COMPLETE in pflags, pass SX_COMPLETE to
- extract_command_subst. This allows `"$(echo ~/' to perform
- completion successfully
- - string_extract_double_quoted: turn third argument into a flags arg,
- old STRIPDQ is now set if flags&SX_STRIPDQ
- - string_extract_double_quoted: changed callers, if third argument was
- 1, pass SX_STRIPDQ instead
- - expand_word_internal: if W_COMPLETE in word->flags, pass SX_COMPLETE
- in flags to string_extract_double_quoted for case '"'
- - string_extract_double_quoted: if SX_COMPLETE in flags, pass it to
- extract_command_subst
- - expand_word_internal: if W_COMPLETE in word->flags, make sure W_COMPLETE
- is in temp word passed to recursive call to expand_word_internal to
- expand double-quoted string. Fixes bug reported by John Passaro
- <john.a.passaro@gmail.com>
-
- 8/9
- ---
-[bash-4.4-rc2 frozen]
-
- 8/10
- ----
-subst.c
- - sub_append_string: use size_t variable to store string length to
- avoid integer overflow. Report from Siteshwar Vashisht
- <svashisht@redhat.com>
- - sub_append_string: `size' argument is now pointer to size_t; changed
- istring_index in expand_word_internal to accommodate change
-
-lib/sh/ufuncs.c
- - include "posixselect.h" if HAVE_SELECT is defined, make sure that
- fd_set and the rest are defined
-
- 8/11
- ----
-lib/readline/histexpand.c
- - history_tokenize_word: use ISDIGIT instead of isdigit for more
- argument checking
- - "chardefs.h": include for ISDIGIT define and <ctype.h>. Fix from
- Mike Frysinger <vapier@gentoo.org>
-
-lib/sh/eaccess.c,externs.h
- - sh_eaccess: first argument now const char *
- - sh_stataccess,sh_euidaccess: first argument now const char *, since
- sh_stat and sh_eaccess call them.
- Fix from Mike Frysinger <vapier@gentoo.org>
-
-lib/glob/glob.c
- - sh_eaccess: change local prototype
-
-general.[ch]
- - all_digits,legal_identifier,valid_nameref_value,importable_function_name,
- exportable_function_name,check_binary_file,file_exists,file_isdir,
- file_iswdir,same_file,make_absolute,valid_nameref_value: first
- argument (always identifier or filename) is now a `const char *';
- some second filename arguments now `const char *'.
- Fix from Mike Frysinger <vapier@gentoo.org>
-
-configure.ac,config.h.in
- - uintptr_t: make sure it's defined to an integer type wide enough to
- hold a pointer
-
-lib/sh/tmpfile.c
- - sh_seedrand: use `uintptr_t' to cast pointer value to int value,
- instead of allowing truncation to take place, since srandom takes
- an `unsigned int'.
- Fix from Mike Frysinger <vapier@gentoo.org>
-
-arrayfunc.[ch]
- - valid_array_reference,array_variable_name,array_variable_part,
- array_value_internal,array_value,get_array_value: first argument
- (always variable name) now a `const char *'
- Fix from Mike Frysinger <vapier@gentoo.org>
-
- 8/19
- ----
-print_cmd.c
- - xtrace_print_word_list: if (xtflags & 2), don't try to quote the
- words in the LIST argument. Intended to be used in places where
- the list has not yet been expanded
- - xtrace_print_for_command_head: call xtrace_print_word_list with
- flags argument of 2. Fixes issue reported by Aharon Robbins
- <arnold@skeeve.com>
- - xtrace_print_select_command_head: call xtrace_print_word_list with
- flags argument of 2
-
- 8/21
- ----
-lib/sh/netopen.c
- - netopen: fix memory leak by freeing allocated path before error
- return. Fix from Dmitry Goncharov <dgoncharov@users.sf.net>
-
-doc/{bash.1,bashref.texi}
- - change conditional commands description to make it clearer that
- bash doesn't emulate /dev/fd if the OS provides it
-
- 8/22
- ----
-braces.c
- - expand_amble: free partial and tem on failure to allocate memory
- for merged partial+result strvec. Fix from Dmitry Goncharov
- <dgoncharov@users.sf.net>
-
- 8/23
- ----
-jobs.c
- - wait_for: don't call get_tty_state when a job finishes if we're
- running it as part of programmable completion. We test
- rl_readline_state. Fixes bug reported by Jaro Punta
- <silly8888@gmail.com>
-
- 8/24
- ----
-subst.c
- - pat_subst: fix memory leak (mstr). Fix from Dmitry Goncharov
- <dgoncharov@users.sf.net>
- - split_at_delims: fix memory leak (d2). Fix from Dmitry Goncharov
- <dgoncharov@users.sf.net>
-
- 8/26
- ----
-subst.c
- - match_upattern,match_wpattern: make sure that a trailing `*' is
- not escaped (preceded by an odd number of backslashes) before we
- append a `*' when checking whether a pattern matches anywhere in
- the string
-
-lib/readline/{input,signals}.c
- - protect instances of SIGQUIT with #ifdef SIGQUIT; apparently
- MinGW doesn't define it
- - protect instances of SIGHUP with #ifdef SIGHUP; apparently
- MinGW doesn't define it. From a report from Simon Sobisch
- <simonsobisch@gnu.org>
-
-xmalloc.o
- - allocerr: only try to find the break and report it if we're using
- the bash malloc; there's no guarantee that any other malloc is
- using sbrk()
-
-doc/{bash.1,bashref.texi}
- - quote removal: add paragraph mentioning quote removal to beginning
- of expansions section, referencing later paragraph. Report from
- Michel Lanne <michel.lanne@gmail.com>
-
- 8/30
- ----
-lib/readline/input.c
- - protect instances of SIGALRM and SIGWINCH with #ifdef; apparently
- MinGW doesn't define them. From a report from Simon Sobisch
- <simonsobisch@gnu.org>
-
-subst.c
- - SPECIAL_VAR: make sure name is not the empty string before going on,
- empty strings can result in unitialized reads
- - CHECK_STRING_OVERRUN: semi-general macro to use in *extract* and
- similar functions to to check whether a function called to parse an
- embedded construct (like a backquoted command substitution) doesn't
- consume the entire string because it's unterminated
- - skip_double_quoted: make sure other extraction functions don't
- consume the entire string (which they can if the construct is
- unterminated) before incrementing the index and going on. Uses
- CHECK_STRING_OVERRUN
- - extract_dollar_brace_string: check for unterminated embedded
- constructs consuming the entire string with CHECK_STRING_OVERRUN ('`')
- - skip_matched_pair: use CHECK_STRING_OVERRUN to make sure unterminated
- embedded "`", $(, ${ don't cause out-of-bounds reads
-
-parse.y
- - parse_comsub: when parsing a here-document delimiter, make sure we
- don't try to use `nestret' after freeing it. Fixes bug reported by
- Franco Costantini <franco.costantini.20@gmail.com>
-
-[bash-4.4 frozen]
-
- 9/10
- ----
-trap.c
- - run_debug_trap: only give the terminal to pipeline_pgrp if
- subshell_environment doesn't include SUBSHELL_ASYNC|SUBSHELL_PIPE.
- Fixes bug reported by Matthew Giassa <matthew@giassa.net>
-
-execute_cmd.c
- - execute_simple_command: if user_subshell is set, check and set
- SUBSHELL_ASYNC if asynchronous is set as well as setting
- SUBSHELL_PAREN
+[bash-4.4 released]
9/17
----
@@ -14924,7 +3229,7 @@ doc/{bash.1,bashref.texi}
2/1
---
config-top.h
- - DONT_REPORT_SIGPIPE: define, so non-interactive shells will no
+ - DONT_REPORT_SIGTERM: define, so non-interactive shells will no
longer print termination messages for child processes killed by
SIGTERM
@@ -15119,7 +3424,7 @@ lib/readline/bind.c
takes a length parameter; otherwise equivalent to rl_function_of_keyseq.
lib/readline/readline.h
- - rl_function_of_keyseq_len: add extern declration for new function
+ - rl_function_of_keyseq_len: add extern declaration for new function
lib/readline/doc/rltech.texi
- rl_function_of_keyseq_len: document new function interface
@@ -15389,3 +3694,612 @@ variables.c
the function is executed.
[bash-5.0-alpha frozen]
+
+ 5/12
+ ----
+execute_cmd.c
+ - execute_in_subshell: subshells should set loop_level == 0, since
+ they are no longer "enclosed" by the loop, according to posix.
+ Report from Aeron.E. Wang <aeron.e.wang@gmail.com>
+
+ 5/24
+ ----
+Makefile.in
+ - pkgconfigdir: don't fail installing bash.pc if this directory doesn't
+ exist or isn't writable -- there's no error in failing to install
+ something nothing will use
+ - install-headers-dirs: creat $(pkgconfigdir) if it doesn't exist
+
+lib/sh/shmbchar.c
+ - utf8_mblen: replace with version from gnulib
+ - utf8_mbstrlen: reimplement using utf8_mblen so it handles invalid
+ multibyte sequences in the same way as mbstrlen
+
+lib/readline/mbutil.c
+ - _rl_utf8_mblen: utf-8 specific version of mblen from gnulib
+
+include/shmbutil.h
+ - ADVANCE_CHAR,COPY_CHAR_P: do better job detecting end of string in
+ UTF-8 locales (should not be called with an empty string, but to
+ be safe)
+
+ 5/25
+ ----
+lib/sh/utf8.c
+ - new file, utf-8-specific functions collected from other files
+
+externs.h
+ - extern declarations moved around for utf8.c
+
+include/shmbutil.h
+ - SADD_MBCHAR, SADD_MBQCHAR_BODY, ADVANCE_CHAR_P: if the locale is a
+ UTF-8 locale, don't bother with a call to mbrlen if the current
+ character cannot start a multibyte character
+
+variables.c
+ - push_var_context: only merge the temporary environment in posix mode
+ if we are executing a shell function (flags & VC_FUNCENV). Report
+ from Martijn Dekker <martijn@inlv.org>
+
+lib/readline/mbutil.c
+ - _rl_get_char_len: don't call mbrlen if we are in a UTF-8 locale and
+ the character cannot start a multibyte sequence
+
+builtins/read.def
+ - read_builtin: if mb_cur_max > 1, call read_mbchar only if we're not
+ in a utf-8 locale or, if we are, the character we just read indicates
+ the start of a multibyte sequence
+
+subst.c
+ - string_extract_verbatim: don't call MBRLEN if we're in a utf-8
+ locale and the current character can't start a multibyte sequence
+ - setifs: don't call MBRLEN if we're in a utf-8 locale and the first
+ character of $IFS can't start a multibyte sequence
+
+lib/readline/kill.c
+ - rl_bracketed_paste_begin: make sure we return 0 here if rl_insert_text
+ returns the right number of characters inserted to be consistent
+ with other functions. Returns 1 otherwise. Report and fix from
+ Gabe Krabbe <gabe@rtfs.de> back in March, 2018
+
+lib/readline/readline.c
+ - rl_subseq_result: make sure r is < 0 before checking map[ANYOTHERKEY]
+ to see if we shadowed a key that should now be tried
+
+ 5/27
+ ----
+variables.c
+ - assign_aliasvar: perform same validity check on subscript assignment
+ as alias builtin performs on name argument. Bug report from
+ Mike Jonkmans <bashbug@jonkmans.nl>
+
+ 5/29
+ ----
+builtins/setattr.def
+ - set_var_attribute: we should not propagate a variable assignment
+ preceding a builtin back to the calling environment unless the
+ shell is in posix mode. Since previous versions of the shell do
+ this, setting the shell compatibility level to 44 or less will
+ continue the propagation behavior
+
+ 6/1
+ ---
+lib/readline/histexpand.c
+ - history_tokenize_word: as part of teaching history tokenization more
+ and more about shell syntax, allow command and process subsitution
+ and extended globbing patterns to appear within a word being
+ tokenized and not just at the beginning. Fixes bug reported back in
+ 2/2017 by ecki@tofex.de
+
+bashhist.c
+ - load_history: use HISTSIZE_DEFAULT (still defaults to "500") to set
+ the initial value of $HISTSIZE. HISTSIZE_DEFAULT can be overridden
+ in config-top.h
+
+ 6/4
+ ---
+configure.ac
+ - make sure we link against an external readline library that's at
+ least version 8
+
+ 6/8
+ ---
+pcomplete.h
+ - INITIALWORD: internal compspec name for programmable completion on
+ the initial (usually the command) word
+
+bashline.c
+ - attempt_shell_completion: if we are in a command position and the
+ user has defined a compspec for INITIALWORD, use programmable
+ completion to complete command words. Original patch from
+ Luca Boccassi <bluca@debian.org>
+
+lib/readline/doc/rluser.texi,builtins/complete.def,doc/bash.1
+ - make it clearer that -D takes precedence over -E when supplied as
+ options to `complete', not when they are applied during completion
+
+builtins/complete.def
+ - complete_builtin,compgen_builtin: add support for -I option
+ - print_one_completion,print_compopts: display -I when appropriate
+
+lib/readline/doc/rluser.texi,doc/bash.1
+ - complete,compgen: document new -I option and its effect
+
+ 6/10
+ ----
+lib/readline/histfile.c
+ - read_history_range: don't apply the heuristic and try to append a
+ history line to an existing history entry if we don't have any
+ history entries. Bug and fix from Edward Huff <ejhuff@gmail.com>
+
+ 6/12
+ ----
+bashline.c
+ - attempt_shell_completion: don't all the programmable completion for
+ INITIALWORD if programmable completion is disabled
+ - attempt_shell_completion: make sure in_command_position remains set
+ for an empty command word on an otherwise blank line, making the
+ presence of assignment statements optional. Report from
+ Luca Boccassi <bluca@debian.org>
+
+ 6/20
+ ----
+lib/malloc/malloc.c
+ - morecore,internal_malloc,internal_free: requests for more than
+ 128K bytes (defined as MMAP_THRESHOLD and saved in the new
+ malloc_mmap_threshold variable) are now satisfied via mmap and
+ freed via munmap. We only use mmap if we have mmap and MAP_ANON
+ (or MAP_ANONYMOUS). These blocks are not available for splitting
+ or coalescing, so every request for 128K bytes or smaller is
+ satisfied via sbrk(). We don't use mremap for realloc yet, but
+ we could in the future
+
+lib/malloc/mstats.h
+ - malloc_stats: the malloc stats now include the number of calls to
+ mmap and the total number of bytes requested via mmap. The number
+ of calls to munmap is captured in each bucket's lesscore count
+
+lib/malloc/stats.c
+ - print_malloc_stats: now prints an indication of where the change from
+ sbrk to mmap takes place, and prints number of mmap calls and total
+ number of bytes allocated using mmap
+
+ 6/22
+ ----
+variables.c
+ - get_bashargcv: new dynamic "fetch" variable for BASH_ARGV and
+ BASH_ARGC, for backwards compatibility: if a script makes a
+ reference to either variable at the top level (not in a shell
+ function) without enabling debugging mode and not having initialized
+ the variable previously (using a simple semaphore), create the
+ variables
+
+ 6/25
+ ----
+configure.ac
+ - opt_bash_malloc: bash malloc no longer disabled for systems that
+ require eight-bit alignment; the bash malloc has had this for a
+ long time
+
+ 7/4
+ ---
+bashline.c
+ - pre_process_line: if command-oriented history is enabled, and the
+ line being expanded is the second or later in a multi-line command,
+ and we know the command is being saved as the current history entry,
+ decrease history_length before calling history_expand so references
+ like !! refer to the previous history entry as usual
+
+lib/readline/histexpand.c
+ - history_quoting_state: new variable, can be set by calling
+ application before calling history_expand to note that the string
+ being expanded is part of a quoted string. Can be set to a single
+ quote, a double quote, or 0 (no quoting)
+ - history_expand: look at history_quoting_state and honor the
+ single-quote setting by not expanding any initial portion of the
+ line before the closing single quote. This allows history expansions
+ to be performed on a line containing a closing single quote if they
+ appear after the single quote
+
+lib/readline/history.h
+ - history_quoting_state: extern declaration
+
+bashhist.c
+ - bash_history_inhibit_expansion: if history_quoting_state indicates
+ that this string is single-quoted, skip over the single-quoted
+ portion and determine whether or not the portion after the
+ quoted string needs to be inhibited from history expansion
+
+parse.y
+ - shell_getc: set history_quoting_state based on the contents of the
+ current delimiter before calling pre_process_line
+
+ 7/6
+ ---
+lib/readline/doc/hsuser.texi
+ - describe the default behavior of backslash and single and double
+ quotes
+
+lib/readline/doc/hstech.texi
+ - history_quoting_state: describe effect of setting this variable
+ - history_quotes_inihibit_expansion: expand the description to include
+ the default quoting behavior that setting this variable enables
+
+ 7/9
+ ---
+support/man2html.c
+ - unescape: use memmove instead of strcpy to handle overlapping strings
+ Report and fix from Bernhard M. Wiedemann <bwiedemann@suse.de>
+
+lib/sh/getenv.c
+ - getenv: check that environ is non-NULL before looking through it.
+ Report and fix from Keeley Hoek <keeley@hoek.io>
+
+ 7/12
+ ----
+braces.c
+ - mkseq: use better integer overflow handling for systems with 32-bit
+ ints and 64-bit intmax_ts. Bug reported by Simon Wörner
+ <mail@simon-woerner.de> as the result of fuzzing
+
+builtins/declare.def
+ - declare_internal: make sure bind_variable returns non-NULL when
+ setting attributes for a variable named as an argument to declare
+ that also appears in the temporary environment (and is a nameref).
+ Bug reported by Simon Wörner <mail@simon-woerner.de as the
+ result of fuzzing
+
+variables.c
+ - bind_variable_internal: if we're assigning through a nameref, don't
+ create a variable with an invalid name under any circumstances
+
+builtins/common.c
+ - get_job_spec: make sure to return NO_JOB if atoi() returns < 0 due
+ to integer overflow.
+ Bug reported by Simon Wörner <mail@simon-woerner.de as the
+ result of fuzzing
+
+ 7/13
+ ----
+execute_cmd.c
+ - execute_in_subshell: don't call set_sigint_handler if the subshell
+ is asynchronous, since it undoes the signal handler installed by
+ setup_async_signals. Fixes bug reported by Daniel Mills
+ <danielmills1@gmail.com>
+
+parse.y,externs.h
+ - reset_readahead_token: new convenience function for the rest of
+ the shell, resets token_to_read if it's a newline (as it will be
+ after reset_parser is called)
+
+eval.c
+ - reader_loop: if we're just going to execute one command, make sure
+ the read-ahead token isn't set to something that will result in a
+ NULL command (by calling reset_readahead_token), since the code
+ will take that as the one command and set EOF_Reached
+
+ 7/15
+ ----
+doc/{bash.1,bashref.texi}
+ - indirect expansion: clarify that the expansion works on parameters,
+ not just variables (NAMEs). Suggested by konsolebox
+ <konsolebox@gmail.com>
+
+ 7/16
+ ----
+doc/{bash.1,bashref.texi}
+ - INSIDE_EMACS: document its effect on line editing
+
+ 7/17
+ ----
+lib/readline/{readline.c,rlprivate.h}
+ - _rl_eof_found: new variable, private to the readline library, that
+ indicates whether the current call to readline() will return NULL
+ because we read EOF
+
+lib/readline/rltty.c
+ - rl_deprep_terminal: if bracketed paste mode is active, the last
+ character of the string to disable it is \r (to avoid confusing
+ the terminal driver about where the cursor is). In this case,
+ output a newline before returning so subsequent text (like the
+ `exit' bash prints) doesn't overwrite the prompt. Bug from
+ https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=903936
+
+variables.c
+ - make_local_assoc_variable: add second argument like corresponding
+ local array function, to allow this function to return an existing
+ local array variable to the caller for the caller to handle
+
+variables.h
+ - make_local_assoc_variable: change function prototype to add second
+ arg
+
+{subst.c,variables.c}
+ - make_local_assoc_variable: change callers
+
+builtins/declare.def
+ - declare_internal: call make_local_assoc_variable with a non-zero
+ second arg to have it return an existing local array variable to be
+ flagged as an error. Fixes bug reported by Grisha Levit
+ <grishalevit@gmail.com>
+ - declare_internal: call make_local_array_variable with unconditional
+ second argument of 1 for the same reason as above
+
+ 7/18
+ ----
+variables.c
+ - bind_invalid_envvar: new function, takes invalid names from the
+ initial environment (names that are not valid shell identifiers) and
+ stores them in a separate hash table (invalid_env)
+ - maybe_make_export_env: make sure to add names from invalid_env to
+ the export env
+ - assign_in_env: for now, prevent variable names that aren't shell
+ identifiers from being added to the temporary environment. Addresses
+ issue raised by Grisha Levit <grishalevit@gmail.com>
+
+test.c
+ - unary_test: rearrange code slightly to avoid a wasted variable lookup
+ if the argument to -v is a subscripted array reference
+
+ 7/19
+ ----
+variables.c
+ - nameref_transform_name: if a name doesn't resolve to a shell variable,
+ this function will check whether it resolves to a nameref that
+ points to a variable that hasn't been created yet
+
+variables.h
+ - nameref_transform_name: extern declaration
+
+subst.c
+ - do_compound_assignment: make sure that we follow any nameref chain
+ if the name passed resolves to a nameref that points to a variable
+ that doesn't exist. Fixes issue raised by Grisha Levit
+ <grishalevit@gmail.com>
+
+builtins/declare.def
+ - declare_internal: before calling any variant of make_local_variable,
+ make sure to perform any transformation of the name indicated by an
+ existing nameref. Fixes issue raised by Grisha Levit
+ <grishalevit@gmail.com>
+
+ 7/20
+ ----
+builtins/declare.def
+ - declare_internal: if we are creating a global variable with -g, even
+ if we're not giving it a value, check for namerefs at the global
+ scope to avoid confusion with namerefs at the local (function) scope.
+
+subst.c
+ - expand_word_internal: if a double-quoted string expands to nothing,
+ make sure we note that for later by setting had_quoted_null, just
+ as we do for single-quoted empty strings
+
+subst.[ch]
+ - W_SAWQUOTEDNULL: new flag (replaces W_HASCTLESC, which is unused),
+ means that we saw a possibly-discarded quoted null while expanding
+ this word
+
+subst.c
+ - expand_word_internal: if expansion results in a non-empty word but
+ we saw a quoted null during expansion (had_quoted_null == 1), set
+ W_SAWQUOTED_NULL in the returned word
+ - expand_word_internal: if a recursive call to param_expand comes back
+ with W_SAWQUOTEDNULL set in the resulting word, set had_quoted_null
+ to note it
+ - parameter_brace_expand_rhs: if a recursive call to expand_word_internal
+ returns a non-quoted-null string (after an optional call to
+ string_list) make sure we pass the W_SAWQUOTEDNULL flag back to the
+ caller
+ - word_list_split: if a word expands to nothing after expansion and
+ splitting, but we saw a quoted null during the expansion
+ (W_SAWQUOTEDNULL), return an empty word
+
+ 7/25
+ ----
+
+subst.c
+ - do_compound_assignment: if creating a local variable, make sure to
+ set `newname' to the name of the variable returned from find_variable,
+ since that follows namerefs. Fixes issue raised by Grisha Levit
+ <grishalevit@gmail.com>
+
+ 7/29
+ ----
+subst.c
+ - get_var_and_type: if VALUE is NULL, check before calling dequote_string.
+ Report and fix from Grisha Levit <grishalevit@gmail.com>
+
+ 7/30
+ ----
+variables.c
+ - make_local_{array,assoc}_variable: make sure we're not trying to
+ inherit a value from an incompatible array type. Fixes issue raised
+ by Grisha Levit <grishalevit@gmail.com>
+ - nameref_transform_name: if we're trying to resolve a nameref that
+ will be used to create a local variable, make sure the nameref is
+ at the same variable scope. Report from Grisha Levit
+ <grishalevit@gmail.com>
+
+ 8/2
+ ---
+array.c
+ - array_subrange: change to use string_list_pos_params after creating a
+ WORD_LIST from the array slice, like assoc_subrange does
+
+subst.c
+ - parameter_brace_substring: since assoc_subrange and array_subrange
+ both call string_list_pos_params now, treat the results the same as
+ the VT_POSPARAMS case (pos_params also calls string_list_pos_params).
+ Fixes behavior difference between ${a[@]:sub} and ${@:sub} reported
+ by Ilkka Virta <itvirta@iki.fi>
+
+ 8/3
+ ---
+array.c
+ - array_patsub: rewrite to work in terms of a WORD_LIST * and call
+ string_list_pos_params on the result to be consistent with the
+ expansions of ${@/pat/rep} and ${*/pat/rep}
+
+assoc.c
+ - assoc_patsub: rewrite to work in terms of a WORD_LIST * and call
+ string_list_pos_params on the result to be consistent with the
+ expansions of ${@/pat/rep} and ${*/pat/rep}
+
+subst.c
+ - parameter_brace_patsub: change how return value of {array,assoc}_patsub
+ is treated to make it identical to pos_params_pat_subst, since they
+ all call string_list_pos_params now
+ - expand_string_for_pat: make sure we preserve the value of
+ expand_no_split_dollar_star instead of just unconditionally setting
+ it back to 0 in case it was 1 before this function was called
+
+ 8/6
+ ---
+array.c
+ - array_modcase: rewrite to work in terms of a WORD_LIST * and call
+ string_list_pos_params on the result to be consistent with the
+ expansions of ${@,,} and ${*,,}
+
+assoc.c
+ - assoc_modcase: rewrite to work in terms of a WORD_LIST * and call
+ string_list_pos_params on the result to be consistent with the
+ expansions of ${@,,} and ${*,,}
+
+subst.c
+ - parameter_brace_casemod: change how return value of {array,assoc}_modcase
+ is treated to make it identical to pos_params_modcase, since they
+ all call string_list_pos_params now
+
+ 8/8
+ ---
+builtins/declare.def
+ - declare_internal: if we are making local variables, and not dealing
+ with the nameref attribute, make sure that any nameref variable we
+ followed when resolving the name given was at the same variable
+ context. If not, we just want to make or use a local variable with
+ the name passed; if so, we want to use the nameref value as the
+ variable name. Report from Grisha Levit <grishalevit@gmail.com>
+
+ 8/9
+ ---
+configure.ac
+ - globasciiranges: RRI now on by default, must be turned off explicitly
+ at configure time or runtime with `shopt -u globasciiranges'
+
+ 8/14
+ ----
+variables.c
+ - dispose_saved_dollar_vars: decrement stack pointer before looking
+ for saved positional parameters to dispose; stack pointer always
+ points to the first unused slot
+
+ 8/15
+ ----
+variables.c
+ - dollar_arg_stack: now a stack of struct saved_dollar_vars, which has
+ an array for the first ten (dollar_vars) and a WORD_LIST * for the
+ remaining (rest_of_args). Fixes performance issue with function calls
+ and large numbers of positional parameters raised by
+ Bize Ma <binaryzebra@gmail.com>
+ - {save,restore,free,free_saved}_dollar_vars: new functions to manage
+ dollar_vars and dollar_arg_stack members. Need to keep these in sync
+ with whatever remember_args does
+ - push_dollar_vars: use save_dollar_vars, which just copies pointers,
+ and directly assign rest_of_args, without copying the words, to the
+ dollar_arg_stack entry. Have to clear dollar_vars and rest_of_args
+ with the assumption that callers will call remember_args(args, 1)
+ immediately following
+ - pop_dollar_vars: free current positional parameters and restore old
+ ones from pointers saved in dollar_arg_stack, making sure to
+ invalidate any cached value for "$@"
+ - dispose_saved_dollar_vars: free saved pointers from current index
+ into dollar_arg_stack
+
+doc/{bash.1,bashref.texi}
+ - POSIXLY_CORRECT: make sure to note that bash makes sure this variable
+ is set when posix mode is enabled
+
+ 8/17
+ ----
+{jobs,nojobs}.c
+ - set_jobs_list_frozen: set jobs_list_frozen to a particular value.
+ Intended to save and restore the value around code sections instead
+ of unconditionally unfreezing it.
+
+jobs.h
+ - set_jobs_list_frozen: extern declaration
+
+execute_cmd.c
+ - execute_pipeline: if lastpipe is enabled, save and restore the
+ value of jobs_list_frozen using freeze_jobs_list/set_jobs_list_frozen
+ to avoid problems with race conditions and nested pipelines
+ causing jobs to be removed from the jobs table. Fixes savannah issue
+ https://savannah.gnu.org/support/index.php?109541 reported by
+ Björn Kautler <vampire0>
+
+ 8/24
+ ----
+execute_cmd.c
+ - lastpipe_cleanup: call set_jobs_list_frozen instead of
+ unfreeze_jobs_list
+ - execute_pipeline: set up lastpipe_cleanup with old value of
+ jobs_list_frozen
+
+ 9/3
+ ---
+builtins/printf.def
+ - getuintmax,getfloatmax: on a conversion error, return as much of the
+ value as we were able to convert instead of 0. Fixes bug reported
+ by Robert Elz <kre@bmunnari.OZ.AU>
+
+ 9/4
+ ---
+lib/readline/text.c,lib/readline/rlprivate.h
+ - _rl_backward_char_internal: new function, guts of rl_backward_char
+ and rl_backward_byte, not currently used there
+
+lib/readline/vi_mode.c
+ - _rl_vi_advance_point: new function, move point forward by one
+ character, handling multibyte locales and characters and the end
+ of line semantics
+ - _rl_vi_backup_point: new function, move point backward by one
+ character, handling multibyte locales and characters
+ - rl_vi_eword,rl_vi_eWord: use rl_vi_advance_point instead of a simple
+ increment to handle multibyte characters. Fixes bug reported by
+ Enrico Maria De Angelis <enricomaria.dean6elis@gmail.com>
+
+ 9/5
+ ---
+lib/readline/vi_mode.c
+ - rl_vi_fword,rl_vi_fWord: use rl_vi_advance_point instead of a simple
+ increment to handle multibyte characters
+ - rl_vi_bword,rl_vi_bWord: use rl_vi_backup_point instead of a simple
+ decrement (and _rl_vi_advance_point where necessary) to handle
+ multibyte characters
+ - rl_vi_complete,_rl_vi_change_mbchar_case,_rl_vi_domove_motion_cleanup:
+ use _rl_vi_advance_point instead of simple rl_point increment
+ - vi_delete_dispatch,vi_change_dispatch,vi_yank_dispatch: use
+ INCREMENT_POS instead of a simple increment to rl_mark to handle
+ multibyte characters
+ - rl_vi_column: use _rl_forward_char_internal, starting with
+ rl_point == 0, to handle multibyte characters (Posix says `character
+ position', not index)
+
+ 9/7
+ ---
+configure.ac
+ - changed release status to `beta'
+
+ 9/9
+ ---
+lib/readline/display.c
+ - _rl_update_final: if the bottom line has zero characters and we are
+ on that line at column 0, don't bother with an additional \r\n.
+ Fixes redisplay nit reported by Per Bothner <per@bothner.com>
+
+
+configure.ac
+ - openbsd needs DEV_FD_STAT_BROKEN defined
+
+[bash-5.0-beta frozen]
diff --git a/INSTALL b/INSTALL
index 9d5dee0b..91f1dd9a 100644
--- a/INSTALL
+++ b/INSTALL
@@ -248,8 +248,8 @@ and linked, rather than changing run-time features.
'--enable-largefile'
Enable support for large files
- (http://www.sas.com/standards/large_file/x_open.20Mar96.html) if
- the operating system requires special compiler options to build
+ (http://www.unix.org/version2/whatsnew/lfs20mar.html) if the
+ operating system requires special compiler options to build
programs which can access large files. This is enabled by default,
if the operating system provides large file support.
diff --git a/MANIFEST b/MANIFEST
index 56528b5b..2b267561 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -453,6 +453,7 @@ lib/sh/tmpfile.c f
lib/sh/uconvert.c f
lib/sh/ufuncs.c f
lib/sh/unicode.c f
+lib/sh/utf8.c f
lib/sh/vprint.c f
lib/sh/wcsdup.c f
lib/sh/wcsnwidth.c f
@@ -868,6 +869,7 @@ tests/array22.sub f
tests/array23.sub f
tests/array24.sub f
tests/array25.sub f
+tests/array26.sub f
tests/array-at-star f
tests/array2.right f
tests/assoc.tests f
@@ -881,6 +883,7 @@ tests/assoc6.sub f
tests/assoc7.sub f
tests/assoc8.sub f
tests/assoc9.sub f
+tests/assoc10.sub f
tests/attr.tests f
tests/attr.right f
tests/attr1.sub f
@@ -1072,6 +1075,8 @@ tests/histexp1.sub f
tests/histexp2.sub f
tests/histexp3.sub f
tests/histexp4.sub f
+tests/histexp5.sub f
+tests/histexp6.sub f
tests/histexp.right f
tests/history.tests f
tests/history.right f
@@ -1136,6 +1141,8 @@ tests/nameref16.sub f
tests/nameref17.sub f
tests/nameref18.sub f
tests/nameref19.sub f
+tests/nameref20.sub f
+tests/nameref21.sub f
tests/nameref.right f
tests/new-exp.tests f
tests/new-exp1.sub f
@@ -1179,6 +1186,7 @@ tests/posixexp3.sub f
tests/posixexp4.sub f
tests/posixexp5.sub f
tests/posixexp6.sub f
+tests/posixexp7.sub f
tests/posixexp2.tests f
tests/posixexp2.right f
tests/posixpat.tests f
@@ -1199,6 +1207,7 @@ tests/procsub1.sub f
tests/quote.tests f
tests/quote.right f
tests/quote1.sub f
+tests/quote2.sub f
tests/read.tests f
tests/read.right f
tests/read1.sub f
@@ -1352,7 +1361,7 @@ tests/unicode1.sub f
tests/unicode2.sub f
tests/unicode3.sub f
tests/varenv.right f
-tests/varenv.sh f
+tests/varenv.tests f
tests/varenv1.sub f
tests/varenv2.sub f
tests/varenv3.sub f
@@ -1365,6 +1374,10 @@ tests/varenv9.sub f
tests/varenv10.sub f
tests/varenv11.sub f
tests/varenv12.sub f
+tests/varenv13.sub f
+tests/varenv14.sub f
+tests/varenv15.sub f
+tests/varenv15.in f
tests/version f
tests/version.mini f
tests/vredir.tests f
diff --git a/Makefile.in b/Makefile.in
index 0e6c948e..5fcb44b0 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile for bash-5.0, version 4.25
+# Makefile for bash-5.0, version 4.27
#
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
@@ -41,6 +41,7 @@ infodir = @infodir@
includedir = @includedir@
datadir = @datadir@
localedir = @localedir@
+pkgconfigdir = ${libdir}/pkgconfig
loadablesdir = @loadablesdir@
headersdir = @headersdir@
@@ -230,7 +231,7 @@ SHLIB_SOURCE = ${SH_LIBSRC}/clktck.c ${SH_LIBSRC}/getcwd.c \
${SH_LIBSRC}/input_avail.c ${SH_LIBSRC}/mbscasecmp.c \
${SH_LIBSRC}/fnxform.c ${SH_LIBSRC}/unicode.c \
${SH_LIBSRC}/wcswidth.c ${SH_LIBSRC}/wcsnwidth.c \
- ${SH_LIBSRC}/shmbchar.c
+ ${SH_LIBSRC}/shmbchar.c ${SH_LIBSRC}/utf8.c
SHLIB_LIB = -lsh
SHLIB_LIBNAME = libsh.a
@@ -834,7 +835,7 @@ install-headers-dirs:
@${SHELL} $(SUPPORT_SRC)mkinstalldirs $(DESTDIR)$(headersdir)
@${SHELL} $(SUPPORT_SRC)mkinstalldirs $(DESTDIR)$(headersdir)/builtins
@${SHELL} $(SUPPORT_SRC)mkinstalldirs $(DESTDIR)$(headersdir)/include
- @${SHELL} $(SUPPORT_SRC)mkinstalldirs $(DESTDIR)$(libdir)/pkgconfig
+ @${SHELL} $(SUPPORT_SRC)mkinstalldirs $(DESTDIR)$(pkgconfigdir)
install-headers: install-headers-dirs
@for hf in $(INSTALLED_HEADERS) ; do \
@@ -849,14 +850,14 @@ install-headers: install-headers-dirs
@for hf in $(CREATED_HEADERS) ; do \
${INSTALL_DATA} $(BUILD_DIR)/"$$hf" $(DESTDIR)$(headersdir)/$$hf; \
done
- $(INSTALL_DATA) $(SDIR)/bash.pc $(DESTDIR)$(libdir)/pkgconfig/bash.pc
+ -$(INSTALL_DATA) $(SDIR)/bash.pc $(DESTDIR)$(pkgconfigdir)/bash.pc
uninstall-headers:
-( cd $(DESTDIR)$(headersdir) && $(RM) $(INSTALLED_HEADERS) )
-( cd $(DESTDIR)$(headersdir)/include && $(RM) $(INSTALLED_INCFILES) )
-( cd $(DESTDIR)$(headersdir)/builtins && $(RM) $(INSTALLED_BUILTINS_HEADERS) )
-( cd $(DESTDIR)$(headersdir) && $(RM) $(CREATED_HEADERS) )
- -( $(RM) $(DESTDIR)$(libdir)/pkgconfig/bash.pc )
+ -( $(RM) $(DESTDIR)$(pkgconfigdir)/bash.pc )
uninstall: .made
$(RM) $(DESTDIR)$(bindir)/$(Program) $(DESTDIR)$(bindir)/bashbug
diff --git a/NEWS b/NEWS
index 66cbf97d..1ef109f3 100644
--- a/NEWS
+++ b/NEWS
@@ -85,6 +85,31 @@ z. The `times' builtin now honors the current locale when printing a decimal
aa. There is a new (disabled by default, undocumented) shell option to enable
and disable sending history to syslog at runtime.
+bb. Bash no longer allows variable assignments preceding a special builtin that
+ changes variable attributes to propagate back to the calling environment
+ unless the compatibility level is 44 or lower.
+
+cc. You can set the default value for $HISTSIZE at build time in config-top.h.
+
+dd. The `complete' builtin now accepts a -I option that applies the completion
+ to the initial word on the line.
+
+ee. The internal bash malloc now uses mmap (if available) to satisfy requests
+ greater than 128K bytes, so free can use mfree to return the pages to the
+ kernel.
+
+ff. The shell doesn't automatically set BASH_ARGC and BASH_ARGV at startup
+ unless it's in debugging mode, as the documentation has always said, but
+ will dynamically create them if a script references them at the top level
+ without having enabled debugging mode.
+
+gg. The localvar_inherit option will not attempt to inherit a value from a
+ variable of an incompatible type (indexed vs. associative arrays, for
+ example).
+
+hh. The `globasciiranges' option is now enabled by default; it can be set to
+ off by default at configuration time.
+
2. New Features in Readline
a. Non-incremental vi-mode search (`N', `n') can search for a shell pattern, as
@@ -112,6 +137,14 @@ g. There is a simple variable comparison facility available for use within an
either `on' or `off'; variable names are separated from the operator by
whitespace.
+h. The history expansion library now understands command and process
+ substitution and extended globbing and allows them to appear anywhere in a
+ word.
+
+i. The history library has a new variable that allows applications to set the
+ initial quoting state, so quoting state can be inherited from a previous
+ line.
+
-------------------------------------------------------------------------------
This is a terse description of the new features added to bash-4.4 since
the release of bash-4.3. As always, the manual page (doc/bash.1) is
diff --git a/POSIX b/POSIX
index 17b41c6f..67d8ddf8 100644
--- a/POSIX
+++ b/POSIX
@@ -11,212 +11,214 @@ files.
The following list is what's changed when 'POSIX mode' is in effect:
- 1. When a command in the hash table no longer exists, Bash will
+ 1. Bash ensures that the 'POSIXLY_CORRECT' variable is set.
+
+ 2. When a command in the hash table no longer exists, Bash will
re-search '$PATH' to find the new location. This is also available
with 'shopt -s checkhash'.
- 2. The message printed by the job control code and builtins when a job
+ 3. The message printed by the job control code and builtins when a job
exits with a non-zero status is 'Done(status)'.
- 3. The message printed by the job control code and builtins when a job
+ 4. The message printed by the job control code and builtins when a job
is stopped is 'Stopped(SIGNAME)', where SIGNAME is, for example,
'SIGTSTP'.
- 4. Alias expansion is always enabled, even in non-interactive shells.
+ 5. Alias expansion is always enabled, even in non-interactive shells.
- 5. Reserved words appearing in a context where reserved words are
+ 6. Reserved words appearing in a context where reserved words are
recognized do not undergo alias expansion.
- 6. The POSIX 'PS1' and 'PS2' expansions of '!' to the history number
+ 7. The POSIX 'PS1' and 'PS2' expansions of '!' to the history number
and '!!' to '!' are enabled, and parameter expansion is performed
on the values of 'PS1' and 'PS2' regardless of the setting of the
'promptvars' option.
- 7. The POSIX startup files are executed ('$ENV') rather than the
+ 8. The POSIX startup files are executed ('$ENV') rather than the
normal Bash files.
- 8. Tilde expansion is only performed on assignments preceding a
+ 9. Tilde expansion is only performed on assignments preceding a
command name, rather than on all assignment statements on the line.
- 9. The default history file is '~/.sh_history' (this is the default
+ 10. The default history file is '~/.sh_history' (this is the default
value of '$HISTFILE').
- 10. Redirection operators do not perform filename expansion on the
+ 11. Redirection operators do not perform filename expansion on the
word in the redirection unless the shell is interactive.
- 11. Redirection operators do not perform word splitting on the word in
+ 12. Redirection operators do not perform word splitting on the word in
the redirection.
- 12. Function names must be valid shell 'name's. That is, they may not
+ 13. 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.
- 13. Function names may not be the same as one of the POSIX special
+ 14. Function names may not be the same as one of the POSIX special
builtins.
- 14. POSIX special builtins are found before shell functions during
+ 15. POSIX special builtins are found before shell functions during
command lookup.
- 15. When printing shell function definitions (e.g., by 'type'), Bash
+ 16. When printing shell function definitions (e.g., by 'type'), Bash
does not print the 'function' keyword.
- 16. Literal tildes that appear as the first character in elements of
+ 17. Literal tildes that appear as the first character in elements of
the 'PATH' variable are not expanded as described above under *note
Tilde Expansion::.
- 17. The 'time' reserved word may be used by itself as a command. When
+ 18. 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.
- 18. When parsing and expanding a ${...} expansion that appears within
+ 19. 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.
- 19. The parser does not recognize 'time' as a reserved word if the
+ 20. The parser does not recognize 'time' as a reserved word if the
next token begins with a '-'.
- 20. The '!' character does not introduce history expansion within a
+ 21. The '!' character does not introduce history expansion within a
double-quoted string, even if the 'histexpand' option is enabled.
- 21. If a POSIX special builtin returns an error status, 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.
- 22. 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.
- 23. A non-interactive shell exits with an error status if a variable
+ 24. A non-interactive shell exits 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.
- 24. A non-interactive shell exits with an error status if the
+ 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.
- 25. Non-interactive shells exit if FILENAME in '.' FILENAME is not
+ 26. Non-interactive shells exit if FILENAME in '.' FILENAME is not
found.
- 26. Non-interactive shells exit if a syntax error in an arithmetic
+ 27. Non-interactive shells exit if a syntax error in an arithmetic
expansion results in an invalid expression.
- 27. Non-interactive shells exit if a parameter expansion error occurs.
+ 28. Non-interactive shells exit if a parameter expansion error occurs.
- 28. Non-interactive shells exit if there is a syntax error in a script
+ 29. 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.
- 29. Process substitution is not available.
+ 30. Process substitution is not available.
- 30. While variable indirection is available, it may not be applied to
+ 31. While variable indirection is available, it may not be applied to
the '#' and '?' special parameters.
- 31. When expanding the '*' special parameter in a pattern context
+ 32. When expanding the '*' special parameter in a pattern context
where the expansion is double-quoted does not treat the '$*' as if
it were double-quoted.
- 32. Assignment statements preceding POSIX special builtins persist in
+ 33. Assignment statements preceding POSIX special builtins persist in
the shell environment after the builtin completes.
- 33. Assignment statements preceding shell function calls persist in
+ 34. 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.
- 34. The 'command' builtin does not prevent builtins that take
+ 35. The 'command' builtin does not prevent builtins that take
assignment statements as arguments from expanding them as
assignment statements; when not in POSIX mode, assignment builtins
lose their assignment statement expansion properties when preceded
by 'command'.
- 35. The 'bg' builtin uses the required format to describe each job
+ 36. The 'bg' builtin uses the required format to describe each job
placed in the background, which does not include an indication of
whether the job is the current or previous job.
- 36. The output of 'kill -l' prints all the signal names on a single
+ 37. The output of 'kill -l' prints all the signal names on a single
line, separated by spaces, without the 'SIG' prefix.
- 37. The 'kill' builtin does not accept signal names with a 'SIG'
+ 38. The 'kill' builtin does not accept signal names with a 'SIG'
prefix.
- 38. The 'export' and 'readonly' builtin commands display their output
+ 39. The 'export' and 'readonly' builtin commands display their output
in the format required by POSIX.
- 39. The 'trap' builtin displays signal names without the leading
+ 40. The 'trap' builtin displays signal names without the leading
'SIG'.
- 40. The 'trap' builtin doesn't check the first argument for a possible
+ 41. 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.
- 41. The '.' and 'source' builtins do not search the current directory
+ 42. The '.' and 'source' builtins do not search the current directory
for the filename argument if it is not found by searching 'PATH'.
- 42. Enabling POSIX mode has the effect of setting the
+ 43. Enabling POSIX mode has the effect of setting the
'inherit_errexit' option, so subshells spawned to execute command
substitutions inherit the value of the '-e' option from the parent
shell. When the 'inherit_errexit' option is not enabled, Bash
clears the '-e' option in such subshells.
- 43. When the 'alias' builtin displays alias definitions, it does not
+ 44. When the 'alias' builtin displays alias definitions, it does not
display them with a leading 'alias ' unless the '-p' option is
supplied.
- 44. When the 'set' builtin is invoked without options, it does not
+ 45. When the 'set' builtin is invoked without options, it does not
display shell function names and definitions.
- 45. When the 'set' builtin is invoked without options, it displays
+ 46. 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.
- 46. When the 'cd' builtin is invoked in LOGICAL mode, and the pathname
+ 47. 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.
- 47. The 'pwd' builtin verifies that the value it prints is the same as
+ 48. 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.
- 48. When listing the history, the 'fc' builtin does not include an
+ 49. When listing the history, the 'fc' builtin does not include an
indication of whether or not a history entry has been modified.
- 49. The default editor used by 'fc' is 'ed'.
+ 50. The default editor used by 'fc' is 'ed'.
- 50. The 'type' and 'command' builtins will not report a non-executable
+ 51. 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'.
- 51. The 'vi' editing mode will invoke the 'vi' editor directly when
+ 52. The 'vi' editing mode will invoke the 'vi' editor directly when
the 'v' command is run, instead of checking '$VISUAL' and
'$EDITOR'.
- 52. When the 'xpg_echo' option is enabled, Bash does not attempt to
+ 53. 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.
- 53. The 'ulimit' builtin uses a block size of 512 bytes for the '-c'
+ 54. The 'ulimit' builtin uses a block size of 512 bytes for the '-c'
and '-f' options.
- 54. The arrival of 'SIGCHLD' when a trap is set on 'SIGCHLD' does not
+ 55. 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.
- 55. The 'read' builtin may be interrupted by a signal for which a trap
+ 56. The 'read' builtin may be interrupted by a signal for which a trap
has been set. If Bash receives a trapped signal while executing
'read', the trap handler executes and 'read' returns an exit status
greater than 128.
- 56. Bash removes an exited background process's status from the list
+ 57. Bash removes an exited background process's status from the list
of such statuses after the 'wait' builtin is used to obtain it.
There is other POSIX behavior that Bash does not implement by default
diff --git a/aclocal.m4 b/aclocal.m4
index 6ea6f40f..6ed03e10 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1307,7 +1307,7 @@ AC_CACHE_VAL(bash_cv_must_reinstall_sighandlers,
typedef RETSIGTYPE sigfunc();
-int nsigint;
+volatile int nsigint;
#ifdef HAVE_POSIX_SIGNALS
sigfunc *
diff --git a/array.c b/array.c
index 5f7d72f1..bca18c54 100644
--- a/array.c
+++ b/array.c
@@ -406,8 +406,8 @@ int starsub, quoted;
ARRAY *a2;
ARRAY_ELEMENT *h, *p;
arrayind_t i;
- char *ifs, *sifs, *t;
- int slen;
+ char *t;
+ WORD_LIST *wl;
p = a ? array_head (a) : 0;
if (p == 0 || array_empty (a) || start > array_max_index(a))
@@ -432,32 +432,12 @@ int starsub, quoted;
a2 = array_slice(a, h, p);
- if (quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT))
- array_quote(a2);
- else
- array_quote_escapes(a2);
-
- if (starsub && (quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT))) {
- /* ${array[*]} */
- array_remove_quoted_nulls (a2);
- sifs = ifs_firstchar ((int *)NULL);
- t = array_to_string (a2, sifs, 0);
- free (sifs);
- } else if (quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)) {
- /* ${array[@]} */
- sifs = ifs_firstchar (&slen);
- ifs = getifs ();
- if (ifs == 0 || *ifs == 0) {
- if (slen < 2)
- sifs = xrealloc(sifs, 2);
- sifs[0] = ' ';
- sifs[1] = '\0';
- }
- t = array_to_string (a2, sifs, 0);
- free (sifs);
- } else
- t = array_to_string (a2, " ", 0);
+ wl = array_to_word_list(a2);
array_dispose(a2);
+ if (wl == 0)
+ return (char *)NULL;
+ t = string_list_pos_params(starsub ? '*' : '@', wl, quoted);
+ dispose_words(wl);
return t;
}
@@ -468,50 +448,28 @@ ARRAY *a;
char *pat, *rep;
int mflags;
{
- ARRAY *a2;
- ARRAY_ELEMENT *e;
- char *t, *sifs, *ifs;
- int slen;
+ char *t;
+ int pchar, qflags;
+ WORD_LIST *wl, *save;
if (a == 0 || array_head(a) == 0 || array_empty(a))
return ((char *)NULL);
- a2 = array_copy(a);
- for (e = element_forw(a2->head); e != a2->head; e = element_forw(e)) {
- t = pat_subst(element_value(e), pat, rep, mflags);
- FREE(element_value(e));
- e->value = t;
+ wl = array_to_word_list(a);
+ if (wl == 0)
+ return (char *)NULL;
+
+ for (save = wl; wl; wl = wl->next) {
+ t = pat_subst (wl->word->word, pat, rep, mflags);
+ FREE (wl->word->word);
+ wl->word->word = t;
}
- if (mflags & MATCH_QUOTED)
- array_quote(a2);
- else
- array_quote_escapes(a2);
-
- if (mflags & MATCH_STARSUB) {
- array_remove_quoted_nulls (a2);
- if ((mflags & MATCH_QUOTED) == 0 && ifs_is_null)
- sifs = spacesep;
- else
- sifs = ifs_firstchar((int *)NULL);
- t = array_to_string (a2, sifs, 0);
- if (sifs != spacesep)
- free(sifs);
- } else if (mflags & MATCH_QUOTED) {
- /* ${array[@]} */
- sifs = ifs_firstchar (&slen);
- ifs = getifs ();
- if (ifs == 0 || *ifs == 0) {
- if (slen < 2)
- sifs = xrealloc (sifs, 2);
- sifs[0] = ' ';
- sifs[1] = '\0';
- }
- t = array_to_string (a2, sifs, 0);
- free(sifs);
- } else
- t = array_to_string (a2, " ", 0);
- array_dispose (a2);
+ pchar = (mflags & MATCH_STARSUB) == MATCH_STARSUB ? '*' : '@';
+ qflags = (mflags & MATCH_QUOTED) == MATCH_QUOTED ? Q_DOUBLE_QUOTES : 0;
+
+ t = string_list_pos_params (pchar, save, qflags);
+ dispose_words(save);
return t;
}
@@ -523,53 +481,32 @@ char *pat;
int modop;
int mflags;
{
- ARRAY *a2;
- ARRAY_ELEMENT *e;
- char *t, *sifs, *ifs;
- int slen;
+ char *t;
+ int pchar, qflags;
+ WORD_LIST *wl, *save;
if (a == 0 || array_head(a) == 0 || array_empty(a))
return ((char *)NULL);
- a2 = array_copy(a);
- for (e = element_forw(a2->head); e != a2->head; e = element_forw(e)) {
- t = sh_modcase(element_value(e), pat, modop);
- FREE(element_value(e));
- e->value = t;
+ wl = array_to_word_list(a);
+ if (wl == 0)
+ return ((char *)NULL);
+
+ for (save = wl; wl; wl = wl->next) {
+ t = sh_modcase(wl->word->word, pat, modop);
+ FREE(wl->word->word);
+ wl->word->word = t;
}
- if (mflags & MATCH_QUOTED)
- array_quote(a2);
- else
- array_quote_escapes(a2);
-
- if (mflags & MATCH_STARSUB) {
- array_remove_quoted_nulls (a2);
- if ((mflags & MATCH_QUOTED) == 0 && ifs_is_null)
- sifs = spacesep;
- else
- sifs = ifs_firstchar((int *)NULL);
- t = array_to_string (a2, sifs, 0);
- if (sifs != spacesep)
- free(sifs);
- } else if (mflags & MATCH_QUOTED) {
- /* ${array[@]} */
- sifs = ifs_firstchar (&slen);
- ifs = getifs ();
- if (ifs == 0 || *ifs == 0) {
- if (slen < 2)
- sifs = xrealloc (sifs, 2);
- sifs[0] = ' ';
- sifs[1] = '\0';
- }
- t = array_to_string (a2, sifs, 0);
- free(sifs);
- } else
- t = array_to_string (a2, " ", 0);
- array_dispose (a2);
+ pchar = (mflags & MATCH_STARSUB) == MATCH_STARSUB ? '*' : '@';
+ qflags = (mflags & MATCH_QUOTED) == MATCH_QUOTED ? Q_DOUBLE_QUOTES : 0;
+
+ t = string_list_pos_params (pchar, save, qflags);
+ dispose_words(save);
return t;
}
+
/*
* Allocate and return a new array element with index INDEX and value
* VALUE.
diff --git a/arrayfunc.c b/arrayfunc.c
index 10b2b06a..e3700dd3 100644
--- a/arrayfunc.c
+++ b/arrayfunc.c
@@ -199,6 +199,8 @@ bind_array_var_internal (entry, ind, key, value, flags)
FREE (newval);
VUNSETATTR (entry, att_invisible); /* no longer invisible */
+
+ /* check mark_modified_variables if we ever want to export array vars */
return (entry);
}
diff --git a/assoc.c b/assoc.c
index 84a387c2..673eccb2 100644
--- a/assoc.c
+++ b/assoc.c
@@ -305,54 +305,29 @@ assoc_patsub (h, pat, rep, mflags)
char *pat, *rep;
int mflags;
{
- BUCKET_CONTENTS *tlist;
- int i, slen;
- HASH_TABLE *h2;
- char *t, *sifs, *ifs;
+ char *t;
+ int pchar, qflags;
+ WORD_LIST *wl, *save;
if (h == 0 || assoc_empty (h))
return ((char *)NULL);
- h2 = assoc_copy (h);
- for (i = 0; i < h2->nbuckets; i++)
- for (tlist = hash_items (i, h2); tlist; tlist = tlist->next)
- {
- t = pat_subst ((char *)tlist->data, pat, rep, mflags);
- FREE (tlist->data);
- tlist->data = t;
- }
-
- if (mflags & MATCH_QUOTED)
- assoc_quote (h2);
- else
- assoc_quote_escapes (h2);
+ wl = assoc_to_word_list (h);
+ if (wl == 0)
+ return (char *)NULL;
- if (mflags & MATCH_STARSUB)
+ for (save = wl; wl; wl = wl->next)
{
- assoc_remove_quoted_nulls (h2);
- sifs = ifs_firstchar ((int *)NULL);
- t = assoc_to_string (h2, sifs, 0);
- free (sifs);
+ t = pat_subst (wl->word->word, pat, rep, mflags);
+ FREE (wl->word->word);
+ wl->word->word = t;
}
- else if (mflags & MATCH_QUOTED)
- {
- /* ${array[@]} */
- sifs = ifs_firstchar (&slen);
- ifs = getifs ();
- if (ifs == 0 || *ifs == 0)
- {
- if (slen < 2)
- sifs = xrealloc (sifs, 2);
- sifs[0] = ' ';
- sifs[1] = '\0';
- }
- t = assoc_to_string (h2, sifs, 0);
- free(sifs);
- }
- else
- t = assoc_to_string (h2, " ", 0);
- assoc_dispose (h2);
+ pchar = (mflags & MATCH_STARSUB) == MATCH_STARSUB ? '*' : '@';
+ qflags = (mflags & MATCH_QUOTED) == MATCH_QUOTED ? Q_DOUBLE_QUOTES : 0;
+
+ t = string_list_pos_params (pchar, save, qflags);
+ dispose_words (save);
return t;
}
@@ -364,54 +339,29 @@ assoc_modcase (h, pat, modop, mflags)
int modop;
int mflags;
{
- BUCKET_CONTENTS *tlist;
- int i, slen;
- HASH_TABLE *h2;
- char *t, *sifs, *ifs;
+ char *t;
+ int pchar, qflags;
+ WORD_LIST *wl, *save;
if (h == 0 || assoc_empty (h))
return ((char *)NULL);
- h2 = assoc_copy (h);
- for (i = 0; i < h2->nbuckets; i++)
- for (tlist = hash_items (i, h2); tlist; tlist = tlist->next)
- {
- t = sh_modcase ((char *)tlist->data, pat, modop);
- FREE (tlist->data);
- tlist->data = t;
- }
-
- if (mflags & MATCH_QUOTED)
- assoc_quote (h2);
- else
- assoc_quote_escapes (h2);
+ wl = assoc_to_word_list (h);
+ if (wl == 0)
+ return ((char *)NULL);
- if (mflags & MATCH_STARSUB)
- {
- assoc_remove_quoted_nulls (h2);
- sifs = ifs_firstchar ((int *)NULL);
- t = assoc_to_string (h2, sifs, 0);
- free (sifs);
- }
- else if (mflags & MATCH_QUOTED)
+ for (save = wl; wl; wl = wl->next)
{
- /* ${array[@]} */
- sifs = ifs_firstchar (&slen);
- ifs = getifs ();
- if (ifs == 0 || *ifs == 0)
- {
- if (slen < 2)
- sifs = xrealloc (sifs, 2);
- sifs[0] = ' ';
- sifs[1] = '\0';
- }
- t = assoc_to_string (h2, sifs, 0);
- free(sifs);
+ t = sh_modcase (wl->word->word, pat, modop);
+ FREE (wl->word->word);
+ wl->word->word = t;
}
- else
- t = assoc_to_string (h2, " ", 0);
- assoc_dispose (h2);
+ pchar = (mflags & MATCH_STARSUB) == MATCH_STARSUB ? '*' : '@';
+ qflags = (mflags & MATCH_QUOTED) == MATCH_QUOTED ? Q_DOUBLE_QUOTES : 0;
+
+ t = string_list_pos_params (pchar, save, qflags);
+ dispose_words (save);
return t;
}
diff --git a/bashhist.c b/bashhist.c
index e0afe52a..7912cce3 100644
--- a/bashhist.c
+++ b/bashhist.c
@@ -60,6 +60,10 @@
extern int rl_done, rl_dispatching; /* should really include readline.h */
#endif
+#ifndef HISTSIZE_DEFAULT
+# define HISTSIZE_DEFAULT "500"
+#endif
+
#if !defined (errno)
extern int errno;
#endif
@@ -209,7 +213,7 @@ bash_history_inhibit_expansion (string, i)
char *string;
int i;
{
- int t;
+ int t, si;
char hx[2];
hx[0] = history_expansion_char;
@@ -232,9 +236,20 @@ bash_history_inhibit_expansion (string, i)
return (1);
#endif
+ si = 0;
+ /* If we're supposed to be in single-quoted string, skip over the
+ single-quoted part and then look at what's left. */
+ if (history_quoting_state == '\'')
+ {
+ si = skip_to_delim (string, 0, "'", SD_NOJMP|SD_HISTEXP);
+ if (string[si] == 0 || si >= i)
+ return (1);
+ si++;
+ }
+
/* Make sure the history expansion should not be skipped by quoting or
command/process substitution. */
- else if ((t = skip_to_histexp (string, 0, hx, SD_NOJMP|SD_HISTEXP)) > 0)
+ if ((t = skip_to_histexp (string, si, hx, SD_NOJMP|SD_HISTEXP)) > 0)
{
/* Skip instances of history expansion appearing on the line before
this one. */
@@ -305,7 +320,7 @@ load_history ()
Note that the history file is automatically truncated to the
size of HISTSIZE if the user does not explicitly set the size
differently. */
- set_if_not ("HISTSIZE", "500");
+ set_if_not ("HISTSIZE", HISTSIZE_DEFAULT);
sv_histsize ("HISTSIZE");
set_if_not ("HISTFILESIZE", get_string_value ("HISTSIZE"));
@@ -545,7 +560,15 @@ pre_process_line (line, print_changes, addit)
add that line to the history if ADDIT is non-zero. */
if (!history_expansion_inhibited && history_expansion && history_expansion_p (line))
{
+ /* If we are expanding the second or later line of a multi-line
+ command, decrease history_length so references to history expansions
+ in these lines refer to the previous history entry and not the
+ current command. */
+ if (history_length > 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
+ history_length--;
expanded = history_expand (line, &history_value);
+ if (history_length >= 0 && command_oriented_history && current_command_first_line_saved && current_command_line_count > 1)
+ history_length++;
if (expanded)
{
diff --git a/bashline.c b/bashline.c
index ae8fe1cc..2b080197 100644
--- a/bashline.c
+++ b/bashline.c
@@ -1426,6 +1426,7 @@ attempt_shell_completion (text, start, end)
char **matches, *command_separator_chars;
#if defined (PROGRAMMABLE_COMPLETION)
int have_progcomps, was_assignment;
+ COMPSPEC *iw_compspec;
#endif
command_separator_chars = COMMAND_SEPARATORS;
@@ -1510,7 +1511,9 @@ attempt_shell_completion (text, start, end)
#if defined (PROGRAMMABLE_COMPLETION)
/* Attempt programmable completion. */
have_progcomps = prog_completion_enabled && (progcomp_size () > 0);
- if (matches == 0 && (in_command_position == 0 || text[0] == '\0') &&
+ iw_compspec = progcomp_search (INITIALWORD);
+ if (matches == 0 &&
+ (in_command_position == 0 || text[0] == '\0' || (in_command_position && iw_compspec)) &&
current_prompt_string == ps1_prompt)
{
int s, e, s1, e1, os, foundcs;
@@ -1564,7 +1567,7 @@ attempt_shell_completion (text, start, end)
else if (start == end && start == s1 && e != 0 && e1 > end) /* beginning of command name, leading whitespace */
foundcs = 0;
else if (e == 0 && e == s && text[0] == '\0' && have_progcomps) /* beginning of empty line */
- prog_complete_matches = programmable_completions ("_EmptycmD_", text, s, e, &foundcs);
+ prog_complete_matches = programmable_completions (EMPTYCMD, text, s, e, &foundcs);
else if (start == end && text[0] == '\0' && s1 > start && whitespace (rl_line_buffer[start]))
foundcs = 0; /* whitespace before command name */
else if (e > s && was_assignment == 0 && e1 == end && rl_line_buffer[e] == 0 && whitespace (rl_line_buffer[e-1]) == 0)
@@ -1589,8 +1592,8 @@ attempt_shell_completion (text, start, end)
}
else if (s >= e && n[0] == '\0' && text[0] == '\0' && start > 0)
{
- foundcs = 0; /* empty command name following assignments */
- in_command_position = was_assignment;
+ foundcs = 0; /* empty command name following optional assignments */
+ in_command_position += was_assignment;
}
else if (s == start && e == end && STREQ (n, text) && start > 0)
{
@@ -1599,6 +1602,12 @@ attempt_shell_completion (text, start, end)
}
else
foundcs = 0;
+
+ /* If we have defined a compspec for the initial (command) word, call
+ it and process the results like any other programmable completion. */
+ if (in_command_position && have_progcomps && foundcs == 0 && iw_compspec)
+ prog_complete_matches = programmable_completions (INITIALWORD, text, s, e, &foundcs);
+
FREE (n);
/* XXX - if we found a COMPSPEC for the command, just return whatever
the programmable completion code returns, and disable the default
diff --git a/braces.c b/braces.c
index 315c62f1..2a255c78 100644
--- a/braces.c
+++ b/braces.c
@@ -1,6 +1,6 @@
/* braces.c -- code for doing word expansion in curly braces. */
-/* Copyright (C) 1987-2012 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2018 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -420,9 +420,9 @@ mkseq (start, end, incr, type, width)
/* Instead of a simple nelem = prevn + 1, something like:
nelem = (prevn / imaxabs(incr)) + 1;
would work */
- nelem = (prevn / sh_imaxabs(incr)) + 1;
- if (nelem > INT_MAX - 2) /* Don't overflow int */
+ if ((prevn / sh_imaxabs (incr)) > INT_MAX - 3) /* check int overflow */
return ((char **)NULL);
+ nelem = (prevn / sh_imaxabs(incr)) + 1;
result = strvec_mcreate (nelem + 1);
if (result == 0)
{
@@ -778,7 +778,9 @@ array_concat (arr1, arr2)
len1 = strvec_len (arr1);
len2 = strvec_len (arr2);
- result = (char **)xmalloc ((1 + (len1 * len2)) * sizeof (char *));
+ result = (char **)malloc ((1 + (len1 * len2)) * sizeof (char *));
+ if (result == 0)
+ return (result);
len = 0;
for (i = 0; i < len1; i++)
diff --git a/builtins/common.c b/builtins/common.c
index 0752f0d6..00be24ea 100644
--- a/builtins/common.c
+++ b/builtins/common.c
@@ -678,7 +678,7 @@ get_job_spec (list)
if (DIGIT (*word) && all_digits (word))
{
job = atoi (word);
- return (job > js.j_jobslots ? NO_JOB : job - 1);
+ return ((job < 0 || job > js.j_jobslots) ? NO_JOB : job - 1);
}
jflags = 0;
diff --git a/builtins/complete.def b/builtins/complete.def
index 3ca8c1fa..1ea308bd 100644
--- a/builtins/complete.def
+++ b/builtins/complete.def
@@ -23,7 +23,7 @@ $PRODUCES complete.c
$BUILTIN complete
$DEPENDS_ON PROGRAMMABLE_COMPLETION
$FUNCTION complete_builtin
-$SHORT_DOC complete [-abcdefgjksuv] [-pr] [-DE] [-o option] [-A action] [-G globpat] [-W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [name ...]
+$SHORT_DOC complete [-abcdefgjksuv] [-pr] [-DEI] [-o option] [-A action] [-G globpat] [-W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [name ...]
Specify how arguments are to be completed by Readline.
For each NAME, specify how arguments are to be completed. If no options
@@ -38,10 +38,12 @@ Options:
without any specific completion defined
-E apply the completions and actions to "empty" commands --
completion attempted on a blank line
+ -I apply the completions and actions to the intial (usually the
+ command) word
When completion is attempted, the actions are applied in the order the
-uppercase-letter options are listed above. The -D option takes
-precedence over -E.
+uppercase-letter options are listed above. If multiple options are supplied,
+the -D option takes precedence over -E, and both take precedence over -I.
Exit Status:
Returns success unless an invalid option is supplied or an error occurs.
@@ -79,6 +81,7 @@ struct _optflags {
int rflag;
int Dflag;
int Eflag;
+ int Iflag;
};
static int find_compact __P((char *));
@@ -195,7 +198,7 @@ build_actions (list, flagp, actp, optp)
opt_given = 0;
reset_internal_getopt ();
- while ((opt = internal_getopt (list, "abcdefgjko:prsuvA:G:W:P:S:X:F:C:DE")) != -1)
+ while ((opt = internal_getopt (list, "abcdefgjko:prsuvA:G:W:P:S:X:F:C:DEI")) != -1)
{
opt_given = 1;
switch (opt)
@@ -307,6 +310,18 @@ build_actions (list, flagp, actp, optp)
builtin_usage ();
return (EX_USAGE);
}
+ case 'I':
+ if (flagp)
+ {
+ flagp->Iflag = 1;
+ break;
+ }
+ else
+ {
+ sh_invalidopt ("-I");
+ builtin_usage ();
+ return (EX_USAGE);
+ }
case 'F':
Farg = list_optarg;
break;
@@ -355,7 +370,8 @@ complete_builtin (list)
return (EXECUTION_SUCCESS);
}
- opt_given = oflags.pflag = oflags.rflag = oflags.Dflag = oflags.Eflag = 0;
+ opt_given = oflags.pflag = oflags.rflag = 0;
+ oflags.Dflag = oflags.Eflag = oflags.Iflag = 0;
acts = copts = (unsigned long)0L;
Garg = Warg = Parg = Sarg = Xarg = Farg = Carg = (char *)NULL;
@@ -370,8 +386,14 @@ complete_builtin (list)
list = loptend;
- wl = oflags.Dflag ? make_word_list (make_bare_word (DEFAULTCMD), (WORD_LIST *)NULL)
- : (oflags.Eflag ? make_word_list (make_bare_word (EMPTYCMD), (WORD_LIST *)NULL) : 0);
+ if (oflags.Dflag)
+ wl = make_word_list (make_bare_word (DEFAULTCMD), (WORD_LIST *)NULL);
+ else if (oflags.Eflag)
+ wl = make_word_list (make_bare_word (EMPTYCMD), (WORD_LIST *)NULL);
+ else if (oflags.Iflag)
+ wl = make_word_list (make_bare_word (INITIALWORD), (WORD_LIST *)NULL);
+ else
+ wl = (WORD_LIST *)NULL;
/* -p overrides everything else */
if (oflags.pflag || (list == 0 && opt_given == 0))
@@ -564,10 +586,12 @@ print_one_completion (cmd, cs)
/* simple arguments that don't require quoting */
PRINTARG (cs->funcname, "-F");
- if (STREQ (cmd, EMPTYCMD))
- printf ("-E\n");
- else if (STREQ (cmd, DEFAULTCMD))
+ if (STREQ (cmd, DEFAULTCMD))
printf ("-D\n");
+ else if (STREQ (cmd, EMPTYCMD))
+ printf ("-E\n");
+ else if (STREQ (cmd, INITIALWORD))
+ printf ("-I\n");
else
printf ("%s\n", cmd);
@@ -608,10 +632,12 @@ print_compopts (cmd, cs, full)
PRINTCOMPOPT (COPT_PLUSDIRS, "plusdirs");
}
- if (STREQ (cmd, EMPTYCMD))
- printf ("-E\n");
- else if (STREQ (cmd, DEFAULTCMD))
+ if (STREQ (cmd, DEFAULTCMD))
printf ("-D\n");
+ else if (STREQ (cmd, EMPTYCMD))
+ printf ("-E\n");
+ else if (STREQ (cmd, INITIALWORD))
+ printf ("-I\n");
else
printf ("%s\n", cmd);
}
@@ -769,7 +795,7 @@ compgen_builtin (list)
$BUILTIN compopt
$DEPENDS_ON PROGRAMMABLE_COMPLETION
$FUNCTION compopt_builtin
-$SHORT_DOC compopt [-o|+o option] [-DE] [name ...]
+$SHORT_DOC compopt [-o|+o option] [-DEI] [name ...]
Modify or display completion options.
Modify the completion options for each NAME, or, if no NAMEs are supplied,
@@ -780,6 +806,7 @@ Options:
-o option Set completion option OPTION for each NAME
-D Change options for the "default" command completion
-E Change options for the "empty" command completion
+ -I Change options for completion on the initial word
Using `+o' instead of `-o' turns off the specified option.
@@ -800,15 +827,15 @@ int
compopt_builtin (list)
WORD_LIST *list;
{
- int opts_on, opts_off, *opts, opt, oind, ret, Dflag, Eflag;
+ int opts_on, opts_off, *opts, opt, oind, ret, Dflag, Eflag, Iflag;
WORD_LIST *l, *wl;
COMPSPEC *cs;
- opts_on = opts_off = Eflag = Dflag = 0;
+ opts_on = opts_off = Eflag = Dflag = Iflag = 0;
ret = EXECUTION_SUCCESS;
reset_internal_getopt ();
- while ((opt = internal_getopt (list, "+o:DE")) != -1)
+ while ((opt = internal_getopt (list, "+o:DEI")) != -1)
{
opts = (list_opttype == '-') ? &opts_on : &opts_off;
@@ -829,6 +856,9 @@ compopt_builtin (list)
case 'E':
Eflag = 1;
break;
+ case 'I':
+ Iflag = 1;
+ break;
CASE_HELPOPT;
default:
builtin_usage ();
@@ -837,8 +867,14 @@ compopt_builtin (list)
}
list = loptend;
- wl = Dflag ? make_word_list (make_bare_word (DEFAULTCMD), (WORD_LIST *)NULL)
- : (Eflag ? make_word_list (make_bare_word (EMPTYCMD), (WORD_LIST *)NULL) : 0);
+ if (Dflag)
+ wl = make_word_list (make_bare_word (DEFAULTCMD), (WORD_LIST *)NULL);
+ else if (Eflag)
+ wl = make_word_list (make_bare_word (EMPTYCMD), (WORD_LIST *)NULL);
+ else if (Iflag)
+ wl = make_word_list (make_bare_word (INITIALWORD), (WORD_LIST *)NULL);
+ else
+ wl = (WORD_LIST *)NULL;
if (list == 0 && wl == 0)
{
diff --git a/builtins/declare.def b/builtins/declare.def
index 2574eba4..7eac6f58 100644
--- a/builtins/declare.def
+++ b/builtins/declare.def
@@ -440,19 +440,38 @@ restart_new_var_name:
refvar = (SHELL_VAR *)NULL;
if (variable_context && mkglobal == 0 && ((flags_on & att_function) == 0))
{
+ char *newname;
+
/* check name for validity here? */
+ var = find_variable (name);
+ if (var == 0)
+ newname = nameref_transform_name (name, ASS_MKLOCAL);
+ else if ((flags_on & att_nameref) == 0 && (flags_off & att_nameref) == 0)
+ {
+ /* Ok, we're following namerefs here, so let's make sure that if
+ we followed one, it was at the same context (see below for
+ more details). */
+ refvar = find_variable_last_nameref (name, 1);
+ newname = (refvar && refvar->context != variable_context) ? name : var->name;
+ refvar = (SHELL_VAR *)NULL;
+ }
+ else
+ newname = name; /* dealing with nameref attribute */
+
#if defined (ARRAY_VARS)
+ /* Pass 1 as second argument to make_local_{assoc,array}_variable
+ return an existing {array,assoc} variable to be flagged as an
+ error below. */
if (flags_on & att_assoc)
- var = make_local_assoc_variable (name);
+ var = make_local_assoc_variable (newname, 1);
else if ((flags_on & att_array) || making_array_special)
- var = make_local_array_variable (name, making_array_special);
+ var = make_local_array_variable (newname, 1);
else
#endif
if (offset == 0 && (flags_on & att_nameref))
{
/* First look for refvar at current scope */
refvar = find_variable_last_nameref (name, 1);
- var = find_variable (name);
/* VARIABLE_CONTEXT != 0, so we are attempting to create or modify
the attributes for a local variable at the same scope. If we've
used a reference from a previous context to resolve VAR, we
@@ -471,7 +490,8 @@ restart_new_var_name:
}
else
/* XXX - check name for validity here with valid_nameref_value */
- var = make_local_variable (name, 0); /* sets att_invisible for new vars */
+ var = make_local_variable ((flags_on & att_nameref) ? name : newname, 0); /* sets att_invisible for new vars */
+
if (var == 0)
{
any_failed++;
@@ -623,14 +643,14 @@ restart_new_var_name:
}
#endif
- /* See if we are trying to set flags or value for an existing nameref
- that points to a non-existent variable: e.g.,
+ /* See if we are trying to set flags or value (or create) for an
+ existing nameref that points to a non-existent variable: e.g.,
declare -n foo=bar
unset foo # unsets bar
declare -i foo
foo=4+4
declare -p foo */
- if (var == 0 && (flags_on || flags_off || offset))
+ if (var == 0 && (mkglobal || flags_on || flags_off || offset))
{
refvar = mkglobal ? find_global_variable_last_nameref (name, 0) : find_variable_last_nameref (name, 0);
if (refvar && nameref_p (refvar) == 0)
@@ -939,9 +959,12 @@ restart_new_var_name:
{
tvalue = var_isset (var) ? savestring (value_cell (var)) : savestring ("");
tv = bind_variable (var->name, tvalue, 0);
- tv->attributes |= var->attributes & ~att_tempvar;
- if (tv->context > 0)
- VSETATTR (tv, att_propagate);
+ if (tv)
+ {
+ tv->attributes |= var->attributes & ~att_tempvar;
+ if (tv->context > 0)
+ VSETATTR (tv, att_propagate);
+ }
free (tvalue);
}
VSETATTR (var, att_propagate);
diff --git a/builtins/printf.def b/builtins/printf.def
index fc089291..1f76c25f 100644
--- a/builtins/printf.def
+++ b/builtins/printf.def
@@ -1198,8 +1198,10 @@ getuintmax ()
if (*ep)
{
sh_invalidnum (garglist->word->word);
+#if 0
/* Same POSIX.2 conversion error requirements as getintmax(). */
ret = 0;
+#endif
conversion_error = 1;
}
else if (errno == ERANGE)
@@ -1227,8 +1229,10 @@ getfloatmax ()
if (*ep)
{
sh_invalidnum (garglist->word->word);
+#if 0
/* Same thing about POSIX.2 conversion error requirements. */
ret = 0;
+#endif
conversion_error = 1;
}
else if (errno == ERANGE)
diff --git a/builtins/read.def b/builtins/read.def
index 584ff70a..a73905c3 100644
--- a/builtins/read.def
+++ b/builtins/read.def
@@ -705,6 +705,7 @@ add_char:
}
else
# endif
+ if (locale_utf8locale == 0 || ((c & 0x80) != 0))
i += read_mbchar (fd, input_string, i, c, unbuffered_read);
}
#endif
diff --git a/builtins/setattr.def b/builtins/setattr.def
index 916515f8..c756964a 100644
--- a/builtins/setattr.def
+++ b/builtins/setattr.def
@@ -560,18 +560,23 @@ set_var_attribute (name, attribute, undo)
var->attributes |= tv->attributes & ~att_tempvar;
/* This avoids an error message when propagating a read-only var
later on. */
- if (var->context == 0 && (attribute & att_readonly))
+ if (posixly_correct || shell_compatibility_level <= 44)
{
- /* Don't bother to set the `propagate to the global variables
- table' flag if we've just bound the variable in that table */
- v = find_global_variable (tv->name);
- if (v != var)
+ if (var->context == 0 && (attribute & att_readonly))
+ {
+ /* Don't bother to set the `propagate to the global variables
+ table' flag if we've just bound the variable in that
+ table */
+ v = find_global_variable (tv->name);
+ if (v != var)
+ VSETATTR (tv, att_propagate);
+ }
+ else
VSETATTR (tv, att_propagate);
+ if (var->context != 0)
+ VSETATTR (var, att_propagate);
}
- else
- VSETATTR (tv, att_propagate);
- if (var->context != 0)
- VSETATTR (var, att_propagate);
+
SETVARATTR (tv, attribute, undo); /* XXX */
stupidly_hack_special_variables (tv->name);
diff --git a/builtins/shopt.def b/builtins/shopt.def
index 9b88aa44..d76b8669 100644
--- a/builtins/shopt.def
+++ b/builtins/shopt.def
@@ -110,6 +110,7 @@ extern int enable_hostname_completion __P((int));
#if defined (PROGRAMMABLE_COMPLETION)
extern int prog_completion_enabled;
+extern int progcomp_alias;
#endif
#if defined (DEBUGGER)
@@ -219,7 +220,7 @@ static struct {
{ "lithist", &literal_history, (shopt_set_func_t *)NULL },
#endif
{ "localvar_inherit", &localvar_inherit, (shopt_set_func_t *)NULL },
-#if 0
+#if 0 /* bash-5.0-beta */
{ "localvar_unset", &localvar_unset, (shopt_set_func_t *)NULL },
#endif
{ "login_shell", &shopt_login_shell, set_login_shell },
@@ -232,6 +233,9 @@ static struct {
{ "nullglob", &allow_null_glob_expansion, (shopt_set_func_t *)NULL },
#if defined (PROGRAMMABLE_COMPLETION)
{ "progcomp", &prog_completion_enabled, (shopt_set_func_t *)NULL },
+# if 0 /* bash-5.0-beta */
+ { "progcomp_alias", &progcomp_alias, (shopt_set_func_t *)NULL },
+# endif
#endif
{ "promptvars", &promptvars, (shopt_set_func_t *)NULL },
#if defined (RESTRICTED_SHELL)
diff --git a/command.h b/command.h
index 85626440..32495162 100644
--- a/command.h
+++ b/command.h
@@ -94,7 +94,7 @@ enum command_type { cm_for, cm_case, cm_while, cm_if, cm_simple, cm_select,
#define W_HASQUOTEDNULL 0x040000 /* word contains a quoted null character */
#define W_DQUOTE 0x080000 /* word should be treated as if double-quoted */
#define W_NOPROCSUB 0x100000 /* don't perform process substitution */
-#define W_HASCTLESC 0x200000 /* word contains literal CTLESC characters */
+#define W_SAWQUOTEDNULL 0x200000 /* word contained a quoted null that was removed */
#define W_ASSIGNASSOC 0x400000 /* word looks like associative array assignment */
#define W_ASSIGNARRAY 0x800000 /* word looks like a compound indexed array assignment */
#define W_ARRAYIND 0x1000000 /* word is an array index being expanded */
diff --git a/config-top.h b/config-top.h
index a7008bca..b1ed925f 100644
--- a/config-top.h
+++ b/config-top.h
@@ -176,3 +176,7 @@
/* Define to force the value of OLDPWD inherited from the environment to be a
directory */
#define OLDPWD_CHECK_DIRECTORY 1
+
+/* Define to set the initial size of the history list ($HISTSIZE). This must
+ be a string. */
+/*#define HISTSIZE_DEFAULT "500"*/
diff --git a/config.h.in b/config.h.in
index 1e4b71d1..aa0c0312 100644
--- a/config.h.in
+++ b/config.h.in
@@ -1028,6 +1028,9 @@
/* Define if you have the <sys/ioctl.h> header file. */
#undef HAVE_SYS_IOCTL_H
+/* Define if you have the <sys/mman.h> header file. */
+#undef HAVE_SYS_MMAN_H
+
/* Define if you have the <sys/ndir.h> header file. */
#undef HAVE_SYS_NDIR_H
@@ -1167,6 +1170,9 @@
/* Define if you have a working `mmap' system call. */
#undef HAVE_MMAP
+/* Define if you have the `mremap' function. */
+#undef HAVE_MREMAP
+
/* Define if you have the `munmap' function. */
#undef HAVE_MUNMAP
diff --git a/configure b/configure
index f0db2db7..dd4ff051 100755
--- a/configure
+++ b/configure
@@ -1,7 +1,7 @@
#! /bin/sh
-# From configure.ac for Bash 5.0, version 4.091.
+# From configure.ac for Bash 5.0, version 5.002.
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for bash 5.0-alpha.
+# Generated by GNU Autoconf 2.69 for bash 5.0-beta.
#
# Report bugs to <bug-bash@gnu.org>.
#
@@ -581,8 +581,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='bash'
PACKAGE_TARNAME='bash'
-PACKAGE_VERSION='5.0-alpha'
-PACKAGE_STRING='bash 5.0-alpha'
+PACKAGE_VERSION='5.0-beta'
+PACKAGE_STRING='bash 5.0-beta'
PACKAGE_BUGREPORT='bug-bash@gnu.org'
PACKAGE_URL=''
@@ -1394,7 +1394,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 5.0-alpha to adapt to many kinds of systems.
+\`configure' configures bash 5.0-beta to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1459,7 +1459,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of bash 5.0-alpha:";;
+ short | recursive ) echo "Configuration of bash 5.0-beta:";;
esac
cat <<\_ACEOF
@@ -1655,7 +1655,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-bash configure 5.0-alpha
+bash configure 5.0-beta
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2364,7 +2364,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 5.0-alpha, which was
+It was created by bash $as_me 5.0-beta, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2759,7 +2759,7 @@ ac_config_headers="$ac_config_headers config.h"
BASHVERS=5.0
-RELSTATUS=alpha
+RELSTATUS=beta
case "$RELSTATUS" in
alp*|bet*|dev*|rc*|releng*|maint*) DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
@@ -2847,33 +2847,38 @@ opt_with_installed_readline=no
#htmldir=
case "${host_cpu}-${host_os}" in
+# mostly obsolete platforms
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
+*-dgux*) opt_bash_malloc=no ;; # DG/UX 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
+*-bsdi2.1|*-bsdi3.?) opt_bash_malloc=no ; : ${CC:=shlicc2} ;; # for loadable builtins
+*-opennt*|*-interix*) opt_bash_malloc=no ;; # Interix, now owned by Microsoft
+*-beos*) opt_bash_malloc=no ;; # they say it's suitable
+# These need additional investigation
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
-*-mirbsd*) opt_bash_malloc=no ;; # they claim it needs eight-bit alignment
*-aix*) opt_bash_malloc=no ;; # AIX machines
+*-cygwin*) opt_bash_malloc=no ;; # Cygnus's CYGWIN environment
+# Mach-derived systems have a ton of extra malloc functions and lack sbrk(2)
*-nextstep*) opt_bash_malloc=no ;; # NeXT machines running NeXTstep
*-openstep*) opt_bash_malloc=no ;; # i386/Sparc/HP machines running Openstep
*-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 [67].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
+# Niche or non-mainstream-shell-user systems
+*-qnx*) opt_bash_malloc=no ;; # QNX 4.2, QNX [67].x
*-nsk*) opt_bash_malloc=no ;; # HP NonStop
*-haiku*) opt_bash_malloc=no ;; # Haiku OS
+# Deprecated -- bash malloc is suitable
+#sparc-netbsd*) opt_bash_malloc=no ;; # needs 8-byte alignment
+#mips-irix6*) opt_bash_malloc=no ;; # needs 8-byte alignment
+#*-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
+#*-mirbsd*) opt_bash_malloc=no ;; # they claim it needs eight-bit alignment
esac
# memory scrambling on free()
@@ -2981,7 +2986,7 @@ opt_casemod_attrs=yes
opt_casemod_expansions=yes
opt_extglob_default=no
opt_dircomplete_expand_default=no
-opt_globascii_default=no
+opt_globascii_default=yes
opt_function_import=yes
opt_dev_fd_stat_broken=no
@@ -3004,7 +3009,7 @@ if test $opt_minimal_config = yes; then
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 opt_extglob_default=no
- opt_globascii_default=no
+ opt_globascii_default=yes
fi
# Check whether --enable-alias was given.
@@ -5404,7 +5409,7 @@ fi
case "$ac_cv_rl_version" in
- 7*|8*|9*) ;;
+ 8*|9*) ;;
*) opt_with_installed_readline=no
{ $as_echo "$as_me:${as_lineno-$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;}
@@ -9292,7 +9297,7 @@ fi
done
for ac_header in sys/pte.h sys/stream.h sys/select.h sys/file.h sys/ioctl.h \
- sys/param.h sys/socket.h sys/stat.h \
+ sys/mman.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`
@@ -11046,7 +11051,7 @@ fi
rm -f conftest.mmap conftest.txt
for ac_func in __argz_count __argz_next __argz_stringify dcgettext mempcpy \
- munmap stpcpy strcspn
+ munmap mremap stpcpy strcspn
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
@@ -15252,7 +15257,7 @@ else
typedef RETSIGTYPE sigfunc();
-int nsigint;
+volatile int nsigint;
#ifdef HAVE_POSIX_SIGNALS
sigfunc *
@@ -16175,6 +16180,7 @@ linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
*) $as_echo "#define PGRP_PIPE 1" >>confdefs.h
;;
esac ;;
+openbsd*) LOCAL_CFLAGS="-DDEV_FD_STAT_BROKEN" ;;
*qnx[67]*) LOCAL_LIBS="-lncurses" ;;
*qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
powerux*) LOCAL_LIBS="-lgen" ;;
@@ -16815,7 +16821,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=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 5.0-alpha, which was
+This file was extended by bash $as_me 5.0-beta, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -16881,7 +16887,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-bash config.status 5.0-alpha
+bash config.status 5.0-beta
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index d0ccffb4..5ead2016 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5,7 +5,7 @@ dnl report bugs to chet@po.cwru.edu
dnl
dnl Process this file with autoconf to produce a configure script.
-# Copyright (C) 1987-2016 Free Software Foundation, Inc.
+# Copyright (C) 1987-2018 Free Software Foundation, Inc.
#
# This program is free software: you can redistribute it and/or modify
@@ -21,10 +21,10 @@ 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 5.0, version 4.091])dnl
+AC_REVISION([for Bash 5.0, version 5.002])dnl
define(bashvers, 5.0)
-define(relstatus, alpha)
+define(relstatus, beta)
AC_INIT([bash], bashvers-relstatus, [bug-bash@gnu.org])
@@ -63,33 +63,38 @@ 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
+# mostly obsolete platforms
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
+*-dgux*) opt_bash_malloc=no ;; # DG/UX 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
+*-bsdi2.1|*-bsdi3.?) opt_bash_malloc=no ; : ${CC:=shlicc2} ;; # for loadable builtins
+*-opennt*|*-interix*) opt_bash_malloc=no ;; # Interix, now owned by Microsoft
+*-beos*) opt_bash_malloc=no ;; # they say it's suitable
+# These need additional investigation
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
-*-mirbsd*) opt_bash_malloc=no ;; # they claim it needs eight-bit alignment
*-aix*) opt_bash_malloc=no ;; # AIX machines
+*-cygwin*) opt_bash_malloc=no ;; # Cygnus's CYGWIN environment
+# Mach-derived systems have a ton of extra malloc functions and lack sbrk(2)
*-nextstep*) opt_bash_malloc=no ;; # NeXT machines running NeXTstep
*-openstep*) opt_bash_malloc=no ;; # i386/Sparc/HP machines running Openstep
*-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 [67].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
+# Niche or non-mainstream-shell-user systems
+*-qnx*) opt_bash_malloc=no ;; # QNX 4.2, QNX [67].x
*-nsk*) opt_bash_malloc=no ;; # HP NonStop
*-haiku*) opt_bash_malloc=no ;; # Haiku OS
+# Deprecated -- bash malloc is suitable
+#sparc-netbsd*) opt_bash_malloc=no ;; # needs 8-byte alignment
+#mips-irix6*) opt_bash_malloc=no ;; # needs 8-byte alignment
+#*-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
+#*-mirbsd*) opt_bash_malloc=no ;; # they claim it needs eight-bit alignment
esac
# memory scrambling on free()
@@ -177,7 +182,7 @@ opt_casemod_attrs=yes
opt_casemod_expansions=yes
opt_extglob_default=no
opt_dircomplete_expand_default=no
-opt_globascii_default=no
+opt_globascii_default=yes
opt_function_import=yes
opt_dev_fd_stat_broken=no
@@ -200,7 +205,7 @@ if test $opt_minimal_config = yes; then
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 opt_extglob_default=no
- opt_globascii_default=no
+ opt_globascii_default=yes
fi
AC_ARG_ENABLE(alias, AC_HELP_STRING([--enable-alias], [enable shell aliases]), opt_alias=$enableval)
@@ -550,7 +555,7 @@ then
RL_LIB_READLINE_VERSION
case "$ac_cv_rl_version" in
- 7*|8*|9*) ;;
+ 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])
@@ -714,7 +719,7 @@ AC_CHECK_HEADERS(unistd.h stdlib.h stdarg.h varargs.h limits.h string.h \
stdbool.h stddef.h stdint.h netdb.h pwd.h grp.h strings.h \
regex.h syslog.h ulimit.h)
AC_CHECK_HEADERS(sys/pte.h sys/stream.h sys/select.h sys/file.h sys/ioctl.h \
- sys/param.h sys/socket.h sys/stat.h \
+ sys/mman.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)
@@ -850,7 +855,7 @@ 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])
+ munmap mremap stpcpy strcspn])
INTL_DEP= INTL_INC= LIBINTL_H=
if test "x$USE_INCLUDED_LIBINTL" = "xyes"; then
@@ -1111,6 +1116,7 @@ linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
1.*|2.[[0123]]*) : ;;
*) AC_DEFINE(PGRP_PIPE) ;;
esac ;;
+openbsd*) LOCAL_CFLAGS="-DDEV_FD_STAT_BROKEN" ;;
*qnx[[67]]*) LOCAL_LIBS="-lncurses" ;;
*qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
powerux*) LOCAL_LIBS="-lgen" ;;
diff --git a/doc/bash.0 b/doc/bash.0
index bb2f7429..d09b8fc0 100644
--- a/doc/bash.0
+++ b/doc/bash.0
@@ -382,24 +382,24 @@ SSHHEELLLL GGRRAAMMMMAARR
An additional binary operator, ==~~, is available, with the same
precedence as ==== and !!==. When it is used, the string to the
- right of the operator is considered an extended regular expres-
- sion and matched accordingly (as in _r_e_g_e_x(3)). The return value
- is 0 if the string matches the pattern, and 1 otherwise. If the
- regular expression is syntactically incorrect, the conditional
- expression's return value is 2. If the nnooccaasseemmaattcchh shell option
- is enabled, the match is performed without regard to the case of
- alphabetic characters. Any part of the pattern may be quoted to
- force the quoted portion to be matched as a string. Bracket
- expressions in regular expressions must be treated carefully,
- since normal quoting characters lose their meanings between
- brackets. If the pattern is stored in a shell variable, quoting
- the variable expansion forces the entire pattern to be matched
- as a string. Substrings matched by parenthesized subexpressions
- within the regular expression are saved in the array variable
- BBAASSHH__RREEMMAATTCCHH. The element of BBAASSHH__RREEMMAATTCCHH with index 0 is the
- portion of the string matching the entire regular expression.
- The element of BBAASSHH__RREEMMAATTCCHH with index _n is the portion of the
- string matching the _nth parenthesized subexpression.
+ right of the operator is considered a POSIX extended regular
+ expression and matched accordingly (as in _r_e_g_e_x(3)). The return
+ value is 0 if the string matches the pattern, and 1 otherwise.
+ If the regular expression is syntactically incorrect, the condi-
+ tional expression's return value is 2. If the nnooccaasseemmaattcchh shell
+ option is enabled, the match is performed without regard to the
+ case of alphabetic characters. Any part of the pattern may be
+ quoted to force the quoted portion to be matched as a string.
+ Bracket expressions in regular expressions must be treated care-
+ fully, since normal quoting characters lose their meanings
+ between brackets. If the pattern is stored in a shell variable,
+ quoting the variable expansion forces the entire pattern to be
+ matched as a string. Substrings matched by parenthesized subex-
+ pressions within the regular expression are saved in the array
+ variable BBAASSHH__RREEMMAATTCCHH. The element of BBAASSHH__RREEMMAATTCCHH with index 0
+ is the portion of the string matching the entire regular expres-
+ sion. The element of BBAASSHH__RREEMMAATTCCHH with index _n is the portion
+ of the string matching the _nth parenthesized subexpression.
Expressions may be combined using the following operators,
listed in decreasing order of precedence:
@@ -735,80 +735,86 @@ PPAARRAAMMEETTEERRSS
is the first character of the value of the IIFFSS variable. If IIFFSS
is unset, the parameters are separated 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. In
+ contexts where word splitting is performed, this expands each
+ positional parameter to a separate word; if not within double
+ quotes, these words are subject to word splitting. In contexts
+ where word splitting is not performed, this expands to a single
+ word with each positional parameter separated by a space. 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 job most recently placed into
- the background, whether executed as an asynchronous command or
+ !! Expands to the process ID of the job most recently placed into
+ the background, whether executed as an asynchronous command or
using the bbgg builtin (see JJOOBB CCOONNTTRROOLL below).
- 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 filename 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 filename 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 filename used to invoke this instance of
+ BBAASSHH Expands to the full filename 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
- that do not require bbaasshh to be re-initialized. Assignments to
- BBAASSHHPPIIDD have no effect. If BBAASSHHPPIIDD is unset, it loses its spe-
+ 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. Assignments to
+ BBAASSHHPPIIDD have no effect. If BBAASSHHPPIIDD is unset, it loses its spe-
cial properties, even if it is subsequently reset.
BBAASSHH__AALLIIAASSEESS
- 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; however,
- unsetting array elements currently does not cause aliases to be
+ 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; however,
+ unsetting array elements currently does not cause aliases to be
removed from the alias list. If BBAASSHH__AALLIIAASSEESS is unset, it loses
its special properties, even if it is subsequently reset.
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
- option to the sshhoopptt builtin below). Setting eexxttddeebbuugg after the
- shell has started to execute a script may result in inconsistent
- values.
+ extended debugging mode (see the description of the eexxttddeebbuugg
+ option to the sshhoopptt builtin below). Setting eexxttddeebbuugg after the
+ shell has started to execute a script, or referencing this vari-
+ able when eexxttddeebbuugg is not set, may result in inconsistent val-
+ ues.
BBAASSHH__AARRGGVV
An array variable containing all of the parameters in the cur-
rent bbaasshh execution call stack. The final parameter of the last
@@ -818,59 +824,60 @@ PPAARRAAMMEETTEERRSS
shell sets BBAASSHH__AARRGGVV only when in extended debugging mode (see
the description of the eexxttddeebbuugg option to the sshhoopptt builtin
below). Setting eexxttddeebbuugg after the shell has started to execute
- a script may result in inconsistent values.
+ a script, or referencing this variable when eexxttddeebbuugg is not set,
+ may result in inconsistent values.
BBAASSHH__AARRGGVV00
- When referenced, this variable expands to the name of the shell
+ When referenced, this variable expands to the name of the shell
or shell script (identical to $$00; see the description of special
- parameter 0 above). Assignment to BBAASSHH__AARRGGVV00 causes the value
- assigned to also be assigned to $$00. If BBAASSHH__AARRGGVV00 is unset, it
+ parameter 0 above). Assignment to BBAASSHH__AARRGGVV00 causes the value
+ assigned to also be assigned to $$00. If BBAASSHH__AARRGGVV00 is unset, it
loses its special properties, even if it is subsequently reset.
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;
- however, unsetting array elements currently does not cause com-
- mand names to be removed from the hash table. If BBAASSHH__CCMMDDSS is
- unset, it loses its special properties, even if it is subse-
+ however, unsetting array elements currently does not cause com-
+ mand names to be removed from the hash table. If BBAASSHH__CCMMDDSS is
+ unset, it loses its special properties, even if it is subse-
quently reset.
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 where each corresponding member of FFUUNNCCNNAAMMEE was invoked.
+ 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-
+ $${{BBAASSHH__LLIINNEENNOO[[_$_i_-_1]]}} if referenced within another shell func-
tion). Use LLIINNEENNOO to obtain the current line number.
BBAASSHH__LLOOAADDAABBLLEESS__PPAATTHH
- A colon-separated list of directories in which the shell looks
- for dynamically loadable builtins specified by the eennaabbllee com-
+ A colon-separated list of directories in which the shell looks
+ for dynamically loadable builtins specified by the eennaabbllee com-
mand.
BBAASSHH__RREEMMAATTCCHH
- An array variable whose members are assigned by the ==~~ binary
- operator to the [[[[ conditional command. The element with index
- 0 is the portion of the string matching the entire regular
- expression. The element with index _n is the portion of the
+ An array variable whose members are assigned by the ==~~ binary
+ operator to the [[[[ conditional command. The element with index
+ 0 is the portion of the string matching the entire regular
+ expression. The element with index _n is the portion of the
string matching the _nth parenthesized subexpression. This vari-
able is read-only.
BBAASSHH__SSOOUURRCCEE
- An array variable whose members are the source filenames 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
+ 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 within each subshell or subshell environment
- when the shell begins executing in that environment. The ini-
+ Incremented by one within each subshell or subshell environment
+ when the shell begins executing in that environment. The ini-
tial 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).
@@ -879,137 +886,137 @@ PPAARRAAMMEETTEERRSS
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
The key (or final key of a key sequence) used to invoke the cur-
rent completion function.
CCOOMMPP__LLIINNEE
- The current command line. This variable is available only in
- shell functions and external commands invoked by the program-
+ The current command line. This variable is available only in
+ shell functions and external commands invoked by the program-
mable 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 program-
+ equal to $${{##CCOOMMPP__LLIINNEE}}. This variable is available only in
+ shell functions and external commands invoked by the program-
mable 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 program-
+ 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 program-
mable completion facilities (see PPrrooggrraammmmaabbllee CCoommpplleettiioonn below).
CCOOMMPP__WWOORRDDBBRREEAAKKSS
- The set of characters that the rreeaaddlliinnee library treats as word
- separators when performing word completion. If CCOOMMPP__WWOORRDDBBRREEAAKKSS
- is unset, it loses its special properties, even if it is subse-
+ The set of characters that the rreeaaddlliinnee library treats as word
+ separators when performing word completion. If CCOOMMPP__WWOORRDDBBRREEAAKKSS
+ is unset, it loses its special properties, even if it is subse-
quently reset.
CCOOMMPP__WWOORRDDSS
- An array variable (see AArrrraayyss below) consisting of the individ-
- ual words in the current command line. The line is split into
- words as rreeaaddlliinnee would split it, using CCOOMMPP__WWOORRDDBBRREEAAKKSS as
+ An array variable (see AArrrraayyss below) consisting of the individ-
+ ual words in the current command line. The line is split into
+ words as rreeaaddlliinnee would split it, using CCOOMMPP__WWOORRDDBBRREEAAKKSS as
described above. This variable is available only in shell func-
- tions invoked by the programmable completion facilities (see
+ tions invoked by the programmable completion facilities (see
PPrrooggrraammmmaabbllee CCoommpplleettiioonn below).
- CCOOPPRROOCC An array variable (see AArrrraayyss below) created to hold the file
- descriptors for output from and input to an unnamed coprocess
+ CCOOPPRROOCC An array variable (see AArrrraayyss below) created to hold the file
+ descriptors for output from and input to an unnamed coprocess
(see CCoopprroocceesssseess above).
DDIIRRSSTTAACCKK
An array variable (see AArrrraayyss below) containing the current con-
- tents of the directory stack. Directories appear in the stack
- in the order they are displayed by the ddiirrss builtin. Assigning
+ tents of the directory stack. Directories appear in the stack
+ in the order they are displayed by the ddiirrss builtin. Assigning
to members of this array variable may be used to modify directo-
- ries already in the stack, but the ppuusshhdd and ppooppdd builtins must
+ ries already in the stack, but the ppuusshhdd and ppooppdd builtins must
be used to add and remove directories. Assignment to this vari-
- able will not change the current directory. If DDIIRRSSTTAACCKK is
- unset, it loses its special properties, even if it is subse-
+ able will not change the current directory. If DDIIRRSSTTAACCKK is
+ unset, it loses its special properties, even if it is subse-
quently reset.
EEPPOOCCHHRREEAALLTTIIMMEE
Each time this parameter is referenced, it expands to the number
- of seconds since the Unix Epoch (see _t_i_m_e(3)) as a floating
+ of seconds since the Unix Epoch (see _t_i_m_e(3)) as a floating
point value with micro-second granularity. Assignments to
- EEPPOOCCHHRREEAALLTTIIMMEE are ignored. If EEPPOOCCHHRREEAALLTTIIMMEE is unset, it loses
+ EEPPOOCCHHRREEAALLTTIIMMEE are ignored. If EEPPOOCCHHRREEAALLTTIIMMEE is unset, it loses
its special properties, even if it is subsequently reset.
EEPPOOCCHHSSEECCOONNDDSS
Each time this parameter is referenced, it expands to the number
- of seconds since the Unix Epoch (see _t_i_m_e(3)). Assignments to
- EEPPOOCCHHSSEECCOONNDDSS are ignored. If EEPPOOCCHHSSEECCOONNDDSS is unset, it loses
+ of seconds since the Unix Epoch (see _t_i_m_e(3)). Assignments to
+ EEPPOOCCHHSSEECCOONNDDSS are ignored. If EEPPOOCCHHSSEECCOONNDDSS is unset, it loses
its special properties, even if it is subsequently 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 (the one with the highest index) is "main".
- This variable exists only when a shell function is executing.
- Assignments to FFUUNNCCNNAAMMEE have no effect. If FFUUNNCCNNAAMMEE is unset,
- it loses its special properties, even if it is subsequently
+ 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. 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
+ 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
+ GGRROOUUPPSS An array variable containing the list of groups of which the
current user is a member. Assignments to GGRROOUUPPSS have no effect.
- If GGRROOUUPPSS is unset, it loses its special properties, even if it
+ If GGRROOUUPPSS is unset, it loses its special properties, even if it
is subsequently reset.
HHIISSTTCCMMDD
The history number, or index in the history list, of the current
- command. If HHIISSTTCCMMDD is unset, it loses its special properties,
+ command. If HHIISSTTCCMMDD is unset, it loses its special properties,
even if it is subsequently reset.
HHOOSSTTNNAAMMEE
Automatically set to the name of the current host.
HHOOSSTTTTYYPPEE
- Automatically set to a string that uniquely describes the type
- of machine on which bbaasshh is executing. The default is system-
+ Automatically set to a string that uniquely describes the type
+ of machine on which bbaasshh is executing. The default is system-
dependent.
- LLIINNEENNOO Each time this parameter is referenced, the shell substitutes a
- decimal number representing the current sequential line number
- (starting with 1) within a script or function. When not in a
- script or function, the value substituted is not guaranteed to
+ LLIINNEENNOO Each time this parameter is referenced, the shell substitutes a
+ decimal number representing the current sequential line number
+ (starting with 1) within a script or function. When not in a
+ script or function, the value substituted is not guaranteed to
be meaningful. If LLIINNEENNOO is unset, it loses its special proper-
ties, even if it is subsequently reset.
MMAACCHHTTYYPPEE
- Automatically set to a string that fully describes the system
- type on which bbaasshh is executing, in the standard GNU _c_p_u_-_c_o_m_-
+ Automatically set to a string that fully describes the system
+ type on which bbaasshh is executing, in the standard GNU _c_p_u_-_c_o_m_-
_p_a_n_y_-_s_y_s_t_e_m format. The default is system-dependent.
MMAAPPFFIILLEE
- An array variable (see AArrrraayyss below) created to hold the text
+ An array variable (see AArrrraayyss below) created to hold the text
read by the mmaappffiillee builtin when no variable name is supplied.
OOLLDDPPWWDD The previous working directory as set by the ccdd command.
- OOPPTTAARRGG The value of the last option argument processed by the ggeettooppttss
+ OOPPTTAARRGG The value of the last option argument processed by the ggeettooppttss
builtin command (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below).
- OOPPTTIINNDD The index of the next argument to be processed by the ggeettooppttss
+ OOPPTTIINNDD The index of the next argument to be processed by the ggeettooppttss
builtin command (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below).
- OOSSTTYYPPEE Automatically set to a string that describes the operating sys-
- tem on which bbaasshh is executing. The default is system-depen-
+ OOSSTTYYPPEE Automatically set to a string that describes the operating sys-
+ tem on which bbaasshh is executing. The default is system-depen-
dent.
PPIIPPEESSTTAATTUUSS
- An array variable (see AArrrraayyss below) containing a list of exit
- status values from the processes in the most-recently-executed
+ An array variable (see AArrrraayyss below) containing a list of exit
+ status values from the processes in the most-recently-executed
foreground pipeline (which may contain only a single command).
- PPPPIIDD The process ID of the shell's parent. This variable is read-
+ PPPPIIDD The process ID of the shell's parent. This variable is read-
only.
PPWWDD The current working directory as set by the ccdd command.
RRAANNDDOOMM Each time this parameter is referenced, a random integer between
0 and 32767 is generated. The sequence of random numbers may be
initialized by assigning a value to RRAANNDDOOMM. If RRAANNDDOOMM is unset,
- it loses its special properties, even if it is subsequently
+ it loses its special properties, even if it is subsequently
reset.
RREEAADDLLIINNEE__LLIINNEE
The contents of the rreeaaddlliinnee line buffer, for use with "bind -x"
@@ -1017,197 +1024,202 @@ PPAARRAAMMEETTEERRSS
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
+ RREEPPLLYY Set to the line of input read by the rreeaadd builtin command when
no arguments are supplied.
SSEECCOONNDDSS
- Each time this parameter is referenced, the number of seconds
- since shell invocation is returned. If a value is assigned to
- SSEECCOONNDDSS, the value returned upon subsequent references is the
- number of seconds since the assignment plus the value assigned.
+ Each time this parameter is referenced, the number of seconds
+ since shell invocation is returned. If a value is assigned to
+ SSEECCOONNDDSS, the value returned upon subsequent references is the
+ number of seconds since the assignment plus the value assigned.
If SSEECCOONNDDSS is unset, it loses its special properties, even if it
is subsequently reset.
SSHHEELLLLOOPPTTSS
- A colon-separated list of enabled shell options. Each word in
- the list is a valid argument for the --oo option to the sseett
+ A colon-separated list of enabled shell options. Each word in
+ the list is a valid argument for the --oo option to the sseett
builtin command (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). The options
- appearing in SSHHEELLLLOOPPTTSS are those reported as _o_n by sseett --oo. If
- this variable is in the environment when bbaasshh starts up, each
- shell option in the list will be enabled before reading any
+ appearing in SSHHEELLLLOOPPTTSS are those reported as _o_n by sseett --oo. If
+ this variable is in the environment when bbaasshh starts up, each
+ shell option in the list will be enabled before reading any
startup files. This variable is read-only.
SSHHLLVVLL Incremented by one each time an instance of bbaasshh is started.
UUIIDD Expands to the user ID of the current user, initialized at shell
startup. This variable is readonly.
- The following variables are used by the shell. In some cases, bbaasshh
+ The following variables are used by the shell. In some cases, bbaasshh
assigns a default value to a variable; these cases are noted below.
BBAASSHH__CCOOMMPPAATT
- The value is used to set the shell's compatibility level. See
- the description of the sshhoopptt builtin below under SSHHEELLLL BBUUIILLTTIINN
- CCOOMMMMAANNDDSS for a description of the various compatibility levels
- and their effects. The value may be a decimal number (e.g.,
- 4.2) or an integer (e.g., 42) corresponding to the desired com-
- patibility level. If BBAASSHH__CCOOMMPPAATT is unset or set to the empty
- string, the compatibility level is set to the default for the
- current version. If BBAASSHH__CCOOMMPPAATT is set to a value that is not
+ The value is used to set the shell's compatibility level. See
+ the description of the sshhoopptt builtin below under SSHHEELLLL BBUUIILLTTIINN
+ CCOOMMMMAANNDDSS for a description of the various compatibility levels
+ and their effects. The value may be a decimal number (e.g.,
+ 4.2) or an integer (e.g., 42) corresponding to the desired com-
+ patibility level. If BBAASSHH__CCOOMMPPAATT is unset or set to the empty
+ string, the compatibility level is set to the default for the
+ current version. If BBAASSHH__CCOOMMPPAATT is set to a value that is not
one of the valid compatibility levels, the shell prints an error
- message and sets the compatibility level to the default for the
- current version. The valid compatibility levels correspond to
- the compatibility options accepted by the sshhoopptt builtin
+ message and sets the compatibility level to the default for the
+ current version. The valid compatibility levels correspond to
+ the compatibility options accepted by the sshhoopptt builtin
described below (for example, ccoommppaatt4422 means that 4.2 and 42 are
valid values). The current version is also a valid value.
BBAASSHH__EENNVV
- If this parameter is set when bbaasshh is executing a shell script,
- its value is interpreted as a filename containing commands to
+ If this parameter is set when bbaasshh is executing a shell script,
+ its value is interpreted as a filename containing commands to
initialize the shell, as in _~_/_._b_a_s_h_r_c. The value of BBAASSHH__EENNVV is
- subjected to parameter expansion, command substitution, and
- arithmetic expansion before being interpreted as a filename.
+ subjected to parameter expansion, command substitution, and
+ arithmetic expansion before being interpreted as a filename.
PPAATTHH is not used to search for the resultant filename.
BBAASSHH__XXTTRRAACCEEFFDD
- If set to an integer corresponding to a valid file descriptor,
- bbaasshh will write the trace output generated when _s_e_t _-_x is
- enabled to that file descriptor. The file descriptor is closed
- when BBAASSHH__XXTTRRAACCEEFFDD is unset or assigned a new value. Unsetting
- BBAASSHH__XXTTRRAACCEEFFDD or assigning it the empty string causes the trace
- output to be sent to the standard error. Note that setting
+ If set to an integer corresponding to a valid file descriptor,
+ bbaasshh will write the trace output generated when _s_e_t _-_x is
+ enabled to that file descriptor. The file descriptor is closed
+ when BBAASSHH__XXTTRRAACCEEFFDD is unset or assigned a new value. Unsetting
+ BBAASSHH__XXTTRRAACCEEFFDD or assigning it the empty string causes the trace
+ output to be sent to the standard error. Note that setting
BBAASSHH__XXTTRRAACCEEFFDD to 2 (the standard error file descriptor) and then
unsetting it will result in the standard error being closed.
- CCDDPPAATTHH The search path for the ccdd command. This is a colon-separated
- list of directories in which the shell looks for destination
- directories specified by the ccdd command. A sample value is
+ CCDDPPAATTHH The search path for the ccdd command. This is a colon-separated
+ list of directories in which the shell looks for destination
+ directories specified by the ccdd command. A sample value is
".:~:/usr".
CCHHIILLDD__MMAAXX
- Set the number of exited child status values for the shell to
- remember. Bash will not allow this value to be decreased below
- a POSIX-mandated minimum, and there is a maximum value (cur-
- rently 8192) that this may not exceed. The minimum value is
+ Set the number of exited child status values for the shell to
+ remember. Bash will not allow this value to be decreased below
+ a POSIX-mandated minimum, and there is a maximum value (cur-
+ rently 8192) that this may not exceed. The minimum value is
system-dependent.
CCOOLLUUMMNNSS
- Used by the sseelleecctt compound command to determine the terminal
- width when printing selection lists. Automatically set if the
- cchheecckkwwiinnssiizzee option is enabled or in an interactive shell upon
+ Used by the sseelleecctt compound command to determine the terminal
+ width when printing selection lists. Automatically set if the
+ cchheecckkwwiinnssiizzee option is enabled or in an interactive shell upon
receipt of a SSIIGGWWIINNCCHH.
CCOOMMPPRREEPPLLYY
An array variable from which bbaasshh reads the possible completions
- generated by a shell function invoked by the programmable com-
- pletion facility (see PPrrooggrraammmmaabbllee CCoommpplleettiioonn below). Each
+ generated by a shell function invoked by the programmable com-
+ pletion facility (see PPrrooggrraammmmaabbllee CCoommpplleettiioonn below). Each
array element contains one possible completion.
- EEMMAACCSS If bbaasshh finds this variable in the environment when the shell
- starts with value "t", it assumes that the shell is running in
+ EEMMAACCSS If bbaasshh finds this variable in the environment when the shell
+ starts with value "t", it assumes that the shell is running in
an Emacs shell buffer and disables line editing.
- EENNVV Similar to BBAASSHH__EENNVV; used when the shell is invoked in POSIX
- mode.
+ EENNVV Similar to BBAASSHH__EENNVV; used when the shell is invoked in _p_o_s_i_x
+ _m_o_d_e.
EEXXEECCIIGGNNOORREE
- A colon-separated list of shell patterns (see PPaatttteerrnn MMaattcchhiinngg)
- defining the list of filenames to be ignored by command search
- using PPAATTHH. Files whose full pathnames match one of these pat-
- terns are not considered executable files for the purposes of
+ A colon-separated list of shell patterns (see PPaatttteerrnn MMaattcchhiinngg)
+ defining the list of filenames to be ignored by command search
+ using PPAATTHH. Files whose full pathnames match one of these pat-
+ terns are not considered executable files for the purposes of
completion and command execution via PPAATTHH lookup. This does not
affect the behavior of the [[, tteesstt, and [[[[ commands. Full path-
- names in the command hash table are not subject to EEXXEECCIIGGNNOORREE.
- Use this variable to ignore shared library files that have the
- executable bit set, but are not executable files. The pattern
+ names in the command hash table are not subject to EEXXEECCIIGGNNOORREE.
+ Use this variable to ignore shared library files that have the
+ executable bit set, but are not executable files. The pattern
matching honors the setting of the eexxttgglloobb shell option.
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
+ 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 file
- names to be ignored by pathname expansion. If a file name
- matched by a pathname expansion pattern also matches one of the
+ A colon-separated list of patterns defining the set of file
+ names to be ignored by pathname expansion. If a file name
+ matched by a pathname expansion pattern also matches one of the
patterns in 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,
+ 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 a 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, to contain no more than that number of
- lines by removing the oldest entries. The history file is also
- truncated to this size after writing it when a shell exits. If
- the value is 0, the history file is truncated to zero size.
- Non-numeric values and numeric values less than zero inhibit
- truncation. The shell sets the default value to the value of
+ this variable is assigned a value, the history file is trun-
+ cated, if necessary, to contain no more than that number of
+ lines by removing the oldest entries. The history file is also
+ truncated to this size after writing it when a shell exits. If
+ the value is 0, the history file is truncated to zero size.
+ Non-numeric values and numeric values less than zero inhibit
+ truncation. The shell sets the default value to the value of
HHIISSTTSSIIZZEE after reading any startup files.
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. The pattern
+ history regardless of the value of HHIISSTTIIGGNNOORREE. The pattern
matching honors the setting of the eexxttgglloobb shell option.
HHIISSTTSSIIZZEE
- The number of commands to remember in the command history (see
- HHIISSTTOORRYY below). If the value is 0, commands are not saved in
+ The number of commands to remember in the command history (see
+ HHIISSTTOORRYY below). If the value is 0, commands are not saved in
the history list. Numeric values less than zero result in every
- command being saved on the history list (there is no limit).
- The shell sets the default value to 500 after reading any
+ command being saved on the history list (there is no limit).
+ The shell sets the default value to 500 after reading any
startup files.
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).
+ IINNSSIIDDEE__EEMMAACCSS
+ If this variable appears in the environment when the shell
+ starts, bbaasshh assumes that it is running inside an Emacs shell
+ buffer and may disable line editing, depending on the value of
+ TTEERRMM.
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__
@@ -1273,39 +1285,40 @@ PPAARRAAMMEETTEERRSS
shell enters _p_o_s_i_x _m_o_d_e before reading the startup files, as if
the ----ppoossiixx invocation option had been supplied. If it is set
while the shell is running, bbaasshh enables _p_o_s_i_x _m_o_d_e, as if the
- command _s_e_t _-_o _p_o_s_i_x had been executed.
+ command _s_e_t _-_o _p_o_s_i_x had been executed. When the shell enters
+ _p_o_s_i_x _m_o_d_e, it sets this variable if it was not already set.
PPRROOMMPPTT__CCOOMMMMAANNDD
If set, the value is executed as a command prior to issuing each
primary prompt.
PPRROOMMPPTT__DDIIRRTTRRIIMM
- If set to a number greater than zero, the value is used as the
+ If set to a number greater than zero, the value is used as the
number of trailing directory components to retain when expanding
- the \\ww and \\WW prompt string escapes (see PPRROOMMPPTTIINNGG below).
+ the \\ww and \\WW prompt string escapes (see PPRROOMMPPTTIINNGG below).
Characters removed are replaced with an ellipsis.
- PPSS00 The value of this parameter is expanded (see PPRROOMMPPTTIINNGG below)
- and displayed by interactive shells after reading a command and
+ PPSS00 The value of this parameter is expanded (see PPRROOMMPPTTIINNGG below)
+ and displayed by interactive shells after reading a command and
before the command is executed.
- PPSS11 The value of this parameter is expanded (see PPRROOMMPPTTIINNGG below)
- and used as the primary prompt string. The default value is
+ PPSS11 The value of this parameter is expanded (see PPRROOMMPPTTIINNGG below)
+ and used as the primary prompt string. The default value is
``\\ss--\\vv\\$$ ''.
- PPSS22 The value of this parameter is expanded as with PPSS11 and used as
+ PPSS22 The value of this parameter is expanded as with PPSS11 and used as
the secondary prompt string. The default is ``>> ''.
PPSS33 The value of this parameter is used as the prompt for the sseelleecctt
command (see SSHHEELLLL GGRRAAMMMMAARR above).
- PPSS44 The value of this parameter is expanded as with PPSS11 and the
- value is printed before each command bbaasshh displays during an
- execution trace. The first character of the expanded value of
+ PPSS44 The value of this parameter is expanded as with PPSS11 and the
+ value is printed before each command bbaasshh displays during an
+ execution trace. The first character of the expanded value of
PPSS44 is replicated multiple times, as necessary, to indicate mul-
tiple levels of indirection. The default is ``++ ''.
SSHHEELLLL The full pathname to the shell is kept in this environment vari-
- able. If it is not set when the shell starts, bbaasshh assigns to
+ able. If it is not set when the shell starts, bbaasshh assigns to
it the full pathname of the current user's login shell.
TTIIMMEEFFOORRMMAATT
- The value of this parameter is used as a format string specify-
- ing how the timing information for pipelines prefixed with the
- ttiimmee reserved word should be displayed. The %% character intro-
- duces an escape sequence that is expanded to a time value or
- other information. The escape sequences and their meanings are
+ The value of this parameter is used as a format string specify-
+ ing how the timing information for pipelines prefixed with the
+ ttiimmee reserved word should be displayed. The %% character intro-
+ duces an escape sequence that is expanded to a time value or
+ other information. The escape sequences and their meanings are
as follows; the braces denote optional portions.
%%%% A literal %%.
%%[[_p]][[ll]]RR The elapsed time in seconds.
@@ -1313,77 +1326,77 @@ PPAARRAAMMEETTEERRSS
%%[[_p]][[ll]]SS The number of CPU seconds spent in system mode.
%%PP The CPU percentage, computed as (%U + %S) / %R.
- The optional _p is a digit specifying the _p_r_e_c_i_s_i_o_n, the number
+ The optional _p is a digit specifying the _p_r_e_c_i_s_i_o_n, the number
of fractional digits after a decimal point. A value of 0 causes
no decimal point or fraction to be output. At most three places
- after the decimal point may be specified; values of _p greater
- than 3 are changed to 3. If _p is not specified, the value 3 is
+ after the decimal point may be specified; values of _p greater
+ than 3 are changed to 3. If _p is not specified, the value 3 is
used.
- The optional ll specifies a longer format, including minutes, of
- the form _M_Mm_S_S._F_Fs. The value of _p determines whether or not
+ The optional ll specifies a longer format, including minutes, of
+ the form _M_Mm_S_S._F_Fs. The value of _p determines whether or not
the fraction is included.
- If this variable is not set, bbaasshh acts as if it had the value
- $$''\\nnrreeaall\\tt%%33llRR\\nnuusseerr\\tt%%33llUU\\nnssyyss\\tt%%33llSS''. If the value is null,
+ If this variable is not set, bbaasshh acts as if it had the value
+ $$''\\nnrreeaall\\tt%%33llRR\\nnuusseerr\\tt%%33llUU\\nnssyyss\\tt%%33llSS''. If the value is null,
no timing information is displayed. A trailing newline is added
when the format string is displayed.
- TTMMOOUUTT If set to a value greater than zero, TTMMOOUUTT is treated as the
+ TTMMOOUUTT If set to a value greater than zero, TTMMOOUUTT is treated as the
default timeout for the rreeaadd builtin. The sseelleecctt command termi-
nates if input does not arrive after TTMMOOUUTT seconds when input is
- coming from a terminal. In an interactive shell, the value is
+ coming from a terminal. In an interactive shell, the value is
interpreted as the number of seconds to wait for a line of input
after issuing the primary prompt. BBaasshh terminates after waiting
- for that number of seconds if a complete line of input does not
+ for that number of seconds if a complete line of input does not
arrive.
- TTMMPPDDIIRR If set, bbaasshh uses its value as the name of a directory in which
+ TTMMPPDDIIRR If set, bbaasshh uses its value as the name of a directory in which
bbaasshh creates temporary files for the shell's use.
aauuttoo__rreessuummee
This variable controls how the shell interacts with the user and
- job control. If this variable is set, single word simple com-
+ job control. If this variable is set, single word simple com-
mands without redirections are treated as candidates for resump-
tion of an existing stopped job. There is no ambiguity allowed;
- if there is more than one job beginning with the string typed,
- the job most recently accessed is selected. The _n_a_m_e of a
- stopped job, in this context, is the command line used to start
- it. If set to the value _e_x_a_c_t, the string supplied must match
- the name of a stopped job exactly; if set to _s_u_b_s_t_r_i_n_g, the
- string supplied needs to match a substring of the name of a
- stopped job. The _s_u_b_s_t_r_i_n_g value provides functionality analo-
- gous to the %%?? job identifier (see JJOOBB CCOONNTTRROOLL below). If set
- to any other value, the supplied string must be a prefix of a
+ if there is more than one job beginning with the string typed,
+ the job most recently accessed is selected. The _n_a_m_e of a
+ stopped job, in this context, is the command line used to start
+ it. If set to the value _e_x_a_c_t, the string supplied must match
+ the name of a stopped job exactly; if set to _s_u_b_s_t_r_i_n_g, the
+ string supplied needs to match a substring of the name of a
+ stopped job. The _s_u_b_s_t_r_i_n_g value provides functionality analo-
+ gous to the %%?? job identifier (see JJOOBB CCOONNTTRROOLL below). If set
+ to any other value, the supplied string must be a prefix of a
stopped job's name; this provides functionality analogous to the
%%_s_t_r_i_n_g job identifier.
hhiissttcchhaarrss
- The two or three characters which control history expansion and
+ The two or three characters which control history expansion and
tokenization (see HHIISSTTOORRYY EEXXPPAANNSSIIOONN below). The first character
- is the _h_i_s_t_o_r_y _e_x_p_a_n_s_i_o_n character, the character which signals
- the start of a history expansion, normally `!!'. The second
- character is the _q_u_i_c_k _s_u_b_s_t_i_t_u_t_i_o_n character, which is used as
- shorthand for re-running the previous command entered, substi-
- tuting one string for another in the command. The default is
- `^^'. The optional third character is the character which indi-
- cates that the remainder of the line is a comment when found as
- the first character of a word, normally `##'. The history com-
+ is the _h_i_s_t_o_r_y _e_x_p_a_n_s_i_o_n character, the character which signals
+ the start of a history expansion, normally `!!'. The second
+ character is the _q_u_i_c_k _s_u_b_s_t_i_t_u_t_i_o_n character, which is used as
+ shorthand for re-running the previous command entered, substi-
+ tuting one string for another in the command. The default is
+ `^^'. The optional third character is the character which indi-
+ cates that the remainder of the line is a comment when found as
+ the first character of a word, normally `##'. The history com-
ment character causes history substitution to be skipped for the
- remaining words on the line. It does not necessarily cause the
+ remaining words on the line. It does not necessarily cause the
shell parser to treat the rest of the line as a comment.
AArrrraayyss
- BBaasshh provides one-dimensional indexed and associative array variables.
- Any variable may be used as an indexed array; the ddeeccllaarree builtin will
- explicitly declare an array. There is no maximum limit on the size of
- an array, nor any requirement that members be indexed or assigned con-
- tiguously. Indexed arrays are referenced using integers (including
+ BBaasshh provides one-dimensional indexed and associative array variables.
+ Any variable may be used as an indexed array; the ddeeccllaarree builtin will
+ explicitly declare an array. There is no maximum limit on the size of
+ an array, nor any requirement that members be indexed or assigned con-
+ tiguously. Indexed arrays are referenced using integers (including
arithmetic expressions) and are zero-based; associative arrays are ref-
erenced using arbitrary strings. Unless otherwise noted, indexed array
indices must be non-negative integers.
- An indexed array is created automatically if any variable is assigned
+ An indexed array is created automatically if any variable is assigned
to using the syntax _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. To explicitly
- declare an indexed array, use ddeeccllaarree --aa _n_a_m_e (see SSHHEELLLL BBUUIILLTTIINN CCOOMM--
- MMAANNDDSS below). ddeeccllaarree --aa _n_a_m_e[[_s_u_b_s_c_r_i_p_t]] is also accepted; the _s_u_b_-
+ declare an indexed array, use ddeeccllaarree --aa _n_a_m_e (see SSHHEELLLL BBUUIILLTTIINN CCOOMM--
+ MMAANNDDSS 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.
@@ -1391,141 +1404,141 @@ PPAARRAAMMEETTEERRSS
Attributes may be specified for an array variable using the ddeeccllaarree and
rreeaaddoonnllyy builtins. Each attribute applies to all members of an array.
- Arrays are assigned to using compound assignments of the form
- _n_a_m_e=((value_1 ... value_n)), where each _v_a_l_u_e is of the form [_s_u_b_-
- _s_c_r_i_p_t]=_s_t_r_i_n_g. Indexed array assignments do not require anything but
+ Arrays are assigned to using compound assignments of the form
+ _n_a_m_e=((value_1 ... value_n)), where each _v_a_l_u_e is of the form [_s_u_b_-
+ _s_c_r_i_p_t]=_s_t_r_i_n_g. Indexed array assignments do not require anything but
_s_t_r_i_n_g. When assigning to indexed arrays, if the optional brackets and
- subscript are supplied, that index is assigned to; otherwise the index
- of the element assigned is the last index assigned to by the statement
+ subscript are supplied, that index is assigned to; otherwise the index
+ of the element assigned is the last index assigned to by the statement
plus one. Indexing starts at zero.
When assigning to an associative array, the subscript is required.
- This syntax is also accepted by the ddeeccllaarree builtin. Individual array
- elements may be assigned to using the _n_a_m_e[_s_u_b_s_c_r_i_p_t]=_v_a_l_u_e syntax
- introduced above. When assigning to an indexed array, if _n_a_m_e is sub-
- scripted by a negative number, that number is interpreted as relative
- to one greater than the maximum index of _n_a_m_e, so negative indices
+ This syntax is also accepted by the ddeeccllaarree builtin. Individual array
+ elements may be assigned to using the _n_a_m_e[_s_u_b_s_c_r_i_p_t]=_v_a_l_u_e syntax
+ introduced above. When assigning to an indexed array, if _n_a_m_e is sub-
+ scripted by a negative number, that number is interpreted as relative
+ to one greater than the maximum index of _n_a_m_e, so negative indices
count back from the end of the array, and an index of -1 references the
last element.
- Any element of an array may be referenced using ${_n_a_m_e[_s_u_b_s_c_r_i_p_t]}.
+ Any element of an array may be referenced using ${_n_a_m_e[_s_u_b_s_c_r_i_p_t]}.
The braces are required to avoid conflicts with pathname expansion. If
- _s_u_b_s_c_r_i_p_t is @@ or **, the word expands to all members of _n_a_m_e. These
- subscripts differ only when the word appears within double quotes. If
+ _s_u_b_s_c_r_i_p_t is @@ or **, the word expands to all members of _n_a_m_e. These
+ subscripts differ only when the word appears within double quotes. If
the word is double-quoted, ${_n_a_m_e[*]} expands to a single word with the
- value of each array member separated by the first character of the IIFFSS
+ value of each array member separated by the first character of the IIFFSS
special variable, and ${_n_a_m_e[@]} expands each element of _n_a_m_e to a sep-
- arate word. When there are no array members, ${_n_a_m_e[@]} expands to
- nothing. If the double-quoted expansion occurs within a word, the
- expansion of the first parameter is joined with the beginning part of
- the original word, and the expansion of the last parameter is joined
- with the last part of the original word. This is analogous to the
- expansion of the special parameters ** and @@ (see SSppeecciiaall PPaarraammeetteerrss
- above). ${#_n_a_m_e[_s_u_b_s_c_r_i_p_t]} expands to the length of ${_n_a_m_e[_s_u_b_-
- _s_c_r_i_p_t]}. If _s_u_b_s_c_r_i_p_t is ** or @@, the expansion is the number of ele-
- ments in the array. If the _s_u_b_s_c_r_i_p_t used to reference an element of
- an indexed array evaluates to a number less than zero, it is inter-
- preted as relative to one greater than the maximum index of the array,
- so negative indices count back from the end of the array, and an index
+ arate word. When there are no array members, ${_n_a_m_e[@]} expands to
+ nothing. If the double-quoted expansion occurs within a word, the
+ expansion of the first parameter is joined with the beginning part of
+ the original word, and the expansion of the last parameter is joined
+ with the last part of the original word. This is analogous to the
+ expansion of the special parameters ** and @@ (see SSppeecciiaall PPaarraammeetteerrss
+ above). ${#_n_a_m_e[_s_u_b_s_c_r_i_p_t]} expands to the length of ${_n_a_m_e[_s_u_b_-
+ _s_c_r_i_p_t]}. If _s_u_b_s_c_r_i_p_t is ** or @@, the expansion is the number of ele-
+ ments in the array. If the _s_u_b_s_c_r_i_p_t used to reference an element of
+ an indexed array evaluates to a number less than zero, it is inter-
+ preted as relative to one greater than the maximum index of the array,
+ so negative indices count back from the end of the array, and an index
of -1 references the last element.
Referencing an array variable without a subscript is equivalent to ref-
- erencing the array with a subscript of 0. Any reference to a variable
+ erencing the array with a subscript of 0. Any reference to a variable
using a valid subscript is legal, and bbaasshh will create an array if nec-
essary.
- An array variable is considered set if a subscript has been assigned a
+ An array variable is considered set if a subscript has been assigned a
value. The null string is a valid value.
- It is possible to obtain the keys (indices) of an array as well as the
- values. ${!!_n_a_m_e[_@]} and ${!!_n_a_m_e[_*]} expand to the indices assigned in
+ It is possible to obtain the keys (indices) of an array as well as the
+ values. ${!!_n_a_m_e[_@]} and ${!!_n_a_m_e[_*]} expand to the indices assigned in
array variable _n_a_m_e. The treatment when in double quotes is similar to
the expansion of the special parameters _@ and _* within double quotes.
- The uunnsseett builtin is used to destroy arrays. uunnsseett _n_a_m_e[_s_u_b_s_c_r_i_p_t]
- destroys the array element at index _s_u_b_s_c_r_i_p_t, for both indexed and
- associative arrays. Negative subscripts to indexed arrays are inter-
- preted as described above. Unsetting the last element of an array
- variable does not unset the variable. uunnsseett _n_a_m_e, where _n_a_m_e is an
+ The uunnsseett builtin is used to destroy arrays. uunnsseett _n_a_m_e[_s_u_b_s_c_r_i_p_t]
+ destroys the array element at index _s_u_b_s_c_r_i_p_t, for both indexed and
+ associative arrays. Negative subscripts to indexed arrays are inter-
+ preted as described above. Unsetting the last element of an array
+ variable does not unset the variable. uunnsseett _n_a_m_e, where _n_a_m_e is an
array, or uunnsseett _n_a_m_e[_s_u_b_s_c_r_i_p_t], where _s_u_b_s_c_r_i_p_t is ** or @@, removes the
entire array.
- When using a variable name with a subscript as an argument to a com-
- mand, such as with uunnsseett, without using the word expansion syntax
- described above, the argument is subject to pathname expansion. If
+ When using a variable name with a subscript as an argument to a com-
+ mand, such as with uunnsseett, without using the word expansion syntax
+ described above, the argument is subject to pathname expansion. If
pathname expansion is not desired, the argument should be quoted.
- The ddeeccllaarree, llooccaall, and rreeaaddoonnllyy builtins each accept a --aa option to
- specify an indexed array and a --AA option to specify an associative
- array. If both options are supplied, --AA takes precedence. The rreeaadd
- builtin accepts a --aa option to assign a list of words read from the
+ The ddeeccllaarree, llooccaall, and rreeaaddoonnllyy builtins each accept a --aa option to
+ specify an indexed array and a --AA option to specify an associative
+ array. If both options are supplied, --AA takes precedence. The rreeaadd
+ builtin accepts a --aa option to assign a list of words read from the
standard input to an array. The sseett and ddeeccllaarree builtins display array
values in a way that allows them to be reused as assignments.
EEXXPPAANNSSIIOONN
Expansion is performed on the command line after it has been split into
- words. There are seven kinds of expansion performed: _b_r_a_c_e _e_x_p_a_n_s_i_o_n,
- _t_i_l_d_e _e_x_p_a_n_s_i_o_n, _p_a_r_a_m_e_t_e_r _a_n_d _v_a_r_i_a_b_l_e _e_x_p_a_n_s_i_o_n, _c_o_m_m_a_n_d _s_u_b_s_t_i_t_u_-
+ words. There are seven kinds of expansion performed: _b_r_a_c_e _e_x_p_a_n_s_i_o_n,
+ _t_i_l_d_e _e_x_p_a_n_s_i_o_n, _p_a_r_a_m_e_t_e_r _a_n_d _v_a_r_i_a_b_l_e _e_x_p_a_n_s_i_o_n, _c_o_m_m_a_n_d _s_u_b_s_t_i_t_u_-
_t_i_o_n, _a_r_i_t_h_m_e_t_i_c _e_x_p_a_n_s_i_o_n, _w_o_r_d _s_p_l_i_t_t_i_n_g, and _p_a_t_h_n_a_m_e _e_x_p_a_n_s_i_o_n.
The order of expansions is: brace expansion; tilde expansion, parameter
- and variable expansion, arithmetic expansion, and command substitution
- (done in a left-to-right fashion); word splitting; and pathname expan-
+ and variable expansion, arithmetic expansion, and command substitution
+ (done in a left-to-right fashion); word splitting; and pathname expan-
sion.
On systems that can support it, there is an additional expansion avail-
- able: _p_r_o_c_e_s_s _s_u_b_s_t_i_t_u_t_i_o_n. This is performed at the same time as
- tilde, parameter, variable, and arithmetic expansion and command sub-
+ able: _p_r_o_c_e_s_s _s_u_b_s_t_i_t_u_t_i_o_n. This is performed at the same time as
+ tilde, parameter, variable, and arithmetic expansion and command sub-
stitution.
- After these expansions are performed, quote characters present in the
- original word are removed unless they have been quoted themselves
+ After these expansions are performed, quote characters present in the
+ original word are removed unless they have been quoted themselves
(_q_u_o_t_e _r_e_m_o_v_a_l).
- Only brace expansion, word splitting, and pathname expansion can
- increase the number of words of the expansion; other expansions expand
- a single word to a single word. The only exceptions to this are the
- expansions of "$$@@" and "$${{_n_a_m_e[[@@]]}}", and, in most cases, $$** and
+ Only brace expansion, word splitting, and pathname expansion can
+ increase the number of words of the expansion; other expansions expand
+ a single word to a single word. The only exceptions to this are the
+ expansions of "$$@@" and "$${{_n_a_m_e[[@@]]}}", and, in most cases, $$** and
$${{_n_a_m_e[[**]]}} as explained above (see PPAARRAAMMEETTEERRSS).
BBrraaccee EExxppaannssiioonn
_B_r_a_c_e _e_x_p_a_n_s_i_o_n is a mechanism by which arbitrary strings may be gener-
- ated. This mechanism is similar to _p_a_t_h_n_a_m_e _e_x_p_a_n_s_i_o_n, but the file-
+ ated. This mechanism is similar to _p_a_t_h_n_a_m_e _e_x_p_a_n_s_i_o_n, but the file-
names generated need not exist. Patterns to be brace expanded take the
form of an optional _p_r_e_a_m_b_l_e, followed by either a series of comma-sep-
- arated strings or a sequence expression between a pair of braces, fol-
- lowed by an optional _p_o_s_t_s_c_r_i_p_t. The preamble is prefixed to each
+ arated strings or a sequence expression between a pair of braces, fol-
+ lowed by an optional _p_o_s_t_s_c_r_i_p_t. The preamble is prefixed to each
string contained within the braces, and the postscript is then appended
to each resulting string, expanding left to right.
- Brace expansions may be nested. The results of each expanded string
- are not sorted; left to right order is preserved. For example,
+ Brace expansions may be nested. The results of each expanded string
+ are not sorted; left to right order is preserved. For example,
a{{d,c,b}}e expands into `ade ace abe'.
- A sequence expression takes the form {{_x...._y[[...._i_n_c_r]]}}, where _x and _y are
- either integers or single characters, and _i_n_c_r, an optional increment,
- is an integer. When integers are supplied, the expression expands to
- each number between _x and _y, inclusive. Supplied integers may be pre-
- fixed with _0 to force each term to have the same width. When either _x
- or _y begins with a zero, the shell attempts to force all generated
- terms to contain the same number of digits, zero-padding where neces-
- sary. When characters are supplied, the expression expands to each
- character lexicographically between _x and _y, inclusive, using the
- default C locale. Note that both _x and _y must be of the same type.
- When the increment is supplied, it is used as the difference between
+ A sequence expression takes the form {{_x...._y[[...._i_n_c_r]]}}, where _x and _y are
+ either integers or single characters, and _i_n_c_r, an optional increment,
+ is an integer. When integers are supplied, the expression expands to
+ each number between _x and _y, inclusive. Supplied integers may be pre-
+ fixed with _0 to force each term to have the same width. When either _x
+ or _y begins with a zero, the shell attempts to force all generated
+ terms to contain the same number of digits, zero-padding where neces-
+ sary. When characters are supplied, the expression expands to each
+ character lexicographically between _x and _y, inclusive, using the
+ default C locale. Note that both _x and _y must be of the same type.
+ When the increment is supplied, it is used as the difference between
each term. The default increment is 1 or -1 as appropriate.
Brace expansion is performed before any other expansions, and any char-
- acters special to other expansions are preserved in the result. It is
- strictly textual. BBaasshh does not apply any syntactic interpretation to
+ acters special to other expansions are preserved in the result. It is
+ strictly textual. BBaasshh does not apply any syntactic interpretation to
the context of the expansion or the text between the braces.
- A correctly-formed brace expansion must contain unquoted opening and
- closing braces, and at least one unquoted comma or a valid sequence
- expression. Any incorrectly formed brace expansion is left unchanged.
+ A correctly-formed brace expansion must contain unquoted opening and
+ closing braces, and at least one unquoted comma or a valid sequence
+ expression. Any incorrectly formed brace expansion is left unchanged.
A {{ or ,, may be quoted with a backslash to prevent its being considered
- part of a brace expression. To avoid conflicts with parameter expan-
+ part of a brace expression. To avoid conflicts with parameter expan-
sion, the string $${{ is not considered eligible for brace expansion, and
inhibits brace expansion until the closing }}.
@@ -1536,36 +1549,36 @@ EEXXPPAANNSSIIOONN
or
chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}
- Brace expansion introduces a slight incompatibility with historical
- versions of sshh. sshh does not treat opening or closing braces specially
- when they appear as part of a word, and preserves them in the output.
- BBaasshh removes braces from words as a consequence of brace expansion.
- For example, a word entered to sshh as _f_i_l_e_{_1_,_2_} appears identically in
- the output. The same word is output as _f_i_l_e_1 _f_i_l_e_2 after expansion by
- bbaasshh. If strict compatibility with sshh is desired, start bbaasshh with the
+ Brace expansion introduces a slight incompatibility with historical
+ versions of sshh. sshh does not treat opening or closing braces specially
+ when they appear as part of a word, and preserves them in the output.
+ BBaasshh removes braces from words as a consequence of brace expansion.
+ For example, a word entered to sshh as _f_i_l_e_{_1_,_2_} appears identically in
+ the output. The same word is output as _f_i_l_e_1 _f_i_l_e_2 after expansion by
+ bbaasshh. If strict compatibility with sshh is desired, start bbaasshh with the
++BB option or disable brace expansion with the ++BB option to the sseett com-
mand (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below).
TTiillddee EExxppaannssiioonn
- If a word begins with an unquoted tilde character (`~~'), all of the
- characters preceding the first unquoted slash (or all characters, if
- there is no unquoted slash) are considered a _t_i_l_d_e_-_p_r_e_f_i_x. If none of
- the characters in the tilde-prefix are quoted, the characters in the
- tilde-prefix following the tilde are treated as a possible _l_o_g_i_n _n_a_m_e.
- If this login name is the null string, the tilde is replaced with the
- value of the shell parameter HHOOMMEE. If HHOOMMEE is unset, the home direc-
- tory of the user executing the shell is substituted instead. Other-
- wise, the tilde-prefix is replaced with the home directory associated
+ If a word begins with an unquoted tilde character (`~~'), all of the
+ characters preceding the first unquoted slash (or all characters, if
+ there is no unquoted slash) are considered a _t_i_l_d_e_-_p_r_e_f_i_x. If none of
+ the characters in the tilde-prefix are quoted, the characters in the
+ tilde-prefix following the tilde are treated as a possible _l_o_g_i_n _n_a_m_e.
+ If this login name is the null string, the tilde is replaced with the
+ value of the shell parameter HHOOMMEE. If HHOOMMEE is unset, the home direc-
+ tory of the user executing the shell is substituted instead. Other-
+ wise, the tilde-prefix is replaced with the home directory associated
with the specified login name.
- If the tilde-prefix is a `~+', the value of the shell variable PPWWDD
+ If the tilde-prefix is a `~+', the value of the shell variable PPWWDD
replaces the tilde-prefix. If the tilde-prefix is a `~-', the value of
- the shell variable OOLLDDPPWWDD, if it is set, is substituted. If the char-
- acters following the tilde in the tilde-prefix consist of a number _N,
- optionally prefixed by a `+' or a `-', the tilde-prefix is replaced
+ the shell variable OOLLDDPPWWDD, if it is set, is substituted. If the char-
+ acters following the tilde in the tilde-prefix consist of a number _N,
+ optionally prefixed by a `+' or a `-', the tilde-prefix is replaced
with the corresponding element from the directory stack, as it would be
displayed by the ddiirrss builtin invoked with the tilde-prefix as an argu-
- ment. If the characters following the tilde in the tilde-prefix con-
+ ment. If the characters following the tilde in the tilde-prefix con-
sist of a number without a leading `+' or `-', `+' is assumed.
If the login name is invalid, or the tilde expansion fails, the word is
@@ -1573,10 +1586,15 @@ EEXXPPAANNSSIIOONN
Each variable assignment is checked for unquoted tilde-prefixes immedi-
ately following a :: or the first ==. In these cases, tilde expansion is
- also performed. Consequently, one may use filenames with tildes in
- assignments to PPAATTHH, MMAAIILLPPAATTHH, and CCDDPPAATTHH, and the shell assigns the
+ also performed. Consequently, one may use filenames with tildes in
+ assignments to PPAATTHH, MMAAIILLPPAATTHH, and CCDDPPAATTHH, and the shell assigns the
expanded value.
+ Bash also performs tilde expansion on words satisfying the conditions
+ of variable assignments (as described above under PPAARRAAMMEETTEERRSS) when they
+ appear as arguments to simple commands. Bash does not do this, except
+ for the _d_e_c_l_a_r_a_t_i_o_n commands listed above, when in _p_o_s_i_x _m_o_d_e.
+
PPaarraammeetteerr EExxppaannssiioonn
The `$$' character introduces parameter expansion, command substitution,
or arithmetic expansion. The parameter name or symbol to be expanded
@@ -1598,18 +1616,18 @@ EEXXPPAANNSSIIOONN
(AArrrraayyss).
If the first character of _p_a_r_a_m_e_t_e_r is an exclamation point (!!), and
- _p_a_r_a_m_e_t_e_r is not a _n_a_m_e_r_e_f, it introduces a level of variable indirec-
- tion. BBaasshh uses the value of the variable formed from the rest of
- _p_a_r_a_m_e_t_e_r as the name of the variable; 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
- value is subject to tilde expansion, parameter expansion, command sub-
- stitution, and arithmetic expansion. If _p_a_r_a_m_e_t_e_r is a nameref, this
- expands to the name of the variable referenced by _p_a_r_a_m_e_t_e_r instead of
- performing the complete indirect expansion. The exceptions to this are
- the expansions 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.
+ _p_a_r_a_m_e_t_e_r is not a _n_a_m_e_r_e_f, it introduces a level of indirection. BBaasshh
+ uses the value formed by expanding the rest of _p_a_r_a_m_e_t_e_r as the new
+ _p_a_r_a_m_e_t_e_r; this is then expanded and that value is used in the rest of
+ the expansion, rather than the expansion of the original _p_a_r_a_m_e_t_e_r.
+ This is known as _i_n_d_i_r_e_c_t _e_x_p_a_n_s_i_o_n. The value is subject to tilde
+ expansion, parameter expansion, command substitution, and arithmetic
+ expansion. If _p_a_r_a_m_e_t_e_r is a nameref, this expands to the name of the
+ parameter referenced by _p_a_r_a_m_e_t_e_r instead of performing the complete
+ indirect expansion. The exceptions to this are the expansions 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 indirec-
+ tion.
In each of the cases below, _w_o_r_d is subject to tilde expansion, parame-
ter expansion, command substitution, and arithmetic expansion.
@@ -2701,7 +2719,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 _p_o_s_i_x mode, bbaasshh
+ the --ee option from the parent shell. When not in _p_o_s_i_x _m_o_d_e, bbaasshh
clears the --ee option in such subshells.
If a command is followed by a && and job control is not active, the
@@ -4379,71 +4397,78 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
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] [--DDEEII] [--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 ...]
+ ccoommpplleettee --pprr [--DDEEII] [_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
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-
- 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
- attempted on a blank line.
-
- The process of applying these completion specifications when
- word completion is attempted is described above under PPrrooggrraamm--
+ pletion specifications. The --DD option indicates that other sup-
+ plied options and actions should apply to the ``default'' com-
+ mand completion; that is, completion attempted on a command for
+ which no completion has previously been defined. The --EE option
+ indicates that other supplied options and actions should apply
+ to ``empty'' command completion; that is, completion attempted
+ on a blank line. The --II option indicates that other supplied
+ options and actions should apply to completion on the inital
+ non-assignment word on the line, or after a command delimiter
+ such as ;; or ||, which is usually command name completion. If
+ multiple options are supplied, the --DD option takes precedence
+ over --EE, and both take precedence over --II. If any of --DD, --EE, or
+ --II are supplied, any other _n_a_m_e arguments are ignored; these
+ completions only apply to the case specified by the option.
+
+ The process of applying these completion specifications when
+ word completion is attempted is described above under PPrrooggrraamm--
mmaabbllee 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.
- nnooqquuoottee Tell readline not to quote the completed words
- if they are filenames (quoting filenames is the
+ nnooqquuoottee Tell readline not to quote the completed words
+ if they are filenames (quoting filenames is the
default).
- nnoossoorrtt Tell readline not to sort the list of possible
+ nnoossoorrtt Tell readline not to sort the list of possible
completions alphabetically.
- 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
@@ -4451,7 +4476,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
@@ -4460,17 +4485,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.
@@ -4479,190 +4504,194 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
Names of all shell variables. May also be spec-
ified as --vv.
--CC _c_o_m_m_a_n_d
- _c_o_m_m_a_n_d is executed in a subshell environment, and its
+ _c_o_m_m_a_n_d is executed in a subshell environment, and its
output is used as the possible completions.
--FF _f_u_n_c_t_i_o_n
- The shell function _f_u_n_c_t_i_o_n is executed in the current
- shell environment. When the function is executed, the
- first argument ($$11) is the name of the command whose
- arguments are being completed, the second argument ($$22)
+ The shell function _f_u_n_c_t_i_o_n is executed in the current
+ shell environment. When the function is executed, the
+ first argument ($$11) is the name of the command whose
+ arguments are being completed, the second argument ($$22)
is the word being completed, and the third argument ($$33)
- is the word preceding the word being completed on the
- current command line. When it finishes, the possible
- completions are retrieved from the value of the CCOOMMPPRREE--
+ is the word preceding the word being completed on the
+ current command line. When it finishes, the possible
+ completions are retrieved from the value of the CCOOMMPPRREE--
PPLLYY array variable.
--GG _g_l_o_b_p_a_t
- The pathname expansion pattern _g_l_o_b_p_a_t is expanded to
+ 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.
--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. Shell quoting is honored within _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. Shell quoting is honored within _w_o_r_d_l_i_s_t,
in order to provide a mechanism for the words to contain
- shell metacharacters or characters in the value of IIFFSS.
- The possible completions are the members of the resul-
+ shell metacharacters or characters in the value of IIFFSS.
+ The possible completions are the members of the resul-
tant list which match the word being completed.
--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.
+ _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
+ 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
+ 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]
+ ccoommppoopptt [--oo _o_p_t_i_o_n] [--DDEEII] [++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-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
+ _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 other supplied
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;
- that is, completion attempted on a blank line.
-
- The return value is true unless an invalid option is supplied,
+ is, completion attempted on a command for which no completion
+ has previously been defined. The --EE option indicates that other
+ supplied options should apply to ``empty'' command completion;
+ that is, completion attempted on a blank line. The --II option
+ indicates that other supplied options should apply to completion
+ on the inital non-assignment word on the line, or after a com-
+ mand delimiter such as ;; or ||, which is usually command name
+ completion.
+
+ 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 [--aaAAffFFggiillnnrrttuuxx] [--pp] [_n_a_m_e[=_v_a_l_u_e] ...]
ttyyppeesseett [--aaAAffFFggiillnnrrttuuxx] [--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
+ 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, other than --ff and --FF,
- are ignored. When --pp is supplied without _n_a_m_e arguments, it
- will display the attributes and values of all variables having
+ with _n_a_m_e arguments, additional options, other than --ff and --FF,
+ 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 functions. The --FF option
- inhibits the display of function definitions; only the function
- name and attributes are printed. If the eexxttddeebbuugg shell option
- is enabled using sshhoopptt, the source file name and line number
+ 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 definitions; 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 each _n_a_m_e is defined are displayed as well. The --FF option
- implies --ff. The --gg option forces variables to be created or
+ 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 follow-
+ shell function. It is ignored in all other cases. The follow-
ing 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
+ --aa Each _n_a_m_e is an indexed array variable (see AArrrraayyss
above).
- --AA Each _n_a_m_e is an associative array variable (see AArrrraayyss
+ --AA Each _n_a_m_e is an associative array variable (see AArrrraayyss
above).
--ff Use function names only.
--ii The variable is treated as an integer; arithmetic evalua-
- tion (see AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN above) is performed when
+ tion (see AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN above) is performed when
the variable is assigned a value.
- --ll When the variable is assigned a value, all upper-case
- characters are converted to lower-case. The upper-case
+ --ll When the variable is assigned a value, all upper-case
+ characters are converted to lower-case. The upper-case
attribute is disabled.
- --nn Give each _n_a_m_e the _n_a_m_e_r_e_f attribute, making it a name
- reference to another variable. That other variable is
- defined by the value of _n_a_m_e. All references, assign-
- ments, and attribute modifications to _n_a_m_e, except those
- using or changing the --nn attribute itself, are performed
- on the variable referenced by _n_a_m_e's value. The nameref
+ --nn Give each _n_a_m_e the _n_a_m_e_r_e_f attribute, making it a name
+ reference to another variable. That other variable is
+ defined by the value of _n_a_m_e. All references, assign-
+ ments, and attribute modifications to _n_a_m_e, except those
+ using or changing the --nn attribute itself, are performed
+ on the variable referenced by _n_a_m_e's value. The nameref
attribute cannot be applied to array variables.
--rr Make _n_a_m_es readonly. These names cannot then be assigned
values by subsequent assignment statements or unset.
- --tt Give each _n_a_m_e the _t_r_a_c_e attribute. Traced functions
- inherit the DDEEBBUUGG and RREETTUURRNN traps from the calling
- shell. The trace attribute has no special meaning for
+ --tt Give each _n_a_m_e the _t_r_a_c_e attribute. Traced functions
+ inherit the DDEEBBUUGG and RREETTUURRNN traps from the calling
+ shell. The trace attribute has no special meaning for
variables.
- --uu When the variable is assigned a value, all lower-case
- characters are converted to upper-case. The lower-case
+ --uu When the variable is assigned a value, all lower-case
+ characters are converted to upper-case. The lower-case
attribute is disabled.
- --xx Mark _n_a_m_es for export to subsequent commands via the
+ --xx Mark _n_a_m_es for export to subsequent commands via the
environment.
- Using `+' instead of `-' turns off the attribute instead, with
+ Using `+' instead of `-' turns off the attribute instead, with
the exceptions that ++aa may not be used to destroy an array vari-
- able and ++rr will not remove the readonly attribute. When used
+ able and ++rr will not remove the readonly attribute. When used
in a function, ddeeccllaarree and ttyyppeesseett make each _n_a_m_e local, as with
the llooccaall command, unless the --gg option is supplied. If a vari-
- able name is followed by =_v_a_l_u_e, the value of the variable is
- set to _v_a_l_u_e. When using --aa or --AA and the compound assignment
- syntax to create array variables, additional attributes do not
+ able name is followed by =_v_a_l_u_e, the value of the variable is
+ set to _v_a_l_u_e. When using --aa or --AA and the compound assignment
+ syntax to create array variables, additional attributes do not
take effect until subsequent assignments. The return value is 0
- unless an invalid option is encountered, an attempt is made to
- define a function using ``-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 read-
- only status for a readonly variable, an attempt is made to turn
+ 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 read-
+ only 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 [[--ccllppvv]] [[++_n]] [[--_n]]
- Without options, displays the list of currently remembered
- directories. The default display is on a single line with
- directory names separated by spaces. Directories are added to
- the list with the ppuusshhdd command; the ppooppdd command removes
- entries from the list. The current directory is always the
+ Without options, displays the list of currently remembered
+ directories. The default display is on a single line with
+ directory names separated by spaces. Directories are added to
+ the list with the ppuusshhdd command; the ppooppdd command removes
+ entries from the list. The current directory is always the
first directory in the stack.
--cc Clears the directory stack by deleting all of the
entries.
- --ll Produces a listing using full pathnames; the default
+ --ll Produces a listing using full pathnames; the default
listing format uses a tilde to denote the home directory.
--pp Print the directory stack with one entry per line.
- --vv Print the directory stack with one entry per line, pre-
+ --vv Print the directory stack with one entry per line, pre-
fixing each entry with its index in the stack.
++_n Displays the _nth entry counting from the left of the list
shown by ddiirrss when invoked without options, starting with
zero.
- --_n Displays the _nth entry counting from the right of the
+ --_n Displays the _nth entry counting from the right of the
list shown by ddiirrss when invoked without options, starting
with zero.
- The return value is 0 unless an invalid option is supplied or _n
+ The return value is 0 unless an invalid option is supplied or _n
indexes beyond the end of the directory stack.
ddiissoowwnn [--aarr] [--hh] [_j_o_b_s_p_e_c ... | _p_i_d ... ]
- Without options, remove each _j_o_b_s_p_e_c from the table of active
- jobs. If _j_o_b_s_p_e_c is not present, and neither the --aa nor the --rr
- option is supplied, the _c_u_r_r_e_n_t _j_o_b is used. If the --hh option
- is given, each _j_o_b_s_p_e_c is not removed from the table, but is
- marked so that SSIIGGHHUUPP is not sent to the job if the shell
- receives a SSIIGGHHUUPP. If no _j_o_b_s_p_e_c is supplied, the --aa option
- means to remove or mark all jobs; the --rr option without a _j_o_b_-
- _s_p_e_c argument restricts operation to running jobs. The return
+ Without options, remove each _j_o_b_s_p_e_c from the table of active
+ jobs. If _j_o_b_s_p_e_c is not present, and neither the --aa nor the --rr
+ option is supplied, the _c_u_r_r_e_n_t _j_o_b is used. If the --hh option
+ is given, each _j_o_b_s_p_e_c is not removed from the table, but is
+ marked so that SSIIGGHHUUPP is not sent to the job if the shell
+ receives a SSIIGGHHUUPP. If no _j_o_b_s_p_e_c is supplied, the --aa option
+ means to remove or mark all jobs; the --rr option without a _j_o_b_-
+ _s_p_e_c argument restricts operation to running jobs. The return
value is 0 unless a _j_o_b_s_p_e_c does not specify a valid job.
eecchhoo [--nneeEE] [_a_r_g ...]
- Output the _a_r_gs, separated by spaces, followed by a newline.
- The return status is 0 unless a write error occurs. If --nn is
+ Output the _a_r_gs, separated by spaces, followed by a newline.
+ The return status is 0 unless a write error occurs. If --nn is
specified, the trailing newline is suppressed. If the --ee option
- is given, interpretation of the following backslash-escaped
- characters is enabled. The --EE option disables the interpreta-
- tion of these escape characters, even on systems where they are
- interpreted by default. The xxppgg__eecchhoo shell option may be used
- to dynamically determine whether or not eecchhoo expands these
- escape characters by default. eecchhoo does not interpret ---- to
- mean the end of options. eecchhoo interprets the following escape
+ is given, interpretation of the following backslash-escaped
+ characters is enabled. The --EE option disables the interpreta-
+ tion of these escape characters, even on systems where they are
+ interpreted by default. The xxppgg__eecchhoo shell option may be used
+ to dynamically determine whether or not eecchhoo expands these
+ escape characters by default. eecchhoo does not interpret ---- to
+ mean the end of options. eecchhoo interprets the following escape
sequences:
\\aa alert (bell)
\\bb backspace
@@ -4675,190 +4704,190 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
\\tt horizontal tab
\\vv vertical tab
\\\\ backslash
- \\00_n_n_n the eight-bit character whose value is the octal value
+ \\00_n_n_n the eight-bit character whose value is the octal value
_n_n_n (zero to three octal digits)
- \\xx_H_H the eight-bit character whose value is the hexadecimal
+ \\xx_H_H the eight-bit character whose value is the hexadecimal
value _H_H (one or two hex digits)
- \\uu_H_H_H_H the Unicode (ISO/IEC 10646) character whose value is the
+ \\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
+ the Unicode (ISO/IEC 10646) character whose value is the
hexadecimal value _H_H_H_H_H_H_H_H (one to eight hex digits)
eennaabbllee [--aa] [--ddnnppss] [--ff _f_i_l_e_n_a_m_e] [_n_a_m_e ...]
- Enable and disable builtin shell commands. Disabling a builtin
+ Enable and disable builtin shell commands. Disabling a builtin
allows a disk command which has the same name as a shell builtin
- to be executed without specifying a full pathname, even though
- the shell normally searches for builtins before disk commands.
- If --nn is used, each _n_a_m_e is disabled; otherwise, _n_a_m_e_s are
+ to be executed without specifying a full pathname, even though
+ the shell normally searches for builtins before disk commands.
+ If --nn is used, each _n_a_m_e is disabled; otherwise, _n_a_m_e_s are
enabled. For example, to use the tteesstt binary found via the PPAATTHH
- instead of the shell builtin version, run ``enable -n test''.
- The --ff option means to load the new builtin command _n_a_m_e from
+ instead of the shell builtin version, run ``enable -n test''.
+ The --ff option means to load the new builtin command _n_a_m_e from
shared object _f_i_l_e_n_a_m_e, on systems that support dynamic loading.
- The --dd option will delete a builtin previously loaded with --ff.
+ The --dd option will delete a builtin previously loaded with --ff.
If no _n_a_m_e arguments are given, or if the --pp option is supplied,
a list of shell builtins is printed. With no other option argu-
- ments, the list consists of all enabled shell builtins. If --nn
- is supplied, only disabled builtins are printed. If --aa is sup-
- plied, the list printed includes all builtins, with an indica-
- tion of whether or not each is enabled. If --ss is supplied, the
- output is restricted to the POSIX _s_p_e_c_i_a_l builtins. The return
- value is 0 unless a _n_a_m_e is not a shell builtin or there is an
+ ments, the list consists of all enabled shell builtins. If --nn
+ is supplied, only disabled builtins are printed. If --aa is sup-
+ plied, the list printed includes all builtins, with an indica-
+ tion of whether or not each is enabled. If --ss is supplied, the
+ output is restricted to the POSIX _s_p_e_c_i_a_l builtins. The return
+ value is 0 unless a _n_a_m_e is not a shell builtin or there is an
error loading a new builtin from a shared object.
eevvaall [_a_r_g ...]
- The _a_r_gs are read and concatenated together into a single com-
- mand. This command is then read and executed by the shell, and
- its exit status is returned as the value of eevvaall. If there are
+ The _a_r_gs are read and concatenated together into a single com-
+ mand. This command is then read and executed by the shell, and
+ its exit status is returned as the value of eevvaall. If there are
no _a_r_g_s, or only null arguments, eevvaall returns 0.
eexxeecc [--ccll] [--aa _n_a_m_e] [_c_o_m_m_a_n_d [_a_r_g_u_m_e_n_t_s]]
- If _c_o_m_m_a_n_d is specified, it replaces the shell. No new process
- is created. The _a_r_g_u_m_e_n_t_s become the arguments to _c_o_m_m_a_n_d. If
+ If _c_o_m_m_a_n_d is specified, it replaces the shell. No new process
+ is created. The _a_r_g_u_m_e_n_t_s become the arguments to _c_o_m_m_a_n_d. If
the --ll option is supplied, the shell places a dash at the begin-
- ning of the zeroth argument passed to _c_o_m_m_a_n_d. This is what
+ ning of the zeroth argument passed to _c_o_m_m_a_n_d. This is what
_l_o_g_i_n(1) does. The --cc option causes _c_o_m_m_a_n_d to be executed with
- an empty environment. If --aa is supplied, the shell passes _n_a_m_e
+ an empty environment. If --aa is supplied, the shell passes _n_a_m_e
as the zeroth argument to the executed command. If _c_o_m_m_a_n_d can-
- not be executed for some reason, a non-interactive shell exits,
- unless the eexxeeccffaaiill shell option is enabled. In that case, it
- returns failure. An interactive shell returns failure if the
- file cannot be executed. A subshell exits unconditionally if
- eexxeecc fails. If _c_o_m_m_a_n_d is not specified, any redirections take
- effect in the current shell, and the return status is 0. If
+ not be executed for some reason, a non-interactive shell exits,
+ unless the eexxeeccffaaiill shell option is enabled. In that case, it
+ returns failure. An interactive shell returns failure if the
+ file cannot be executed. A subshell exits unconditionally if
+ eexxeecc fails. If _c_o_m_m_a_n_d is not specified, any redirections take
+ effect in the current shell, and the return status is 0. If
there is a redirection error, the return status is 1.
eexxiitt [_n]
- Cause the shell to exit with a status of _n. If _n is omitted,
+ Cause the shell to exit with a status of _n. If _n is omitted,
the exit status is that of the last command executed. A trap on
EEXXIITT is executed before the shell terminates.
eexxppoorrtt [--ffnn] [_n_a_m_e[=_w_o_r_d]] ...
eexxppoorrtt --pp
- The supplied _n_a_m_e_s are marked for automatic export to the envi-
- ronment of subsequently executed commands. If the --ff option is
- given, the _n_a_m_e_s refer to functions. If no _n_a_m_e_s are given, or
- if the --pp option is supplied, a list of names of all exported
- variables is printed. The --nn option causes the export property
+ The supplied _n_a_m_e_s are marked for automatic export to the envi-
+ ronment of subsequently executed commands. If the --ff option is
+ given, the _n_a_m_e_s refer to functions. If no _n_a_m_e_s are given, or
+ if the --pp option is supplied, a list of names of all exported
+ variables is printed. The --nn option causes the export property
to be removed from each _n_a_m_e. If a variable name is followed by
=_w_o_r_d, the value of the variable is set to _w_o_r_d. eexxppoorrtt returns
an exit status of 0 unless an invalid option is encountered, one
- of the _n_a_m_e_s is not a valid shell variable name, or --ff is sup-
+ of the _n_a_m_e_s is not a valid shell variable name, or --ff is sup-
plied with a _n_a_m_e that is not a function.
ffcc [--ee _e_n_a_m_e] [--llnnrr] [_f_i_r_s_t] [_l_a_s_t]
ffcc --ss [_p_a_t=_r_e_p] [_c_m_d]
- The first form selects a range of commands from _f_i_r_s_t to _l_a_s_t
- from the history list and displays or edits and re-executes
- them. _F_i_r_s_t and _l_a_s_t may be specified as a string (to locate
- the last command beginning with that string) or as a number (an
- index into the history list, where a negative number is used as
- an offset from the current command number). If _l_a_s_t is not
+ The first form selects a range of commands from _f_i_r_s_t to _l_a_s_t
+ from the history list and displays or edits and re-executes
+ them. _F_i_r_s_t and _l_a_s_t may be specified as a string (to locate
+ the last command beginning with that string) or as a number (an
+ index into the history list, where a negative number is used as
+ an offset from the current command number). If _l_a_s_t is not
specified, it is set to the current command for listing (so that
- ``fc -l -10'' prints the last 10 commands) and to _f_i_r_s_t other-
+ ``fc -l -10'' prints the last 10 commands) and to _f_i_r_s_t other-
wise. If _f_i_r_s_t is not specified, it is set to the previous com-
mand for editing and -16 for listing.
- The --nn option suppresses the command numbers when listing. The
- --rr option reverses the order of the commands. If the --ll option
- is given, the commands are listed on standard output. Other-
- wise, the editor given by _e_n_a_m_e is invoked on a file containing
- those commands. If _e_n_a_m_e is not given, the value of the FFCCEEDDIITT
- variable is used, and the value of EEDDIITTOORR if FFCCEEDDIITT is not set.
- If neither variable is set, _v_i is used. When editing is com-
+ The --nn option suppresses the command numbers when listing. The
+ --rr option reverses the order of the commands. If the --ll option
+ is given, the commands are listed on standard output. Other-
+ wise, the editor given by _e_n_a_m_e is invoked on a file containing
+ those commands. If _e_n_a_m_e is not given, the value of the FFCCEEDDIITT
+ variable is used, and the value of EEDDIITTOORR if FFCCEEDDIITT is not set.
+ If neither variable is set, _v_i is used. When editing is com-
plete, the edited commands are echoed and executed.
- In the second form, _c_o_m_m_a_n_d is re-executed after each instance
- of _p_a_t is replaced by _r_e_p. _C_o_m_m_a_n_d is interpreted the same as
- _f_i_r_s_t above. A useful alias to use with this is ``r="fc -s"'',
- so that typing ``r cc'' runs the last command beginning with
+ In the second form, _c_o_m_m_a_n_d is re-executed after each instance
+ of _p_a_t is replaced by _r_e_p. _C_o_m_m_a_n_d is interpreted the same as
+ _f_i_r_s_t above. A useful alias to use with this is ``r="fc -s"'',
+ so that typing ``r cc'' runs the last command beginning with
``cc'' and typing ``r'' re-executes the last command.
- If the first form is used, the return value is 0 unless an
- invalid option is encountered or _f_i_r_s_t or _l_a_s_t specify history
- lines out of range. If the --ee option is supplied, the return
+ If the first form is used, the return value is 0 unless an
+ invalid option is encountered or _f_i_r_s_t or _l_a_s_t specify history
+ lines out of range. If the --ee option is supplied, the return
value is the value of the last command executed or failure if an
error occurs with the temporary file of commands. If the second
- form is used, the return status is that of the command re-exe-
- cuted, unless _c_m_d does not specify a valid history line, in
+ form is used, the return status is that of the command re-exe-
+ cuted, unless _c_m_d does not specify a valid history line, in
which case ffcc returns failure.
ffgg [_j_o_b_s_p_e_c]
- Resume _j_o_b_s_p_e_c in the foreground, and make it the current job.
+ Resume _j_o_b_s_p_e_c in the foreground, and make it the current job.
If _j_o_b_s_p_e_c is not present, the shell's notion of the _c_u_r_r_e_n_t _j_o_b
- is used. The return value is that of the command placed into
- the foreground, or failure if run when job control is disabled
+ is used. The return value is that of the command placed into
+ the foreground, or failure if run when job control is disabled
or, when run with job control enabled, if _j_o_b_s_p_e_c does not spec-
- ify a valid job or _j_o_b_s_p_e_c specifies a job that was started
+ ify a valid job or _j_o_b_s_p_e_c specifies a job that was started
without job control.
ggeettooppttss _o_p_t_s_t_r_i_n_g _n_a_m_e [_a_r_g_s]
- ggeettooppttss is used by shell procedures to parse positional parame-
- ters. _o_p_t_s_t_r_i_n_g contains the option characters to be recog-
- nized; if a character is followed by a colon, the option is
- expected to have an argument, which should be separated from it
- by white space. The colon and question mark characters may not
- be used as option characters. Each time it is invoked, ggeettooppttss
- places the next option in the shell variable _n_a_m_e, initializing
+ ggeettooppttss is used by shell procedures to parse positional parame-
+ ters. _o_p_t_s_t_r_i_n_g contains the option characters to be recog-
+ nized; if a character is followed by a colon, the option is
+ expected to have an argument, which should be separated from it
+ by white space. The colon and question mark characters may not
+ be used as option characters. Each time it is invoked, ggeettooppttss
+ places the next option in the shell variable _n_a_m_e, initializing
_n_a_m_e if it does not exist, and the index of the next argument to
be processed into the variable OOPPTTIINNDD. OOPPTTIINNDD is initialized to
- 1 each time the shell or a shell script is invoked. When an
- option requires an argument, ggeettooppttss places that argument into
- the variable OOPPTTAARRGG. The shell does not reset OOPPTTIINNDD automati-
- cally; it must be manually reset between multiple calls to
+ 1 each time the shell or a shell script is invoked. When an
+ option requires an argument, ggeettooppttss places that argument into
+ the variable OOPPTTAARRGG. The shell does not reset OOPPTTIINNDD automati-
+ cally; it must be manually reset between multiple calls to
ggeettooppttss within the same shell invocation if a new set of parame-
ters is to be used.
- When the end of options is encountered, ggeettooppttss exits with a
- return value greater than zero. OOPPTTIINNDD is set to the index of
+ When the end of options is encountered, ggeettooppttss exits with a
+ return value greater than zero. OOPPTTIINNDD is set to the index of
the first non-option argument, and _n_a_m_e is set to ?.
- ggeettooppttss normally parses the positional parameters, but if more
+ ggeettooppttss normally parses the positional parameters, but if more
arguments are given in _a_r_g_s, ggeettooppttss parses those instead.
- ggeettooppttss can report errors in two ways. If the first character
- of _o_p_t_s_t_r_i_n_g is a colon, _s_i_l_e_n_t error reporting is used. In
- normal operation, diagnostic messages are printed when invalid
- options or missing option arguments are encountered. If the
- variable OOPPTTEERRRR is set to 0, no error messages will be dis-
+ ggeettooppttss can report errors in two ways. If the first character
+ of _o_p_t_s_t_r_i_n_g is a colon, _s_i_l_e_n_t error reporting is used. In
+ normal operation, diagnostic messages are printed when invalid
+ options or missing option arguments are encountered. If the
+ variable OOPPTTEERRRR is set to 0, no error messages will be dis-
played, even if the first character of _o_p_t_s_t_r_i_n_g is not a colon.
If an invalid option is seen, ggeettooppttss places ? into _n_a_m_e and, if
- not silent, prints an error message and unsets OOPPTTAARRGG. If
- ggeettooppttss is silent, the option character found is placed in
+ not silent, prints an error message and unsets OOPPTTAARRGG. If
+ ggeettooppttss is silent, the option character found is placed in
OOPPTTAARRGG and no diagnostic message is printed.
- If a required argument is not found, and ggeettooppttss is not silent,
- a question mark (??) is placed in _n_a_m_e, OOPPTTAARRGG is unset, and a
- diagnostic message is printed. If ggeettooppttss is silent, then a
- colon (::) is placed in _n_a_m_e and OOPPTTAARRGG is set to the option
+ If a required argument is not found, and ggeettooppttss is not silent,
+ a question mark (??) is placed in _n_a_m_e, OOPPTTAARRGG is unset, and a
+ diagnostic message is printed. If ggeettooppttss is silent, then a
+ colon (::) is placed in _n_a_m_e and OOPPTTAARRGG is set to the option
character found.
- ggeettooppttss returns true if an option, specified or unspecified, is
+ ggeettooppttss returns true if an option, specified or unspecified, is
found. It returns false if the end of options is encountered or
an error occurs.
hhaasshh [--llrr] [--pp _f_i_l_e_n_a_m_e] [--ddtt] [_n_a_m_e]
Each time hhaasshh is invoked, the full pathname of the command _n_a_m_e
- is determined by searching the directories in $$PPAATTHH and remem-
+ is determined by searching the directories in $$PPAATTHH and remem-
bered. Any previously-remembered pathname is discarded. If the
--pp option is supplied, no path search is performed, and _f_i_l_e_n_a_m_e
- is used as the full filename of the command. The --rr option
- causes the shell to forget all remembered locations. The --dd
- option causes the shell to forget the remembered location of
- each _n_a_m_e. If the --tt option is supplied, the full pathname to
- which each _n_a_m_e corresponds is printed. If multiple _n_a_m_e argu-
- ments are supplied with --tt, the _n_a_m_e is printed before the
- hashed full pathname. The --ll option causes output to be dis-
+ is used as the full filename of the command. The --rr option
+ causes the shell to forget all remembered locations. The --dd
+ option causes the shell to forget the remembered location of
+ each _n_a_m_e. If the --tt option is supplied, the full pathname to
+ which each _n_a_m_e corresponds is printed. If multiple _n_a_m_e argu-
+ ments are supplied with --tt, the _n_a_m_e is printed before the
+ hashed full pathname. The --ll option causes output to be dis-
played in a format that may be reused as input. If no arguments
- are given, or if only --ll is supplied, information about remem-
- bered commands is printed. The return status is true unless a
+ are given, or if only --ll is supplied, information about remem-
+ bered commands is printed. The return status is true unless a
_n_a_m_e is not found or an invalid option is supplied.
hheellpp [--ddmmss] [_p_a_t_t_e_r_n]
- Display helpful information about builtin commands. If _p_a_t_t_e_r_n
- is specified, hheellpp gives detailed help on all commands matching
- _p_a_t_t_e_r_n; otherwise help for all the builtins and shell control
+ Display helpful information about builtin commands. If _p_a_t_t_e_r_n
+ is specified, hheellpp gives detailed help on all commands matching
+ _p_a_t_t_e_r_n; otherwise help for all the builtins and shell control
structures is printed.
--dd Display a short description of each _p_a_t_t_e_r_n
--mm Display the description of each _p_a_t_t_e_r_n in a manpage-like
@@ -4876,53 +4905,53 @@ 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. If _o_f_f_s_e_t
+ Delete the history entry at position _o_f_f_s_e_t. If _o_f_f_s_e_t
is negative, it is interpreted as relative to one greater
than the last history position, so negative indices count
- back from the end of the history, and an index of -1
+ back from the end of the history, and an index of -1
refers to the current hhiissttoorryy --dd command.
--dd _s_t_a_r_t-_e_n_d
- Delete the history entries between positions _s_t_a_r_t and
- _e_n_d, inclusive. Positive and negative values for _s_t_a_r_t
+ Delete the history entries between positions _s_t_a_r_t and
+ _e_n_d, inclusive. Positive and negative values for _s_t_a_r_t
and _e_n_d are interpreted as described above.
- --aa Append the ``new'' history lines to the history file.
- These are history lines entered since the beginning of
+ --aa Append the ``new'' history lines to the history file.
+ These are history lines entered since the beginning of
the current bbaasshh session, but not already appended 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 append them to
+ --rr Read the contents of the history file and append them to
the current history list.
--ww Write the current history list to the history file, over-
writing 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 following history entry. The return value is
0 unless an invalid option is encountered, an error occurs while
- reading or writing the history file, an invalid _o_f_f_s_e_t is sup-
+ 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.
@@ -4931,210 +4960,210 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
The first form lists the active jobs. The options have the fol-
lowing meanings:
--ll List process IDs in addition to the normal information.
- --nn Display information only about jobs that have changed
+ --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
+ --pp List only the process ID of the job's process group
leader.
--rr Display only running jobs.
--ss Display only 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|--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. The --LL option is
- equivalent to --ll. kkiillll returns true if at least one signal was
- successfully sent, or false if an error occurs or an invalid
+ --ll is a number specifying either a signal number or the exit
+ status of a process terminated by a signal. The --LL option is
+ equivalent to --ll. 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-
- tion and its children. If _n_a_m_e is -, the set of shell options
- is made local to the function in which llooccaall is invoked: shell
- options changed using the sseett builtin inside the function are
- restored to their original values when the function returns.
- With no operands, llooccaall writes a list of local variables to the
- standard output. It is an error to use llooccaall when not within a
+ variable _n_a_m_e to have a visible scope restricted to that func-
+ tion and its children. If _n_a_m_e is -, the set of shell options
+ is made local to the function in which llooccaall is invoked: shell
+ options changed using the sseett builtin inside the function are
+ restored to their original values when the function returns.
+ With no operands, llooccaall writes a list of 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, or _n_a_m_e is a readonly
+ function, an invalid _n_a_m_e is supplied, or _n_a_m_e is a readonly
variable.
llooggoouutt Exit a login shell.
- mmaappffiillee [--dd _d_e_l_i_m] [--nn _c_o_u_n_t] [--OO _o_r_i_g_i_n] [--ss _c_o_u_n_t] [--tt] [--uu _f_d] [--CC
+ mmaappffiillee [--dd _d_e_l_i_m] [--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 [--dd _d_e_l_i_m] [--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:
- --dd The first character of _d_e_l_i_m is used to terminate each
- input line, rather than newline. If _d_e_l_i_m is the empty
+ --dd The first character of _d_e_l_i_m is used to terminate each
+ input line, rather than newline. If _d_e_l_i_m is the empty
string, mmaappffiillee will terminate a line when it reads a NUL
character.
- --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 _d_e_l_i_m (default newline) from each line
+ --tt Remove a trailing _d_e_l_i_m (default 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 and the line to be assigned to that
- element as additional arguments. _c_a_l_l_b_a_c_k is evaluated after
+ 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 --vv option causes the output to be
- assigned to the variable _v_a_r rather than being printed to the
+ 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
+ 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 in the same way as eecchhoo --ee.
- %%qq causes pprriinnttff to output the corresponding _a_r_g_u_m_e_n_t in a
+ %%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).
+ 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. If no
- argument is specified, conversion behaves as if -1 had
- been given. This is an exception to the usual pprriinnttff
+ number of seconds since the epoch. Two special argument
+ values may be used: -1 represents the current time, and
+ -2 represents the time the shell was invoked. If no
+ argument is specified, conversion behaves as if -1 had
+ been given. This is an exception to the usual pprriinnttff
behavior.
- Arguments to non-string format specifiers are treated as C con-
+ Arguments to non-string format specifiers are treated as C con-
stants, except that a leading plus or minus sign is allowed, and
- if the leading character is a single or double quote, the value
+ if the leading character is a single or double quote, the value
is the ASCII value of the following character.
- The _f_o_r_m_a_t is reused as necessary to consume all of the _a_r_g_u_-
+ The _f_o_r_m_a_t is reused as necessary to consume all of the _a_r_g_u_-
_m_e_n_t_s. If the _f_o_r_m_a_t requires more _a_r_g_u_m_e_n_t_s than are supplied,
- the extra format specifications behave as if a zero value or
- null string, as appropriate, had been supplied. The return
+ the extra format specifications behave as if a zero value or
+ null string, as appropriate, had been supplied. The return
value is zero on success, non-zero on failure.
ppuusshhdd [--nn] [+_n] [-_n]
ppuusshhdd [--nn] [_d_i_r]
- Adds a directory to the top of the directory stack, or rotates
- the stack, making the new top of the stack the current working
- directory. With no arguments, ppuusshhdd exchanges the top two
- directories and returns 0, unless the directory stack is empty.
+ Adds a directory to the top of the directory stack, or rotates
+ the stack, making the new top of the stack the current working
+ directory. With no arguments, ppuusshhdd exchanges the top two
+ directories and returns 0, unless the directory stack is empty.
Arguments, if supplied, have the following meanings:
- --nn Suppresses the normal change of directory when rotating
- or adding directories to the stack, so that only the
+ --nn Suppresses the normal change of directory when rotating
+ or adding directories to the stack, so that only the
stack is manipulated.
- ++_n Rotates the stack so that the _nth directory (counting
- from the left of the list shown by ddiirrss, starting with
+ ++_n Rotates the stack so that the _nth directory (counting
+ from the left of the list shown by ddiirrss, starting with
zero) is at the top.
- --_n Rotates the stack so that the _nth directory (counting
- from the right of the list shown by ddiirrss, starting with
+ --_n Rotates the stack so that the _nth directory (counting
+ from the right of the list shown by ddiirrss, starting with
zero) is at the top.
_d_i_r Adds _d_i_r to the directory stack at the top, making it the
- new current working directory as if it had been supplied
+ new current working directory as if it had been supplied
as the argument to the ccdd builtin.
If the ppuusshhdd command is successful, a ddiirrss is performed as well.
- If the first form is used, ppuusshhdd returns 0 unless the cd to _d_i_r
- fails. With the second form, ppuusshhdd returns 0 unless the direc-
- tory stack is empty, a non-existent directory stack element is
- specified, or the directory change to the specified new current
+ If the first form is used, ppuusshhdd returns 0 unless the cd to _d_i_r
+ fails. With the second form, ppuusshhdd returns 0 unless the direc-
+ tory stack is empty, a non-existent directory stack element is
+ specified, or the directory change to the specified new current
directory fails.
ppwwdd [--LLPP]
- Print the absolute pathname of the current working directory.
+ Print the absolute pathname of the current working directory.
The pathname printed contains no symbolic links if the --PP option
is supplied or the --oo pphhyyssiiccaall option to the sseett builtin command
- is enabled. If the --LL option is used, the pathname printed may
- contain symbolic links. The return status is 0 unless an error
- occurs while reading the name of the current directory or an
+ is enabled. If the --LL option is used, the pathname printed may
+ contain symbolic links. The return status is 0 unless an error
+ occurs while reading the name of the current directory or an
invalid option is supplied.
rreeaadd [--eerrss] [--aa _a_n_a_m_e] [--dd _d_e_l_i_m] [--ii _t_e_x_t] [--nn _n_c_h_a_r_s] [--NN _n_c_h_a_r_s] [--pp
_p_r_o_m_p_t] [--tt _t_i_m_e_o_u_t] [--uu _f_d] [_n_a_m_e ...]
- One line is read from the standard input, or from the file
- descriptor _f_d supplied as an argument to the --uu option, split
- into words as described above under WWoorrdd SSpplliittttiinngg, and the
+ One line is read from the standard input, or from the file
+ descriptor _f_d supplied as an argument to the --uu option, split
+ into words as described above under WWoorrdd SSpplliittttiinngg, and the
first word is assigned to the first _n_a_m_e, the second word to the
second _n_a_m_e, and so on. If there are more words than names, the
remaining words and their intervening delimiters are assigned to
- the last _n_a_m_e. If there are fewer words read from the input
- stream than names, the remaining names are assigned empty val-
- ues. The characters in IIFFSS are used to split the line into
+ the last _n_a_m_e. If there are fewer words read from the input
+ stream than names, the remaining names are assigned empty val-
+ ues. The characters in IIFFSS are used to split the line into
words using the same rules the shell uses for expansion
(described above under WWoorrdd SSpplliittttiinngg). The backslash character
(\\) may be used to remove any special meaning for the next char-
- acter read and for line continuation. Options, if supplied,
+ acter read and for line continuation. Options, if supplied,
have the following meanings:
--aa _a_n_a_m_e
The words are assigned to sequential indices of the array
@@ -5142,31 +5171,31 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
new values are assigned. Other _n_a_m_e arguments are
ignored.
--dd _d_e_l_i_m
- The first character of _d_e_l_i_m is used to terminate the
- input line, rather than newline. If _d_e_l_i_m is the empty
- string, rreeaadd will terminate a line when it reads a NUL
+ The first character of _d_e_l_i_m is used to terminate the
+ input line, rather than newline. If _d_e_l_i_m is the empty
+ string, rreeaadd will terminate a line when it reads a NUL
character.
--ee If the standard input is coming from a terminal, rreeaaddlliinnee
- (see RREEAADDLLIINNEE above) is used to obtain the line. Read-
- line uses the current (or default, if line editing was
- not previously active) editing settings, but uses Read-
+ (see RREEAADDLLIINNEE above) is used to obtain the line. Read-
+ line uses the current (or default, if line editing was
+ not previously active) editing settings, but uses Read-
line's default filename completion.
--ii _t_e_x_t
- If rreeaaddlliinnee is being used to read the line, _t_e_x_t is
+ If rreeaaddlliinnee is being used to read the line, _t_e_x_t is
placed into the editing buffer before editing begins.
--nn _n_c_h_a_r_s
- rreeaadd returns after reading _n_c_h_a_r_s characters rather than
+ rreeaadd returns after reading _n_c_h_a_r_s characters rather than
waiting for a complete line of input, but honors a delim-
- iter if fewer than _n_c_h_a_r_s characters are read before the
+ iter if fewer than _n_c_h_a_r_s characters are read before the
delimiter.
--NN _n_c_h_a_r_s
- rreeaadd returns after reading exactly _n_c_h_a_r_s characters
- rather than waiting for a complete line of input, unless
- EOF is encountered or rreeaadd times out. Delimiter charac-
- ters encountered in the input are not treated specially
- and do not cause rreeaadd to return until _n_c_h_a_r_s characters
- are read. The result is not split on the characters in
- IIFFSS; the intent is that the variable is assigned exactly
+ rreeaadd returns after reading exactly _n_c_h_a_r_s characters
+ rather than waiting for a complete line of input, unless
+ EOF is encountered or rreeaadd times out. Delimiter charac-
+ ters encountered in the input are not treated specially
+ and do not cause rreeaadd to return until _n_c_h_a_r_s characters
+ are read. The result is not split on the characters in
+ IIFFSS; the intent is that the variable is assigned exactly
the characters read (with the exception of backslash; see
the --rr option below).
--pp _p_r_o_m_p_t
@@ -5174,131 +5203,131 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
line, before attempting to read any input. The prompt is
displayed only if input is coming from a terminal.
--rr Backslash does not act as an escape character. The back-
- slash is considered to be part of the line. In particu-
- lar, a backslash-newline pair may not be used as a line
+ slash is considered to be part of the line. In particu-
+ lar, a backslash-newline pair may not be used as a line
continuation.
--ss Silent mode. If input is coming from a terminal, charac-
ters are not echoed.
--tt _t_i_m_e_o_u_t
- Cause rreeaadd to time out and return failure if a complete
- line of input (or a specified number of characters) is
- not read within _t_i_m_e_o_u_t seconds. _t_i_m_e_o_u_t may be a deci-
- mal number with a fractional portion following the deci-
- mal point. This option is only effective if rreeaadd is
- reading input from a terminal, pipe, or other special
- file; it has no effect when reading from regular files.
+ Cause rreeaadd to time out and return failure if a complete
+ line of input (or a specified number of characters) is
+ not read within _t_i_m_e_o_u_t seconds. _t_i_m_e_o_u_t may be a deci-
+ mal number with a fractional portion following the deci-
+ mal point. This option is only effective if rreeaadd is
+ reading input from a terminal, pipe, or other special
+ file; it has no effect when reading from regular files.
If rreeaadd times out, rreeaadd saves any partial input read into
- the specified variable _n_a_m_e. If _t_i_m_e_o_u_t is 0, rreeaadd
- returns immediately, without trying to read any data.
- The exit status is 0 if input is available on the speci-
- fied file descriptor, non-zero otherwise. The exit sta-
+ the specified variable _n_a_m_e. If _t_i_m_e_o_u_t is 0, rreeaadd
+ returns immediately, without trying to read any data.
+ The exit status is 0 if input is available on the speci-
+ fied file descriptor, non-zero otherwise. The exit sta-
tus is greater than 128 if the timeout is exceeded.
--uu _f_d Read input from file descriptor _f_d.
If no _n_a_m_e_s are supplied, the line read is assigned to the vari-
- able RREEPPLLYY. The exit status is zero, unless end-of-file is
+ able RREEPPLLYY. The exit status is zero, unless end-of-file is
encountered, rreeaadd times out (in which case the status is greater
- than 128), a variable assignment error (such as assigning to a
+ than 128), a variable assignment error (such as assigning to a
readonly variable) occurs, or an invalid file descriptor is sup-
plied as the argument to --uu.
rreeaaddoonnllyy [--aaAAff] [--pp] [_n_a_m_e[=_w_o_r_d] ...]
- The given _n_a_m_e_s are marked readonly; the values of these _n_a_m_e_s
- may not be changed by subsequent assignment. If the --ff option
- is supplied, the functions corresponding to the _n_a_m_e_s are so
- marked. The --aa option restricts the variables to indexed
- arrays; the --AA option restricts the variables to associative
- arrays. If both options are supplied, --AA takes precedence. If
- no _n_a_m_e arguments are given, or if the --pp option is supplied, a
+ The given _n_a_m_e_s are marked readonly; the values of these _n_a_m_e_s
+ may not be changed by subsequent assignment. If the --ff option
+ is supplied, the functions corresponding to the _n_a_m_e_s are so
+ marked. The --aa option restricts the variables to indexed
+ arrays; the --AA option restricts the variables to associative
+ arrays. If both options are supplied, --AA takes precedence. If
+ no _n_a_m_e arguments are given, or if the --pp option is supplied, a
list of all readonly names is printed. The other options may be
- used to restrict the output to a subset of the set of readonly
- names. The --pp option causes output to be displayed in a format
- that may be reused as input. If a variable name is followed by
- =_w_o_r_d, the value of the variable is set to _w_o_r_d. The return
- status is 0 unless an invalid option is encountered, one of the
+ used to restrict the output to a subset of the set of readonly
+ names. The --pp option causes output to be displayed in a format
+ that may be reused as input. If a variable name is followed by
+ =_w_o_r_d, the value of the variable is set to _w_o_r_d. The return
+ status is 0 unless an invalid option is encountered, one of the
_n_a_m_e_s is not a valid shell variable name, or --ff is supplied with
a _n_a_m_e that is not a function.
rreettuurrnn [_n]
- Causes a function to stop executing and return the value speci-
- fied by _n to its caller. If _n is omitted, the return status is
- that of the last command executed in the function body. If
- rreettuurrnn is executed by a trap handler, the last command used to
- determine the status is the last command executed before the
- trap handler. If rreettuurrnn is executed during a DDEEBBUUGG trap, the
- last command used to determine the status is the last command
- executed by the trap handler before rreettuurrnn was invoked. If
- rreettuurrnn is used outside a function, but during execution of a
- script by the .. (ssoouurrccee) command, it causes the shell to stop
- executing that script and return either _n or the exit status of
- the last command executed within the script as the exit status
- of the script. If _n is supplied, the return value is its least
- significant 8 bits. The return status is non-zero if rreettuurrnn is
- supplied a non-numeric argument, or is used outside a function
- and not during execution of a script by .. or ssoouurrccee. Any com-
- mand associated with the RREETTUURRNN trap is executed before execu-
+ Causes a function to stop executing and return the value speci-
+ fied by _n to its caller. If _n is omitted, the return status is
+ that of the last command executed in the function body. If
+ rreettuurrnn is executed by a trap handler, the last command used to
+ determine the status is the last command executed before the
+ trap handler. If rreettuurrnn is executed during a DDEEBBUUGG trap, the
+ last command used to determine the status is the last command
+ executed by the trap handler before rreettuurrnn was invoked. If
+ rreettuurrnn is used outside a function, but during execution of a
+ script by the .. (ssoouurrccee) command, it causes the shell to stop
+ executing that script and return either _n or the exit status of
+ the last command executed within the script as the exit status
+ of the script. If _n is supplied, the return value is its least
+ significant 8 bits. The return status is non-zero if rreettuurrnn is
+ supplied a non-numeric argument, or is used outside a function
+ and not during execution of a script by .. or ssoouurrccee. Any com-
+ mand associated with the RREETTUURRNN trap is executed before execu-
tion resumes after the function or script.
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
+ Without options, the name and value of each shell variable are
displayed in a format that can be reused as input for setting or
resetting the currently-set variables. Read-only variables can-
- not be reset. In _p_o_s_i_x mode, only shell variables are listed.
- The output is sorted according to the current locale. When
- options are specified, they set or unset shell attributes. Any
- arguments remaining after option processing are treated as val-
+ not be reset. In _p_o_s_i_x _m_o_d_e, only shell variables are listed.
+ The output is sorted according to the current locale. When
+ options are specified, they set or unset shell attributes. Any
+ arguments remaining after option processing are treated as val-
ues for the positional parameters and are assigned, in order, to
- $$11, $$22, ...... $$_n. Options, if specified, have the following
+ $$11, $$22, ...... $$_n. Options, if specified, have the following
meanings:
--aa Each variable or function that is created or modified is
- given the export attribute and marked for export to the
+ given the export attribute and marked for export to the
environment of subsequent commands.
- --bb Report the status of terminated background jobs immedi-
+ --bb Report the status of terminated background jobs immedi-
ately, rather than before the next primary prompt. This
is effective only when job control is enabled.
- --ee Exit immediately if a _p_i_p_e_l_i_n_e (which may consist of a
- single _s_i_m_p_l_e _c_o_m_m_a_n_d), a _l_i_s_t, or a _c_o_m_p_o_u_n_d _c_o_m_m_a_n_d
+ --ee Exit immediately if a _p_i_p_e_l_i_n_e (which may consist of a
+ single _s_i_m_p_l_e _c_o_m_m_a_n_d), a _l_i_s_t, or a _c_o_m_p_o_u_n_d _c_o_m_m_a_n_d
(see SSHHEELLLL GGRRAAMMMMAARR above), exits with a non-zero status.
- The shell does not exit if the command that fails is
- part of the command list immediately following a wwhhiillee
- or uunnttiill keyword, part of the test following the iiff or
- eelliiff reserved words, part of any command executed in a
- &&&& or |||| list except the command following the final &&&&
+ The shell does not exit if the command that fails is
+ part of the command list immediately following a wwhhiillee
+ or uunnttiill keyword, part of the test following the iiff or
+ eelliiff reserved words, part of any command executed in a
+ &&&& or |||| list except the command following the final &&&&
or ||||, any command in a pipeline but the last, or if the
- command's return value is being inverted with !!. If a
- compound command other than a subshell returns a non-
- zero status because a command failed while --ee was being
- ignored, the shell does not exit. A trap on EERRRR, if
- set, is executed before the shell exits. This option
+ command's return value is being inverted with !!. If a
+ compound command other than a subshell returns a non-
+ zero status because a command failed while --ee was being
+ ignored, the shell does not exit. A trap on EERRRR, if
+ set, is executed before the shell exits. This option
applies to the shell environment and each subshell envi-
- ronment separately (see CCOOMMMMAANNDD EEXXEECCUUTTIIOONN EENNVVIIRROONNMMEENNTT
+ ronment separately (see CCOOMMMMAANNDD EEXXEECCUUTTIIOONN EENNVVIIRROONNMMEENNTT
above), and may cause subshells to exit before executing
all the commands in the subshell.
- If a compound command or shell function executes in a
- context where --ee is being ignored, none of the commands
- executed within the compound command or function body
- will be affected by the --ee setting, even if --ee is set
- and a command returns a failure status. If a compound
- command or shell function sets --ee while executing in a
- context where --ee is ignored, that setting will not have
- any effect until the compound command or the command
+ If a compound command or shell function executes in a
+ context where --ee is being ignored, none of the commands
+ executed within the compound command or function body
+ will be affected by the --ee setting, even if --ee is set
+ and a command returns a failure status. If a compound
+ command or shell function sets --ee while executing in a
+ context where --ee is ignored, that setting will not have
+ any effect until the compound command or the command
containing the function call completes.
--ff Disable pathname expansion.
- --hh Remember the location of commands as they are looked up
+ --hh Remember the location of commands as they are looked up
for execution. This is enabled by default.
- --kk All arguments in the form of assignment statements are
- placed in the environment for a command, not just those
+ --kk All arguments in the form of assignment statements are
+ placed in the environment for a command, not just those
that precede the command name.
- --mm Monitor mode. Job control is enabled. This option is
- on by default for interactive shells on systems that
- support it (see JJOOBB CCOONNTTRROOLL above). All processes run
+ --mm Monitor mode. Job control is enabled. This option is
+ on by default for interactive shells on systems that
+ support it (see JJOOBB CCOONNTTRROOLL above). All processes run
in a separate process group. When a background job com-
pletes, the shell prints a line containing its exit sta-
tus.
--nn Read commands but do not execute them. This may be used
- to check a shell script for syntax errors. This is
+ to check a shell script for syntax errors. This is
ignored by interactive shells.
--oo _o_p_t_i_o_n_-_n_a_m_e
The _o_p_t_i_o_n_-_n_a_m_e can be one of the following:
@@ -5306,10 +5335,10 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
Same as --aa.
bbrraacceeeexxppaanndd
Same as --BB.
- eemmaaccss Use an emacs-style command line editing inter-
+ eemmaaccss Use an emacs-style command line editing inter-
face. This is enabled by default when the shell
is interactive, unless the shell is started with
- the ----nnooeeddiittiinngg option. This also affects the
+ the ----nnooeeddiittiinngg option. This also affects the
editing interface used for rreeaadd --ee.
eerrrreexxiitt Same as --ee.
eerrrrttrraaccee
@@ -5323,8 +5352,8 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
HHIISSTTOORRYY. This option is on by default in inter-
active shells.
iiggnnoorreeeeooff
- The effect is as if the shell command
- ``IGNOREEOF=10'' had been executed (see SShheellll
+ The effect is as if the shell command
+ ``IGNOREEOF=10'' had been executed (see SShheellll
VVaarriiaabblleess above).
kkeeyywwoorrdd Same as --kk.
mmoonniittoorr Same as --mm.
@@ -5339,384 +5368,384 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
pphhyyssiiccaall
Same as --PP.
ppiippeeffaaiill
- If set, the return value of a pipeline is the
- value of the last (rightmost) command to exit
- with a non-zero status, or zero if all commands
- in the pipeline exit successfully. This option
+ If set, the return value of a pipeline is the
+ value of the last (rightmost) command to exit
+ with a non-zero status, or zero if all commands
+ in the pipeline exit successfully. This option
is disabled by default.
- ppoossiixx Change the behavior of bbaasshh where the default
- operation differs from the POSIX standard to
- match the standard (_p_o_s_i_x _m_o_d_e). See SSEEEE AALLSSOO
+ ppoossiixx Change the behavior of bbaasshh where the default
+ operation differs from the POSIX standard to
+ match the standard (_p_o_s_i_x _m_o_d_e). See SSEEEE AALLSSOO
below for a reference to a document that details
how posix mode affects bash's behavior.
pprriivviilleeggeedd
Same as --pp.
vveerrbboossee Same as --vv.
- vvii Use a vi-style command line editing interface.
+ vvii Use a vi-style command line editing interface.
This also affects the editing interface used for
rreeaadd --ee.
xxttrraaccee Same as --xx.
If --oo is supplied with no _o_p_t_i_o_n_-_n_a_m_e, the values of the
- current options are printed. If ++oo is supplied with no
- _o_p_t_i_o_n_-_n_a_m_e, a series of sseett commands to recreate the
- current option settings is displayed on the standard
+ current options are printed. If ++oo is supplied with no
+ _o_p_t_i_o_n_-_n_a_m_e, a series of sseett commands to recreate the
+ current option settings is displayed on the standard
output.
- --pp Turn on _p_r_i_v_i_l_e_g_e_d mode. In this mode, the $$EENNVV and
- $$BBAASSHH__EENNVV files are not processed, shell functions are
- not inherited from the environment, and the SSHHEELLLLOOPPTTSS,
- BBAASSHHOOPPTTSS, CCDDPPAATTHH, and GGLLOOBBIIGGNNOORREE variables, if they
+ --pp Turn on _p_r_i_v_i_l_e_g_e_d mode. In this mode, the $$EENNVV and
+ $$BBAASSHH__EENNVV files are not processed, shell functions are
+ not inherited from the environment, and the SSHHEELLLLOOPPTTSS,
+ BBAASSHHOOPPTTSS, CCDDPPAATTHH, and GGLLOOBBIIGGNNOORREE variables, if they
appear in the environment, are ignored. If the shell is
- started with the effective user (group) id not equal to
- the real user (group) id, and the --pp option is not sup-
+ started with the effective user (group) id not equal to
+ the real user (group) id, and the --pp option is not sup-
plied, these actions are taken and the effective user id
- is set to the real user id. If the --pp option is sup-
- plied at startup, the effective user id is not reset.
- Turning this option off causes the effective user and
+ is set to the real user id. If the --pp option is sup-
+ plied at startup, the effective user id is not reset.
+ Turning this option off causes the effective user and
group ids to be set to the real user and group ids.
--tt Exit after reading and executing one command.
--uu Treat unset variables and parameters other than the spe-
- cial parameters "@" and "*" as an error when performing
- parameter expansion. If expansion is attempted on an
- unset variable or parameter, the shell prints an error
- message, and, if not interactive, exits with a non-zero
+ cial parameters "@" and "*" as an error when performing
+ parameter expansion. If expansion is attempted on an
+ unset variable or parameter, the shell prints an error
+ message, and, if not interactive, exits with a non-zero
status.
--vv Print shell input lines as they are read.
- --xx After expanding each _s_i_m_p_l_e _c_o_m_m_a_n_d, ffoorr command, ccaassee
+ --xx After expanding each _s_i_m_p_l_e _c_o_m_m_a_n_d, ffoorr command, ccaassee
command, sseelleecctt command, or arithmetic ffoorr command, dis-
- play the expanded value of PPSS44, followed by the command
+ play the expanded value of PPSS44, followed by the command
and its expanded arguments or associated word list.
- --BB The shell performs brace expansion (see BBrraaccee EExxppaannssiioonn
+ --BB The shell performs brace expansion (see BBrraaccee EExxppaannssiioonn
above). This is on by default.
- --CC If set, bbaasshh does not overwrite an existing file with
- the >>, >>&&, and <<>> redirection operators. This may be
+ --CC If set, bbaasshh does not overwrite an existing file with
+ the >>, >>&&, and <<>> redirection operators. This may be
overridden when creating output files by using the redi-
rection operator >>|| instead of >>.
--EE If set, any trap on EERRRR is inherited by shell functions,
- command substitutions, and commands executed in a sub-
- shell environment. The EERRRR trap is normally not inher-
+ command substitutions, and commands executed in a sub-
+ shell environment. The EERRRR trap is normally not inher-
ited in such cases.
--HH Enable !! style history substitution. This option is on
by default when the shell is interactive.
- --PP If set, the shell does not resolve symbolic links when
- executing commands such as ccdd that change the current
+ --PP If set, the shell does not resolve symbolic links when
+ executing commands such as ccdd that change the current
working directory. It uses the physical directory
structure instead. By default, bbaasshh follows the logical
- chain of directories when performing commands which
+ chain of directories when performing commands which
change the current directory.
- --TT If set, any traps on DDEEBBUUGG and RREETTUURRNN are inherited by
- shell functions, command substitutions, and commands
- executed in a subshell environment. The DDEEBBUUGG and
+ --TT If set, any traps on DDEEBBUUGG and RREETTUURRNN are inherited by
+ shell functions, command substitutions, and commands
+ executed in a subshell environment. The DDEEBBUUGG and
RREETTUURRNN traps are normally not inherited in such cases.
- ---- If no arguments follow this option, then the positional
+ ---- If no arguments follow this option, then the positional
parameters are unset. Otherwise, the positional parame-
- ters are set to the _a_r_gs, even if some of them begin
+ ters are set to the _a_r_gs, even if some of them begin
with a --.
- -- Signal the end of options, cause all remaining _a_r_gs to
+ -- Signal the end of options, cause all remaining _a_r_gs to
be assigned to the positional parameters. The --xx and --vv
options are turned off. If there are no _a_r_gs, the posi-
tional parameters remain unchanged.
- The options are off by default unless otherwise noted. Using +
- rather than - causes these options to be turned off. The
- options can also be specified as arguments to an invocation of
- the shell. The current set of options may be found in $$--. The
+ The options are off by default unless otherwise noted. Using +
+ rather than - causes these options to be turned off. The
+ options can also be specified as arguments to an invocation of
+ the shell. The current set of options may be found in $$--. The
return status is always true unless an invalid option is encoun-
tered.
sshhiifftt [_n]
- The positional parameters from _n+1 ... are renamed to $$11 ........
- Parameters represented by the numbers $$## down to $$##-_n+1 are
- unset. _n must be a non-negative number less than or equal to
- $$##. If _n is 0, no parameters are changed. If _n is not given,
- it is assumed to be 1. If _n is greater than $$##, the positional
- parameters are not changed. The return status is greater than
+ The positional parameters from _n+1 ... are renamed to $$11 ........
+ Parameters represented by the numbers $$## down to $$##-_n+1 are
+ unset. _n must be a non-negative number less than or equal to
+ $$##. If _n is 0, no parameters are changed. If _n is not given,
+ it is assumed to be 1. If _n is greater than $$##, the positional
+ parameters are not changed. The return status is greater than
zero if _n is greater than $$## or less than zero; otherwise 0.
sshhoopptt [--ppqqssuu] [--oo] [_o_p_t_n_a_m_e ...]
- Toggle the values of settings controlling optional shell behav-
- ior. The settings can be either those listed below, or, if the
+ Toggle the values of settings controlling optional shell behav-
+ ior. The settings can be either those listed below, or, if the
--oo option is used, those available with the --oo option to the sseett
builtin command. With no options, or with the --pp option, a list
- of all settable options is displayed, with an indication of
+ of all settable options is displayed, with an indication of
whether or not each is set; if _o_p_t_n_a_m_e_s are supplied, the output
- is restricted to those options. The --pp option causes output to
- be displayed in a form that may be reused as input. Other
+ is restricted to those options. The --pp option causes output to
+ be displayed in a form that may be reused as input. Other
options have the following meanings:
--ss Enable (set) each _o_p_t_n_a_m_e.
--uu Disable (unset) each _o_p_t_n_a_m_e.
- --qq Suppresses normal output (quiet mode); the return status
+ --qq Suppresses normal output (quiet mode); the return status
indicates whether the _o_p_t_n_a_m_e is set or unset. If multi-
- ple _o_p_t_n_a_m_e arguments are given with --qq, the return sta-
- tus is zero if all _o_p_t_n_a_m_e_s are enabled; non-zero other-
+ ple _o_p_t_n_a_m_e arguments are given with --qq, the return sta-
+ tus is zero if all _o_p_t_n_a_m_e_s are enabled; non-zero other-
wise.
- --oo Restricts the values of _o_p_t_n_a_m_e to be those defined for
+ --oo Restricts the values of _o_p_t_n_a_m_e to be those defined for
the --oo option to the sseett builtin.
- If either --ss or --uu is used with no _o_p_t_n_a_m_e arguments, sshhoopptt
- shows only those options which are set or unset, respectively.
- Unless otherwise noted, the sshhoopptt options are disabled (unset)
+ If either --ss or --uu is used with no _o_p_t_n_a_m_e arguments, sshhoopptt
+ shows only those options which are set or unset, respectively.
+ Unless otherwise noted, the sshhoopptt options are disabled (unset)
by default.
- The return status when listing options is zero if all _o_p_t_n_a_m_e_s
- are enabled, non-zero otherwise. When setting or unsetting
- options, the return status is zero unless an _o_p_t_n_a_m_e is not a
+ The return status when listing options is zero if all _o_p_t_n_a_m_e_s
+ are enabled, non-zero otherwise. When setting or unsetting
+ options, the return status is zero unless an _o_p_t_n_a_m_e is not a
valid shell option.
The list of sshhoopptt options is:
aassssoocc__eexxppaanndd__oonnccee
- If set, the shell suppresses multiple evaluation of
- associative array subscripts during arithmetic expres-
- sion evaluation and while executing builtins that can
+ If set, the shell suppresses multiple evaluation of
+ associative array subscripts during arithmetic expres-
+ sion evaluation and while executing builtins that can
perform variable assignments.
- aauuttooccdd If set, a command name that is the name of a directory
- is executed as if it were the argument to the ccdd com-
+ aauuttooccdd If set, a command name that is the name of a directory
+ is executed as if it were the argument to the ccdd com-
mand. This option is only used by interactive shells.
ccddaabbllee__vvaarrss
- If set, an argument to the ccdd builtin command that is
- not a directory is assumed to be the name of a variable
+ If set, an argument to the ccdd builtin command that is
+ not a directory is assumed to be the name of a variable
whose value is the directory to change to.
ccddssppeellll If set, minor errors in the spelling of a directory com-
- ponent in a ccdd command will be corrected. The errors
+ ponent in a ccdd command will be corrected. The errors
checked for are transposed characters, a missing charac-
- ter, and one character too many. If a correction is
- found, the corrected filename is printed, and the com-
- mand proceeds. This option is only used by interactive
+ ter, and one character too many. If a correction is
+ found, the corrected filename is printed, and the com-
+ mand proceeds. This option is only used by interactive
shells.
cchheecckkhhaasshh
If set, bbaasshh checks that a command found in the hash ta-
- ble exists before trying to execute it. If a hashed
- command no longer exists, a normal path search is per-
+ ble exists before trying to execute it. If a hashed
+ command no longer exists, a normal path search is per-
formed.
cchheecckkjjoobbss
If set, bbaasshh lists the status of any stopped and running
- jobs before exiting an interactive shell. If any jobs
+ jobs before exiting an interactive shell. If any jobs
are running, this causes the exit to be deferred until a
- second exit is attempted without an intervening command
- (see JJOOBB CCOONNTTRROOLL above). The shell always postpones
+ second exit is attempted without an intervening command
+ (see JJOOBB CCOONNTTRROOLL above). The shell always postpones
exiting if any jobs are stopped.
cchheecckkwwiinnssiizzee
- If set, bbaasshh checks the window size after each external
- (non-builtin) command and, if necessary, updates the
+ If set, bbaasshh checks the window size after each external
+ (non-builtin) command and, if necessary, updates the
values of LLIINNEESS and CCOOLLUUMMNNSS.
- ccmmddhhiisstt If set, bbaasshh attempts to save all lines of a multiple-
- line command in the same history entry. This allows
- easy re-editing of multi-line commands. This option is
- enabled by default, but only has an effect if command
+ ccmmddhhiisstt If set, bbaasshh attempts to save all lines of a multiple-
+ line command in the same history entry. This allows
+ easy re-editing of multi-line commands. This option is
+ enabled by default, but only has an effect if command
history is enabled, as described above under HHIISSTTOORRYY.
ccoommppaatt3311
If set, bbaasshh changes its behavior to that of version 3.1
- with respect to quoted arguments to the [[[[ conditional
+ with respect to quoted arguments to the [[[[ conditional
command's ==~~ operator and locale-specific string compar-
- ison when using the [[[[ conditional command's << and >>
- operators. Bash versions prior to bash-4.1 use ASCII
+ ison when 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 cur-
rent locale's collation sequence and _s_t_r_c_o_l_l(3).
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
- (see previous item) and the effect of interrupting a
- command list. Bash versions 3.2 and earlier continue
- with the next command in the list after one terminates
+ 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. Bash versions 3.2 and earlier continue
+ with the next command in the list after one terminates
due to an interrupt.
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
- (see description of ccoommppaatt3311) and the effect of inter-
- rupting a command list. Bash versions 4.0 and later
- interrupt the list as if the shell received the inter-
- rupt; previous versions continue with the next command
+ with respect to locale-specific string comparison when
+ using the [[[[ conditional command's << and >> operators
+ (see description of ccoommppaatt3311) and the effect of inter-
+ rupting a command list. Bash versions 4.0 and later
+ interrupt the list as if the shell received the inter-
+ rupt; previous versions continue with the next command
in the list.
ccoommppaatt4411
- If set, bbaasshh, when in _p_o_s_i_x mode, treats a single quote
- in a double-quoted parameter expansion as a special
- character. The single quotes must match (an even num-
- ber) 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
+ If set, bbaasshh, when in _p_o_s_i_x _m_o_d_e, treats a single quote
+ in a double-quoted parameter expansion as a special
+ character. The single quotes must match (an even num-
+ ber) 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.
ccoommppaatt4422
- If set, bbaasshh does not process the replacement string in
- the pattern substitution word expansion using quote
+ If set, bbaasshh does not process the replacement string in
+ the pattern substitution word expansion using quote
removal.
ccoommppaatt4433
- If set, bbaasshh does not print a warning message if an
- attempt is made to use a quoted compound array assign-
- ment as an argument to ddeeccllaarree, makes word expansion
- errors non-fatal errors that cause the current command
- to fail (the default behavior is to make them fatal
+ If set, bbaasshh does not print a warning message if an
+ attempt is made to use a quoted compound array assign-
+ ment as an argument to ddeeccllaarree, makes word expansion
+ errors non-fatal errors that cause the current command
+ to fail (the default behavior is to make them fatal
errors that cause the shell to exit), and does not reset
- the loop state when a shell function is executed (this
- allows bbrreeaakk or ccoonnttiinnuuee in a shell function to affect
+ the loop state when a shell function is executed (this
+ allows bbrreeaakk or ccoonnttiinnuuee in a shell function to affect
loops in the caller's context).
ccoommppaatt4444
- If set, bbaasshh saves the positional parameters to
+ If set, bbaasshh saves the positional parameters to
BASH_ARGV and BASH_ARGC before they are used, regardless
of whether or not extended debugging mode is enabled.
ccoommpplleettee__ffuullllqquuoottee
- If set, bbaasshh quotes all shell metacharacters in file-
- names and directory names when performing completion.
+ If set, bbaasshh quotes all shell metacharacters in file-
+ names and directory names when performing completion.
If not set, bbaasshh removes metacharacters such as the dol-
- lar sign from the set of characters that will be quoted
- in completed filenames when these metacharacters appear
- in shell variable references in words to be completed.
- This means that dollar signs in variable names that
- expand to directories will not be quoted; however, any
- dollar signs appearing in filenames will not be quoted,
- either. This is active only when bash is using back-
- slashes to quote completed filenames. This variable is
- set by default, which is the default bash behavior in
+ lar sign from the set of characters that will be quoted
+ in completed filenames when these metacharacters appear
+ in shell variable references in words to be completed.
+ This means that dollar signs in variable names that
+ expand to directories will not be quoted; however, any
+ dollar signs appearing in filenames will not be quoted,
+ either. This is active only when bash is using back-
+ slashes to quote completed filenames. This variable is
+ set by default, which is the default bash behavior in
versions through 4.2.
ddiirreexxppaanndd
- If set, bbaasshh replaces directory names with the results
- of word expansion when performing filename completion.
- This changes the contents of the readline editing buf-
- fer. If not set, bbaasshh attempts to preserve what the
+ If set, bbaasshh replaces directory names with the results
+ of word expansion when performing filename completion.
+ This changes the contents of the readline editing buf-
+ fer. If not set, bbaasshh attempts to preserve what the
user typed.
ddiirrssppeellll
- If set, bbaasshh attempts spelling correction on directory
- names during word completion if the directory name ini-
+ If set, bbaasshh attempts spelling correction on directory
+ names during word completion if the directory name ini-
tially supplied does not exist.
- ddoottgglloobb If set, bbaasshh includes filenames beginning with a `.' in
- the results of pathname expansion. The filenames ````..''''
- and ````....'''' must always be matched explicitly, even if
+ ddoottgglloobb If set, bbaasshh includes filenames beginning with a `.' in
+ the results of pathname expansion. The filenames ````..''''
+ and ````....'''' must always be matched explicitly, even if
ddoottgglloobb is set.
eexxeeccffaaiill
If set, a non-interactive shell will not exit if it can-
- not execute the file specified as an argument to the
- eexxeecc builtin command. An interactive shell does not
+ not execute the file specified as an argument to the
+ eexxeecc builtin command. An interactive shell does not
exit if eexxeecc fails.
eexxppaanndd__aalliiaasseess
- If set, aliases are expanded as described above under
+ If set, aliases are expanded as described above under
AALLIIAASSEESS. This option is enabled by default for interac-
tive shells.
eexxttddeebbuugg
- If set at shell invocation, arrange to execute the
- debugger profile before the shell starts, identical to
- the ----ddeebbuuggggeerr option. If set after invocation, behav-
+ If set at shell invocation, arrange to execute the
+ debugger profile before the shell starts, identical to
+ the ----ddeebbuuggggeerr option. If set after invocation, behav-
ior intended for use by debuggers is enabled:
11.. The --FF option to the ddeeccllaarree builtin displays the
source file name and line number corresponding to
each function name supplied as an argument.
- 22.. If the command run by the DDEEBBUUGG trap returns a
- non-zero value, the next command is skipped and
+ 22.. If the command run by the DDEEBBUUGG trap returns a
+ non-zero value, the next command is skipped and
not executed.
- 33.. If the command run by the DDEEBBUUGG trap returns a
- value of 2, and the shell is executing in a sub-
- routine (a shell function or a shell script exe-
- cuted by the .. or ssoouurrccee builtins), the shell
+ 33.. If the command run by the DDEEBBUUGG trap returns a
+ value of 2, and the shell is executing in a sub-
+ routine (a shell function or a shell script exe-
+ cuted by the .. or ssoouurrccee builtins), the shell
simulates a call to rreettuurrnn.
- 44.. BBAASSHH__AARRGGCC and BBAASSHH__AARRGGVV are updated as described
+ 44.. BBAASSHH__AARRGGCC and BBAASSHH__AARRGGVV are updated as described
in their descriptions above.
- 55.. Function tracing is enabled: command substitu-
+ 55.. Function tracing is enabled: command substitu-
tion, shell functions, and subshells invoked with
(( _c_o_m_m_a_n_d )) inherit the DDEEBBUUGG and RREETTUURRNN traps.
- 66.. Error tracing is enabled: command substitution,
- shell functions, and subshells invoked with ((
+ 66.. Error tracing is enabled: command substitution,
+ shell functions, and subshells invoked with ((
_c_o_m_m_a_n_d )) inherit the EERRRR trap.
eexxttgglloobb If set, the extended pattern matching features described
above under PPaatthhnnaammee EExxppaannssiioonn are enabled.
eexxttqquuoottee
- If set, $$'_s_t_r_i_n_g' and $$"_s_t_r_i_n_g" quoting is performed
- within $${{_p_a_r_a_m_e_t_e_r}} expansions enclosed in double
+ If set, $$'_s_t_r_i_n_g' and $$"_s_t_r_i_n_g" quoting is performed
+ within $${{_p_a_r_a_m_e_t_e_r}} expansions enclosed in double
quotes. This option is enabled by default.
ffaaiillgglloobb
- If set, patterns which fail to match filenames during
+ If set, patterns which fail to match filenames during
pathname expansion result in an expansion error.
ffoorrccee__ffiiggnnoorree
- If set, the suffixes specified by the FFIIGGNNOORREE shell
- variable cause words to be ignored when performing word
+ If set, the suffixes specified by the FFIIGGNNOORREE shell
+ variable cause words to be ignored when performing word
completion even if the ignored words are the only possi-
ble completions. See SSHHEELLLL VVAARRIIAABBLLEESS above for a
- description of FFIIGGNNOORREE. This option is enabled by
+ description of FFIIGGNNOORREE. This option is enabled by
default.
gglloobbaasscciiiirraannggeess
- If set, range expressions used in pattern matching
- bracket expressions (see PPaatttteerrnn MMaattcchhiinngg above) behave
- as if in the traditional C locale when performing com-
+ If set, range expressions used in pattern matching
+ bracket expressions (see PPaatttteerrnn MMaattcchhiinngg above) behave
+ as if in the traditional C locale when performing com-
parisons. That is, the current locale's collating
- sequence is not taken into account, so bb will not col-
- late between AA and BB, and upper-case and lower-case
+ sequence is not taken into account, so bb will not col-
+ late between AA and BB, and upper-case and lower-case
ASCII characters will collate together.
gglloobbssttaarr
If set, the pattern **** used in a pathname expansion con-
- text will match all files and zero or more directories
- and subdirectories. If the pattern is followed by a //,
+ text will match all files and zero or more directories
+ and subdirectories. If the pattern is followed by a //,
only directories and subdirectories match.
ggnnuu__eerrrrffmmtt
If set, shell error messages are written in the standard
GNU error message format.
hhiissttaappppeenndd
- If set, the history list is appended to the file named
- by the value of the HHIISSTTFFIILLEE variable when the shell
+ If set, the history list is appended to the file named
+ by the value of the HHIISSTTFFIILLEE variable when the shell
exits, rather than overwriting the file.
hhiissttrreeeeddiitt
- If set, and rreeaaddlliinnee is being used, a user is given the
+ If set, and rreeaaddlliinnee is being used, a user is given the
opportunity to re-edit a failed history substitution.
hhiissttvveerriiffyy
- If set, and rreeaaddlliinnee is being used, the results of his-
- tory substitution are not immediately passed to the
- shell parser. Instead, the resulting line is loaded
+ If set, and rreeaaddlliinnee is being used, the results of his-
+ tory substitution are not immediately passed to the
+ shell parser. Instead, the resulting line is loaded
into the rreeaaddlliinnee editing buffer, allowing further modi-
fication.
hhoossttccoommpplleettee
If set, and rreeaaddlliinnee is being used, bbaasshh will attempt to
- perform hostname completion when a word containing a @@
- is being completed (see CCoommpplleettiinngg under RREEAADDLLIINNEE
+ perform hostname completion when a word containing a @@
+ is being completed (see CCoommpplleettiinngg under RREEAADDLLIINNEE
above). This is enabled by default.
hhuuppoonneexxiitt
If set, bbaasshh will send SSIIGGHHUUPP to all jobs when an inter-
active login shell exits.
iinnhheerriitt__eerrrreexxiitt
- If set, command substitution inherits the value of the
- eerrrreexxiitt option, instead of unsetting it in the subshell
- environment. This option is enabled when _p_o_s_i_x _m_o_d_e is
+ If set, command substitution inherits the value of the
+ eerrrreexxiitt option, instead of unsetting it in the subshell
+ environment. This option is enabled when _p_o_s_i_x _m_o_d_e is
enabled.
iinntteerraaccttiivvee__ccoommmmeennttss
If set, allow a word beginning with ## to cause that word
- and all remaining characters on that line to be ignored
- in an interactive shell (see CCOOMMMMEENNTTSS above). This
+ and all remaining characters on that line to be ignored
+ in an interactive shell (see CCOOMMMMEENNTTSS above). This
option is enabled by default.
llaassttppiippee
- If set, and job control is not active, the shell runs
+ If set, and job control is not active, the shell runs
the last command of a pipeline not executed in the back-
ground in the current shell environment.
- lliitthhiisstt If set, and the ccmmddhhiisstt option is enabled, multi-line
+ lliitthhiisstt If set, and the ccmmddhhiisstt option is enabled, multi-line
commands are saved to the history with embedded newlines
rather than using semicolon separators where possible.
llooccaallvvaarr__iinnhheerriitt
If set, local variables inherit the value and attributes
of a variable of the same name that exists at a previous
- scope before any new value is assigned. The nameref
+ scope before any new value is assigned. The nameref
attribute is not inherited.
llooggiinn__sshheellll
- The shell sets this option if it is started as a login
- shell (see IINNVVOOCCAATTIIOONN above). The value may not be
+ The shell sets this option if it is started as a login
+ shell (see IINNVVOOCCAATTIIOONN above). The value may not be
changed.
mmaaiillwwaarrnn
- If set, and a file that bbaasshh is checking for mail has
- been accessed since the last time it was checked, the
- message ``The mail in _m_a_i_l_f_i_l_e has been read'' is dis-
+ If set, and a file that bbaasshh is checking for mail has
+ been accessed since the last time it was checked, the
+ message ``The mail in _m_a_i_l_f_i_l_e has been read'' is dis-
played.
nnoo__eemmppttyy__ccmmdd__ccoommpplleettiioonn
- If set, and rreeaaddlliinnee is being used, bbaasshh will not
+ If set, and rreeaaddlliinnee is being used, bbaasshh will not
attempt to search the PPAATTHH for possible completions when
completion is attempted on an empty line.
nnooccaasseegglloobb
- If set, bbaasshh matches filenames in a case-insensitive
+ If set, bbaasshh matches filenames in a case-insensitive
fashion when performing pathname expansion (see PPaatthhnnaammee
EExxppaannssiioonn above).
nnooccaasseemmaattcchh
- If set, bbaasshh matches patterns in a case-insensitive
+ If set, bbaasshh matches patterns in a case-insensitive
fashion when performing matching while executing ccaassee or
[[[[ conditional commands, when performing pattern substi-
- tution word expansions, or when filtering possible com-
+ tution word expansions, or when filtering possible com-
pletions as part of programmable completion.
nnuullllgglloobb
- If set, bbaasshh allows patterns which match no files (see
- PPaatthhnnaammee EExxppaannssiioonn above) to expand to a null string,
+ If set, bbaasshh allows patterns which match no files (see
+ PPaatthhnnaammee EExxppaannssiioonn above) to expand to a null string,
rather than themselves.
pprrooggccoommpp
If set, the programmable completion facilities (see PPrroo--
@@ -5724,50 +5753,50 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
enabled by default.
pprroommppttvvaarrss
If set, prompt strings undergo parameter expansion, com-
- mand substitution, arithmetic expansion, and quote
- removal after being expanded as described in PPRROOMMPPTTIINNGG
+ mand substitution, arithmetic expansion, and quote
+ removal after being expanded as described in PPRROOMMPPTTIINNGG
above. This option is enabled by default.
rreessttrriicctteedd__sshheellll
- The shell sets this option if it is started in
+ The shell sets this option if it is started in
restricted mode (see RREESSTTRRIICCTTEEDD SSHHEELLLL below). The value
- may not be changed. This is not reset when the startup
- files are executed, allowing the startup files to dis-
+ may not be changed. This is not reset when the startup
+ files are executed, allowing the startup files to dis-
cover whether or not a shell is restricted.
sshhiifftt__vveerrbboossee
- If set, the sshhiifftt builtin prints an error message when
+ If set, the sshhiifftt builtin prints an error message when
the shift count exceeds the number of positional parame-
ters.
ssoouurrcceeppaatthh
If set, the ssoouurrccee (..) builtin uses the value of PPAATTHH to
- find the directory containing the file supplied as an
+ find the directory containing the file supplied as an
argument. This option is enabled by default.
xxppgg__eecchhoo
- If set, the eecchhoo builtin expands backslash-escape
+ If set, the eecchhoo builtin expands backslash-escape
sequences by default.
ssuussppeenndd [--ff]
- Suspend the execution of this shell until it receives a SSIIGGCCOONNTT
+ Suspend the execution of this shell until it receives a SSIIGGCCOONNTT
signal. A login shell cannot be suspended; the --ff option can be
used to override this and force the suspension. The return sta-
- tus is 0 unless the shell is a login shell and --ff is not sup-
+ tus is 0 unless the shell is a login shell and --ff is not sup-
plied, or if job control is not enabled.
tteesstt _e_x_p_r
[[ _e_x_p_r ]]
Return a status of 0 (true) or 1 (false) depending on the evalu-
ation of the conditional expression _e_x_p_r. Each operator and op-
- erand must be a separate argument. Expressions are composed of
- the primaries described above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS.
- tteesstt does not accept any options, nor does it accept and ignore
+ erand must be a separate argument. Expressions are composed of
+ the primaries described above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS.
+ tteesstt does not accept any options, nor does it accept and ignore
an argument of ---- as signifying the end of options.
- Expressions may be combined using the following operators,
+ Expressions may be combined using the following operators,
listed in decreasing order of precedence. The evaluation
- depends on the number of arguments; see below. Operator prece-
+ 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.
@@ -5784,120 +5813,120 @@ 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
+ If the second argument is one of the binary conditional
operators listed above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS, the
result of the expression is the result of the binary test
- using the first and third arguments as operands. The --aa
- and --oo operators are considered binary operators when
- there are three arguments. If the first argument is !!,
- the value is the negation of the two-argument test using
+ using the first and third arguments as operands. The --aa
+ and --oo operators are considered binary operators when
+ there are three arguments. If the first argument is !!,
+ the value is the negation of the two-argument test using
the second and third arguments. If the first argument is
exactly (( and the third argument is exactly )), the result
- is the one-argument test of the second argument. Other-
+ is the one-argument test of the second argument. Other-
wise, the expression is false.
4 arguments
If the first argument is !!, the result is the negation of
- the three-argument expression composed of the remaining
+ the three-argument expression composed of the remaining
arguments. Otherwise, the expression is parsed and eval-
- uated according to precedence using the rules listed
+ uated according to precedence using the rules listed
above.
5 or more arguments
- The expression is parsed and evaluated according to
+ The expression is parsed and evaluated according to
precedence using the rules listed above.
- When used with tteesstt or [[, the << and >> operators sort lexico-
+ 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
+ ttiimmeess Print the accumulated user and system times for the shell and
for processes run from the shell. The return status is 0.
ttrraapp [--llpp] [[_a_r_g] _s_i_g_s_p_e_c ...]
- The command _a_r_g is to be read and executed when the shell
- receives signal(s) _s_i_g_s_p_e_c. If _a_r_g is absent (and there is a
- single _s_i_g_s_p_e_c) or --, each specified signal is reset to its
- original disposition (the value it had upon entrance to the
- shell). If _a_r_g is the null string the signal specified by each
- _s_i_g_s_p_e_c is ignored by the shell and by the commands it invokes.
- If _a_r_g is not present and --pp has been supplied, then the trap
- commands associated with each _s_i_g_s_p_e_c are displayed. If no
- arguments are supplied or if only --pp is given, ttrraapp prints the
- list of commands associated with each signal. The --ll option
- causes the shell to print a list of signal names and their cor-
- responding numbers. Each _s_i_g_s_p_e_c is either a signal name
- defined in <_s_i_g_n_a_l_._h>, or a signal number. Signal names are
+ The command _a_r_g is to be read and executed when the shell
+ receives signal(s) _s_i_g_s_p_e_c. If _a_r_g is absent (and there is a
+ single _s_i_g_s_p_e_c) or --, each specified signal is reset to its
+ original disposition (the value it had upon entrance to the
+ shell). If _a_r_g is the null string the signal specified by each
+ _s_i_g_s_p_e_c is ignored by the shell and by the commands it invokes.
+ If _a_r_g is not present and --pp has been supplied, then the trap
+ commands associated with each _s_i_g_s_p_e_c are displayed. If no
+ arguments are supplied or if only --pp is given, ttrraapp prints the
+ list of commands associated with each signal. The --ll option
+ causes the shell to print a list of signal names and their cor-
+ responding numbers. Each _s_i_g_s_p_e_c is either a signal name
+ defined in <_s_i_g_n_a_l_._h>, or a signal number. Signal names are
case insensitive and the SSIIGG prefix is optional.
- If a _s_i_g_s_p_e_c is EEXXIITT (0) the command _a_r_g is executed on exit
- from the shell. If a _s_i_g_s_p_e_c is DDEEBBUUGG, the command _a_r_g is exe-
- cuted before every _s_i_m_p_l_e _c_o_m_m_a_n_d, _f_o_r command, _c_a_s_e command,
- _s_e_l_e_c_t command, every arithmetic _f_o_r command, and before the
- first command executes in a shell function (see SSHHEELLLL GGRRAAMMMMAARR
- above). Refer to the description of the eexxttddeebbuugg option to the
+ If a _s_i_g_s_p_e_c is EEXXIITT (0) the command _a_r_g is executed on exit
+ from the shell. If a _s_i_g_s_p_e_c is DDEEBBUUGG, the command _a_r_g is exe-
+ cuted before every _s_i_m_p_l_e _c_o_m_m_a_n_d, _f_o_r command, _c_a_s_e command,
+ _s_e_l_e_c_t command, every arithmetic _f_o_r command, and before the
+ first command executes in a shell function (see SSHHEELLLL GGRRAAMMMMAARR
+ above). Refer to the description of the eexxttddeebbuugg option to the
sshhoopptt builtin for details of its effect on the DDEEBBUUGG trap. If a
_s_i_g_s_p_e_c is RREETTUURRNN, the command _a_r_g is executed each time a shell
function or a script executed with the .. or ssoouurrccee builtins fin-
ishes executing.
- If a _s_i_g_s_p_e_c is EERRRR, the command _a_r_g is executed whenever a
+ If a _s_i_g_s_p_e_c is EERRRR, the command _a_r_g is executed whenever a
pipeline (which may consist of a single simple command), a list,
or a compound command returns a non-zero exit status, subject to
- the following conditions. The EERRRR trap is not executed if the
+ 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,
+ a wwhhiillee or uunnttiill keyword, part of the test in an _i_f statement,
part of a command executed in a &&&& or |||| list except the command
- following the final &&&& or ||||, any command in a pipeline but the
- last, or if the command's return value is being inverted using
- !!. These are the same conditions obeyed by the eerrrreexxiitt (--ee)
+ following the final &&&& or ||||, any command in a pipeline but the
+ last, or if the command's return value is being inverted using
+ !!. These are the same conditions obeyed by the eerrrreexxiitt (--ee)
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, which is not necessar-
- ily the file that appears first in PPAATTHH. If the --aa option is
- used, ttyyppee prints all of the places that contain an executable
+ ily 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
+ not consulted when using --aa. The --ff option suppresses shell
function lookup, as with the ccoommmmaanndd builtin. ttyyppee returns true
if all of the arguments are found, false if any are not found.
uulliimmiitt [--HHSSaabbccddeeffiikkllmmnnppqqrrssttuuvvxxPPTT [_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:
@@ -5906,12 +5935,12 @@ 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
--kk The maximum number of kqueues that may be allocated
--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)
@@ -5920,53 +5949,53 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
--rr The maximum real-time scheduling priority
--ss The maximum stack size
--tt The maximum amount of cpu time in seconds
- --uu The maximum number of processes available to a single
+ --uu The maximum number of processes available to a single
user
- --vv The maximum amount of virtual memory available to the
+ --vv The maximum amount of virtual memory available to the
shell and, on some systems, to its children
--xx The maximum number of file locks
--PP The maximum number of pseudoterminals
--TT The maximum number of threads
- If _l_i_m_i_t is given, and the --aa option is not used, _l_i_m_i_t is the
- new value of the specified resource. 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; --PP, --TT, --bb, --kk, --nn, and --uu, which are unscaled values;
- and, when in Posix mode, --cc and --ff, which are in 512-byte incre-
+ If _l_i_m_i_t is given, and the --aa option is not used, _l_i_m_i_t is the
+ new value of the specified resource. 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; --PP, --TT, --bb, --kk, --nn, and --uu, which are unscaled values;
+ and, when in posix mode, --cc and --ff, which are in 512-byte incre-
ments. The return status is 0 unless an invalid option or argu-
ment 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] [-nn] [_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 the --vv option is given, each _n_a_m_e refers to a shell variable,
- and that variable is removed. 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. If the --nn option
- is supplied, and _n_a_m_e is a variable with the _n_a_m_e_r_e_f attribute,
- _n_a_m_e will be unset rather than the variable it references. --nn
- has no effect if the --ff option is supplied. If no options are
- supplied, each _n_a_m_e refers to a variable; if there is no vari-
- able by that name, any function with that name is unset. Each
- unset variable or function is removed from the environment
- passed to subsequent commands. If any of CCOOMMPP__WWOORRDDBBRREEAAKKSS, RRAANN--
+ and that variable is removed. 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. If the --nn option
+ is supplied, and _n_a_m_e is a variable with the _n_a_m_e_r_e_f attribute,
+ _n_a_m_e will be unset rather than the variable it references. --nn
+ has no effect if the --ff option is supplied. If no options are
+ supplied, each _n_a_m_e refers to a variable; if there is no vari-
+ able by that name, any function with that name is unset. Each
+ unset variable or function is removed from the environment
+ passed to subsequent commands. If any of CCOOMMPP__WWOORRDDBBRREEAAKKSS, RRAANN--
DDOOMM, SSEECCOONNDDSS, LLIINNEENNOO, HHIISSTTCCMMDD, FFUUNNCCNNAAMMEE, GGRROOUUPPSS, or DDIIRRSSTTAACCKK are
unset, they lose their special properties, even if they are sub-
sequently reset. The exit status is true unless a _n_a_m_e is read-
@@ -5974,23 +6003,23 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
wwaaiitt [--ffnn] [_i_d _._._.]
Wait for each specified child process and return its termination
- status. Each _i_d may be a process ID or a job specification; if
- a job spec is given, all processes in that job's pipeline are
+ status. Each _i_d 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 _i_d is not given, all currently active child pro-
cesses are waited for, and the return status is zero. If the --nn
- option is supplied, wwaaiitt waits for any job to terminate and
- returns its exit status. If the --ff option is supplied, and job
+ option is supplied, wwaaiitt waits for any job to terminate and
+ returns its exit status. If the --ff option is supplied, and job
control is enabled, wwaaiitt forces _i_d to terminate before returning
- its status, instead of returning when it changes status. If _i_d
- specifies a non-existent process or job, the return status is
- 127. Otherwise, the return status is the exit status of the
+ its status, instead of returning when it changes status. If _i_d
+ 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
@@ -5999,16 +6028,16 @@ RREESSTTRRIICCTTEEDD SSHHEELLLL
+o specifying command names containing //
- +o specifying a filename containing a // as an argument to the ..
+ +o specifying a filename 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-
@@ -6017,10 +6046,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
@@ -6030,14 +6059,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 --
http://pubs.opengroup.org/onlinepubs/9699919799/
http://tiswww.case.edu/~chet/bash/POSIX -- a description of posix mode
@@ -6055,7 +6084,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
@@ -6069,14 +6098,14 @@ AAUUTTHHOORRSS
BBUUGG RREEPPOORRTTSS
If you find a bug in bbaasshh,, you should report it. But first, you should
- make sure that it really is a bug, and that it appears in the latest
- version of bbaasshh. The latest version is always available from
+ make sure that it really is a bug, and that it appears in the latest
+ version of bbaasshh. The latest version is always available from
_f_t_p_:_/_/_f_t_p_._g_n_u_._o_r_g_/_p_u_b_/_g_n_u_/_b_a_s_h_/.
- Once you have determined that a bug actually exists, use the _b_a_s_h_b_u_g
- command to submit a bug report. If you have a fix, you are encouraged
- to mail that as well! Suggestions and `philosophical' bug reports may
- be mailed to _b_u_g_-_b_a_s_h_@_g_n_u_._o_r_g or posted to the Usenet newsgroup
+ Once you have determined that a bug actually exists, use the _b_a_s_h_b_u_g
+ command to submit a bug report. If you have a fix, you are encouraged
+ to mail that as well! Suggestions and `philosophical' bug reports may
+ be mailed to _b_u_g_-_b_a_s_h_@_g_n_u_._o_r_g or posted to the Usenet newsgroup
ggnnuu..bbaasshh..bbuugg.
ALL bug reports should include:
@@ -6087,7 +6116,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
@@ -6104,10 +6133,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.
@@ -6116,4 +6145,4 @@ BBUUGGSS
-GNU Bash 5.0 2018 March 15 BASH(1)
+GNU Bash 5.0 2018 August 7 BASH(1)
diff --git a/doc/bash.1 b/doc/bash.1
index cf712fe3..9561ed87 100644
--- a/doc/bash.1
+++ b/doc/bash.1
@@ -5,12 +5,12 @@
.\" Case Western Reserve University
.\" chet.ramey@case.edu
.\"
-.\" Last Change: Thu Mar 15 11:30:03 EDT 2018
+.\" Last Change: Tue Aug 7 12:01:07 EDT 2018
.\"
.\" bash_builtins, strip all but Built-Ins section
.if \n(zZ=1 .ig zZ
.if \n(zY=1 .ig zY
-.TH BASH 1 "2018 March 15" "GNU Bash 5.0"
+.TH BASH 1 "2018 August 7" "GNU Bash 5.0"
.\"
.\" There's some problem with having a `@'
.\" in a tagged paragraph with the BSD man macros.
@@ -739,7 +739,7 @@ to be matched as a string.
An additional binary operator, \fB=~\fP, is available, with the same
precedence as \fB==\fP and \fB!=\fP.
When it is used, the string to the right of the operator is considered
-an extended regular expression and matched accordingly (as in \fIregex\fP(3)).
+a POSIX extended regular expression and matched accordingly (as in \fIregex\fP(3)).
The return value is 0 if the string matches
the pattern, and 1 otherwise.
If the regular expression is syntactically incorrect, the conditional
@@ -1357,7 +1357,14 @@ If
is null, the parameters are joined without intervening separators.
.TP
.B @
-Expands to the positional parameters, starting from one. When the
+Expands to the positional parameters, starting from one.
+In contexts where word splitting is performed, this expands each
+positional parameter to a separate word; if not within double
+quotes, these words are subject to word splitting.
+In contexts where word splitting is not performed,
+this expands to a single word
+with each positional parameter separated by a space.
+When the
expansion occurs within double quotes, each parameter expands to a
separate word. That is, "\fB$@\fP" is equivalent to
"\fB$1\fP" "\fB$2\fP" ...
@@ -1499,7 +1506,8 @@ only when in extended debugging mode (see the description of the
option to the
.B shopt
builtin below).
-Setting \fBextdebug\fP after the shell has started to execute a script
+Setting \fBextdebug\fP after the shell has started to execute a script,
+or referencing this variable when \fBextdebug\fP is not set,
may result in inconsistent values.
.TP
.B BASH_ARGV
@@ -1519,7 +1527,8 @@ only when in extended debugging mode
option to the
.B shopt
builtin below).
-Setting \fBextdebug\fP after the shell has started to execute a script
+Setting \fBextdebug\fP after the shell has started to execute a script,
+or referencing this variable when \fBextdebug\fP is not set,
may result in inconsistent values.
.TP
.B BASH_ARGV0
@@ -2072,7 +2081,7 @@ line editing.
Similar to
.SM
.BR BASH_ENV ;
-used when the shell is invoked in POSIX mode.
+used when the shell is invoked in \fIposix mode\fP.
.TP
.B EXECIGNORE
A colon-separated list of shell patterns (see \fBPattern Matching\fP)
@@ -2277,6 +2286,11 @@ startup file, overriding the default of
.B READLINE
below).
.TP
+.B INSIDE_EMACS
+If this variable appears in the environment when the shell starts,
+\fBbash\fP assumes that it is running inside an Emacs shell buffer
+and may disable line editing, depending on the value of \fBTERM\fP.
+.TP
.B LANG
Used to determine the locale category for any category not specifically
selected with a variable starting with \fBLC_\fP.
@@ -2400,6 +2414,8 @@ running, \fBbash\fP enables \fIposix mode\fP, as if the command
.if t \f(CWset -o posix\fP
.if n \fIset -o posix\fP
had been executed.
+When the shell enters \fIposix mode\fP, it sets this variable if it was
+not already set.
.TP
.B PROMPT_COMMAND
If set, the value is executed as a command prior to issuing each primary
@@ -2914,6 +2930,14 @@ and
.SM
.BR CDPATH ,
and the shell assigns the expanded value.
+.PP
+Bash also performs tilde expansion on words satisfying the conditions of
+variable assignments (as described above under
+.SM
+.BR PARAMETERS )
+when they appear as arguments to simple commands.
+Bash does not do this, except for the \fIdeclaration\fP commands listed
+above, when in \fIposix mode\fP.
.SS Parameter Expansion
.PP
The `\fB$\fP' character introduces parameter expansion,
@@ -2945,16 +2969,16 @@ The \fIparameter\fP is a shell parameter as described above
.PP
If the first character of \fIparameter\fP is an exclamation point (\fB!\fP),
and \fIparameter\fP is not a \fInameref\fP,
-it introduces a level of variable indirection.
-\fBBash\fP uses the value of the variable formed from the rest of
-\fIparameter\fP 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 \fIparameter\fP itself.
+it introduces a level of indirection.
+\fBBash\fP uses the value formed by expanding the rest of
+\fIparameter\fP as the new \fIparameter\fP; this is then
+expanded and that value is used in the rest of the expansion, rather
+than the expansion of the original \fIparameter\fP.
This is known as \fIindirect expansion\fP.
The value is subject to tilde expansion,
parameter expansion, command substitution, and arithmetic expansion.
If \fIparameter\fP is a nameref, this expands to the name of the
-variable referenced by \fIparameter\fP instead of performing the
+parameter referenced by \fIparameter\fP instead of performing the
complete indirect expansion.
The exceptions to this are the expansions of ${\fB!\fP\fIprefix\fP\fB*\fP} and
${\fB!\fP\fIname\fP[\fI@\fP]} described below.
@@ -4821,7 +4845,7 @@ 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 \fIposix\fP mode,
+the \fB\-e\fP option from the parent shell. When not in \fIposix mode\fP,
\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
@@ -7640,12 +7664,12 @@ will be displayed.
The return value is true unless an invalid option is supplied, or no
matches were generated.
.TP
-\fBcomplete\fP [\fB\-abcdefgjksuv\fP] [\fB\-o\fP \fIcomp-option\fP] [\fB\-DE\fP] [\fB\-A\fP \fIaction\fP] [\fB\-G\fP \fIglobpat\fP] [\fB\-W\fP \fIwordlist\fP] [\fB\-F\fP \fIfunction\fP] [\fB\-C\fP \fIcommand\fP]
+\fBcomplete\fP [\fB\-abcdefgjksuv\fP] [\fB\-o\fP \fIcomp-option\fP] [\fB\-DEI\fP] [\fB\-A\fP \fIaction\fP] [\fB\-G\fP \fIglobpat\fP] [\fB\-W\fP \fIwordlist\fP] [\fB\-F\fP \fIfunction\fP] [\fB\-C\fP \fIcommand\fP]
.br
[\fB\-X\fP \fIfilterpat\fP] [\fB\-P\fP \fIprefix\fP] [\fB\-S\fP \fIsuffix\fP] \fIname\fP [\fIname ...\fP]
.PD 0
.TP
-\fBcomplete\fP \fB\-pr\fP [\fB\-DE\fP] [\fIname\fP ...]
+\fBcomplete\fP \fB\-pr\fP [\fB\-DEI\fP] [\fIname\fP ...]
.PD
Specify how arguments to each \fIname\fP should be completed.
If the \fB\-p\fP option is supplied, or if no options are supplied,
@@ -7654,12 +7678,21 @@ them to be reused as input.
The \fB\-r\fP option removes a completion specification for
each \fIname\fP, or, if no \fIname\fPs are supplied, all
completion specifications.
-The \fB\-D\fP option indicates that the remaining options and actions should
+The \fB\-D\fP option indicates that other supplied 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 \fB\-E\fP option indicates that the remaining options and actions should
+The \fB\-E\fP option indicates that other supplied options and actions should
apply to ``empty'' command completion; that is, completion attempted on a
blank line.
+The \fB\-I\fP option indicates that other supplied options and actions should
+apply to completion on the inital non-assignment word on the line, or after
+a command delimiter such as \fB;\fP or \fB|\fP, which is usually command
+name completion.
+If multiple options are supplied, the \fB\-D\fP option takes precedence
+over \fB\-E\fP, and both take precedence over \fB\-I\fP.
+If any of \fB\-D\fP, \fB\-E\fP, or \fB\-I\fP are supplied, any other
+\fIname\fP arguments are ignored; these completions only apply to the case
+specified by the option.
.sp 1
The process of applying these completion specifications when word completion
is attempted is described above under \fBProgrammable Completion\fP.
@@ -7855,7 +7888,7 @@ a \fIname\fP for which no specification exists, or
an error occurs adding a completion specification.
.RE
.TP
-\fBcompopt\fP [\fB\-o\fP \fIoption\fP] [\fB\-DE\fP] [\fB+o\fP \fIoption\fP] [\fIname\fP]
+\fBcompopt\fP [\fB\-o\fP \fIoption\fP] [\fB\-DEI\fP] [\fB+o\fP \fIoption\fP] [\fIname\fP]
Modify completion options for each \fIname\fP according to the
\fIoption\fPs, or for the
currently-executing completion if no \fIname\fPs are supplied.
@@ -7863,12 +7896,16 @@ 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
builtin described above.
-The \fB\-D\fP option indicates that the remaining options should
+The \fB\-D\fP option indicates that other supplied options should
apply to the ``default'' command completion; that is, completion attempted
on a command for which no completion has previously been defined.
-The \fB\-E\fP option indicates that the remaining options should
+The \fB\-E\fP option indicates that other supplied options should
apply to ``empty'' command completion; that is, completion attempted on a
blank line.
+The \fB\-I\fP option indicates that other supplied options should
+apply to completion on the inital non-assignment word on the line,
+or after a command delimiter such as \fB;\fP or \fB|\fP, which is usually
+command name completion.
.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
@@ -9271,7 +9308,7 @@ 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 cannot be reset.
-In \fIposix\fP mode, only shell variables are listed.
+In \fIposix mode\fP, only shell variables are listed.
The output is sorted according to the current locale.
When options are specified, they set or unset shell attributes.
Any arguments remaining after option processing are treated
@@ -9817,7 +9854,7 @@ interrupt; previous versions continue with the next command in the list.
.B compat41
If set,
.BR bash ,
-when in \fIposix\fP mode, treats a single quote in a double-quoted
+when in \fIposix mode\fP, 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.
@@ -10589,7 +10626,7 @@ which is in units of 512-byte blocks;
and
.BR \-u ,
which are unscaled values;
-and, when in Posix mode,
+and, when in posix mode,
.B \-c
and
.BR \-f ,
diff --git a/doc/bash.html b/doc/bash.html
index 54b42fec..08e1b4a4 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%>2018 March 15<TH ALIGN=RIGHT width=33%>BASH(1)
+<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2018 August 7<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<BR><A HREF="#index">Index</A>
@@ -965,7 +965,7 @@ to be matched as a string.
An additional binary operator, <B>=~</B>, is available, with the same
precedence as <B>==</B> and <B>!=</B>.
When it is used, the string to the right of the operator is considered
-an extended regular expression and matched accordingly (as in <I>regex</I>(3)).
+a POSIX extended regular expression and matched accordingly (as in <I>regex</I>(3)).
The return value is 0 if the string matches
the pattern, and 1 otherwise.
If the regular expression is syntactically incorrect, the conditional
@@ -1738,7 +1738,14 @@ is null, the parameters are joined without intervening separators.
<DT><B>@</B>
<DD>
-Expands to the positional parameters, starting from one. When the
+Expands to the positional parameters, starting from one.
+In contexts where word splitting is performed, this expands each
+positional parameter to a separate word; if not within double
+quotes, these words are subject to word splitting.
+In contexts where word splitting is not performed,
+this expands to a single word
+with each positional parameter separated by a space.
+When the
expansion occurs within double quotes, each parameter expands to a
separate word. That is, &quot;<B>$@</B>&quot; is equivalent to
&quot;<B>$1</B>&quot; &quot;<B>$2</B>&quot; ...
@@ -1922,7 +1929,8 @@ option to the
<B>shopt</B>
builtin below).
-Setting <B>extdebug</B> after the shell has started to execute a script
+Setting <B>extdebug</B> after the shell has started to execute a script,
+or referencing this variable when <B>extdebug</B> is not set,
may result in inconsistent values.
<DT><B>BASH_ARGV</B>
@@ -1947,7 +1955,8 @@ option to the
<B>shopt</B>
builtin below).
-Setting <B>extdebug</B> after the shell has started to execute a script
+Setting <B>extdebug</B> after the shell has started to execute a script,
+or referencing this variable when <B>extdebug</B> is not set,
may result in inconsistent values.
<DT><B>BASH_ARGV0</B>
@@ -2634,7 +2643,7 @@ Similar to
<FONT SIZE=-1><B>BASH_ENV</B>;
</FONT>
-used when the shell is invoked in POSIX mode.
+used when the shell is invoked in <I>posix mode</I>.
<DT><B>EXECIGNORE</B>
<DD>
@@ -2887,6 +2896,12 @@ startup file, overriding the default of
</FONT>
below).
+<DT><B>INSIDE_EMACS</B>
+
+<DD>
+If this variable appears in the environment when the shell starts,
+<B>bash</B> assumes that it is running inside an Emacs shell buffer
+and may disable line editing, depending on the value of <B>TERM</B>.
<DT><B>LANG</B>
<DD>
@@ -3043,6 +3058,8 @@ running, <B>bash</B> enables <I>posix mode</I>, as if the command
<TT>set -o posix</TT>
had been executed.
+When the shell enters <I>posix mode</I>, it sets this variable if it was
+not already set.
<DT><B>PROMPT_COMMAND</B>
<DD>
@@ -3698,6 +3715,16 @@ and
</FONT>
and the shell assigns the expanded value.
+<P>
+
+Bash also performs tilde expansion on words satisfying the conditions of
+variable assignments (as described above under
+<FONT SIZE=-1><B>PARAMETERS</B>)
+
+</FONT>
+when they appear as arguments to simple commands.
+Bash does not do this, except for the <I>declaration</I> commands listed
+above, when in <I>posix mode</I>.
<A NAME="lbBB">&nbsp;</A>
<H4>Parameter Expansion</H4>
@@ -3738,16 +3765,16 @@ The <I>parameter</I> is a shell parameter as described above
If the first character of <I>parameter</I> is an exclamation point (<B>!</B>),
and <I>parameter</I> is not a <I>nameref</I>,
-it introduces a level of variable indirection.
-<B>Bash</B> uses the value of the variable formed from the rest of
-<I>parameter</I> 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 <I>parameter</I> itself.
+it introduces a level of indirection.
+<B>Bash</B> uses the value formed by expanding the rest of
+<I>parameter</I> as the new <I>parameter</I>; this is then
+expanded and that value is used in the rest of the expansion, rather
+than the expansion of the original <I>parameter</I>.
This is known as <I>indirect expansion</I>.
The value is subject to tilde expansion,
parameter expansion, command substitution, and arithmetic expansion.
If <I>parameter</I> is a nameref, this expands to the name of the
-variable referenced by <I>parameter</I> instead of performing the
+parameter referenced by <I>parameter</I> instead of performing the
complete indirect expansion.
The exceptions to this are the expansions of ${<B>!</B><I>prefix</I><B>*</B>} and
${<B>!</B><I>name</I>[<I>@</I>]} described below.
@@ -6125,7 +6152,7 @@ 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 <I>posix</I> mode,
+the <B>-e</B> option from the parent shell. When not in <I>posix mode</I>,
<B>bash</B> clears the <B>-e</B> option in such subshells.
<P>
@@ -9745,12 +9772,12 @@ will be displayed.
<P>
The return value is true unless an invalid option is supplied, or no
matches were generated.
-<DT><B>complete</B> [<B>-abcdefgjksuv</B>] [<B>-o</B> <I>comp-option</I>] [<B>-DE</B>] [<B>-A</B> <I>action</I>] [<B>-G</B> <I>globpat</I>] [<B>-W</B> <I>wordlist</I>] [<B>-F</B> <I>function</I>] [<B>-C</B> <I>command</I>]<DD>
+<DT><B>complete</B> [<B>-abcdefgjksuv</B>] [<B>-o</B> <I>comp-option</I>] [<B>-DEI</B>] [<B>-A</B> <I>action</I>] [<B>-G</B> <I>globpat</I>] [<B>-W</B> <I>wordlist</I>] [<B>-F</B> <I>function</I>] [<B>-C</B> <I>command</I>]<DD>
<BR>
[<B>-X</B> <I>filterpat</I>] [<B>-P</B> <I>prefix</I>] [<B>-S</B> <I>suffix</I>] <I>name</I> [<I>name ...</I>]
-<DT><B>complete</B> <B>-pr</B> [<B>-DE</B>] [<I>name</I> ...]<DD>
+<DT><B>complete</B> <B>-pr</B> [<B>-DEI</B>] [<I>name</I> ...]<DD>
Specify how arguments to each <I>name</I> should be completed.
If the <B>-p</B> option is supplied, or if no options are supplied,
@@ -9759,12 +9786,21 @@ them to be reused as input.
The <B>-r</B> option removes a completion specification for
each <I>name</I>, or, if no <I>name</I>s are supplied, all
completion specifications.
-The <B>-D</B> option indicates that the remaining options and actions should
+The <B>-D</B> option indicates that other supplied 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 <B>-E</B> option indicates that the remaining options and actions should
+The <B>-E</B> option indicates that other supplied options and actions should
apply to ``empty'' command completion; that is, completion attempted on a
blank line.
+The <B>-I</B> option indicates that other supplied options and actions should
+apply to completion on the inital non-assignment word on the line, or after
+a command delimiter such as <B>;</B> or <B>|</B>, which is usually command
+name completion.
+If multiple options are supplied, the <B>-D</B> option takes precedence
+over <B>-E</B>, and both take precedence over <B>-I</B>.
+If any of <B>-D</B>, <B>-E</B>, or <B>-I</B> are supplied, any other
+<I>name</I> arguments are ignored; these completions only apply to the case
+specified by the option.
<P>
The process of applying these completion specifications when word completion
is attempted is described above under <B>Programmable Completion</B>.
@@ -9995,7 +10031,7 @@ a <I>name</I> for which no specification exists, or
an error occurs adding a completion specification.
</DL>
-<DT><B>compopt</B> [<B>-o</B> <I>option</I>] [<B>-DE</B>] [<B>+o</B> <I>option</I>] [<I>name</I>]<DD>
+<DT><B>compopt</B> [<B>-o</B> <I>option</I>] [<B>-DEI</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-executing completion if no <I>name</I>s are supplied.
@@ -10003,12 +10039,16 @@ 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>
builtin described above.
-The <B>-D</B> option indicates that the remaining options should
+The <B>-D</B> option indicates that other supplied options should
apply to the ``default'' command completion; that is, completion attempted
on a command for which no completion has previously been defined.
-The <B>-E</B> option indicates that the remaining options should
+The <B>-E</B> option indicates that other supplied options should
apply to ``empty'' command completion; that is, completion attempted on a
blank line.
+The <B>-I</B> option indicates that other supplied options should
+apply to completion on the inital non-assignment word on the line,
+or after a command delimiter such as <B>;</B> or <B>|</B>, which is usually
+command name completion.
<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
@@ -11727,7 +11767,7 @@ 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 cannot be reset.
-In <I>posix</I> mode, only shell variables are listed.
+In <I>posix mode</I>, only shell variables are listed.
The output is sorted according to the current locale.
When options are specified, they set or unset shell attributes.
Any arguments remaining after option processing are treated
@@ -12444,7 +12484,7 @@ interrupt; previous versions continue with the next command in the list.
If set,
<B>bash</B>,
-when in <I>posix</I> mode, treats a single quote in a double-quoted
+when in <I>posix mode</I>, 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.
@@ -13426,7 +13466,7 @@ and
<B>-u</B>,
which are unscaled values;
-and, when in Posix mode,
+and, when in posix mode,
<B>-c</B>
and
@@ -13852,7 +13892,7 @@ There may be only one active coprocess at a time.
<HR>
<TABLE WIDTH=100%>
<TR>
-<TH ALIGN=LEFT width=33%>GNU Bash 5.0<TH ALIGN=CENTER width=33%>2018 March 15<TH ALIGN=RIGHT width=33%>BASH(1)
+<TH ALIGN=LEFT width=33%>GNU Bash 5.0<TH ALIGN=CENTER width=33%>2018 August 7<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<HR>
@@ -13958,6 +13998,6 @@ There may be only one active coprocess at a time.
</DL>
<HR>
This document was created by man2html from bash.1.<BR>
-Time: 19 March 2018 09:43:32 EDT
+Time: 07 September 2018 16:15:28 EDT
</BODY>
</HTML>
diff --git a/doc/bash.info b/doc/bash.info
index 9a4edb08..171e1a7f 100644
--- a/doc/bash.info
+++ b/doc/bash.info
@@ -2,9 +2,9 @@ This is bash.info, produced by makeinfo version 6.5 from
bashref.texi.
This text is a brief description of the features that are present in the
-Bash shell (version 5.0, 15 March 2018).
+Bash shell (version 5.0, 7 August 2018).
- This is Edition 5.0, last updated 15 March 2018, of 'The GNU Bash
+ This is Edition 5.0, last updated 7 August 2018, of 'The GNU Bash
Reference Manual', for 'Bash', Version 5.0.
Copyright (C) 1988-2018 Free Software Foundation, Inc.
@@ -27,10 +27,10 @@ Bash Features
*************
This text is a brief description of the features that are present in the
-Bash shell (version 5.0, 15 March 2018). The Bash home page is
+Bash shell (version 5.0, 7 August 2018). The Bash home page is
<http://www.gnu.org/software/bash/>.
- This is Edition 5.0, last updated 15 March 2018, of 'The GNU Bash
+ This is Edition 5.0, last updated 7 August 2018, of 'The GNU Bash
Reference Manual', for 'Bash', Version 5.0.
Bash contains features that appear in other popular shells, and some
@@ -768,7 +768,9 @@ File: bash.info, Node: Conditional Constructs, Next: Command Grouping, Prev:
'case'
The syntax of the 'case' command is:
- case WORD in [ [(] PATTERN [| PATTERN]...) COMMAND-LIST ;;]... esac
+ case WORD in
+ [ [(] PATTERN [| PATTERN]...) COMMAND-LIST ;;]...
+ esac
'case' will selectively execute the COMMAND-LIST corresponding to
the first PATTERN that matches WORD. The match is performed
@@ -883,30 +885,30 @@ File: bash.info, Node: Conditional Constructs, Next: Command Grouping, Prev:
'shopt' in *note The Shopt Builtin::) is enabled, the match is
performed without regard to the case of alphabetic characters. The
return value is 0 if the string matches ('==') or does not match
- ('!=')the pattern, and 1 otherwise. Any part of the pattern may be
- quoted to force the quoted portion to be matched as a string.
+ ('!=') the pattern, and 1 otherwise. Any part of the pattern may
+ be quoted to force the quoted portion to be matched as a string.
An additional binary operator, '=~', is available, with the same
precedence as '==' and '!='. When it is used, the string to the
- right of the operator is considered an extended regular expression
- and matched accordingly (as in regex3)). The return value is 0 if
- the string matches the pattern, and 1 otherwise. If the regular
- expression is syntactically incorrect, the conditional expression's
- return value is 2. If the 'nocasematch' shell option (see the
- description of 'shopt' in *note The Shopt Builtin::) is enabled,
- the match is performed without regard to the case of alphabetic
- characters. Any part of the pattern may be quoted to force the
- quoted portion to be matched as a string. Bracket expressions in
- regular expressions must be treated carefully, since normal quoting
- characters lose their meanings between brackets. If the pattern is
- stored in a shell variable, quoting the variable expansion forces
- the entire pattern to be matched as a string. Substrings matched
- by parenthesized subexpressions within the regular expression are
- saved in the array variable 'BASH_REMATCH'. The element of
- 'BASH_REMATCH' with index 0 is the portion of the string matching
- the entire regular expression. The element of 'BASH_REMATCH' with
- index N is the portion of the string matching the Nth parenthesized
- subexpression.
+ right of the operator is considered a POSIX extended regular
+ expression and matched accordingly (as in regex3)). The return
+ value is 0 if the string matches the pattern, and 1 otherwise. If
+ the regular expression is syntactically incorrect, the conditional
+ expression's return value is 2. If the 'nocasematch' shell option
+ (see the description of 'shopt' in *note The Shopt Builtin::) is
+ enabled, the match is performed without regard to the case of
+ alphabetic characters. Any part of the pattern may be quoted to
+ force the quoted portion to be matched as a string. Bracket
+ expressions in regular expressions must be treated carefully, since
+ normal quoting characters lose their meanings between brackets. If
+ the pattern is stored in a shell variable, quoting the variable
+ expansion forces the entire pattern to be matched as a string.
+ Substrings matched by parenthesized subexpressions within the
+ regular expression are saved in the array variable 'BASH_REMATCH'.
+ The element of 'BASH_REMATCH' with index 0 is the portion of the
+ string matching the entire regular expression. The element of
+ 'BASH_REMATCH' with index N is the portion of the string matching
+ the Nth parenthesized subexpression.
For example, the following will match a line (stored in the shell
variable LINE) if there is a sequence of characters in the value
@@ -1103,7 +1105,8 @@ read from a file (in this case, filenames listed one per line):
done < file | process-output
with a more compact syntax reminiscent of lambdas:
- cat list | parallel "do-something1 {} config-{} ; do-something2 < {}" | process-output
+ 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:
@@ -1118,10 +1121,18 @@ take arguments from the command line; the above can also be written as
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
+ {
+ echo foss.org.my ;
+ echo debian.org ;
+ echo freenetproject.org ;
+ } | parallel traceroute
will display as output the traceroute invocation that finishes first.
Adding the '-k' option
- { echo foss.org.my ; echo debian.org; echo freenetproject.org; } | parallel -k traceroute
+ {
+ 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.
@@ -1406,15 +1417,21 @@ only be referenced; assignment to them is not allowed.
is null, the parameters are joined without intervening separators.
'@'
- ($@) 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 '"$1" "$2"
- ...'. If the double-quoted expansion occurs within a word, the
- expansion of the first parameter is joined with the beginning part
- of the original word, and the expansion of the last parameter is
- joined with the last part of the original word. When there are no
- positional parameters, '"$@"' and '$@' expand to nothing (i.e.,
- they are removed).
+ ($@) Expands to the positional parameters, starting from one. In
+ contexts where word splitting is performed, this expands each
+ positional parameter to a separate word; if not within double
+ quotes, these words are subject to word splitting. In contexts
+ where word splitting is not performed, this expands to a single
+ word with each positional parameter separated by a space. When the
+ expansion occurs within double quotes, and word splitting is
+ performed, each parameter expands to a separate word. That is,
+ '"$@"' is equivalent to '"$1" "$2" ...'. If the double-quoted
+ expansion occurs within a word, the expansion of the first
+ parameter is joined with the beginning part of the original word,
+ and the expansion of the last parameter is joined with the last
+ part of the original word. When there are no positional
+ parameters, '"$@"' and '$@' expand to nothing (i.e., they are
+ removed).
'#'
($#) Expands to the number of positional parameters in decimal.
@@ -1628,6 +1645,11 @@ assigns the expanded value.
'~-N'
The string that would be displayed by 'dirs -N'
+ Bash also performs tilde expansion on words satisfying the conditions
+of variable assignments (*note Shell Parameters::) when they appear as
+arguments to simple commands. Bash does not do this, except for the
+DECLARATION commands listed above, when in POSIX mode.
+

File: bash.info, Node: Shell Parameter Expansion, Next: Command Substitution, Prev: Tilde Expansion, Up: Shell Expansions
@@ -1653,18 +1675,17 @@ parameter with more than one digit, or when PARAMETER is followed by a
character that is not to be interpreted as part of its name.
If the first character of PARAMETER is an exclamation point (!), and
-PARAMETER is not a NAMEREF, it introduces a level of variable
-indirection. Bash uses the value of 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
-value is subject to tilde expansion, parameter expansion, command
-substitution, and arithmetic expansion. If PARAMETER is a nameref, this
-expands to the name of the variable referenced by PARAMETER instead of
-performing the complete 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.
+PARAMETER is not a NAMEREF, it introduces a level of indirection. Bash
+uses the value formed by expanding the rest of PARAMETER as the new
+PARAMETER; this is then expanded and that value is used in the rest of
+the expansion, rather than the expansion of the original PARAMETER.
+This is known as 'indirect expansion'. The value is subject to tilde
+expansion, parameter expansion, command substitution, and arithmetic
+expansion. If PARAMETER is a nameref, this expands to the name of the
+variable referenced by PARAMETER instead of performing the complete
+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.
In each of the cases below, WORD is subject to tilde expansion,
parameter expansion, command substitution, and arithmetic expansion.
@@ -3662,8 +3683,8 @@ standard.
Exit a login shell, returning a status of N to the shell's parent.
'mapfile'
- mapfile [-d DELIM] [-n COUNT] [-O ORIGIN] [-s COUNT] [-t] [-u FD]
- [-C CALLBACK] [-c QUANTUM] [ARRAY]
+ mapfile [-d DELIM] [-n COUNT] [-O ORIGIN] [-s COUNT]
+ [-t] [-u FD] [-C CALLBACK] [-c QUANTUM] [ARRAY]
Read lines from the standard input into the indexed array variable
ARRAY, or from file descriptor FD if the '-u' option is supplied.
@@ -3846,8 +3867,8 @@ standard.
Read input from file descriptor FD.
'readarray'
- readarray [-d DELIM] [-n COUNT] [-O ORIGIN] [-s COUNT] [-t] [-u FD]
- [-C CALLBACK] [-c QUANTUM] [ARRAY]
+ readarray [-d DELIM] [-n COUNT] [-O ORIGIN] [-s COUNT]
+ [-t] [-u FD] [-C CALLBACK] [-c QUANTUM] [ARRAY]
Read lines from the standard input into the indexed array variable
ARRAY, or from file descriptor FD if the '-u' option is supplied.
@@ -4826,7 +4847,8 @@ Variables::).
onto 'BASH_ARGC'. The shell sets 'BASH_ARGC' only when in extended
debugging mode (see *note The Shopt Builtin:: for a description of
the 'extdebug' option to the 'shopt' builtin). Setting 'extdebug'
- after the shell has started to execute a script may result in
+ after the shell has started to execute a script, or referencing
+ this variable when 'extdebug' is not set, may result in
inconsistent values.
'BASH_ARGV'
@@ -4838,7 +4860,8 @@ Variables::).
sets 'BASH_ARGV' only when in extended debugging mode (see *note
The Shopt Builtin:: for a description of the 'extdebug' option to
the 'shopt' builtin). Setting 'extdebug' after the shell has
- started to execute a script may result in inconsistent values.
+ started to execute a script, or referencing this variable when
+ 'extdebug' is not set, may result in inconsistent values.
'BASH_ARGV0'
When referenced, this variable expands to the name of the shell or
@@ -5228,7 +5251,7 @@ Variables::).
as the sole input. If set, the value denotes the number of
consecutive 'EOF' characters that can be read as the first
character on an input line before the shell will exit. If the
- variable exists but does not have a numeric value (or has no value)
+ variable exists but does not have a numeric value, or has no value,
then the default is 10. If the variable does not exist, then 'EOF'
signifies the end of input to the shell. This is only in effect
for interactive shells.
@@ -5237,6 +5260,12 @@ Variables::).
The name of the Readline initialization file, overriding the
default of '~/.inputrc'.
+'INSIDE_EMACS'
+ If Bash finds this variable in the environment when the shell
+ starts, it assumes that the shell is running in an Emacs shell
+ buffer and may disable line editing depending on the value of
+ 'TERM'.
+
'LANG'
Used to determine the locale category for any category not
specifically selected with a variable starting with 'LC_'.
@@ -5317,7 +5346,8 @@ Variables::).
supplied. If it is set while the shell is running, Bash enables
POSIX mode, as if the command
set -o posix
- had been executed.
+ had been executed. When the shell enters POSIX mode, it sets this
+ variable if it was not already set.
'PPID'
The process ID of the shell's parent process. This variable is
@@ -5484,9 +5514,12 @@ File: bash.info, Node: Invoking Bash, Next: Bash Startup Files, Up: Bash Feat
6.1 Invoking Bash
=================
- bash [long-opt] [-ir] [-abefhkmnptuvxdBCDHP] [-o OPTION] [-O SHOPT_OPTION] [ARGUMENT ...]
- bash [long-opt] [-abefhkmnptuvxdBCDHP] [-o OPTION] [-O SHOPT_OPTION] -c STRING [ARGUMENT ...]
- bash [long-opt] -s [-abefhkmnptuvxdBCDHP] [-o OPTION] [-O SHOPT_OPTION] [ARGUMENT ...]
+ bash [long-opt] [-ir] [-abefhkmnptuvxdBCDHP] [-o OPTION]
+ [-O SHOPT_OPTION] [ARGUMENT ...]
+ bash [long-opt] [-abefhkmnptuvxdBCDHP] [-o OPTION]
+ [-O SHOPT_OPTION] -c STRING [ARGUMENT ...]
+ bash [long-opt] -s [-abefhkmnptuvxdBCDHP] [-o OPTION]
+ [-O SHOPT_OPTION] [ARGUMENT ...]
All of the single-character options used with the 'set' builtin
(*note The Set Builtin::) can be used as options when the shell is
@@ -5832,8 +5865,8 @@ several ways.
9. In the absence of any traps, Bash ignores 'SIGTERM' (*note
Signals::).
- 10. In the absence of any traps, 'SIGINT' is caught and handled
- ((*note Signals::). 'SIGINT' will interrupt some shell builtins.
+ 10. In the absence of any traps, 'SIGINT' is caught and handled (*note
+ Signals::). 'SIGINT' will interrupt some shell builtins.
11. An interactive login shell sends a 'SIGHUP' to all jobs on exit if
the 'huponexit' shell option has been enabled (*note Signals::).
@@ -6453,7 +6486,8 @@ of commands executed during the current shell session.
After the string is decoded, it is expanded via parameter expansion,
command substitution, arithmetic expansion, and quote removal, subject
-to the value of the 'promptvars' shell option (*note Bash Builtins::).
+to the value of the 'promptvars' shell option (*note The Shopt
+Builtin::).

File: bash.info, Node: The Restricted Shell, Next: Bash POSIX Mode, Prev: Controlling the Prompt, Up: Bash Features
@@ -6511,212 +6545,214 @@ startup files.
The following list is what's changed when 'POSIX mode' is in effect:
- 1. When a command in the hash table no longer exists, Bash will
+ 1. Bash ensures that the 'POSIXLY_CORRECT' variable is set.
+
+ 2. When a command in the hash table no longer exists, Bash will
re-search '$PATH' to find the new location. This is also available
with 'shopt -s checkhash'.
- 2. The message printed by the job control code and builtins when a job
+ 3. The message printed by the job control code and builtins when a job
exits with a non-zero status is 'Done(status)'.
- 3. The message printed by the job control code and builtins when a job
+ 4. The message printed by the job control code and builtins when a job
is stopped is 'Stopped(SIGNAME)', where SIGNAME is, for example,
'SIGTSTP'.
- 4. Alias expansion is always enabled, even in non-interactive shells.
+ 5. Alias expansion is always enabled, even in non-interactive shells.
- 5. Reserved words appearing in a context where reserved words are
+ 6. Reserved words appearing in a context where reserved words are
recognized do not undergo alias expansion.
- 6. The POSIX 'PS1' and 'PS2' expansions of '!' to the history number
+ 7. The POSIX 'PS1' and 'PS2' expansions of '!' to the history number
and '!!' to '!' are enabled, and parameter expansion is performed
on the values of 'PS1' and 'PS2' regardless of the setting of the
'promptvars' option.
- 7. The POSIX startup files are executed ('$ENV') rather than the
+ 8. The POSIX startup files are executed ('$ENV') rather than the
normal Bash files.
- 8. Tilde expansion is only performed on assignments preceding a
+ 9. Tilde expansion is only performed on assignments preceding a
command name, rather than on all assignment statements on the line.
- 9. The default history file is '~/.sh_history' (this is the default
+ 10. The default history file is '~/.sh_history' (this is the default
value of '$HISTFILE').
- 10. Redirection operators do not perform filename expansion on the
+ 11. Redirection operators do not perform filename expansion on the
word in the redirection unless the shell is interactive.
- 11. Redirection operators do not perform word splitting on the word in
+ 12. Redirection operators do not perform word splitting on the word in
the redirection.
- 12. Function names must be valid shell 'name's. That is, they may not
+ 13. 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.
- 13. Function names may not be the same as one of the POSIX special
+ 14. Function names may not be the same as one of the POSIX special
builtins.
- 14. POSIX special builtins are found before shell functions during
+ 15. POSIX special builtins are found before shell functions during
command lookup.
- 15. When printing shell function definitions (e.g., by 'type'), Bash
+ 16. When printing shell function definitions (e.g., by 'type'), Bash
does not print the 'function' keyword.
- 16. Literal tildes that appear as the first character in elements of
+ 17. Literal tildes that appear as the first character in elements of
the 'PATH' variable are not expanded as described above under *note
Tilde Expansion::.
- 17. The 'time' reserved word may be used by itself as a command. When
+ 18. 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.
- 18. When parsing and expanding a ${...} expansion that appears within
+ 19. 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.
- 19. The parser does not recognize 'time' as a reserved word if the
+ 20. The parser does not recognize 'time' as a reserved word if the
next token begins with a '-'.
- 20. The '!' character does not introduce history expansion within a
+ 21. The '!' character does not introduce history expansion within a
double-quoted string, even if the 'histexpand' option is enabled.
- 21. If a POSIX special builtin returns an error status, 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.
- 22. 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.
- 23. A non-interactive shell exits with an error status if a variable
+ 24. A non-interactive shell exits 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.
- 24. A non-interactive shell exits with an error status if the
+ 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.
- 25. Non-interactive shells exit if FILENAME in '.' FILENAME is not
+ 26. Non-interactive shells exit if FILENAME in '.' FILENAME is not
found.
- 26. Non-interactive shells exit if a syntax error in an arithmetic
+ 27. Non-interactive shells exit if a syntax error in an arithmetic
expansion results in an invalid expression.
- 27. Non-interactive shells exit if a parameter expansion error occurs.
+ 28. Non-interactive shells exit if a parameter expansion error occurs.
- 28. Non-interactive shells exit if there is a syntax error in a script
+ 29. 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.
- 29. Process substitution is not available.
+ 30. Process substitution is not available.
- 30. While variable indirection is available, it may not be applied to
+ 31. While variable indirection is available, it may not be applied to
the '#' and '?' special parameters.
- 31. When expanding the '*' special parameter in a pattern context
+ 32. When expanding the '*' special parameter in a pattern context
where the expansion is double-quoted does not treat the '$*' as if
it were double-quoted.
- 32. Assignment statements preceding POSIX special builtins persist in
+ 33. Assignment statements preceding POSIX special builtins persist in
the shell environment after the builtin completes.
- 33. Assignment statements preceding shell function calls persist in
+ 34. 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.
- 34. The 'command' builtin does not prevent builtins that take
+ 35. The 'command' builtin does not prevent builtins that take
assignment statements as arguments from expanding them as
assignment statements; when not in POSIX mode, assignment builtins
lose their assignment statement expansion properties when preceded
by 'command'.
- 35. The 'bg' builtin uses the required format to describe each job
+ 36. The 'bg' builtin uses the required format to describe each job
placed in the background, which does not include an indication of
whether the job is the current or previous job.
- 36. The output of 'kill -l' prints all the signal names on a single
+ 37. The output of 'kill -l' prints all the signal names on a single
line, separated by spaces, without the 'SIG' prefix.
- 37. The 'kill' builtin does not accept signal names with a 'SIG'
+ 38. The 'kill' builtin does not accept signal names with a 'SIG'
prefix.
- 38. The 'export' and 'readonly' builtin commands display their output
+ 39. The 'export' and 'readonly' builtin commands display their output
in the format required by POSIX.
- 39. The 'trap' builtin displays signal names without the leading
+ 40. The 'trap' builtin displays signal names without the leading
'SIG'.
- 40. The 'trap' builtin doesn't check the first argument for a possible
+ 41. 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.
- 41. The '.' and 'source' builtins do not search the current directory
+ 42. The '.' and 'source' builtins do not search the current directory
for the filename argument if it is not found by searching 'PATH'.
- 42. Enabling POSIX mode has the effect of setting the
+ 43. Enabling POSIX mode has the effect of setting the
'inherit_errexit' option, so subshells spawned to execute command
substitutions inherit the value of the '-e' option from the parent
shell. When the 'inherit_errexit' option is not enabled, Bash
clears the '-e' option in such subshells.
- 43. When the 'alias' builtin displays alias definitions, it does not
+ 44. When the 'alias' builtin displays alias definitions, it does not
display them with a leading 'alias ' unless the '-p' option is
supplied.
- 44. When the 'set' builtin is invoked without options, it does not
+ 45. When the 'set' builtin is invoked without options, it does not
display shell function names and definitions.
- 45. When the 'set' builtin is invoked without options, it displays
+ 46. 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.
- 46. When the 'cd' builtin is invoked in LOGICAL mode, and the pathname
+ 47. 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.
- 47. The 'pwd' builtin verifies that the value it prints is the same as
+ 48. 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.
- 48. When listing the history, the 'fc' builtin does not include an
+ 49. When listing the history, the 'fc' builtin does not include an
indication of whether or not a history entry has been modified.
- 49. The default editor used by 'fc' is 'ed'.
+ 50. The default editor used by 'fc' is 'ed'.
- 50. The 'type' and 'command' builtins will not report a non-executable
+ 51. 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'.
- 51. The 'vi' editing mode will invoke the 'vi' editor directly when
+ 52. The 'vi' editing mode will invoke the 'vi' editor directly when
the 'v' command is run, instead of checking '$VISUAL' and
'$EDITOR'.
- 52. When the 'xpg_echo' option is enabled, Bash does not attempt to
+ 53. 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.
- 53. The 'ulimit' builtin uses a block size of 512 bytes for the '-c'
+ 54. The 'ulimit' builtin uses a block size of 512 bytes for the '-c'
and '-f' options.
- 54. The arrival of 'SIGCHLD' when a trap is set on 'SIGCHLD' does not
+ 55. 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.
- 55. The 'read' builtin may be interrupted by a signal for which a trap
+ 56. The 'read' builtin may be interrupted by a signal for which a trap
has been set. If Bash receives a trapped signal while executing
'read', the trap handler executes and 'read' returns an exit status
greater than 128.
- 56. Bash removes an exited background process's status from the list
+ 57. Bash removes an exited background process's status from the list
of such statuses after the 'wait' builtin is used to obtain it.
There is other POSIX behavior that Bash does not implement by default
@@ -7374,7 +7410,7 @@ Variable Settings
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.
+ and completion. The default value is 'off'.
'completion-prefix-display-length'
The length in characters of the common prefix of a list of
@@ -7650,7 +7686,7 @@ Key Bindings
Meta-Rubout: backward-kill-word
Control-o: "> output"
- In the above example, 'C-u' is bound to the function
+ In the example above, 'C-u' is bound to the function
'universal-argument', 'M-DEL' is bound to the function
'backward-kill-word', and 'C-o' is bound to run the macro
expressed on the right hand side (that is, to insert the text
@@ -8141,7 +8177,7 @@ File: bash.info, Node: Commands For Text, Next: Commands For Killing, Prev: C
assigned by default. It allows Readline to insert the pasted text
as a single unit without treating each character as if it had been
read from the keyboard. The characters are inserted as if each one
- was bound to 'self-insert') instead of executing any editing
+ was bound to 'self-insert' instead of executing any editing
commands.
'transpose-chars (C-t)'
@@ -8737,26 +8773,34 @@ happening.
no matches were generated.
'complete'
- complete [-abcdefgjksuv] [-o COMP-OPTION] [-DE] [-A ACTION] [-G GLOBPAT] [-W WORDLIST]
- [-F FUNCTION] [-C COMMAND] [-X FILTERPAT]
+ complete [-abcdefgjksuv] [-o COMP-OPTION] [-DEI] [-A ACTION] [-G GLOBPAT]
+ [-W WORDLIST] [-F FUNCTION] [-C COMMAND] [-X FILTERPAT]
[-P PREFIX] [-S SUFFIX] NAME [NAME ...]
- complete -pr [-DE] [NAME ...]
+ complete -pr [-DEI] [NAME ...]
Specify how arguments to each NAME should be completed. If the
'-p' 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 '-r' option removes a completion
specification for each NAME, or, if no NAMEs are supplied, all
- completion specifications. The '-D' option indicates that the
- remaining options and actions should apply to the "default" command
+ completion specifications. The '-D' option indicates that other
+ supplied 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 '-E' option indicates
- that the remaining options and actions should apply to "empty"
+ that other supplied options and actions should apply to "empty"
command completion; that is, completion attempted on a blank line.
+ The '-I' option indicates that other supplied options and actions
+ should apply to completion on the inital non-assignment word on the
+ line, or after a command delimiter such as ';' or '|', which is
+ usually command name completion. If multiple options are supplied,
+ the '-D' option takes precedence over '-E', and both take
+ precedence over '-I'. If any of '-D', '-E', or '-I' are supplied,
+ any other NAME arguments are ignored; these completions only apply
+ to the case specified by the option.
The process of applying these completion specifications when word
completion is attempted is described above (*note Programmable
- Completion::). The '-D' option takes precedence over '-E'.
+ Completion::).
Other options, if specified, have the following meanings. The
arguments to the '-G', '-W', and '-X' options (and, if necessary,
@@ -8783,7 +8827,7 @@ happening.
'filenames'
Tell Readline that the compspec generates filenames, so
it can perform any filename-specific processing (like
- adding a slash to directory names quoting special
+ adding a slash to directory names, quoting special
characters, or suppressing trailing spaces). This option
is intended to be used with shell functions specified
with '-F'.
@@ -8936,20 +8980,24 @@ happening.
completion specification.
'compopt'
- compopt [-o OPTION] [-DE] [+o OPTION] [NAME]
+ compopt [-o OPTION] [-DEI] [+o OPTION] [NAME]
Modify completion options for each NAME according to the OPTIONs,
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'
- option indicates that the remaining options should apply to the
+ option indicates that other supplied options should apply to the
"default" command completion; that is, completion attempted on a
command for which no completion has previously been defined. The
- '-E' option indicates that the remaining options should apply to
+ '-E' option indicates that other supplied options should apply to
"empty" command completion; that is, completion attempted on a
- blank line.
+ blank line. The '-I' option indicates that other supplied options
+ should apply to completion on the inital non-assignment word on the
+ line, or after a command delimiter such as ';' or '|', which is
+ usually command name completion.
- The '-D' option takes precedence over '-E'.
+ If multiple options are supplied, the '-D' option takes precedence
+ over '-E', and both take precedence over '-I'
The return value is true unless an invalid option is supplied, an
attempt is made to modify the options for a NAME for which no
@@ -8993,7 +9041,7 @@ retrieves the completions from there when the function returns.
local cur _skipdot _cdpath
local i j k
- # Tilde expansion, with side effect of expanding tilde to full pathname
+ # Tilde expansion, which also expands tilde to full pathname
case "$2" in
\~*) eval cur="$2" ;;
*) cur=$2 ;;
@@ -9263,7 +9311,8 @@ previous commands quickly.
History expansion is performed immediately after a complete line is
read, before the shell breaks it into words, and is performed on each
-line individually without taking quoting on previous lines into account.
+line individually. Bash attempts to inform the history expansion
+functions about quoting still in effect from previous lines.
History expansion takes place in two parts. The first is to
determine which line from the history list should be used during
@@ -9274,10 +9323,20 @@ are called "words". Various "modifiers" are available to manipulate the
selected words. The line is broken into words in the same fashion that
Bash does, so that several words surrounded by quotes are considered one
word. History expansions are introduced by the appearance of the
-history expansion character, which is '!' by default. Only '\' and '''
-may be used to escape the history expansion character, but the history
-expansion character is also treated as quoted if it immediately precedes
-the closing double quote in a double-quoted string.
+history expansion character, which is '!' by default.
+
+ History expansion implements shell-like quoting conventions: a
+backslash can be used to remove the special handling for the next
+character; single quotes enclose verbatim sequences of characters, and
+can be used to inhibit history expansion; and characters enclosed within
+double quotes may be subject to history expansion, since backslash can
+escape the history expansion character, but single quotes may not, since
+they are not treated specially within double quotes.
+
+ When using the shell, only '\' and ''' may be used to escape the
+history expansion character, but the history expansion character is also
+treated as quoted if it immediately precedes the closing double quote in
+a double-quoted string.
Several shell options settable with the 'shopt' builtin (*note The
Shopt Builtin::) may be used to tailor the behavior of history
@@ -9760,8 +9819,8 @@ and linked, rather than changing run-time features.
'--enable-largefile'
Enable support for large files
- (http://www.sas.com/standards/large_file/x_open.20Mar96.html) if
- the operating system requires special compiler options to build
+ (http://www.unix.org/version2/whatsnew/lfs20mar.html) if the
+ operating system requires special compiler options to build
programs which can access large files. This is enabled by default,
if the operating system provides large file support.
@@ -10881,7 +10940,7 @@ D.1 Index of Shell Builtin Commands
* complete: Programmable Completion Builtins.
(line 30)
* compopt: Programmable Completion Builtins.
- (line 229)
+ (line 237)
* continue: Bourne Shell Builtins.
(line 85)
* declare: Bash Builtins. (line 148)
@@ -10966,9 +11025,9 @@ D.2 Index of Shell Reserved Words
* !: Pipelines. (line 9)
* [[: Conditional Constructs.
- (line 122)
+ (line 124)
* ]]: Conditional Constructs.
- (line 122)
+ (line 124)
* {: Command Grouping. (line 21)
* }: Command Grouping. (line 21)
* case: Conditional Constructs.
@@ -10990,7 +11049,7 @@ D.2 Index of Shell Reserved Words
* in: Conditional Constructs.
(line 28)
* select: Conditional Constructs.
- (line 80)
+ (line 82)
* then: Conditional Constructs.
(line 7)
* time: Pipelines. (line 9)
@@ -11006,24 +11065,24 @@ D.3 Parameter and Variable Index
* Menu:
-* !: Special Parameters. (line 50)
-* #: Special Parameters. (line 33)
-* $: Special Parameters. (line 45)
-* $!: Special Parameters. (line 51)
-* $#: Special Parameters. (line 34)
-* $$: Special Parameters. (line 46)
+* !: Special Parameters. (line 56)
+* #: Special Parameters. (line 39)
+* $: Special Parameters. (line 51)
+* $!: Special Parameters. (line 57)
+* $#: Special Parameters. (line 40)
+* $$: Special Parameters. (line 52)
* $*: Special Parameters. (line 10)
-* $-: Special Parameters. (line 41)
-* $0: Special Parameters. (line 56)
-* $?: Special Parameters. (line 37)
+* $-: Special Parameters. (line 47)
+* $0: Special Parameters. (line 62)
+* $?: Special Parameters. (line 43)
* $@: Special Parameters. (line 23)
-* $_: Special Parameters. (line 65)
+* $_: Special Parameters. (line 71)
* *: Special Parameters. (line 9)
-* -: Special Parameters. (line 40)
-* 0: Special Parameters. (line 55)
-* ?: Special Parameters. (line 36)
+* -: Special Parameters. (line 46)
+* 0: Special Parameters. (line 61)
+* ?: Special Parameters. (line 42)
* @: Special Parameters. (line 22)
-* _: Special Parameters. (line 64)
+* _: Special Parameters. (line 70)
* auto_resume: Job Control Variables.
(line 6)
* BASH: Bash Variables. (line 13)
@@ -11031,21 +11090,21 @@ D.3 Parameter and Variable Index
* BASHPID: Bash Variables. (line 25)
* BASH_ALIASES: Bash Variables. (line 32)
* BASH_ARGC: Bash Variables. (line 41)
-* BASH_ARGV: Bash Variables. (line 53)
-* BASH_ARGV0: Bash Variables. (line 64)
-* BASH_CMDS: Bash Variables. (line 72)
-* BASH_COMMAND: Bash Variables. (line 81)
-* BASH_COMPAT: Bash Variables. (line 86)
-* BASH_ENV: Bash Variables. (line 101)
-* BASH_EXECUTION_STRING: Bash Variables. (line 107)
-* BASH_LINENO: Bash Variables. (line 110)
-* BASH_LOADABLES_PATH: Bash Variables. (line 118)
-* BASH_REMATCH: Bash Variables. (line 122)
-* BASH_SOURCE: Bash Variables. (line 130)
-* BASH_SUBSHELL: Bash Variables. (line 137)
-* BASH_VERSINFO: Bash Variables. (line 142)
-* BASH_VERSION: Bash Variables. (line 165)
-* BASH_XTRACEFD: Bash Variables. (line 168)
+* BASH_ARGV: Bash Variables. (line 54)
+* BASH_ARGV0: Bash Variables. (line 66)
+* BASH_CMDS: Bash Variables. (line 74)
+* BASH_COMMAND: Bash Variables. (line 83)
+* BASH_COMPAT: Bash Variables. (line 88)
+* BASH_ENV: Bash Variables. (line 103)
+* BASH_EXECUTION_STRING: Bash Variables. (line 109)
+* BASH_LINENO: Bash Variables. (line 112)
+* BASH_LOADABLES_PATH: Bash Variables. (line 120)
+* BASH_REMATCH: Bash Variables. (line 124)
+* BASH_SOURCE: Bash Variables. (line 132)
+* BASH_SUBSHELL: Bash Variables. (line 139)
+* BASH_VERSINFO: Bash Variables. (line 144)
+* BASH_VERSION: Bash Variables. (line 167)
+* BASH_XTRACEFD: Bash Variables. (line 170)
* bell-style: Readline Init File Syntax.
(line 38)
* bind-tty-special-chars: Readline Init File Syntax.
@@ -11054,12 +11113,12 @@ D.3 Parameter and Variable Index
(line 50)
* CDPATH: Bourne Shell Variables.
(line 9)
-* CHILD_MAX: Bash Variables. (line 179)
+* CHILD_MAX: Bash Variables. (line 181)
* colored-completion-prefix: Readline Init File Syntax.
(line 55)
* colored-stats: Readline Init File Syntax.
(line 62)
-* COLUMNS: Bash Variables. (line 186)
+* COLUMNS: Bash Variables. (line 188)
* comment-begin: Readline Init File Syntax.
(line 68)
* completion-display-width: Readline Init File Syntax.
@@ -11072,90 +11131,91 @@ D.3 Parameter and Variable Index
(line 91)
* completion-query-items: Readline Init File Syntax.
(line 98)
-* COMPREPLY: Bash Variables. (line 238)
-* COMP_CWORD: Bash Variables. (line 192)
-* COMP_KEY: Bash Variables. (line 221)
-* COMP_LINE: Bash Variables. (line 198)
-* COMP_POINT: Bash Variables. (line 203)
-* COMP_TYPE: Bash Variables. (line 211)
-* COMP_WORDBREAKS: Bash Variables. (line 225)
-* COMP_WORDS: Bash Variables. (line 231)
+* COMPREPLY: Bash Variables. (line 240)
+* COMP_CWORD: Bash Variables. (line 194)
+* COMP_KEY: Bash Variables. (line 223)
+* COMP_LINE: Bash Variables. (line 200)
+* COMP_POINT: Bash Variables. (line 205)
+* COMP_TYPE: Bash Variables. (line 213)
+* COMP_WORDBREAKS: Bash Variables. (line 227)
+* COMP_WORDS: Bash Variables. (line 233)
* convert-meta: Readline Init File Syntax.
(line 108)
-* COPROC: Bash Variables. (line 244)
-* DIRSTACK: Bash Variables. (line 248)
+* COPROC: Bash Variables. (line 246)
+* DIRSTACK: Bash Variables. (line 250)
* disable-completion: Readline Init File Syntax.
(line 116)
* echo-control-characters: Readline Init File Syntax.
(line 121)
* editing-mode: Readline Init File Syntax.
(line 126)
-* EMACS: Bash Variables. (line 258)
+* EMACS: Bash Variables. (line 260)
* emacs-mode-string: Readline Init File Syntax.
(line 132)
* enable-bracketed-paste: Readline Init File Syntax.
(line 142)
* enable-keypad: Readline Init File Syntax.
(line 150)
-* ENV: Bash Variables. (line 263)
-* EPOCHREALTIME: Bash Variables. (line 267)
-* EPOCHSECONDS: Bash Variables. (line 275)
-* EUID: Bash Variables. (line 282)
-* EXECIGNORE: Bash Variables. (line 286)
+* ENV: Bash Variables. (line 265)
+* EPOCHREALTIME: Bash Variables. (line 269)
+* EPOCHSECONDS: Bash Variables. (line 277)
+* EUID: Bash Variables. (line 284)
+* EXECIGNORE: Bash Variables. (line 288)
* expand-tilde: Readline Init File Syntax.
(line 161)
-* FCEDIT: Bash Variables. (line 299)
-* FIGNORE: Bash Variables. (line 303)
-* FUNCNAME: Bash Variables. (line 309)
-* FUNCNEST: Bash Variables. (line 326)
-* GLOBIGNORE: Bash Variables. (line 331)
-* GROUPS: Bash Variables. (line 338)
-* histchars: Bash Variables. (line 344)
-* HISTCMD: Bash Variables. (line 359)
-* HISTCONTROL: Bash Variables. (line 364)
-* HISTFILE: Bash Variables. (line 380)
-* HISTFILESIZE: Bash Variables. (line 384)
-* HISTIGNORE: Bash Variables. (line 395)
+* FCEDIT: Bash Variables. (line 301)
+* FIGNORE: Bash Variables. (line 305)
+* FUNCNAME: Bash Variables. (line 311)
+* FUNCNEST: Bash Variables. (line 328)
+* GLOBIGNORE: Bash Variables. (line 333)
+* GROUPS: Bash Variables. (line 340)
+* histchars: Bash Variables. (line 346)
+* HISTCMD: Bash Variables. (line 361)
+* HISTCONTROL: Bash Variables. (line 366)
+* HISTFILE: Bash Variables. (line 382)
+* HISTFILESIZE: Bash Variables. (line 386)
+* HISTIGNORE: Bash Variables. (line 397)
* history-preserve-point: Readline Init File Syntax.
(line 165)
* history-size: Readline Init File Syntax.
(line 171)
-* HISTSIZE: Bash Variables. (line 415)
-* HISTTIMEFORMAT: Bash Variables. (line 422)
+* HISTSIZE: Bash Variables. (line 417)
+* HISTTIMEFORMAT: Bash Variables. (line 424)
* HOME: Bourne Shell Variables.
(line 13)
* horizontal-scroll-mode: Readline Init File Syntax.
(line 180)
-* HOSTFILE: Bash Variables. (line 430)
-* HOSTNAME: Bash Variables. (line 441)
-* HOSTTYPE: Bash Variables. (line 444)
+* HOSTFILE: Bash Variables. (line 432)
+* HOSTNAME: Bash Variables. (line 443)
+* HOSTTYPE: Bash Variables. (line 446)
* IFS: Bourne Shell Variables.
(line 18)
-* IGNOREEOF: Bash Variables. (line 447)
+* IGNOREEOF: Bash Variables. (line 449)
* input-meta: Readline Init File Syntax.
(line 187)
-* INPUTRC: Bash Variables. (line 457)
+* INPUTRC: Bash Variables. (line 459)
+* INSIDE_EMACS: Bash Variables. (line 463)
* isearch-terminators: Readline Init File Syntax.
(line 195)
* keymap: Readline Init File Syntax.
(line 202)
-* LANG: Bash Variables. (line 461)
-* LC_ALL: Bash Variables. (line 465)
-* LC_COLLATE: Bash Variables. (line 469)
-* LC_CTYPE: Bash Variables. (line 476)
+* LANG: Bash Variables. (line 469)
+* LC_ALL: Bash Variables. (line 473)
+* LC_COLLATE: Bash Variables. (line 477)
+* LC_CTYPE: Bash Variables. (line 484)
* LC_MESSAGES: Locale Translation. (line 11)
-* LC_MESSAGES <1>: Bash Variables. (line 481)
-* LC_NUMERIC: Bash Variables. (line 485)
-* LC_TIME: Bash Variables. (line 489)
-* LINENO: Bash Variables. (line 493)
-* LINES: Bash Variables. (line 497)
-* MACHTYPE: Bash Variables. (line 503)
+* LC_MESSAGES <1>: Bash Variables. (line 489)
+* LC_NUMERIC: Bash Variables. (line 493)
+* LC_TIME: Bash Variables. (line 497)
+* LINENO: Bash Variables. (line 501)
+* LINES: Bash Variables. (line 505)
+* MACHTYPE: Bash Variables. (line 511)
* MAIL: Bourne Shell Variables.
(line 22)
-* MAILCHECK: Bash Variables. (line 507)
+* MAILCHECK: Bash Variables. (line 515)
* MAILPATH: Bourne Shell Variables.
(line 27)
-* MAPFILE: Bash Variables. (line 515)
+* MAPFILE: Bash Variables. (line 523)
* mark-modified-lines: Readline Init File Syntax.
(line 232)
* mark-symlinked-directories: Readline Init File Syntax.
@@ -11166,42 +11226,42 @@ D.3 Parameter and Variable Index
(line 249)
* meta-flag: Readline Init File Syntax.
(line 187)
-* OLDPWD: Bash Variables. (line 519)
+* OLDPWD: Bash Variables. (line 527)
* OPTARG: Bourne Shell Variables.
(line 34)
-* OPTERR: Bash Variables. (line 522)
+* OPTERR: Bash Variables. (line 530)
* OPTIND: Bourne Shell Variables.
(line 38)
-* OSTYPE: Bash Variables. (line 526)
+* OSTYPE: Bash Variables. (line 534)
* output-meta: Readline Init File Syntax.
(line 254)
* page-completions: Readline Init File Syntax.
(line 260)
* PATH: Bourne Shell Variables.
(line 42)
-* PIPESTATUS: Bash Variables. (line 529)
-* POSIXLY_CORRECT: Bash Variables. (line 534)
-* PPID: Bash Variables. (line 543)
-* PROMPT_COMMAND: Bash Variables. (line 547)
-* PROMPT_DIRTRIM: Bash Variables. (line 551)
-* PS0: Bash Variables. (line 557)
+* PIPESTATUS: Bash Variables. (line 537)
+* POSIXLY_CORRECT: Bash Variables. (line 542)
+* PPID: Bash Variables. (line 552)
+* PROMPT_COMMAND: Bash Variables. (line 556)
+* PROMPT_DIRTRIM: Bash Variables. (line 560)
+* PS0: Bash Variables. (line 566)
* PS1: Bourne Shell Variables.
(line 48)
* PS2: Bourne Shell Variables.
(line 53)
-* PS3: Bash Variables. (line 562)
-* PS4: Bash Variables. (line 567)
-* PWD: Bash Variables. (line 575)
-* RANDOM: Bash Variables. (line 578)
-* READLINE_LINE: Bash Variables. (line 583)
-* READLINE_POINT: Bash Variables. (line 587)
-* REPLY: Bash Variables. (line 591)
+* PS3: Bash Variables. (line 571)
+* PS4: Bash Variables. (line 576)
+* PWD: Bash Variables. (line 584)
+* RANDOM: Bash Variables. (line 587)
+* READLINE_LINE: Bash Variables. (line 592)
+* READLINE_POINT: Bash Variables. (line 596)
+* REPLY: Bash Variables. (line 600)
* revert-all-at-newline: Readline Init File Syntax.
(line 270)
-* SECONDS: Bash Variables. (line 594)
-* SHELL: Bash Variables. (line 600)
-* SHELLOPTS: Bash Variables. (line 605)
-* SHLVL: Bash Variables. (line 614)
+* SECONDS: Bash Variables. (line 603)
+* SHELL: Bash Variables. (line 609)
+* SHELLOPTS: Bash Variables. (line 614)
+* SHLVL: Bash Variables. (line 623)
* show-all-if-ambiguous: Readline Init File Syntax.
(line 276)
* show-all-if-unmodified: Readline Init File Syntax.
@@ -11212,10 +11272,10 @@ D.3 Parameter and Variable Index
(line 297)
* TEXTDOMAIN: Locale Translation. (line 11)
* TEXTDOMAINDIR: Locale Translation. (line 11)
-* TIMEFORMAT: Bash Variables. (line 619)
-* TMOUT: Bash Variables. (line 657)
-* TMPDIR: Bash Variables. (line 669)
-* UID: Bash Variables. (line 673)
+* TIMEFORMAT: Bash Variables. (line 628)
+* TMOUT: Bash Variables. (line 666)
+* TMPDIR: Bash Variables. (line 678)
+* UID: Bash Variables. (line 682)
* vi-cmd-mode-string: Readline Init File Syntax.
(line 310)
* vi-ins-mode-string: Readline Init File Syntax.
@@ -11512,7 +11572,7 @@ D.5 Concept Index
* installation: Basic Installation. (line 6)
* interaction, readline: Readline Interaction.
(line 6)
-* interactive shell: Invoking Bash. (line 128)
+* interactive shell: Invoking Bash. (line 131)
* interactive shell <1>: Interactive Shells. (line 6)
* internationalization: Locale Translation. (line 6)
* job: Definitions. (line 38)
@@ -11523,7 +11583,7 @@ D.5 Concept Index
* killing text: Readline Killing Commands.
(line 6)
* localization: Locale Translation. (line 6)
-* login shell: Invoking Bash. (line 125)
+* login shell: Invoking Bash. (line 128)
* matching, pattern: Pattern Matching. (line 6)
* metacharacter: Definitions. (line 46)
* name: Definitions. (line 51)
@@ -11606,112 +11666,112 @@ Node: Lists23781
Node: Compound Commands25520
Node: Looping Constructs26532
Node: Conditional Constructs29027
-Node: Command Grouping40082
-Node: Coprocesses41561
-Node: GNU Parallel43464
-Node: Shell Functions47438
-Node: Shell Parameters54521
-Node: Positional Parameters58934
-Node: Special Parameters59834
-Node: Shell Expansions63171
-Node: Brace Expansion65294
-Node: Tilde Expansion68018
-Node: Shell Parameter Expansion70366
-Node: Command Substitution84849
-Node: Arithmetic Expansion86204
-Node: Process Substitution87136
-Node: Word Splitting88256
-Node: Filename Expansion90200
-Node: Pattern Matching92730
-Node: Quote Removal96716
-Node: Redirections97011
-Node: Executing Commands106569
-Node: Simple Command Expansion107239
-Node: Command Search and Execution109169
-Node: Command Execution Environment111545
-Node: Environment114529
-Node: Exit Status116188
-Node: Signals117858
-Node: Shell Scripts119825
-Node: Shell Builtin Commands122340
-Node: Bourne Shell Builtins124378
-Node: Bash Builtins145036
-Node: Modifying Shell Behavior173944
-Node: The Set Builtin174289
-Node: The Shopt Builtin184702
-Node: Special Builtins201572
-Node: Shell Variables202551
-Node: Bourne Shell Variables202988
-Node: Bash Variables205092
-Node: Bash Features235106
-Node: Invoking Bash236005
-Node: Bash Startup Files241991
-Node: Interactive Shells247094
-Node: What is an Interactive Shell?247504
-Node: Is this Shell Interactive?248153
-Node: Interactive Shell Behavior248968
-Node: Bash Conditional Expressions252456
-Node: Shell Arithmetic256822
-Node: Aliases259639
-Node: Arrays262187
-Node: The Directory Stack267553
-Node: Directory Stack Builtins268337
-Node: Controlling the Prompt271305
-Node: The Restricted Shell274067
-Node: Bash POSIX Mode275892
-Node: Job Control286243
-Node: Job Control Basics286703
-Node: Job Control Builtins291671
-Node: Job Control Variables296398
-Node: Command Line Editing297554
-Node: Introduction and Notation299225
-Node: Readline Interaction300848
-Node: Readline Bare Essentials302039
-Node: Readline Movement Commands303822
-Node: Readline Killing Commands304782
-Node: Readline Arguments306700
-Node: Searching307744
-Node: Readline Init File309930
-Node: Readline Init File Syntax311077
-Node: Conditional Init Constructs331448
-Node: Sample Init File335644
-Node: Bindable Readline Commands338761
-Node: Commands For Moving339965
-Node: Commands For History341814
-Node: Commands For Text346109
-Node: Commands For Killing349498
-Node: Numeric Arguments351979
-Node: Commands For Completion353118
-Node: Keyboard Macros357309
-Node: Miscellaneous Commands357996
-Node: Readline vi Mode363949
-Node: Programmable Completion364856
-Node: Programmable Completion Builtins372450
-Node: A Programmable Completion Example382336
-Node: Using History Interactively387587
-Node: Bash History Facilities388271
-Node: Bash History Builtins391276
-Node: History Interaction395807
-Node: Event Designators398874
-Node: Word Designators400093
-Node: Modifiers401730
-Node: Installing Bash403132
-Node: Basic Installation404269
-Node: Compilers and Options407527
-Node: Compiling For Multiple Architectures408268
-Node: Installation Names409961
-Node: Specifying the System Type410779
-Node: Sharing Defaults411495
-Node: Operation Controls412168
-Node: Optional Features413126
-Node: Reporting Bugs423652
-Node: Major Differences From The Bourne Shell424846
-Node: GNU Free Documentation License441698
-Node: Indexes466875
-Node: Builtin Index467329
-Node: Reserved Word Index474156
-Node: Variable Index476604
-Node: Function Index492282
-Node: Concept Index505585
+Node: Command Grouping40110
+Node: Coprocesses41589
+Node: GNU Parallel43492
+Node: Shell Functions47550
+Node: Shell Parameters54633
+Node: Positional Parameters59046
+Node: Special Parameters59946
+Node: Shell Expansions63660
+Node: Brace Expansion65783
+Node: Tilde Expansion68507
+Node: Shell Parameter Expansion71124
+Node: Command Substitution85580
+Node: Arithmetic Expansion86935
+Node: Process Substitution87867
+Node: Word Splitting88987
+Node: Filename Expansion90931
+Node: Pattern Matching93461
+Node: Quote Removal97447
+Node: Redirections97742
+Node: Executing Commands107300
+Node: Simple Command Expansion107970
+Node: Command Search and Execution109900
+Node: Command Execution Environment112276
+Node: Environment115260
+Node: Exit Status116919
+Node: Signals118589
+Node: Shell Scripts120556
+Node: Shell Builtin Commands123071
+Node: Bourne Shell Builtins125109
+Node: Bash Builtins145767
+Node: Modifying Shell Behavior174675
+Node: The Set Builtin175020
+Node: The Shopt Builtin185433
+Node: Special Builtins202303
+Node: Shell Variables203282
+Node: Bourne Shell Variables203719
+Node: Bash Variables205823
+Node: Bash Features236283
+Node: Invoking Bash237182
+Node: Bash Startup Files243195
+Node: Interactive Shells248298
+Node: What is an Interactive Shell?248708
+Node: Is this Shell Interactive?249357
+Node: Interactive Shell Behavior250172
+Node: Bash Conditional Expressions253659
+Node: Shell Arithmetic258025
+Node: Aliases260842
+Node: Arrays263390
+Node: The Directory Stack268756
+Node: Directory Stack Builtins269540
+Node: Controlling the Prompt272508
+Node: The Restricted Shell275274
+Node: Bash POSIX Mode277099
+Node: Job Control287514
+Node: Job Control Basics287974
+Node: Job Control Builtins292942
+Node: Job Control Variables297669
+Node: Command Line Editing298825
+Node: Introduction and Notation300496
+Node: Readline Interaction302119
+Node: Readline Bare Essentials303310
+Node: Readline Movement Commands305093
+Node: Readline Killing Commands306053
+Node: Readline Arguments307971
+Node: Searching309015
+Node: Readline Init File311201
+Node: Readline Init File Syntax312348
+Node: Conditional Init Constructs332748
+Node: Sample Init File336944
+Node: Bindable Readline Commands340061
+Node: Commands For Moving341265
+Node: Commands For History343114
+Node: Commands For Text347409
+Node: Commands For Killing350797
+Node: Numeric Arguments353278
+Node: Commands For Completion354417
+Node: Keyboard Macros358608
+Node: Miscellaneous Commands359295
+Node: Readline vi Mode365248
+Node: Programmable Completion366155
+Node: Programmable Completion Builtins373749
+Node: A Programmable Completion Example384442
+Node: Using History Interactively389682
+Node: Bash History Facilities390366
+Node: Bash History Builtins393371
+Node: History Interaction397902
+Node: Event Designators401522
+Node: Word Designators402741
+Node: Modifiers404378
+Node: Installing Bash405780
+Node: Basic Installation406917
+Node: Compilers and Options410175
+Node: Compiling For Multiple Architectures410916
+Node: Installation Names412609
+Node: Specifying the System Type413427
+Node: Sharing Defaults414143
+Node: Operation Controls414816
+Node: Optional Features415774
+Node: Reporting Bugs426292
+Node: Major Differences From The Bourne Shell427486
+Node: GNU Free Documentation License444338
+Node: Indexes469515
+Node: Builtin Index469969
+Node: Reserved Word Index476796
+Node: Variable Index479244
+Node: Function Index494995
+Node: Concept Index508298

End Tag Table
diff --git a/doc/bash.pdf b/doc/bash.pdf
index de5d3129..b38b46d1 100644
--- a/doc/bash.pdf
+++ b/doc/bash.pdf
Binary files differ
diff --git a/doc/bash.ps b/doc/bash.ps
index deccb7a7..5a7dc2d8 100644
--- a/doc/bash.ps
+++ b/doc/bash.ps
@@ -1,13 +1,13 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.22.3
-%%CreationDate: Mon Mar 19 09:43:22 2018
+%%CreationDate: Fri Sep 7 15:34:15 2018
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%+ font Times-Italic
%%+ font Courier
%%+ font Symbol
%%DocumentSuppliedResources: procset grops 1.22 3
-%%Pages: 80
+%%Pages: 81
%%PageOrder: Ascend
%%DocumentMedia: Default 612 792 0 () ()
%%Orientation: Portrait
@@ -340,7 +340,7 @@ F .475(xtended deb)-.15 F(ug-)-.2 E
(~/.bashr)3.598 E(c)-.37 E F0 1.598(if the)4.408 F(shell is interacti)
144 710.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(GNU Bash 5.0)72 768 Q
-(2018 March 15)144.29 E(1)198.45 E 0 Cg EP
+(2018 August 7)145.395 E(1)199.555 E 0 Cg EP
%%Page: 2 2
%%BeginPageSetup
BP
@@ -462,8 +462,8 @@ F2(~/.bashr)108 691.2 Q(c)-.37 E F0 2.535(,i)C 2.535(ft)-2.535 G .035
Q F1(bash)5.306 E F0 2.806(is started non-interacti)5.306 F -.15(ve)-.25
G(ly).15 E 5.306(,t)-.65 G 5.306(or)-5.306 G 2.806
(un a shell script, for e)-5.306 F 2.805(xample, it looks for the v)-.15
-F(ariable)-.25 E(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(2)198.45 E
-0 Cg EP
+F(ariable)-.25 E(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(2)199.555
+E 0 Cg EP
%%Page: 3 3
%%BeginPageSetup
BP
@@ -598,7 +598,7 @@ F .389(wed by)-.25 F F2(blank)2.889 E F0 .389(-separated w)B .389
-.15(xe)-.15 G(cuted,).15 E(and is passed as ar)108 722.4 Q
(gument zero.)-.18 E(The remaining w)5 E(ords are passed as ar)-.1 E
(guments to the in)-.18 E -.2(vo)-.4 G -.1(ke).2 G 2.5(dc).1 G(ommand.)
--2.5 E(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(3)198.45 E 0 Cg EP
+-2.5 E(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(3)199.555 E 0 Cg EP
%%Page: 4 4
%%BeginPageSetup
BP
@@ -714,8 +714,8 @@ E -.15(xe)-.15 G(cuted with left associati).15 E(vity)-.25 E 5(.A)-.65 G
(returns a non-zero e)2.935 F .435(xit status.)-.15 F .434
(The return status of AND)5.434 F(and OR lists is the e)108 705.6 Q
(xit status of the last command e)-.15 E -.15(xe)-.15 G
-(cuted in the list.).15 E(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E
-(4)198.45 E 0 Cg EP
+(cuted in the list.).15 E(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E
+(4)199.555 E 0 Cg EP
%%Page: 5 5
%%BeginPageSetup
BP
@@ -802,9 +802,9 @@ to force the quoted portion to be matched as a string.)-2.5 E .243
(An additional binary operator)144 481.2 R(,)-.4 E F1(=~)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
-(used, the string to the right of the operator is considered an e)144
-493.2 R 1.953(xtended re)-.15 F 1.953(gular e)-.15 F 1.953
+F1(!=)2.743 E F0 5.243(.W)C .243(hen it is)-5.243 F .182
+(used, the string to the right of the operator is considered a POSIX e)
+144 493.2 R .182(xtended re)-.15 F .181(gular e)-.15 F .181
(xpression and)-.15 F .207(matched accordingly \(as in)144 505.2 R F2
-.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
@@ -844,8 +844,8 @@ F0 .597(with inde)2.847 F 3.097(x0i)-.15 G(s)-3.097 E .049
2.5 E F0 .523(Returns the v)180 685.2 R .522(alue of)-.25 F F2 -.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 697.2 Q(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(5)
-198.45 E 0 Cg EP
+(operators.)180 697.2 Q(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(5)
+199.555 E 0 Cg EP
%%Page: 6 6
%%BeginPageSetup
BP
@@ -993,8 +993,8 @@ F .478(xit status is zero, the)-.15 F F1(then)2.978 E F2(list)2.978 E F0
-.15 F .103(xit sta-)-.15 F(tus of the last command e)144 688.8 Q -.15
(xe)-.15 G(cuted, or zero if no condition tested true.).15 E F1(while)
108 705.6 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(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(6)198.45 E 0
-Cg EP
+(done)2.5 E F0(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(6)199.555 E
+0 Cg EP
%%Page: 7 7
%%BeginPageSetup
BP
@@ -1128,7 +1128,7 @@ F .952(ord be)-.1 F .952(ginning with)-.15 F F1(#)3.451 E F0 .951
(omments. The)-3.837 F F1(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
698.4 Q .3 -.15(ve s)-.25 H(hells.).15 E(GNU Bash 5.0)72 768 Q
-(2018 March 15)144.29 E(7)198.45 E 0 Cg EP
+(2018 August 7)145.395 E(7)199.555 E 0 Cg EP
%%Page: 8 8
%%BeginPageSetup
BP
@@ -1233,7 +1233,7 @@ ngle-quoted, as if the dollar sign had not been present.)-.15 E 2.64(Ad)
108 720 S .14(ouble-quoted string preceded by a dollar sign \()-2.64 F
F4($)A F0(")A F2(string)A F0 .14
("\) will cause the string to be translated according)B(GNU Bash 5.0)72
-768 Q(2018 March 15)144.29 E(8)198.45 E 0 Cg EP
+768 Q(2018 August 7)145.395 E(8)199.555 E 0 Cg EP
%%Page: 9 9
%%BeginPageSetup
BP
@@ -1384,7 +1384,7 @@ F0 5.144(.I)C 2.644(ft)-5.144 G .144(he control v)-2.644 F .144
(ke).2 G .444(d, and may be reassigned using).1 F(the)108 722.4 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(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(9)198.45 E 0
+(The)5.834 E(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(9)199.555 E 0
Cg EP
%%Page: 10 10
%%BeginPageSetup
@@ -1422,2272 +1422,2298 @@ F2($1)A/F3 10/Times-Italic@0 SF(c)A F2($2)A F3(c)A F2(...)A F0(",)A
.833(is unset, the parameters are)3.082 F(separated by spaces.)144 237.6
Q(If)5 E F1(IFS)2.5 E F0
(is null, the parameters are joined without interv)2.25 E
-(ening separators.)-.15 E F2(@)108 249.6 Q F0 .606
+(ening separators.)-.15 E F2(@)108 249.6 Q F0 .722
(Expands to the positional parameters, starting from one.)144 249.6 R
-.605(When the e)5.605 F .605(xpansion occurs within dou-)-.15 F .113
-(ble quotes, each parameter e)144 261.6 R .113(xpands to a separate w)
--.15 F 2.614(ord. That)-.1 F .114(is, ")2.614 F F2($@)A F0 2.614("i)C
-2.614(se)-2.614 G(qui)-2.614 E -.25(va)-.25 G .114(lent to ").25 F F2
-($1)A F0 2.614("")C F2($2)-2.614 E F0 2.614(".)C(..)-2.614 E .135
-(If the double-quoted e)144 273.6 R .135(xpansion occurs within a w)-.15
-F .135(ord, the e)-.1 F .134
-(xpansion of the \214rst parameter is joined)-.15 F .15(with the be)144
-285.6 R .15(ginning part of the original w)-.15 F .151(ord, and the e)
--.1 F .151(xpansion of the last parameter is joined with)-.15 F .338
-(the last part of the original w)144 297.6 R 2.838(ord. When)-.1 F .337
-(there are no positional parameters, ")2.838 F F2($@)A F0 2.837("a)C(nd)
--2.837 E F2($@)2.837 E F0 -.15(ex)2.837 G(pand).15 E
-(to nothing \(i.e., the)144 309.6 Q 2.5(ya)-.15 G(re remo)-2.5 E -.15
-(ve)-.15 G(d\).).15 E F2(#)108 321.6 Q F0
-(Expands to the number of positional parameters in decimal.)144 321.6 Q
-F2(?)108 333.6 Q F0(Expands to the e)144 333.6 Q
+.722(In conte)5.722 F .722(xts where w)-.15 F .722(ord splitting is per)
+-.1 F(-)-.2 E 1.165(formed, this e)144 261.6 R 1.165
+(xpands each positional parameter to a separate w)-.15 F 1.165
+(ord; if not within double quotes,)-.1 F .655(these w)144 273.6 R .655
+(ords are subject to w)-.1 F .655(ord splitting.)-.1 F .655(In conte)
+5.655 F .655(xts where w)-.15 F .654
+(ord splitting is not performed, this)-.1 F -.15(ex)144 285.6 S .748
+(pands to a single w).15 F .748
+(ord with each positional parameter separated by a space.)-.1 F .748
+(When the e)5.748 F(xpan-)-.15 E 1.091
+(sion occurs within double quotes, each parameter e)144 297.6 R 1.091
+(xpands to a separate w)-.15 F 3.59(ord. That)-.1 F 1.09(is, ")3.59 F F2
+($@)A F0 3.59("i)C(s)-3.59 E(equi)144 309.6 Q -.25(va)-.25 G .412
+(lent to ").25 F F2($1)A F0 2.912("")C F2($2)-2.912 E F0 2.912(".)C
+2.912(.. If)-2.912 F .413(the double-quoted e)2.913 F .413
+(xpansion occurs within a w)-.15 F .413(ord, the e)-.1 F .413
+(xpansion of)-.15 F .38(the \214rst parameter is joined with the be)144
+321.6 R .379(ginning part of the original w)-.15 F .379(ord, and the e)
+-.1 F .379(xpansion of the)-.15 F 1.774
+(last parameter is joined with the last part of the original w)144 333.6
+R 4.274(ord. When)-.1 F 1.774(there are no positional)4.274 F
+(parameters, ")144 345.6 Q F2($@)A F0 2.5("a)C(nd)-2.5 E F2($@)2.5 E F0
+-.15(ex)2.5 G(pand to nothing \(i.e., the).15 E 2.5(ya)-.15 G(re remo)
+-2.5 E -.15(ve)-.15 G(d\).).15 E F2(#)108 357.6 Q F0
+(Expands to the number of positional parameters in decimal.)144 357.6 Q
+F2(?)108 369.6 Q F0(Expands to the e)144 369.6 Q
(xit status of the most recently e)-.15 E -.15(xe)-.15 G(cuted fore).15
-E(ground pipeline.)-.15 E F2<ad>108 345.6 Q F0 .881
-(Expands to the current option \215ags as speci\214ed upon in)144 345.6
-R -.2(vo)-.4 G .881(cation, by the).2 F F2(set)3.382 E F0 -.2(bu)3.382 G
-.882(iltin command, or).2 F(those set by the shell itself \(such as the)
-144 357.6 Q F2<ad69>2.5 E F0(option\).)2.5 E F2($)108 369.6 Q F0 .214
-(Expands to the process ID of the shell.)144 369.6 R .214
+E(ground pipeline.)-.15 E F2<ad>108 381.6 Q F0 .882
+(Expands to the current option \215ags as speci\214ed upon in)144 381.6
+R -.2(vo)-.4 G .881(cation, by the).2 F F2(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 393.6 Q F2<ad69>2.5 E F0(option\).)2.5 E F2($)108 405.6 Q F0 .214
+(Expands to the process ID of the shell.)144 405.6 R .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 381.6 Q F2(!)108 393.6 Q F0 .499(Expands \
+(shell, not the subshell.)144 417.6 Q F2(!)108 429.6 Q F0 .499(Expands \
to the process ID of the job most recently placed into the background, \
-whether e)144 393.6 R -.15(xe)-.15 G(cuted).15 E
-(as an asynchronous command or using the)144 405.6 Q F2(bg)2.5 E F0 -.2
+whether e)144 429.6 R -.15(xe)-.15 G(cuted).15 E
+(as an asynchronous command or using the)144 441.6 Q F2(bg)2.5 E F0 -.2
(bu)2.5 G(iltin \(see).2 E F1(JOB CONTR)2.5 E(OL)-.27 E F0(belo)2.25 E
-(w\).)-.25 E F2(0)108 417.6 Q F0 1.692
-(Expands to the name of the shell or shell script.)144 417.6 R 1.691
-(This is set at shell initialization.)6.692 F(If)6.691 E F2(bash)4.191 E
-F0(is)4.191 E(in)144 429.6 Q -.2(vo)-.4 G -.1(ke).2 G 3.077(dw).1 G .577
-(ith a \214le of commands,)-3.077 F F2($0)3.077 E F0 .578
-(is set to the name of that \214le.)3.077 F(If)5.578 E F2(bash)3.078 E
-F0 .578(is started with the)3.078 F F2<ad63>3.078 E F0 .369
-(option, then)144 441.6 R F2($0)2.869 E F0 .369
+(w\).)-.25 E F2(0)108 453.6 Q F0 1.691
+(Expands to the name of the shell or shell script.)144 453.6 R 1.692
+(This is set at shell initialization.)6.692 F(If)6.692 E F2(bash)4.192 E
+F0(is)4.192 E(in)144 465.6 Q -.2(vo)-.4 G -.1(ke).2 G 3.078(dw).1 G .578
+(ith a \214le of commands,)-3.078 F F2($0)3.078 E F0 .578
+(is set to the name of that \214le.)3.078 F(If)5.577 E F2(bash)3.077 E
+F0 .577(is started with the)3.077 F F2<ad63>3.077 E F0 .368
+(option, then)144 477.6 R F2($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 \214lename used to in)144 453.6 Q -.2
+-.18 F -.15(xe)-.15 G .369(cuted, if one is present.).15 F(Other)5.369 E
+(-)-.2 E(wise, it is set to the \214lename used to in)144 489.6 Q -.2
(vo)-.4 G -.1(ke).2 G F2(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
-F2(_)108 465.6 Q F0 .054
-(At shell startup, set to the absolute pathname used to in)144 465.6 R
--.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 477.6 R .692
+F2(_)108 501.6 Q F0 .055
+(At shell startup, set to the absolute pathname used to in)144 501.6 R
+-.2(vo)-.4 G .255 -.1(ke t).2 H .054(he shell or shell script being e).1
+F -.15(xe)-.15 G(cuted).15 E .691(as passed in the en)144 513.6 R .691
(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 489.6 Q .57(vious command, after e)-.25 F 3.07
+3.191(,e)-.65 G .692(xpands to the last ar)-3.341 F .692(gument to the)
+-.18 F(pre)144 525.6 Q .571(vious command, after e)-.25 F 3.071
(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 501.6
-S 1.6(cuted and placed in the en).15 F 1.6(vironment e)-.4 F 1.6
+-.2(vo)-.4 G .77 -.1(ke e).2 H .57(ach command).1 F -.15(exe)144 537.6 S
+1.6(cuted and placed in the en).15 F 1.6(vironment e)-.4 F 1.6
(xported to that command.)-.15 F 1.6(When checking mail, this)6.6 F
(parameter holds the name of the mail \214le currently being check)144
-513.6 Q(ed.)-.1 E F2(Shell V)87 530.4 Q(ariables)-.92 E F0(The follo)108
-542.4 Q(wing v)-.25 E(ariables are set by the shell:)-.25 E F2 -.3(BA)
-108 559.2 S(SH).3 E F0(Expands to the full \214lename used to in)144
-559.2 Q -.2(vo)-.4 G .2 -.1(ke t).2 H(his instance of).1 E F2(bash)2.5 E
-F0(.)A F2 -.3(BA)108 571.2 S(SHOPTS).3 E F0 2.548(Ac)144 583.2 S .049
-(olon-separated list of enabled shell options.)-2.548 F .049(Each w)
+549.6 Q(ed.)-.1 E F2(Shell V)87 566.4 Q(ariables)-.92 E F0(The follo)108
+578.4 Q(wing v)-.25 E(ariables are set by the shell:)-.25 E F2 -.3(BA)
+108 595.2 S(SH).3 E F0(Expands to the full \214lename used to in)144
+595.2 Q -.2(vo)-.4 G .2 -.1(ke t).2 H(his instance of).1 E F2(bash)2.5 E
+F0(.)A F2 -.3(BA)108 607.2 S(SHOPTS).3 E F0 2.549(Ac)144 619.2 S .049
+(olon-separated list of enabled shell options.)-2.549 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 F2<ad73>2.549 E F0 1.398(option to the)144 595.2
+(gument for the)-.18 F F2<ad73>2.548 E F0 1.398(option to the)144 631.2
R F2(shopt)3.898 E F0 -.2(bu)3.898 G 1.398(iltin command \(see).2 F F1
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
-607.2 R F1 -.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 F2(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 619.2 Q F2(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 631.2 Q
-(ariable is read-only)-.25 E(.)-.65 E F2 -.3(BA)108 643.2 S(SHPID).3 E
-F0 .187(Expands to the process ID of the current)144 655.2 R F2(bash)
-2.687 E F0 2.688(process. This)2.688 F(dif)2.688 E .188(fers from)-.25 F
-F2($$)2.688 E F0 .188(under certain circum-)2.688 F .548
-(stances, such as subshells that do not require)144 667.2 R F2(bash)
-3.048 E F0 .548(to be re-initialized.)3.048 F .548(Assignments to)5.548
-F F1 -.27(BA)3.048 G(SHPID).27 E F0(ha)144 679.2 Q .3 -.15(ve n)-.2 H
+3.648 E 3.898(w\). The)-.25 F(options)3.898 E .477(appearing in)144
+643.2 R F1 -.27(BA)2.977 G(SHOPTS).27 E F0 .477(are those reported as)
+2.727 F F3(on)3.207 E F0(by)3.217 E F2(shopt)2.977 E F0 5.476(.I)C 2.976
+(ft)-5.476 G .476(his v)-2.976 F .476(ariable is in the en)-.25 F
+(vironment)-.4 E(when)144 655.2 Q F2(bash)3.141 E F0 .642(starts up, ea\
+ch shell option in the list will be enabled before reading an)3.141 F
+3.142(ys)-.15 G .642(tartup \214les.)-3.142 F(This v)144 667.2 Q
+(ariable is read-only)-.25 E(.)-.65 E F2 -.3(BA)108 679.2 S(SHPID).3 E
+F0 .188(Expands to the process ID of the current)144 691.2 R F2(bash)
+2.688 E F0 2.687(process. This)2.687 F(dif)2.687 E .187(fers from)-.25 F
+F2($$)2.687 E F0 .187(under certain circum-)2.687 F .548
+(stances, such as subshells that do not require)144 703.2 R F2(bash)
+3.048 E F0 .548(to be re-initialized.)3.048 F .549(Assignments to)5.549
+F F1 -.27(BA)3.049 G(SHPID).27 E F0(ha)144 715.2 Q .3 -.15(ve n)-.2 H
2.5(oe).15 G -.25(ff)-2.5 G 2.5(ect. If).25 F F2 -.3(BA)2.5 G(SHPID).3 E
F0(is unset, it loses its special properties, e)2.5 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 F2 -.3(BA)108 691.2 S(SH_ALIASES).3 E F0 1.195(An associati)144
-703.2 R 1.495 -.15(ve a)-.25 H 1.195(rray v).15 F 1.195(ariable whose m\
-embers correspond to the internal list of aliases as main-)-.25 F .16
-(tained by the)144 715.2 R F2(alias)2.66 E F0 -.2(bu)2.66 G 2.66
-(iltin. Elements).2 F .16
-(added to this array appear in the alias list; ho)2.66 F(we)-.25 E -.15
-(ve)-.25 G .96 -.4(r, u).15 H(nsetting).4 E 4.503
-(array elements currently does not cause aliases to be remo)144 727.2 R
--.15(ve)-.15 G 7.003(df).15 G 4.503(rom the alias list.)-7.003 F(If)
-9.503 E(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(10)193.45 E 0 Cg EP
+-2.5 E(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(10)194.555 E 0 Cg
+EP
%%Page: 11 11
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0
-SF -.3(BA)144 84 S(SH_ALIASES).3 E F0
+SF -.3(BA)108 84 S(SH_ALIASES).3 E F0 1.195(An associati)144 96 R 1.495
+-.15(ve a)-.25 H 1.195(rray v).15 F 1.195(ariable whose members corresp\
+ond to the internal list of aliases as main-)-.25 F .16(tained by the)
+144 108 R F1(alias)2.66 E F0 -.2(bu)2.66 G 2.66(iltin. Elements).2 F .16
+(added to this array appear in the alias list; ho)2.66 F(we)-.25 E -.15
+(ve)-.25 G .96 -.4(r, u).15 H(nsetting).4 E 4.503
+(array elements currently does not cause aliases to be remo)144 120 R
+-.15(ve)-.15 G 7.003(df).15 G 4.503(rom the alias list.)-7.003 F(If)
+9.502 E F1 -.3(BA)144 132 S(SH_ALIASES).3 E F0
(is unset, it loses its special properties, e)2.5 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 F1 -.3(BA)108 96 S(SH_ARGC).3 E F0 .935(An array v)144 108 R .935
-(ariable whose v)-.25 F .934
+-2.5 E F1 -.3(BA)108 144 S(SH_ARGC).3 E F0 .934(An array v)144 156 R
+.934(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 120 S .535(cution call stack.).15 F .535
+F1(bash)3.435 E F0 -.15(exe)144 168 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 132 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
-144 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 156 S .284
-(tended deb).15 F .284(ugging mode \(see the description of the)-.2 F F1
-(extdeb)2.784 E(ug)-.2 E F0 .283(option to the)2.783 F F1(shopt)2.783 E
-F0 -.2(bu)2.783 G .283(iltin belo).2 F(w\).)-.25 E(Setting)144 168 Q F1
-(extdeb)2.5 E(ug)-.2 E F0(after the shell has started to e)2.5 E -.15
-(xe)-.15 G(cute a script may result in inconsistent v).15 E(alues.)-.25
-E F1 -.3(BA)108 180 S(SH_ARGV).3 E F0 .979(An array v)144 192 R .979
+ script)5.535 F -.15(exe)144 180 S .141(cuted with).15 F F1(.)2.641 E F0
+(or)2.641 E F1(sour)2.641 E(ce)-.18 E F0 2.641(\)i)C 2.641(sa)-2.641 G
+2.641(tt)-2.641 G .142(he top of the stack.)-2.641 F .142
+(When a subroutine is e)5.142 F -.15(xe)-.15 G .142
+(cuted, the number of).15 F 2.631(parameters passed is pushed onto)144
+192 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.13 G
+(SH_ARGC).27 E F0 2.63(only when in)4.88 F -.15(ex)144 204 S .283
+(tended deb).15 F .283(ugging mode \(see the description of the)-.2 F F1
+(extdeb)2.784 E(ug)-.2 E F0 .284(option to the)2.784 F F1(shopt)2.784 E
+F0 -.2(bu)2.784 G .284(iltin belo).2 F(w\).)-.25 E(Setting)144 216 Q F1
+(extdeb)3.363 E(ug)-.2 E F0 .863(after the shell has started to e)3.363
+F -.15(xe)-.15 G .862(cute a script, or referencing this v).15 F .862
+(ariable when)-.25 F F1(extdeb)144 228 Q(ug)-.2 E F0
+(is not set, may result in inconsistent v)2.5 E(alues.)-.25 E F1 -.3(BA)
+108 240 S(SH_ARGV).3 E F0 .979(An array v)144 252 R .979
(ariable containing all of the parameters in the current)-.25 F F1(bash)
3.48 E F0 -.15(exe)3.48 G .98(cution call stack.).15 F(The)5.98 E .275(\
\214nal parameter of the last subroutine call is at the top of the stac\
-k; the \214rst parameter of the initial)144 204 R 1.424
-(call is at the bottom.)144 216 R 1.424(When a subroutine is e)6.424 F
+k; 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 228 S(SH_ARGV).27 E F3(.)A F0 2.197(The shell sets)
+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 .965
-(description of the)144 240 R F1(extdeb)3.465 E(ug)-.2 E F0 .966
+(description of the)144 300 R F1(extdeb)3.465 E(ug)-.2 E F0 .966
(option to the)3.465 F F1(shopt)3.466 E F0 -.2(bu)3.466 G .966
(iltin belo).2 F 3.466(w\). Setting)-.25 F F1(extdeb)3.466 E(ug)-.2 E F0
-.966(after the shell)3.466 F(has started to e)144 252 Q -.15(xe)-.15 G
-(cute a script may result in inconsistent v).15 E(alues.)-.25 E F1 -.3
-(BA)108 264 S(SH_ARGV0).3 E F0 .251(When referenced, this v)144 276 R
-.251(ariable e)-.25 F .251
+.966(after the shell)3.466 F .32(has started to e)144 312 R -.15(xe)-.15
+G .32(cute a script, or referencing this v).15 F .319(ariable when)-.25
+F F1(extdeb)2.819 E(ug)-.2 E F0 .319(is not set, may result in)2.819 F
+(inconsistent v)144 324 Q(alues.)-.25 E F1 -.3(BA)108 336 S(SH_ARGV0).3
+E F0 .25(When referenced, this v)144 348 R .25(ariable e)-.25 F .251
(xpands to the name of the shell or shell script \(identical to)-.15 F
-F1($0)2.75 E F0 2.75(;s)C(ee)-2.75 E 1.224
-(the description of special parameter 0 abo)144 288 R -.15(ve)-.15 G
+F1($0)2.751 E F0 2.751(;s)C(ee)-2.751 E 1.224
+(the description of special parameter 0 abo)144 360 R -.15(ve)-.15 G
3.724(\). Assignment).15 F(to)3.724 E F1 -.3(BA)3.724 G(SH_ARGV0).3 E F0
-1.225(causes the v)3.724 F(alue)-.25 E .247
-(assigned to also be assigned to)144 300 R F1($0)2.747 E F0 5.247(.I)C
+1.224(causes the v)3.724 F(alue)-.25 E .247
+(assigned to also be assigned to)144 372 R F1($0)2.747 E F0 5.247(.I)C
(f)-5.247 E F1 -.3(BA)2.747 G(SH_ARGV0).3 E F0 .247
(is unset, it loses its special properties, e)2.747 F -.15(ve)-.25 G(n)
-.15 E(if it is subsequently reset.)144 312 Q F1 -.3(BA)108 324 S
-(SH_CMDS).3 E F0 .667(An associati)144 336 R .967 -.15(ve a)-.25 H .667
+.15 E(if it is subsequently reset.)144 384 Q F1 -.3(BA)108 396 S
+(SH_CMDS).3 E F0 .668(An associati)144 408 R .968 -.15(ve a)-.25 H .668
(rray v).15 F .668(ariable whose members correspond to the internal has\
-h table of commands)-.25 F .196(as maintained by the)144 348 R F1(hash)
-2.696 E F0 -.2(bu)2.696 G 2.696(iltin. Elements).2 F .195
+h table of commands)-.25 F .195(as maintained by the)144 420 R F1(hash)
+2.695 E F0 -.2(bu)2.695 G 2.695(iltin. Elements).2 F .196
(added to this array appear in the hash table; ho)2.696 F(we)-.25 E -.15
(ve)-.25 G -.4(r,).15 G .852(unsetting array elements currently does no\
-t cause command names to be remo)144 360 R -.15(ve)-.15 G 3.352(df).15 G
-.853(rom the hash)-3.352 F 2.5(table. If)144 372 R F1 -.3(BA)2.5 G
+t cause command names to be remo)144 432 R -.15(ve)-.15 G 3.352(df).15 G
+.852(rom the hash)-3.352 F 2.5(table. If)144 444 R F1 -.3(BA)2.5 G
(SH_CMDS).3 E F0(is unset, it loses its special properties, e)2.5 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 F1 -.3(BA)108 384 S(SH_COMMAND).3 E F0 1.243
-(The command currently being e)144 396 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
+(ubsequently reset.)-2.5 E F1 -.3(BA)108 456 S(SH_COMMAND).3 E F0 1.242
+(The command currently being e)144 468 R -.15(xe)-.15 G 1.243
+(cuted or about to be e).15 F -.15(xe)-.15 G 1.243
+(cuted, unless the shell is e).15 F -.15(xe)-.15 G 1.243(cuting a).15 F
(command as the result of a trap, in which case it is the command e)144
-408 Q -.15(xe)-.15 G(cuting at the time of the trap.).15 E F1 -.3(BA)108
-420 S(SH_EXECUTION_STRING).3 E F0(The command ar)144 432 Q
+480 Q -.15(xe)-.15 G(cuting at the time of the trap.).15 E F1 -.3(BA)108
+492 S(SH_EXECUTION_STRING).3 E F0(The command ar)144 504 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 444 S(SH_LINENO).3 E F0 .692
-(An array v)144 456 R .692(ariable whose members are the line numbers i\
-n source \214les where each corresponding)-.25 F .97(member of)144 468 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 480 R F1
-(${B)A(ASH_SOURCE[)-.3 E F4($i+1)A F1(]})A F0 17.171(\)w)C(here)-17.171
+(cation option.).2 E F1 -.3(BA)108 516 S(SH_LINENO).3 E F0 .693
+(An array v)144 528 R .692(ariable whose members are the line numbers i\
+n source \214les where each corresponding)-.25 F .969(member of)144 540
+R F2(FUNCN)3.469 E(AME)-.18 E F0 -.1(wa)3.219 G 3.469(si).1 G -1.9 -.4
+(nv o)-3.469 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 .97
+(is the line number in the source)3.469 F 14.672(\214le \()144 552 R F1
+(${B)A(ASH_SOURCE[)-.3 E F4($i+1)A F1(]})A F0 17.172(\)w)C(here)-17.172
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 492 Q(ASH_LINENO[)
+17.171(sc).1 G 14.671(alled \(or)-17.171 F F1(${B)144 564 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
-504 Q(.)-.55 E F1 -.3(BA)108 516 S(SH_LO).3 E(AD)-.4 E(ABLES_P)-.35 E
--.95(AT)-.74 G(H).95 E F0 4.07(Ac)144 528 S 1.57(olon-separated list of\
+576 Q(.)-.55 E F1 -.3(BA)108 588 S(SH_LO).3 E(AD)-.4 E(ABLES_P)-.35 E
+-.95(AT)-.74 G(H).95 E F0 4.07(Ac)144 600 S 1.57(olon-separated list of\
directories in which the shell looks for dynamically loadable b)-4.07 F
-(uiltins)-.2 E(speci\214ed by the)144 540 Q F1(enable)2.5 E F0(command.)
-2.5 E F1 -.3(BA)108 552 S(SH_REMA).3 E(TCH)-.95 E F0 .006(An array v)144
-564 R .006(ariable whose members are assigned by the)-.25 F F1(=~)2.506
-E F0 .005(binary operator to the)2.506 F F1([[)2.505 E F0 .005
-(conditional com-)2.505 F 2.506(mand. The)144 576 R .007
-(element with inde)2.506 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 .007(gular e)
--.15 F(xpression.)-.15 E .998(The element with inde)144 588 R(x)-.15 E
-F4(n)3.498 E F0 .997(is the portion of the string matching the)3.498 F
-F4(n)3.497 E F0 .997(th parenthesized sube)B(xpres-)-.15 E 2.5
-(sion. This)144 600 R -.25(va)2.5 G(riable is read-only).25 E(.)-.65 E
-F1 -.3(BA)108 612 S(SH_SOURCE).3 E F0 .125(An array v)144 624 R .125(ar\
+(uiltins)-.2 E(speci\214ed by the)144 612 Q F1(enable)2.5 E F0(command.)
+2.5 E F1 -.3(BA)108 624 S(SH_REMA).3 E(TCH)-.95 E F0 .005(An array v)144
+636 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 648 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 660 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 672 R -.25(va)2.5 G(riable is read-only).25 E(.)-.65 E
+F1 -.3(BA)108 684 S(SH_SOURCE).3 E F0 .126(An array v)144 696 R .125(ar\
iable whose members are the source \214lenames where the corresponding \
-shell function)-.25 F .781(names in the)144 636 R F2(FUNCN)3.28 E(AME)
+shell function)-.25 F .78(names in the)144 708 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.28 E(AME[)-.2 E F4($i)A F1(]})A
-F0(is)3.28 E(de\214ned in the \214le)144 648 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 660 S(SH_SUBSHELL).3 E F0
-.296(Incremented by one within each subshell or subshell en)144 672 R
-.296(vironment when the shell be)-.4 F .297(gins e)-.15 F -.15(xe)-.15 G
-(cuting).15 E(in that en)144 684 Q 2.5(vironment. The)-.4 F(initial v)
-2.5 E(alue is 0.)-.25 E F1 -.3(BA)108 696 S(SH_VERSINFO).3 E F0 2.645
-(Ar)144 708 S .145(eadonly array v)-2.645 F .144
-(ariable whose members hold v)-.25 F .144
-(ersion information for this instance of)-.15 F F1(bash)2.644 E F0 5.144
-(.T)C(he)-5.144 E -.25(va)144 720 S
-(lues assigned to the array members are as follo).25 E(ws:)-.25 E
-(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(11)193.45 E 0 Cg EP
+(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 720 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(GNU Bash 5.0)72 768 Q
+(2018 August 7)145.395 E(11)194.555 E 0 Cg EP
%%Page: 12 12
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0
-SF -.3(BA)144 84 S(SH_VERSINFO[).3 E F0(0)A F1(])A F0(The major v)264 84
-Q(ersion number \(the)-.15 E/F2 10/Times-Italic@0 SF -.37(re)2.5 G
-(lease).37 E F0(\).)A F1 -.3(BA)144 96 S(SH_VERSINFO[).3 E F0(1)A F1(])A
-F0(The minor v)264 96 Q(ersion number \(the)-.15 E F2(ver)2.5 E(sion)-.1
-E F0(\).)A F1 -.3(BA)144 108 S(SH_VERSINFO[).3 E F0(2)A F1(])A F0
-(The patch le)264 108 Q -.15(ve)-.25 G(l.).15 E F1 -.3(BA)144 120 S
-(SH_VERSINFO[).3 E F0(3)A F1(])A F0(The b)264 120 Q(uild v)-.2 E
-(ersion.)-.15 E F1 -.3(BA)144 132 S(SH_VERSINFO[).3 E F0(4)A F1(])A F0
-(The release status \(e.g.,)264 132 Q F2(beta1)2.5 E F0(\).)A F1 -.3(BA)
-144 144 S(SH_VERSINFO[).3 E F0(5)A F1(])A F0(The v)264 144 Q(alue of)
+SF -.3(BA)108 84 S(SH_SUBSHELL).3 E F0 .296
+(Incremented by one within each subshell or subshell en)144 96 R .296
+(vironment when the shell be)-.4 F .296(gins e)-.15 F -.15(xe)-.15 G
+(cuting).15 E(in that en)144 108 Q 2.5(vironment. The)-.4 F(initial v)
+2.5 E(alue is 0.)-.25 E F1 -.3(BA)108 120 S(SH_VERSINFO).3 E F0 2.644
+(Ar)144 132 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.645 E F0 5.145
+(.T)C(he)-5.145 E -.25(va)144 144 S
+(lues assigned to the array members are as follo).25 E(ws:)-.25 E F1 -.3
+(BA)144 162 S(SH_VERSINFO[).3 E F0(0)A F1(])A F0(The major v)264 162 Q
+(ersion number \(the)-.15 E/F2 10/Times-Italic@0 SF -.37(re)2.5 G(lease)
+.37 E F0(\).)A F1 -.3(BA)144 174 S(SH_VERSINFO[).3 E F0(1)A F1(])A F0
+(The minor v)264 174 Q(ersion number \(the)-.15 E F2(ver)2.5 E(sion)-.1
+E F0(\).)A F1 -.3(BA)144 186 S(SH_VERSINFO[).3 E F0(2)A F1(])A F0
+(The patch le)264 186 Q -.15(ve)-.25 G(l.).15 E F1 -.3(BA)144 198 S
+(SH_VERSINFO[).3 E F0(3)A F1(])A F0(The b)264 198 Q(uild v)-.2 E
+(ersion.)-.15 E F1 -.3(BA)144 210 S(SH_VERSINFO[).3 E F0(4)A F1(])A F0
+(The release status \(e.g.,)264 210 Q F2(beta1)2.5 E F0(\).)A F1 -.3(BA)
+144 222 S(SH_VERSINFO[).3 E F0(5)A F1(])A F0(The v)264 222 Q(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 156 S(SH_VERSION).3 E F0
-(Expands to a string describing the v)144 168 Q
+SF(.)A F1 -.3(BA)108 234 S(SH_VERSION).3 E F0
+(Expands to a string describing the v)144 246 Q
(ersion of this instance of)-.15 E F1(bash)2.5 E F0(.)A F1(COMP_CW)108
-180 Q(ORD)-.1 E F0 .396(An inde)144 192 R 2.896(xi)-.15 G(nto)-2.896 E
+258 Q(ORD)-.1 E F0 .397(An inde)144 270 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 .397(This v)5.397 F
-(ari-)-.25 E 1.181(able is a)144 204 R -.25(va)-.2 G 1.181
+(ord containing the current cursor position.)-.1 F .396(This v)5.396 F
+(ari-)-.25 E 1.18(able is a)144 282 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 216 Q(ogrammable Completion)-.18 E
-F0(belo)2.5 E(w\).)-.25 E F1(COMP_KEY)108 228 Q F0(The k)144 240 Q .3
+(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 294 Q(ogrammable Completion)-.18 E
+F0(belo)2.5 E(w\).)-.25 E F1(COMP_KEY)108 306 Q F0(The k)144 318 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 252 Q F0 1.207
-(The current command line.)144 264 R 1.208(This v)6.208 F 1.208
+H(he current completion function.).1 E F1(COMP_LINE)108 330 Q F0 1.208
+(The current command line.)144 342 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 276 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 354 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 288 Q(w\).)-.25 E F1(COMP_POINT)108 300 Q F0 .666(The inde)
-144 312 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 366 Q(w\).)-.25 E F1(COMP_POINT)108 378 Q F0 .667(The inde)
+144 390 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
-324 R .534(alue of this v)-.25 F .534(ariable is equal to)-.25 F F1
-(${#COMP_LINE})144 336 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(in)144 348 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(db).1 G 2.5(yt)-2.5 G
+402 R .535(alue of this v)-.25 F .535(ariable is equal to)-.25 F F1
+(${#COMP_LINE})144 414 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 426 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
-360 Q F0 .042(Set to an inte)144 372 R .042(ger v)-.15 F .041(alue corr\
+438 Q F0 .041(Set to an inte)144 450 R .041(ger v)-.15 F .041(alue corr\
esponding to the type of completion attempted that caused a completion)
--.25 F .337(function to be called:)144 384 R F2 -.5(TA)2.837 G(B).5 E F0
+-.25 F .338(function to be called:)144 462 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 .638 -.15(ve t)
--.25 H(abs,).15 E F2(!)144 396 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)
+C .337(or listing completions after successi)-2.837 F .637 -.15(ve t)
+-.25 H(abs,).15 E F2(!)144 474 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.591(ord is not)-.1 F 1.552(unmodi\214ed, or)144 408 R F2(%)4.052 E
+F 1.592(ord is not)-.1 F 1.553(unmodi\214ed, or)144 486 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 420 S 2.929
+(ilable only in shell functions and).25 F -.15(ex)144 498 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
-432 Q F0(belo)2.5 E(w\).)-.25 E F1(COMP_W)108 444 Q(ORDBREAKS)-.1 E F0
-1.335(The set of characters that the)144 456 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 468 R F3(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 480 Q F1(COMP_W)108 492 Q(ORDS)-.1 E
-F0 .653(An array v)144 504 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 516 R
+(acilities \(see)-.1 F F1(Pr)5.429 E(ogrammable)-.18 E(Completion)144
+510 Q F0(belo)2.5 E(w\).)-.25 E F1(COMP_W)108 522 Q(ORDBREAKS)-.1 E F0
+1.336(The set of characters that the)144 534 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 546 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 558 Q F1(COMP_W)108 570 Q(ORDS)-.1 E
+F0 .654(An array v)144 582 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 594 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
-528 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 540 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 552 Q(OC)-.3 E F0 .169(An array v)
-144 564 R .169(ariable \(see)-.25 F F1(Arrays)2.669 E F0(belo)2.669 E
+(COMP_W)4.332 E(ORDBREAKS)-.09 E F0(as)4.083 E .832(described abo)144
+606 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 618 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 630 Q(OC)-.3 E F0 .168(An array v)
+144 642 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 576 Q F1(Copr)2.5 E(ocesses)
--.18 E F0(abo)2.5 E -.15(ve)-.15 G(\).).15 E F1(DIRST)108 588 Q -.55(AC)
--.9 G(K).55 E F0 2.26(An array v)144 600 R 2.26(ariable \(see)-.25 F F1
+-.25 F(to an unnamed coprocess \(see)144 654 Q F1(Copr)2.5 E(ocesses)
+-.18 E F0(abo)2.5 E -.15(ve)-.15 G(\).).15 E F1(DIRST)108 666 Q -.55(AC)
+-.9 G(K).55 E F0 2.26(An array v)144 678 R 2.26(ariable \(see)-.25 F F1
(Arrays)4.76 E F0(belo)4.76 E 2.26
(w\) containing the current contents of the directory stack.)-.25 F
-1.095(Directories appear in the stack in the order the)144 612 R 3.594
-(ya)-.15 G 1.094(re displayed by the)-3.594 F F1(dirs)3.594 E F0 -.2(bu)
-3.594 G 3.594(iltin. Assigning).2 F(to)3.594 E 1.431
-(members of this array v)144 624 R 1.432
+1.094(Directories appear in the stack in the order the)144 690 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 702 R 1.432
(ariable may be used to modify directories already in the stack, b)-.25
-F 1.432(ut the)-.2 F F1(pushd)144 636 Q F0(and)2.746 E F1(popd)2.746 E
+F 1.431(ut the)-.2 F F1(pushd)144 714 Q F0(and)2.746 E F1(popd)2.746 E
F0 -.2(bu)2.746 G .246(iltins must be used to add and remo).2 F .546
-.15(ve d)-.15 H 2.746(irectories. Assignment).15 F .246(to this v)2.746
-F(ariable)-.25 E .35(will not change the current directory)144 648 R
+F(ariable)-.25 E .351(will not change the current directory)144 726 R
5.35(.I)-.65 G(f)-5.35 E F3(DIRST)2.85 E -.495(AC)-.81 G(K).495 E F0 .35
-(is unset, it loses its special properties, e)2.6 F -.15(ve)-.25 G 2.851
-(ni).15 G(f)-2.851 E(it is subsequently reset.)144 660 Q F1(EPOCHREAL)
-108 672 Q(TIME)-.92 E F0 .338
-(Each time this parameter is referenced, it e)144 684 R .337
-(xpands to the number of seconds since the Unix Epoch)-.15 F(\(see)144
-696 Q F2(time)2.916 E F0 .416(\(3\)\) as a \215oating point v)B .417
-(alue with micro-second granularity)-.25 F 5.417(.A)-.65 G .417
-(ssignments to)-5.417 F F3(EPOCHRE-)2.917 E(AL)144 708 Q(TIME)-.828 E F0
-1.091(are ignored.)3.341 F(If)6.091 E F3(EPOCHREAL)3.59 E(TIME)-.828 E
-F0 1.09(is unset, it loses its special properties, e)3.34 F -.15(ve)-.25
-G 3.59(ni).15 G 3.59(fi)-3.59 G 3.59(ti)-3.59 G(s)-3.59 E
-(subsequently reset.)144 720 Q(GNU Bash 5.0)72 768 Q(2018 March 15)
-144.29 E(12)193.45 E 0 Cg EP
+(is unset, it loses its special properties, e)2.6 F -.15(ve)-.25 G 2.85
+(ni).15 G(f)-2.85 E(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(12)
+194.555 E 0 Cg EP
%%Page: 13 13
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
-(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0
-SF(EPOCHSECONDS)108 84 Q F0 .337
-(Each time this parameter is referenced, it e)144 96 R .338
+(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E
+(it is subsequently reset.)144 84 Q/F1 10/Times-Bold@0 SF(EPOCHREAL)108
+96 Q(TIME)-.92 E F0 .337(Each time this parameter is referenced, it e)
+144 108 R .338(xpands to the number of seconds since the Unix Epoch)-.15
+F(\(see)144 120 Q/F2 10/Times-Italic@0 SF(time)2.917 E F0 .417
+(\(3\)\) as a \215oating point v)B .416
+(alue with micro-second granularity)-.25 F 5.416(.A)-.65 G .416
+(ssignments to)-5.416 F/F3 9/Times-Bold@0 SF(EPOCHRE-)2.916 E(AL)144 132
+Q(TIME)-.828 E F0 1.09(are ignored.)3.34 F(If)6.09 E F3(EPOCHREAL)3.59 E
+(TIME)-.828 E F0 1.09(is unset, it loses its special properties, e)3.34
+F -.15(ve)-.25 G 3.591(ni).15 G 3.591(fi)-3.591 G 3.591(ti)-3.591 G(s)
+-3.591 E(subsequently reset.)144 144 Q F1(EPOCHSECONDS)108 156 Q F0 .338
+(Each time this parameter is referenced, it e)144 168 R .337
(xpands to the number of seconds since the Unix Epoch)-.15 F(\(see)144
-108 Q/F2 10/Times-Italic@0 SF(time)4.042 E F0 4.042
-(\(3\)\). Assignments)B(to)4.042 E/F3 9/Times-Bold@0 SF(EPOCHSECONDS)
-4.042 E F0 1.542(are ignored.)3.792 F(If)6.542 E F3(EPOCHSECONDS)4.041 E
-F0 1.541(is unset, it)3.791 F(loses its special properties, e)144 120 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(EUID)108 132 Q F0 1.103(Expands to the ef)
-144 132 R(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 144 Q(.)-.65 E F1(FUNCN)108 156 Q(AME)
--.2 E F0 .479(An array v)144 168 R .479
+180 Q F2(time)4.041 E F0 4.041(\(3\)\). Assignments)B(to)4.041 E F3
+(EPOCHSECONDS)4.041 E F0 1.542(are ignored.)3.792 F(If)6.542 E F3
+(EPOCHSECONDS)4.042 E F0 1.542(is unset, it)3.792 F
+(loses its special properties, e)144 192 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
+(EUID)108 204 Q F0 1.104(Expands to the ef)144 204 R(fecti)-.25 E 1.403
+-.15(ve u)-.25 H 1.103(ser ID of the current user).15 F 3.603(,i)-.4 G
+1.103(nitialized at shell startup.)-3.603 F 1.103(This v)6.103 F 1.103
+(ariable is)-.25 F(readonly)144 216 Q(.)-.65 E F1(FUNCN)108 228 Q(AME)
+-.2 E F0 .478(An array v)144 240 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 180 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 192 R .384(x\) is)-.15 F/F4
-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 .075
-(tion is e)144 204 R -.15(xe)-.15 G 2.575(cuting. Assignments).15 F(to)
-2.575 E F3(FUNCN)2.575 E(AME)-.18 E F0(ha)2.325 E .376 -.15(ve n)-.2 H
-2.576(oe).15 G -.25(ff)-2.576 G 2.576(ect. If).25 F F3(FUNCN)2.576 E
-(AME)-.18 E F0 .076(is unset, it loses its)2.326 F
-(special properties, e)144 216 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 .111(This v)144
-234 R .111(ariable can be used with)-.25 F F1 -.3(BA)2.611 G(SH_LINENO)
+-.25 F -.15(xe)-.15 G .479(cution call stack.).15 F .277
+(The element with inde)144 252 R 2.777(x0i)-.15 G 2.777(st)-2.777 G .276
+(he name of an)-2.777 F 2.776(yc)-.15 G(urrently-e)-2.776 E -.15(xe)-.15
+G .276(cuting shell function.).15 F .276(The bottom-most)5.276 F .384
+(element \(the one with the highest inde)144 264 R .384(x\) is)-.15 F/F4
+10/Courier@0 SF("main")2.884 E F0 5.384(.T)C .384(his v)-5.384 F .385
+(ariable e)-.25 F .385(xists only when a shell func-)-.15 F .076
+(tion is e)144 276 R -.15(xe)-.15 G 2.576(cuting. Assignments).15 F(to)
+2.576 E F3(FUNCN)2.576 E(AME)-.18 E F0(ha)2.326 E .376 -.15(ve n)-.2 H
+2.576(oe).15 G -.25(ff)-2.576 G 2.576(ect. If).25 F F3(FUNCN)2.575 E
+(AME)-.18 E F0 .075(is unset, it loses its)2.325 F
+(special properties, e)144 288 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 .11(This v)144
+306 R .111(ariable can be used with)-.25 F F1 -.3(BA)2.611 G(SH_LINENO)
.3 E F0(and)2.611 E F1 -.3(BA)2.611 G(SH_SOURCE).3 E F0 5.111(.E)C .111
-(ach element of)-5.111 F F1(FUNC-)2.61 E -.2(NA)144 246 S(ME).2 E F0
+(ach element of)-5.111 F F1(FUNC-)2.611 E -.2(NA)144 318 S(ME).2 E F0
1.404(has corresponding elements in)3.904 F F1 -.3(BA)3.904 G(SH_LINENO)
.3 E F0(and)3.904 E F1 -.3(BA)3.904 G(SH_SOURCE).3 E F0 1.404
-(to describe the)3.904 F .012(call stack.)144 258 R -.15(Fo)5.012 G
+(to describe the)3.904 F .012(call stack.)144 330 R -.15(Fo)5.012 G
2.512(ri).15 G(nstance,)-2.512 E F1(${FUNCN)2.512 E(AME[)-.2 E F2($i)A
F1(]})A F0 -.1(wa)2.512 G 2.512(sc).1 G .012(alled from the \214le)
--2.512 F F1(${B)2.512 E(ASH_SOURCE[)-.3 E F2($i+1)A F1(]})A F0 1.183
-(at line number)144 270 R F1(${B)3.683 E(ASH_LINENO[)-.3 E F2($i)A F1
-(]})A F0 6.183(.T)C(he)-6.183 E F1(caller)3.683 E F0 -.2(bu)3.683 G
-1.184(iltin displays the current call stack using).2 F
-(this information.)144 282 Q F1(GR)108 294 Q(OUPS)-.3 E F0 1.229
-(An array v)144 306 R 1.228(ariable containing the list of groups of wh\
-ich the current user is a member)-.25 F 6.228(.A)-.55 G(ssign-)-6.228 E
-.571(ments to)144 318 R F3(GR)3.071 E(OUPS)-.27 E F0(ha)2.822 E .872
+-2.512 F F1(${B)2.512 E(ASH_SOURCE[)-.3 E F2($i+1)A F1(]})A F0 1.184
+(at line number)144 342 R F1(${B)3.684 E(ASH_LINENO[)-.3 E F2($i)A F1
+(]})A F0 6.184(.T)C(he)-6.184 E F1(caller)3.683 E F0 -.2(bu)3.683 G
+1.183(iltin displays the current call stack using).2 F
+(this information.)144 354 Q F1(GR)108 366 Q(OUPS)-.3 E F0 1.228
+(An array v)144 378 R 1.228(ariable containing the list of groups of wh\
+ich the current user is a member)-.25 F 6.229(.A)-.55 G(ssign-)-6.229 E
+.572(ments to)144 390 R F3(GR)3.072 E(OUPS)-.27 E F0(ha)2.822 E .872
-.15(ve n)-.2 H 3.072(oe).15 G -.25(ff)-3.072 G 3.072(ect. If).25 F F3
(GR)3.072 E(OUPS)-.27 E F0 .572
(is unset, it loses its special properties, e)2.822 F -.15(ve)-.25 G
-3.072(ni).15 G 3.072(fi)-3.072 G 3.072(ti)-3.072 G(s)-3.072 E
-(subsequently reset.)144 330 Q F1(HISTCMD)108 342 Q F0 .356
-(The history number)144 354 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
+3.072(ni).15 G 3.071(fi)-3.072 G 3.071(ti)-3.071 G(s)-3.071 E
+(subsequently reset.)144 402 Q F1(HISTCMD)108 414 Q F0 .355
+(The history number)144 426 R 2.855(,o)-.4 G 2.855(ri)-2.855 G(nde)
+-2.855 E 2.856(xi)-.15 G 2.856(nt)-2.856 G .356
(he history list, of the current command.)-2.856 F(If)5.356 E F3
-(HISTCMD)2.855 E F0 .355(is unset, it)2.605 F
-(loses its special properties, e)144 366 Q -.15(ve)-.25 G 2.5(ni).15 G
+(HISTCMD)2.856 E F0 .356(is unset, it)2.606 F
+(loses its special properties, e)144 438 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 378 Q(AME)-.2 E F0
-(Automatically set to the name of the current host.)144 390 Q F1
-(HOSTTYPE)108 402 Q F0 .222(Automatically set to a string that uniquely\
- describes the type of machine on which)144 414 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 426 R(def)
-2.5 E(ault is system-dependent.)-.1 E F1(LINENO)108 438 Q F0 1.408(Each\
+(HOSTN)108 450 Q(AME)-.2 E F0
+(Automatically set to the name of the current host.)144 462 Q F1
+(HOSTTYPE)108 474 Q F0 .223(Automatically set to a string that uniquely\
+ describes the type of machine on which)144 486 R F1(bash)2.722 E F0
+.222(is e)2.722 F -.15(xe)-.15 G(cut-).15 E 2.5(ing. The)144 498 R(def)
+2.5 E(ault is system-dependent.)-.1 E F1(LINENO)108 510 Q F0 1.408(Each\
time this parameter is referenced, the shell substitutes a decimal num\
-ber representing the)144 450 R .078(current sequential line number \(st\
-arting with 1\) within a script or function.)144 462 R .079
-(When not in a script or)5.078 F .307(function, the v)144 474 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 486 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 498 Q
+ber representing the)144 522 R .078(current sequential line number \(st\
+arting with 1\) within a script or function.)144 534 R .078
+(When not in a script or)5.078 F .306(function, the v)144 546 R .306
+(alue substituted is not guaranteed to be meaningful.)-.25 F(If)5.307 E
+F3(LINENO)2.807 E F0 .307(is unset, it loses its)2.557 F
+(special properties, e)144 558 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 570 Q
(CHTYPE)-.55 E F0 .898(Automatically set to a string that fully describ\
-es the system type on which)144 510 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 522 Q F2
+es the system type on which)144 582 R F1(bash)3.398 E F0 .898(is e)3.398
+F -.15(xe)-.15 G .898(cuting, in).15 F(the standard GNU)144 594 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(MAPFILE)108 534 Q F0 .294
-(An array v)144 546 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 558 S(riable name is supplied.).25 E F1
-(OLDPWD)108 570 Q F0(The pre)144 582 Q(vious w)-.25 E
+(ault is system-dependent.)-.1 E F1(MAPFILE)108 606 Q F0 .293
+(An array v)144 618 R .293(ariable \(see)-.25 F F1(Arrays)2.793 E F0
+(belo)2.793 E .293(w\) created to hold the te)-.25 F .294
+(xt read by the)-.15 F F1(map\214le)2.794 E F0 -.2(bu)2.794 G .294
+(iltin when no).2 F -.25(va)144 630 S(riable name is supplied.).25 E F1
+(OLDPWD)108 642 Q F0(The pre)144 654 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 594 Q(ARG)-.9 E F0 1.626(The v)144 606 R 1.627
+(OPT)108 666 Q(ARG)-.9 E F0 1.627(The v)144 678 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 618 S(IL).09 E(TIN COMMANDS)-.828 E F0(belo)
-2.25 E(w\).)-.25 E F1(OPTIND)108 630 Q F0 1.652(The inde)144 642 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 654
-S(IL).09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E F1(OSTYPE)108
-666 Q F0 .329(Automatically set to a string that describes the operatin\
-g system on which)144 678 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 690 Q(ault is system-dependent.)
--.1 E F1(PIPEST)108 702 Q -.95(AT)-.9 G(US).95 E F0 .61(An array v)144
-714 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 726 Q -.15
-(xe)-.15 G(cuted fore).15 E
-(ground pipeline \(which may contain only a single command\).)-.15 E
-(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(13)193.45 E 0 Cg EP
+F1(getopts)4.127 E F0 -.2(bu)4.127 G 1.626(iltin command \(see).2 F F3
+(SHELL)4.126 E -.09(BU)144 690 S(IL).09 E(TIN COMMANDS)-.828 E F0(belo)
+2.25 E(w\).)-.25 E F1(OPTIND)108 702 Q F0 1.651(The inde)144 714 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 726
+S(IL).09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E(GNU Bash 5.0)
+72 768 Q(2018 August 7)145.395 E(13)194.555 E 0 Cg EP
%%Page: 14 14
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0
-SF(PPID)108 84 Q F0(The process ID of the shell')144 84 Q 2.5(sp)-.55 G
+SF(OSTYPE)108 84 Q F0 .329(Automatically set to a string that describes\
+ the operating system on which)144 96 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 108 Q
+(ault is system-dependent.)-.1 E F1(PIPEST)108 120 Q -.95(AT)-.9 G(US)
+.95 E F0 .61(An array v)144 132 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 144 Q -.15(xe)-.15 G(cuted fore).15 E
+(ground pipeline \(which may contain only a single command\).)-.15 E F1
+(PPID)108 156 Q F0(The process ID of the shell')144 156 Q 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 96 Q F0(The current w)144 96 Q
+F1(PWD)108 168 Q F0(The current w)144 168 Q
(orking directory as set by the)-.1 E F1(cd)2.5 E F0(command.)2.5 E F1
-(RANDOM)108 108 Q F0 .565
-(Each time this parameter is referenced, a random inte)144 120 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 132
+(RANDOM)108 180 Q F0 .566
+(Each time this parameter is referenced, a random inte)144 192 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 204
R .01(alue to)-.25 F/F2 9/Times-Bold@0 SF(RANDOM)2.51 E/F3 9
/Times-Roman@0 SF(.)A F0(If)4.51 E F2(RANDOM)2.51 E F0(is)2.26 E
-(unset, it loses its special properties, e)144 144 Q -.15(ve)-.25 G 2.5
+(unset, it loses its special properties, e)144 216 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 156 Q F0 1.546(The contents of the)144 168 R
+-2.5 E F1(READLINE_LINE)108 228 Q F0 1.547(The contents of the)144 240 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/F4 10/Courier@0 SF
-1.547(bind -x)4.047 F F0(\(see)4.047 E F2 1.547(SHELL B)4.047 F(UIL)-.09
-E 1.547(TIN COM-)-.828 F(MANDS)144 180 Q F0(belo)2.25 E(w\).)-.25 E F1
-(READLINE_POINT)108 192 Q F0 .314
-(The position of the insertion point in the)144 204 R F1 -.18(re)2.813 G
+1.547(bind -x)4.047 F F0(\(see)4.047 E F2 1.546(SHELL B)4.047 F(UIL)-.09
+E 1.546(TIN COM-)-.828 F(MANDS)144 252 Q F0(belo)2.25 E(w\).)-.25 E F1
+(READLINE_POINT)108 264 Q F0 .313
+(The position of the insertion point in the)144 276 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 F4 .313(bind -x)2.813 F F0(\(see)2.813 E F2
-(SHELL)2.813 E -.09(BU)144 216 S(IL).09 E(TIN COMMANDS)-.828 E F0(belo)
-2.25 E(w\).)-.25 E F1(REPL)108 228 Q(Y)-.92 E F0
-(Set to the line of input read by the)144 240 Q F1 -.18(re)2.5 G(ad).18
+.313(or use with)-2.813 F F4 .314(bind -x)2.814 F F0(\(see)2.814 E F2
+(SHELL)2.814 E -.09(BU)144 288 S(IL).09 E(TIN COMMANDS)-.828 E F0(belo)
+2.25 E(w\).)-.25 E F1(REPL)108 300 Q(Y)-.92 E F0
+(Set to the line of input read by the)144 312 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 252 Q F0 .795(Each time this parameter is referen\
-ced, the number of seconds since shell in)144 264 R -.2(vo)-.4 G .795
-(cation is returned.).2 F .713(If a v)144 276 R .712
+-.18 E F1(SECONDS)108 324 Q F0 .795(Each time this parameter is referen\
+ced, the number of seconds since shell in)144 336 R -.2(vo)-.4 G .795
+(cation is returned.).2 F .712(If a v)144 348 R .712
(alue is assigned to)-.25 F F2(SECONDS)3.212 E F3(,)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 288 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 300 Q -.15(ve)
+F .408(of seconds since the assignment plus the v)144 360 R .408
+(alue assigned.)-.25 F(If)5.408 E F2(SECONDS)2.908 E F0 .407
+(is unset, it loses its special)2.658 F(properties, e)144 372 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 312 Q F0 3.263(Ac)144 324 S
-.763(olon-separated list of enabled shell options.)-3.263 F .763(Each w)
+(ubsequently reset.)-2.5 E F1(SHELLOPTS)108 384 Q F0 3.262(Ac)144 396 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 336 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 348 R F2
-(SHELLOPTS)2.52 E F0 .019(are those reported as)2.27 F/F5 10
+(gument for the)-.18 F F1<ad6f>144 408 Q F0 1.174(option to the)3.674 F
+F1(set)3.674 E F0 -.2(bu)3.674 G 1.174(iltin command \(see).2 F F2 1.173
+(SHELL B)3.673 F(UIL)-.09 E 1.173(TIN COMMANDS)-.828 F F0(belo)3.423 E
+3.673(w\). The)-.25 F(options)3.673 E .019(appearing in)144 420 R F2
+(SHELLOPTS)2.519 E F0 .019(are those reported as)2.269 F/F5 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 360 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 372 Q(ariable is read-only)-.25 E(.)-.65 E F1(SHL)108 384 Q
-(VL)-.92 E F0(Incremented by one each time an instance of)144 396 Q F1
-(bash)2.5 E F0(is started.)2.5 E F1(UID)108 408 Q F0
-(Expands to the user ID of the current user)144 408 Q 2.5(,i)-.4 G
+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 432 Q F1(bash)
+3.142 E F0 .642(starts up, each shell option in the list will be enable\
+d before reading an)3.142 F 3.141(ys)-.15 G .641(tartup \214les.)-3.141
+F(This v)144 444 Q(ariable is read-only)-.25 E(.)-.65 E F1(SHL)108 456 Q
+(VL)-.92 E F0(Incremented by one each time an instance of)144 468 Q F1
+(bash)2.5 E F0(is started.)2.5 E F1(UID)108 480 Q F0
+(Expands to the user ID of the current user)144 480 Q 2.5(,i)-.4 G
(nitialized at shell startup.)-2.5 E(This v)5 E(ariable is readonly)-.25
-E(.)-.65 E .994(The follo)108 424.8 R .994(wing v)-.25 F .994
+E(.)-.65 E .993(The follo)108 496.8 R .993(wing v)-.25 F .994
(ariables are used by the shell.)-.25 F .994(In some cases,)5.994 F F1
-(bash)3.494 E F0 .994(assigns a def)3.494 F .994(ault v)-.1 F .993
-(alue to a v)-.25 F(ariable;)-.25 E(these cases are noted belo)108 436.8
-Q -.65(w.)-.25 G F1 -.3(BA)108 453.6 S(SH_COMP).3 E -.95(AT)-.74 G F0
-1.192(The v)144 465.6 R 1.192(alue is used to set the shell')-.25 F
-3.692(sc)-.55 G 1.193(ompatibility le)-3.692 F -.15(ve)-.25 G 3.693
-(l. See).15 F 1.193(the description of the)3.693 F F1(shopt)3.693 E F0
--.2(bu)3.693 G(iltin).2 E(belo)144 477.6 Q 2.872(wu)-.25 G(nder)-2.872 E
-F1 .372(SHELL B)2.872 F(UIL)-.1 E .372(TIN COMMANDS)-.92 F F0 .372
-(for a description of the v)2.872 F .371(arious compatibility le)-.25 F
-(v-)-.25 E .36(els and their ef)144 489.6 R 2.86(fects. The)-.25 F -.25
-(va)2.86 G .361(lue may be a decimal number \(e.g., 4.2\) or an inte).25
-F .361(ger \(e.g., 42\) corre-)-.15 F 1.751
-(sponding to the desired compatibility le)144 501.6 R -.15(ve)-.25 G
-4.251(l. If).15 F F1 -.3(BA)4.251 G(SH_COMP).3 E -.95(AT)-.74 G F0 1.75
+(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 508.8
+Q -.65(w.)-.25 G F1 -.3(BA)108 525.6 S(SH_COMP).3 E -.95(AT)-.74 G F0
+1.193(The v)144 537.6 R 1.193(alue is used to set the shell')-.25 F
+3.693(sc)-.55 G 1.192(ompatibility le)-3.693 F -.15(ve)-.25 G 3.692
+(l. See).15 F 1.192(the description of the)3.692 F F1(shopt)3.692 E F0
+-.2(bu)3.692 G(iltin).2 E(belo)144 549.6 Q 2.871(wu)-.25 G(nder)-2.871 E
+F1 .371(SHELL B)2.871 F(UIL)-.1 E .371(TIN COMMANDS)-.92 F F0 .372
+(for a description of the v)2.872 F .372(arious compatibility le)-.25 F
+(v-)-.25 E .361(els and their ef)144 561.6 R 2.861(fects. The)-.25 F
+-.25(va)2.861 G .361
+(lue may be a decimal number \(e.g., 4.2\) or an inte).25 F .36
+(ger \(e.g., 42\) corre-)-.15 F 1.75
+(sponding to the desired compatibility le)144 573.6 R -.15(ve)-.25 G
+4.251(l. If).15 F F1 -.3(BA)4.251 G(SH_COMP).3 E -.95(AT)-.74 G F0 1.751
(is unset or set to the empty)5.201 F .578(string, the compatibility le)
-144 513.6 R -.15(ve)-.25 G 3.078(li).15 G 3.078(ss)-3.078 G .578
+144 585.6 R -.15(ve)-.25 G 3.078(li).15 G 3.078(ss)-3.078 G .578
(et to the def)-3.078 F .578(ault for the current v)-.1 F 3.078
(ersion. If)-.15 F F1 -.3(BA)3.078 G(SH_COMP).3 E -.95(AT)-.74 G F0(is)
-4.028 E .249(set to a v)144 525.6 R .249(alue that is not one of the v)
--.25 F .248(alid compatibility le)-.25 F -.15(ve)-.25 G .248
-(ls, the shell prints an error message and).15 F 1.119
-(sets the compatibility le)144 537.6 R -.15(ve)-.25 G 3.619(lt).15 G
-3.619(ot)-3.619 G 1.119(he def)-3.619 F 1.119(ault for the current v)-.1
-F 3.62(ersion. The)-.15 F -.25(va)3.62 G 1.12(lid compatibility le).25 F
--.15(ve)-.25 G(ls).15 E .576
-(correspond to the compatibility options accepted by the)144 549.6 R F1
-(shopt)3.075 E F0 -.2(bu)3.075 G .575(iltin described belo).2 F 3.075
-(w\()-.25 G .575(for e)-3.075 F(xam-)-.15 E(ple,)144 561.6 Q F1
+4.028 E .248(set to a v)144 597.6 R .248(alue that is not one of the v)
+-.25 F .248(alid compatibility le)-.25 F -.15(ve)-.25 G .249
+(ls, the shell prints an error message and).15 F 1.12
+(sets the compatibility le)144 609.6 R -.15(ve)-.25 G 3.62(lt).15 G
+3.619(ot)-3.62 G 1.119(he def)-3.619 F 1.119(ault for the current v)-.1
+F 3.619(ersion. The)-.15 F -.25(va)3.619 G 1.119(lid compatibility le)
+.25 F -.15(ve)-.25 G(ls).15 E .575
+(correspond to the compatibility options accepted by the)144 621.6 R F1
+(shopt)3.075 E F0 -.2(bu)3.076 G .576(iltin described belo).2 F 3.076
+(w\()-.25 G .576(for e)-3.076 F(xam-)-.15 E(ple,)144 633.6 Q F1
(compat42)2.5 E F0(means that 4.2 and 42 are v)2.5 E(alid v)-.25 E 2.5
(alues\). The)-.25 F(current v)2.5 E(ersion is also a v)-.15 E(alid v)
--.25 E(alue.)-.25 E F1 -.3(BA)108 573.6 S(SH_ENV).3 E F0 .505
-(If this parameter is set when)144 585.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 597.6 R F5
-(~/.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 609.6 R .525
+-.25 E(alue.)-.25 E F1 -.3(BA)108 645.6 S(SH_ENV).3 E F0 .506
+(If this parameter is set when)144 657.6 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 669.6 R F5
+(~/.bashr)2.855 E(c)-.37 E F0 5.355(.T).31 G .355(he v)-5.355 F .355
+(alue of)-.25 F F2 -.27(BA)2.855 G(SH_ENV).27 E F0 .355(is subjected)
+2.605 F .525(to parameter e)144 681.6 R .525
(xpansion, command substitution, and arithmetic e)-.15 F .525
-(xpansion before being interpreted)-.15 F(as a \214lename.)144 621.6 Q
+(xpansion before being interpreted)-.15 F(as a \214lename.)144 693.6 Q
F2 -.666(PA)5 G(TH)-.189 E F0
(is not used to search for the resultant \214lename.)2.25 E F1 -.3(BA)
-108 633.6 S(SH_XTRA).3 E(CEFD)-.55 E F0 .481(If set to an inte)144 645.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 657.6 R F4 3.114(set -x)5.614 F F0 3.114
+108 705.6 S(SH_XTRA).3 E(CEFD)-.55 E F0 .48(If set to an inte)144 717.6
+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 729.6 R F4 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 669.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 e\
-mpty string causes the trace output to be sent to the standard error)144
-681.6 R 7.531(.N)-.55 G 2.531(ote that setting)-7.531 F F2 -.27(BA)144
-693.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 705.6 Q(GNU Bash 5.0)72 768 Q
-(2018 March 15)144.29 E(14)193.45 E 0 Cg EP
+(he \214le descriptor is closed when)-8.114 F(GNU Bash 5.0)72 768 Q
+(2018 August 7)145.395 E(14)194.555 E 0 Cg EP
%%Page: 15 15
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
-(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(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
-(CHILD_MAX)108 132 Q F0 .997(Set the number of e)144 144 R .997
+(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 9/Times-Bold@0
+SF -.27(BA)144 84 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 F1 -.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 96 R 7.53(.N)-.55 G 2.53
+(ote that setting)-7.53 F F1 -.27(BA)144 108 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 120 Q
+/F2 10/Times-Bold@0 SF(CDP)108 132 Q -.95(AT)-.74 G(H).95 E F0 1.248
+(The search path for the)144 144 R F2(cd)3.748 E F0 3.748(command. This)
+3.748 F 1.247(is a colon-separated list of directories in which the)
+3.748 F 3.795
+(shell looks for destination directories speci\214ed by the)144 156 R F2
+(cd)6.295 E F0 6.296(command. A)6.296 F 3.796(sample v)6.296 F 3.796
+(alue is)-.25 F/F3 10/Courier@0 SF(".:~:/usr")144 168 Q F0(.)A F2
+(CHILD_MAX)108 180 Q F0 .997(Set the number of e)144 192 R .997
(xited child status v)-.15 F .997(alues for the shell to remember)-.25 F
-5.997(.B)-.55 G .997(ash will not allo)-5.997 F 3.498(wt)-.25 G(his)
--3.498 E -.25(va)144 156 S 1.078(lue to be decreased belo).25 F 3.577
+5.997(.B)-.55 G .997(ash will not allo)-5.997 F 3.497(wt)-.25 G(his)
+-3.497 E -.25(va)144 204 S 1.077(lue to be decreased belo).25 F 3.577
(waP)-.25 G 1.077(OSIX-mandated minimum, and there is a maximum v)-3.577
-F 1.077(alue \(cur)-.25 F(-)-.2 E(rently 8192\) that this may not e)144
-168 Q 2.5(xceed. The)-.15 F(minimum v)2.5 E(alue is system-dependent.)
--.25 E F1(COLUMNS)108 180 Q F0 .828(Used by the)144 192 R F1(select)
-3.328 E F0 .829(compound command to determine the terminal width when p\
-rinting selection)3.328 F 4.507(lists. Automatically)144 204 R 2.007
-(set if the)4.507 F F1(checkwinsize)4.507 E F0 2.006
-(option is enabled or in an interacti)4.507 F 2.306 -.15(ve s)-.25 H
-2.006(hell upon).15 F(receipt of a)144 216 Q/F3 9/Times-Bold@0 SF
-(SIGWINCH)2.5 E/F4 9/Times-Roman@0 SF(.)A F1(COMPREPL)108 228 Q(Y)-.92 E
-F0 .847(An array v)144 240 R .848(ariable from which)-.25 F F1(bash)
-3.348 E F0 .848
+F 1.078(alue \(cur)-.25 F(-)-.2 E(rently 8192\) that this may not e)144
+216 Q 2.5(xceed. The)-.15 F(minimum v)2.5 E(alue is system-dependent.)
+-.25 E F2(COLUMNS)108 228 Q F0 .829(Used by the)144 240 R F2(select)
+3.329 E F0 .828(compound command to determine the terminal width when p\
+rinting selection)3.329 F 4.506(lists. Automatically)144 252 R 2.006
+(set if the)4.506 F F2(checkwinsize)4.506 E F0 2.007
+(option is enabled or in an interacti)4.506 F 2.307 -.15(ve s)-.25 H
+2.007(hell upon).15 F(receipt of a)144 264 Q F1(SIGWINCH)2.5 E/F4 9
+/Times-Roman@0 SF(.)A F2(COMPREPL)108 276 Q(Y)-.92 E F0 .848(An array v)
+144 288 R .848(ariable from which)-.25 F F2(bash)3.348 E F0 .848
(reads the possible completions generated by a shell function)3.348 F
-(in)144 252 Q -.2(vo)-.4 G -.1(ke).2 G 2.785(db).1 G 2.785(yt)-2.785 G
-.285(he programmable completion f)-2.785 F .285(acility \(see)-.1 F F1
+(in)144 300 Q -.2(vo)-.4 G -.1(ke).2 G 2.785(db).1 G 2.785(yt)-2.785 G
+.285(he programmable completion f)-2.785 F .285(acility \(see)-.1 F F2
(Pr)2.785 E .285(ogrammable Completion)-.18 F F0(belo)2.785 E 2.785
(w\). Each)-.25 F(array element contains one possible completion.)144
-264 Q F1(EMA)108 276 Q(CS)-.55 E F0(If)144 288 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 F2(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 300 Q(uf)-.2 E
-(fer and disables line editing.)-.25 E F1(ENV)108 312 Q F0(Similar to)
-144 312 Q F3 -.27(BA)2.5 G(SH_ENV).27 E F4(;)A F0
+312 Q F2(EMA)108 324 Q(CS)-.55 E F0(If)144 336 Q F2(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 F3(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 348 Q(uf)-.2 E
+(fer and disables line editing.)-.25 E F2(ENV)108 360 Q F0(Similar to)
+144 360 Q F1 -.27(BA)2.5 G(SH_ENV).27 E F4(;)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(EXECIGNORE)108 324 Q F0 2.717(Ac)144
-336 S .217(olon-separated list of shell patterns \(see)-2.717 F F1 -.1
-(Pa)2.717 G(tter).1 E 2.717(nM)-.15 G(atching)-2.717 E F0 2.717(\)d)C
-.216(e\214ning the list of \214lenames to be)-2.717 F .116
-(ignored by command search using)144 348 R F1 -.74(PA)2.616 G(TH)-.21 E
-F0 5.116(.F)C .117
-(iles whose full pathnames match one of these patterns)-5.116 F 1.433
-(are not considered e)144 360 R -.15(xe)-.15 G 1.432
+(n)-2.5 E/F5 10/Times-Italic@0 SF(posix mode)2.5 E F0(.)A F2(EXECIGNORE)
+108 372 Q F0 2.716(Ac)144 384 S .216
+(olon-separated list of shell patterns \(see)-2.716 F F2 -.1(Pa)2.717 G
+(tter).1 E 2.717(nM)-.15 G(atching)-2.717 E F0 2.717(\)d)C .217
+(e\214ning the list of \214lenames to be)-2.717 F .117
+(ignored by command search using)144 396 R F2 -.74(PA)2.617 G(TH)-.21 E
+F0 5.117(.F)C .116
+(iles whose full pathnames match one of these patterns)-5.117 F 1.432
+(are not considered e)144 408 R -.15(xe)-.15 G 1.432
(cutable \214les for the purposes of completion and command e).15 F -.15
-(xe)-.15 G 1.432(cution via).15 F F1 -.74(PA)144 372 S(TH)-.21 E F0
-2.908(lookup. This)2.908 F .408(does not af)2.908 F .408(fect the beha)
--.25 F .408(vior of the)-.2 F F1([)2.908 E F0(,)A F1(test)2.908 E F0
-2.908(,a)C(nd)-2.908 E F1([[)2.908 E F0 2.909(commands. Full)2.908 F
-(pathnames)2.909 E .364(in the command hash table are not subject to)144
-384 R F1(EXECIGNORE)2.864 E F0 5.364(.U)C .364(se this v)-5.364 F .364
-(ariable to ignore shared)-.25 F 1.37(library \214les that ha)144 396 R
+(xe)-.15 G 1.433(cution via).15 F F2 -.74(PA)144 420 S(TH)-.21 E F0
+2.909(lookup. This)2.909 F .408(does not af)2.908 F .408(fect the beha)
+-.25 F .408(vior of the)-.2 F F2([)2.908 E F0(,)A F2(test)2.908 E F0
+2.908(,a)C(nd)-2.908 E F2([[)2.908 E F0 2.908(commands. Full)2.908 F
+(pathnames)2.908 E .364(in the command hash table are not subject to)144
+432 R F2(EXECIGNORE)2.864 E F0 5.364(.U)C .364(se this v)-5.364 F .364
+(ariable to ignore shared)-.25 F 1.37(library \214les that ha)144 444 R
1.67 -.15(ve t)-.2 H 1.37(he e).15 F -.15(xe)-.15 G 1.37
(cutable bit set, b).15 F 1.37(ut are not e)-.2 F -.15(xe)-.15 G 1.37
(cutable \214les.).15 F 1.37(The pattern matching)6.37 F
-(honors the setting of the)144 408 Q F1(extglob)2.5 E F0(shell option.)
-2.5 E F1(FCEDIT)108 420 Q F0(The def)144 432 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 444 Q F0
-2.599(Ac)144 456 S .098(olon-separated list of suf)-2.599 F<8c78>-.25 E
-.098(es to ignore when performing \214lename completion \(see)-.15 F F3
-(READLINE)2.598 E F0(belo)144 468 Q 2.704(w\). A)-.25 F .204
-(\214lename whose suf)2.704 F .205(\214x matches one of the entries in)
--.25 F F3(FIGNORE)2.705 E F0 .205(is e)2.455 F .205
-(xcluded from the list)-.15 F(of matched \214lenames.)144 480 Q 2.5(As)5
-G(ample v)-2.5 E(alue is)-.25 E F2(".o:~")2.5 E F0(.)A F1(FUNCNEST)108
-492 Q F0 .231(If set to a numeric v)144 504 R .231
+(honors the setting of the)144 456 Q F2(extglob)2.5 E F0(shell option.)
+2.5 E F2(FCEDIT)108 468 Q F0(The def)144 480 Q(ault editor for the)-.1 E
+F2(fc)2.5 E F0 -.2(bu)2.5 G(iltin command.).2 E F2(FIGNORE)108 492 Q F0
+2.598(Ac)144 504 S .098(olon-separated list of suf)-2.598 F<8c78>-.25 E
+.098(es to ignore when performing \214lename completion \(see)-.15 F F1
+(READLINE)2.599 E F0(belo)144 516 Q 2.705(w\). A)-.25 F .205
+(\214lename whose suf)2.705 F .205(\214x matches one of the entries in)
+-.25 F F1(FIGNORE)2.705 E F0 .205(is e)2.455 F .204
+(xcluded from the list)-.15 F(of matched \214lenames.)144 528 Q 2.5(As)5
+G(ample v)-2.5 E(alue is)-.25 E F3(".o:~")2.5 E F0(.)A F2(FUNCNEST)108
+540 Q F0 .23(If set to a numeric v)144 552 R .231
(alue greater than 0, de\214nes a maximum function nesting le)-.25 F
--.15(ve)-.25 G 2.73(l. Function).15 F(in)2.73 E -.2(vo)-.4 G(-).2 E
-(cations that e)144 516 Q(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 F1
-(GLOBIGNORE)108 528 Q F0 2.923(Ac)144 540 S .423(olon-separated list of\
+-.15(ve)-.25 G 2.731(l. Function).15 F(in)2.731 E -.2(vo)-.4 G(-).2 E
+(cations that e)144 564 Q(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 F2
+(GLOBIGNORE)108 576 Q F0 2.924(Ac)144 588 S .423(olon-separated list of\
patterns de\214ning the set of \214le names to be ignored by pathname \
-e)-2.923 F(xpan-)-.15 E 2.948(sion. If)144 552 R 2.948<618c>2.948 G .448
-(le name matched by a pathname e)-2.948 F .447
-(xpansion pattern also matches one of the patterns in)-.15 F F3
-(GLOBIGNORE)144 564 Q F4(,)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 576 Q(OL)-.3 E F0
-2.653(Ac)144 588 S .153(olon-separated list of v)-2.653 F .153
+e)-2.924 F(xpan-)-.15 E 2.947(sion. If)144 600 R 2.947<618c>2.947 G .447
+(le name matched by a pathname e)-2.947 F .448
+(xpansion pattern also matches one of the patterns in)-.15 F F1
+(GLOBIGNORE)144 612 Q F4(,)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 F2(HISTCONTR)108 624 Q(OL)-.3 E F0
+2.654(Ac)144 636 S .153(olon-separated list of v)-2.654 F .153
(alues controlling ho)-.25 F 2.653(wc)-.25 G .153(ommands are sa)-2.653
F -.15(ve)-.2 G 2.653(do).15 G 2.653(nt)-2.653 G .153(he history list.)
--2.653 F .154(If the list)5.153 F .491(of v)144 600 R .491
-(alues includes)-.25 F/F5 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 612 R
-3.057(Av)5.557 G .557(alue of)-3.307 F F5(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.926
-(Av)144 624 S .426(alue of)-3.176 F F5(ignor)2.936 E(eboth)-.37 E F0
-.426(is shorthand for)3.206 F F5(ignor)2.926 E(espace)-.37 E F0(and)
-2.926 E F5(ignor)2.926 E(edups)-.37 E F0 5.426(.A)C -.25(va)-2.501 G
-.425(lue of).25 F F5(er)3.115 E(asedups)-.15 E F0(causes)3.195 E .698
-(all pre)144 636 R .698
+-2.653 F .153(If the list)5.153 F .49(of v)144 648 R .49(alues includes)
+-.25 F F5(ignor)2.99 E(espace)-.37 E F0 2.99(,l).18 G .49(ines which be)
+-2.99 F .491(gin with a)-.15 F F2(space)2.991 E F0 .491
+(character are not sa)2.991 F -.15(ve)-.2 G 2.991(di).15 G 2.991(nt)
+-2.991 G .491(he his-)-2.991 F .558(tory list.)144 660 R 3.058(Av)5.558
+G .558(alue of)-3.308 F F5(ignor)3.068 E(edups)-.37 E F0 .558
+(causes lines matching the pre)3.328 F .557
+(vious history entry to not be sa)-.25 F -.15(ve)-.2 G(d.).15 E 2.925
+(Av)144 672 S .425(alue of)-3.175 F F5(ignor)2.935 E(eboth)-.37 E F0
+.426(is shorthand for)3.205 F F5(ignor)2.926 E(espace)-.37 E F0(and)
+2.926 E F5(ignor)2.926 E(edups)-.37 E F0 5.426(.A)C -.25(va)-2.5 G .426
+(lue of).25 F F5(er)3.116 E(asedups)-.15 E F0(causes)3.196 E .699
+(all pre)144 684 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 648 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 660 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 672 Q F4(.)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 684 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 696 Q F0 .181
-(The name of the \214le in which command history is sa)144 708 R -.15
-(ve)-.2 G 2.681(d\().15 G(see)-2.681 E F3(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 720 Q F5(~/.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 a shell e)-2.5 E(xits.)-.15 E(GNU Bash 5.0)72 768 Q
-(2018 March 15)144.29 E(15)193.45 E 0 Cg EP
+3.198(df).15 G .698(rom the history list before that line is)-3.198 F
+(sa)144 696 Q -.15(ve)-.2 G 2.763(d. An).15 F 2.763(yv)-.15 G .263
+(alue not in the abo)-3.013 F .563 -.15(ve l)-.15 H .263
+(ist is ignored.).15 F(If)5.263 E F1(HISTCONTR)2.763 E(OL)-.27 E F0 .264
+(is unset, or does not include)2.513 F 2.942(av)144 708 S .442(alid v)
+-3.192 F .442(alue, all lines read by the shell parser are sa)-.25 F
+-.15(ve)-.2 G 2.941(do).15 G 2.941(nt)-2.941 G .441
+(he history list, subject to the v)-2.941 F .441(alue of)-.25 F F1
+(HISTIGNORE)144 720 Q F4(.)A F0 1.981(The second and subsequent lines o\
+f a multi-line compound command are not)6.481 F(GNU Bash 5.0)72 768 Q
+(2018 August 7)145.395 E(15)194.555 E 0 Cg EP
%%Page: 16 16
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
-(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0
-SF(HISTFILESIZE)108 84 Q F0 1.623
-(The maximum number of lines contained in the history \214le.)144 96 R
-1.622(When this v)6.623 F 1.622(ariable is assigned a)-.25 F -.25(va)144
-108 S .931(lue, the history \214le is truncated, if necessary).25 F
+(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E
+(tested, and are added to the history re)144 84 Q -.05(ga)-.15 G
+(rdless of the v).05 E(alue of)-.25 E/F1 9/Times-Bold@0 SF(HISTCONTR)2.5
+E(OL)-.27 E/F2 9/Times-Roman@0 SF(.)A/F3 10/Times-Bold@0 SF(HISTFILE)108
+96 Q F0 .181(The name of the \214le in which command history is sa)144
+108 R -.15(ve)-.2 G 2.681(d\().15 G(see)-2.681 E F1(HIST)2.681 E(OR)
+-.162 E(Y)-.315 E F0(belo)2.431 E 2.681(w\). The)-.25 F(def)2.681 E .181
+(ault v)-.1 F(alue)-.25 E(is)144 120 Q/F4 10/Times-Italic@0 SF
+(~/.bash_history)2.5 E F0 5(.I)C 2.5(fu)-5 G
+(nset, the command history is not sa)-2.5 E -.15(ve)-.2 G 2.5(dw).15 G
+(hen a shell e)-2.5 E(xits.)-.15 E F3(HISTFILESIZE)108 132 Q F0 1.622
+(The maximum number of lines contained in the history \214le.)144 144 R
+1.623(When this v)6.623 F 1.623(ariable is assigned a)-.25 F -.25(va)144
+156 S .932(lue, the history \214le is truncated, if necessary).25 F
3.432(,t)-.65 G 3.432(oc)-3.432 G .932
-(ontain no more than that number of lines by)-3.432 F(remo)144 120 Q
-.871(ving the oldest entries.)-.15 F .87(The history \214le is also tru\
-ncated to this size after writing it when a)5.871 F 1.244(shell e)144
-132 R 3.744(xits. If)-.15 F 1.244(the v)3.744 F 1.244
-(alue is 0, the history \214le is truncated to zero size.)-.25 F 1.245
-(Non-numeric v)6.244 F 1.245(alues and)-.25 F 1.022(numeric v)144 144 R
+(ontain no more than that number of lines by)-3.432 F(remo)144 168 Q .87
+(ving the oldest entries.)-.15 F .871(The history \214le is also trunca\
+ted to this size after writing it when a)5.87 F 1.245(shell e)144 180 R
+3.745(xits. If)-.15 F 1.244(the v)3.744 F 1.244
+(alue is 0, the history \214le is truncated to zero size.)-.25 F 1.244
+(Non-numeric v)6.244 F 1.244(alues and)-.25 F 1.021(numeric v)144 192 R
1.022(alues less than zero inhibit truncation.)-.25 F 1.022
(The shell sets the def)6.022 F 1.022(ault v)-.1 F 1.022(alue to the v)
--.25 F 1.021(alue of)-.25 F F1(HISTSIZE)144 156 Q F0(after reading an)
-2.5 E 2.5(ys)-.15 G(tartup \214les.)-2.5 E F1(HISTIGNORE)108 168 Q F0
-2.657(Ac)144 180 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 192 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 204 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/F2 9/Times-Bold@0
-SF(HISTCONTR)144 216 Q(OL)-.27 E F0 1.793(are applied.)4.043 F 1.793
+-.25 F 1.022(alue of)-.25 F F3(HISTSIZE)144 204 Q F0(after reading an)
+2.5 E 2.5(ys)-.15 G(tartup \214les.)-2.5 E F3(HISTIGNORE)108 216 Q F0
+2.658(Ac)144 228 S .158(olon-separated list of patterns used to decide \
+which command lines should be sa)-2.658 F -.15(ve)-.2 G 2.657(do).15 G
+2.657(nt)-2.657 G .157(he his-)-2.657 F .707(tory list.)144 240 R .707
+(Each pattern is anchored at the be)5.707 F .708
+(ginning of the line and must match the complete line)-.15 F .626
+(\(no implicit `)144 252 R F3(*)A F0 3.126('i)C 3.126(sa)-3.126 G 3.126
+(ppended\). Each)-3.126 F .626(pattern is tested ag)3.126 F .625
+(ainst the line after the checks speci\214ed by)-.05 F F1(HISTCONTR)144
+264 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 228 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(remo)144 240
-Q -.15(ve)-.15 G 3.353(db).15 G .853(efore attempting a match.)-3.353 F
+F3(&)A F0(')A 2.515(matches the pre)144 276 R 2.515(vious history line.)
+-.25 F(`)7.514 E F3(&)A F0 5.014('m)C 2.514
+(ay be escaped using a backslash; the backslash is)-5.014 F(remo)144 288
+Q -.15(ve)-.15 G 3.352(db).15 G .852(efore attempting a match.)-3.352 F
.852(The second and subsequent lines of a multi-line compound)5.852 F
-1.269(command are not tested, and are added to the history re)144 252 R
--.05(ga)-.15 G 1.269(rdless of the v).05 F 1.269(alue of)-.25 F F2
-(HISTIGNORE)3.77 E/F3 9/Times-Roman@0 SF(.)A F0
-(The pattern matching honors the setting of the)144 264 Q F1(extglob)2.5
-E F0(shell option.)2.5 E F1(HISTSIZE)108 276 Q F0 1.387
-(The number of commands to remember in the command history \(see)144 288
-R F2(HIST)3.887 E(OR)-.162 E(Y)-.315 E F0(belo)3.637 E 3.887(w\). If)
--.25 F(the)3.887 E -.25(va)144 300 S 1.32(lue is 0, commands are not sa)
-.25 F -.15(ve)-.2 G 3.82(di).15 G 3.821(nt)-3.82 G 1.321
-(he history list.)-3.821 F 1.321(Numeric v)6.321 F 1.321
-(alues less than zero result in)-.25 F -2.15 -.25(ev e)144 312 T .437
-(ry command being sa).25 F -.15(ve)-.2 G 2.937(do).15 G 2.937(nt)-2.937
-G .437(he history list \(there is no limit\).)-2.937 F .436
-(The shell sets the def)5.436 F .436(ault v)-.1 F(alue)-.25 E
-(to 500 after reading an)144 324 Q 2.5(ys)-.15 G(tartup \214les.)-2.5 E
-F1(HISTTIMEFORMA)108 336 Q(T)-.95 E F0 .951(If this v)144 348 R .951
-(ariable is set and not null, its v)-.25 F .952
-(alue is used as a format string for)-.25 F/F4 10/Times-Italic@0 SF
-(strftime)3.452 E F0 .952(\(3\) to print the)B .673
-(time stamp associated with each history entry displayed by the)144 360
-R F1(history)3.173 E F0 -.2(bu)3.172 G 3.172(iltin. If).2 F .672(this v)
-3.172 F .672(ariable is)-.25 F .144
-(set, time stamps are written to the history \214le so the)144 372 R
+1.269(command are not tested, and are added to the history re)144 300 R
+-.05(ga)-.15 G 1.269(rdless of the v).05 F 1.269(alue of)-.25 F F1
+(HISTIGNORE)3.769 E F2(.)A F0
+(The pattern matching honors the setting of the)144 312 Q F3(extglob)2.5
+E F0(shell option.)2.5 E F3(HISTSIZE)108 324 Q F0 1.387
+(The number of commands to remember in the command history \(see)144 336
+R F1(HIST)3.887 E(OR)-.162 E(Y)-.315 E F0(belo)3.637 E 3.887(w\). If)
+-.25 F(the)3.888 E -.25(va)144 348 S 1.321
+(lue is 0, commands are not sa).25 F -.15(ve)-.2 G 3.821(di).15 G 3.821
+(nt)-3.821 G 1.321(he history list.)-3.821 F 1.32(Numeric v)6.32 F 1.32
+(alues less than zero result in)-.25 F -2.15 -.25(ev e)144 360 T .436
+(ry command being sa).25 F -.15(ve)-.2 G 2.936(do).15 G 2.936(nt)-2.936
+G .436(he history list \(there is no limit\).)-2.936 F .437
+(The shell sets the def)5.437 F .437(ault v)-.1 F(alue)-.25 E
+(to 500 after reading an)144 372 Q 2.5(ys)-.15 G(tartup \214les.)-2.5 E
+F3(HISTTIMEFORMA)108 384 Q(T)-.95 E F0 .952(If this v)144 396 R .952
+(ariable is set and not null, its v)-.25 F .951
+(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 408
+R F3(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 420 R
2.644(ym)-.15 G .144(ay be preserv)-2.644 F .144
-(ed across shell sessions.)-.15 F(This)5.145 E(uses the history comment\
- character to distinguish timestamps from other history lines.)144 384 Q
-F1(HOME)108 396 Q F0 1.27
-(The home directory of the current user; the def)144 408 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 420 S(lue of this v).25 E
-(ariable is also used when performing tilde e)-.25 E(xpansion.)-.15 E F1
-(HOSTFILE)108 432 Q F0 1.015
-(Contains the name of a \214le in the same format as)144 444 R F4
+(ed across shell sessions.)-.15 F(This)5.144 E(uses the history comment\
+ character to distinguish timestamps from other history lines.)144 432 Q
+F3(HOME)108 444 Q F0 1.27
+(The home directory of the current user; the def)144 456 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 468 S(lue of this v).25 E
+(ariable is also used when performing tilde e)-.25 E(xpansion.)-.15 E F3
+(HOSTFILE)108 480 Q F0 1.015
+(Contains the name of a \214le in the same format as)144 492 R F4
(/etc/hosts)5.181 E F0 1.015(that should be read when the shell)5.181 F
-.551(needs to complete a hostname.)144 456 R .551
+.55(needs to complete a hostname.)144 504 R .551
(The list of possible hostname completions may be changed while)5.551 F
-1.058(the shell is running; the ne)144 468 R 1.059
-(xt time hostname completion is attempted after the v)-.15 F 1.059
-(alue is changed,)-.25 F F1(bash)144 480 Q F0 .138
-(adds the contents of the ne)2.639 F 2.638<778c>-.25 G .138(le to the e)
--2.638 F .138(xisting list.)-.15 F(If)5.138 E F2(HOSTFILE)2.638 E F0
-.138(is set, b)2.388 F .138(ut has no v)-.2 F .138(alue, or)-.25 F .517
-(does not name a readable \214le,)144 492 R F1(bash)3.017 E F0 .517
-(attempts to read)3.017 F F4(/etc/hosts)4.684 E F0 .518
-(to obtain the list of possible host-)4.684 F(name completions.)144 504
-Q(When)5 E F2(HOSTFILE)2.5 E F0(is unset, the hostname list is cleared.)
-2.25 E F1(IFS)108 516 Q F0(The)144 516 Q F4 .556(Internal F)3.636 F .556
-(ield Separ)-.45 F(ator)-.15 E F0 .556(that is used for w)3.786 F .556
-(ord splitting after e)-.1 F .555(xpansion and to split lines into)-.15
-F -.1(wo)144 528 S(rds with the).1 E F1 -.18(re)2.5 G(ad).18 E F0 -.2
+1.059(the shell is running; the ne)144 516 R 1.059
+(xt time hostname completion is attempted after the v)-.15 F 1.058
+(alue is changed,)-.25 F F3(bash)144 528 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
+.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 540 R F3(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 552
+Q(When)5 E F1(HOSTFILE)2.5 E F0(is unset, the hostname list is cleared.)
+2.25 E F3(IFS)108 564 Q F0(The)144 564 Q 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 576 S(rds with the).1 E F3 -.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 F1(IGNOREEOF)108 540 Q
-F0 .503(Controls the action of an interacti)144 552 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 .504(If set,)5.504 F .426(the v)
-144 564 R .426(alue is the number of consecuti)-.25 F -.15(ve)-.25 G F2
+(`<space><tab><ne)-.74 E(wline>')-.25 E('.)-.74 E F3(IGNOREEOF)108 588 Q
+F0 .503(Controls the action of an interacti)144 600 R .803 -.15(ve s)
+-.25 H .503(hell on receipt of an).15 F F1(EOF)3.003 E F0 .503
+(character as the sole input.)2.753 F .503(If set,)5.503 F .426(the v)
+144 612 R .426(alue is the number of consecuti)-.25 F -.15(ve)-.25 G F1
(EOF)3.076 E F0 .426
-(characters which must be typed as the \214rst characters)2.676 F .302
-(on an input line before)144 576 R F1(bash)2.802 E F0 -.15(ex)2.802 G
+(characters which must be typed as the \214rst characters)2.676 F .303
+(on an input line before)144 624 R F3(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 .303(alue, or has)-.25 F(no v)144 588 Q(alue, the def)
+(umeric v).15 F .302(alue, or has)-.25 F(no v)144 636 Q(alue, the def)
-.25 E(ault v)-.1 E(alue is 10.)-.25 E(If it does not e)5 E(xist,)-.15 E
-F2(EOF)2.5 E F0(signi\214es the end of input to the shell.)2.25 E F1
-(INPUTRC)108 600 Q F0 1.436(The \214lename for the)144 612 R F1 -.18(re)
+F1(EOF)2.5 E F0(signi\214es the end of input to the shell.)2.25 E F3
+(INPUTRC)108 648 Q F0 1.435(The \214lename for the)144 660 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.601 E F2(READLINE)3.935 E F0(belo)144 624 Q(w\).)-.25
-E F1(LANG)108 636 Q F0 1.239(Used to determine the locale cate)144 636 R
-1.239(gory for an)-.15 F 3.739(yc)-.15 G(ate)-3.739 E 1.24
-(gory not speci\214cally selected with a v)-.15 F(ariable)-.25 E
-(starting with)144 648 Q F1(LC_)2.5 E F0(.)A F1(LC_ALL)108 660 Q F0 .974
-(This v)144 672 R .974(ariable o)-.25 F -.15(ve)-.15 G .974
-(rrides the v).15 F .973(alue of)-.25 F F2(LANG)3.473 E F0 .973(and an)
-3.223 F 3.473(yo)-.15 G(ther)-3.473 E F1(LC_)3.473 E F0 -.25(va)3.473 G
-.973(riable specifying a locale cate-).25 F(gory)144 684 Q(.)-.65 E F1
-(LC_COLLA)108 696 Q(TE)-.95 E F0 .411(This v)144 708 R .412(ariable det\
-ermines the collation order used when sorting the results of pathname e)
--.25 F(xpansion,)-.15 E 1.465(and determines the beha)144 720 R 1.465
-(vior of range e)-.2 F 1.464(xpressions, equi)-.15 F -.25(va)-.25 G
-1.464(lence classes, and collating sequences).25 F(GNU Bash 5.0)72 768 Q
-(2018 March 15)144.29 E(16)193.45 E 0 Cg EP
+-.37 E F0(\(see)5.602 E F1(READLINE)3.936 E F0(belo)144 672 Q(w\).)-.25
+E F3(INSIDE_EMA)108 684 Q(CS)-.55 E F0 .887(If this v)144 696 R .887
+(ariable appears in the en)-.25 F .886(vironment when the shell starts,)
+-.4 F F3(bash)3.386 E F0 .886(assumes that it is running)3.386 F
+(inside an Emacs shell b)144 708 Q(uf)-.2 E
+(fer and may disable line editing, depending on the v)-.25 E(alue of)
+-.25 E F3(TERM)2.5 E F0(.)A(GNU Bash 5.0)72 768 Q(2018 August 7)145.395
+E(16)194.555 E 0 Cg EP
%%Page: 17 17
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
-(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E(within pathname e)
-144 84 Q(xpansion and pattern matching.)-.15 E/F1 10/Times-Bold@0 SF
-(LC_CTYPE)108 96 Q F0 1.935(This v)144 108 R 1.936
+(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0
+SF(LANG)108 84 Q F0 1.239(Used to determine the locale cate)144 84 R
+1.239(gory for an)-.15 F 3.739(yc)-.15 G(ate)-3.739 E 1.24
+(gory not speci\214cally selected with a v)-.15 F(ariable)-.25 E
+(starting with)144 96 Q F1(LC_)2.5 E F0(.)A F1(LC_ALL)108 108 Q F0 .974
+(This v)144 120 R .974(ariable o)-.25 F -.15(ve)-.15 G .974
+(rrides the v).15 F .973(alue of)-.25 F/F2 9/Times-Bold@0 SF(LANG)3.473
+E F0 .973(and an)3.223 F 3.473(yo)-.15 G(ther)-3.473 E F1(LC_)3.473 E F0
+-.25(va)3.473 G .973(riable specifying a locale cate-).25 F(gory)144 132
+Q(.)-.65 E F1(LC_COLLA)108 144 Q(TE)-.95 E F0 .411(This v)144 156 R .412
+(ariable determines the collation order used when sorting the results o\
+f pathname e)-.25 F(xpansion,)-.15 E 1.465(and determines the beha)144
+168 R 1.465(vior of range e)-.2 F 1.464(xpressions, equi)-.15 F -.25(va)
+-.25 G 1.464(lence classes, and collating sequences).25 F
+(within pathname e)144 180 Q(xpansion and pattern matching.)-.15 E F1
+(LC_CTYPE)108 192 Q F0 1.935(This v)144 204 R 1.936
(ariable determines the interpretation of characters and the beha)-.25 F
-1.936(vior of character classes)-.2 F(within pathname e)144 120 Q
-(xpansion and pattern matching.)-.15 E F1(LC_MESSA)108 132 Q(GES)-.55 E
-F0(This v)144 144 Q(ariable determines the locale used to translate dou\
+1.936(vior of character classes)-.2 F(within pathname e)144 216 Q
+(xpansion and pattern matching.)-.15 E F1(LC_MESSA)108 228 Q(GES)-.55 E
+F0(This v)144 240 Q(ariable determines the locale used to translate dou\
ble-quoted strings preceded by a)-.25 E F1($)2.5 E F0(.)A F1(LC_NUMERIC)
-108 156 Q F0(This v)144 168 Q(ariable determines the locale cate)-.25 E
-(gory used for number formatting.)-.15 E F1(LC_TIME)108 180 Q F0(This v)
-144 192 Q(ariable determines the locale cate)-.25 E
-(gory used for data and time formatting.)-.15 E F1(LINES)108 204 Q F0
-.055(Used by the)144 204 R F1(select)2.555 E F0 .054(compound command t\
+108 252 Q F0(This v)144 264 Q(ariable determines the locale cate)-.25 E
+(gory used for number formatting.)-.15 E F1(LC_TIME)108 276 Q F0(This v)
+144 288 Q(ariable determines the locale cate)-.25 E
+(gory used for data and time formatting.)-.15 E F1(LINES)108 300 Q F0
+.055(Used by the)144 300 R F1(select)2.555 E F0 .054(compound command t\
o determine the column length for printing selection lists.)2.555 F .264
-(Automatically set if the)144 216 R F1(checkwinsize)2.764 E F0 .264
+(Automatically set if the)144 312 R F1(checkwinsize)2.764 E F0 .264
(option is enabled or in an interacti)2.764 F .565 -.15(ve s)-.25 H .265
-(hell upon receipt of a).15 F/F2 9/Times-Bold@0 SF(SIGWINCH)144 228 Q/F3
-9/Times-Roman@0 SF(.)A F1(MAIL)108 240 Q F0 1.201
-(If this parameter is set to a \214le or directory name and the)144 240
+(hell upon receipt of a).15 F F2(SIGWINCH)144 324 Q/F3 9/Times-Roman@0
+SF(.)A F1(MAIL)108 336 Q F0 1.201
+(If this parameter is set to a \214le or directory name and the)144 336
R F2(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 F1(bash)3.701 E F0
-(informs the user of the arri)144 252 Q -.25(va)-.25 G 2.5(lo).25 G 2.5
+(informs the user of the arri)144 348 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 F1(MAILCHECK)108 264 Q F0 .098
-(Speci\214es ho)144 276 R 2.598(wo)-.25 G .098(ften \(in seconds\))
+(-format directory)-.2 E(.)-.65 E F1(MAILCHECK)108 360 Q F0 .098
+(Speci\214es ho)144 372 R 2.598(wo)-.25 G .098(ften \(in seconds\))
-2.598 F F1(bash)2.598 E F0 .098(checks for mail.)2.598 F .098(The def)
5.098 F .098(ault is 60 seconds.)-.1 F .099(When it is time)5.099 F .224
(to check for mail, the shell does so before displaying the primary pro\
-mpt.)144 288 R .223(If this v)5.223 F .223(ariable is unset,)-.25 F
-(or set to a v)144 300 Q(alue that is not a number greater than or equa\
-l to zero, the shell disables mail checking.)-.25 E F1(MAILP)108 312 Q
--.95(AT)-.74 G(H).95 E F0 2.99(Ac)144 324 S .49
+mpt.)144 384 R .223(If this v)5.223 F .223(ariable is unset,)-.25 F
+(or set to a v)144 396 Q(alue that is not a number greater than or equa\
+l to zero, the shell disables mail checking.)-.25 E F1(MAILP)108 408 Q
+-.95(AT)-.74 G(H).95 E F0 2.99(Ac)144 420 S .49
(olon-separated list of \214lenames to be check)-2.99 F .49
(ed for mail.)-.1 F .49(The message to be printed when mail)5.49 F(arri)
-144 336 Q -.15(ve)-.25 G 2.62(si).15 G 2.62(nap)-2.62 G .12(articular \
+144 432 Q -.15(ve)-.25 G 2.62(si).15 G 2.62(nap)-2.62 G .12(articular \
\214le may be speci\214ed by separating the \214lename from the message\
- with a `?'.)-2.62 F(When used in the te)144 348 Q(xt of the message,)
+ with a `?'.)-2.62 F(When used in the te)144 444 Q(xt of the message,)
-.15 E F1($_)2.5 E F0 -.15(ex)2.5 G
(pands to the name of the current mail\214le.).15 E(Example:)5 E F1
-(MAILP)144 360 Q -.95(AT)-.74 G(H).95 E F0(=\010/v)A(ar/mail/bfox?"Y)
+(MAILP)144 456 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 372 Q F0 .015
+(ail":~/shell\255mail?"$_ has mail!"\010).15 E F1(Bash)144 468 Q F0 .015
(can be con\214gured to supply a def)2.515 F .015(ault v)-.1 F .015
(alue for this v)-.25 F .015(ariable \(there is no v)-.25 F .015
(alue by def)-.25 F .015(ault\), b)-.1 F(ut)-.2 E(the location of the u\
-ser mail \214les that it uses is system dependent \(e.g., /v)144 384 Q
-(ar/mail/)-.25 E F1($USER)A F0(\).)A F1(OPTERR)108 396 Q F0 .39
-(If set to the v)144 408 R .39(alue 1,)-.25 F F1(bash)2.89 E F0 .389
+ser mail \214les that it uses is system dependent \(e.g., /v)144 480 Q
+(ar/mail/)-.25 E F1($USER)A F0(\).)A F1(OPTERR)108 492 Q F0 .39
+(If set to the v)144 504 R .39(alue 1,)-.25 F F1(bash)2.89 E F0 .389
(displays error messages generated by the)2.889 F F1(getopts)2.889 E F0
--.2(bu)2.889 G .389(iltin command \(see).2 F F2 .359(SHELL B)144 420 R
+-.2(bu)2.889 G .389(iltin command \(see).2 F F2 .359(SHELL B)144 516 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 432 Q
--.15(xe)-.15 G(cuted.).15 E F1 -.74(PA)108 444 S(TH)-.21 E F0 .588
-(The search path for commands.)144 444 R .587
+2.609 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E(or a shell script is e)144 528 Q
+-.15(xe)-.15 G(cuted.).15 E F1 -.74(PA)108 540 S(TH)-.21 E F0 .588
+(The search path for commands.)144 540 R .587
(It is a colon-separated list of directories in which the shell looks)
-5.588 F .471(for commands \(see)144 456 R F2 .471(COMMAND EXECUTION)
+5.588 F .471(for commands \(see)144 552 R F2 .471(COMMAND EXECUTION)
2.971 F F0(belo)2.722 E 2.972(w\). A)-.25 F .472
-(zero-length \(null\) directory name in the)2.972 F -.25(va)144 468 S
+(zero-length \(null\) directory name in the)2.972 F -.25(va)144 564 S
.536(lue of).25 F F2 -.666(PA)3.036 G(TH)-.189 E F0 .535
(indicates the current directory)2.786 F 5.535(.A)-.65 G .535
(null directory name may appear as tw)-2.5 F 3.035(oa)-.1 G(djacent)
--3.035 E .867(colons, or as an initial or trailing colon.)144 480 R .868
+-3.035 E .867(colons, or as an initial or trailing colon.)144 576 R .868
(The def)5.868 F .868(ault path is system-dependent, and is set by the)
--.1 F(administrator who installs)144 492 Q F1(bash)2.5 E F0 5(.A)C
+-.1 F(administrator who installs)144 588 Q F1(bash)2.5 E F0 5(.A)C
(common v)-2.5 E(alue is)-.25 E/F4 10/Courier@0 SF
-(/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin)144 504 Q
-F0(.)A F1(POSIXL)108 516 Q(Y_CORRECT)-.92 E F0 .471(If this v)144 528 R
+(/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin)144 600 Q
+F0(.)A F1(POSIXL)108 612 Q(Y_CORRECT)-.92 E F0 .471(If this v)144 624 R
.471(ariable is in the en)-.25 F .471(vironment when)-.4 F F1(bash)2.971
E F0 .471(starts, the shell enters)2.971 F/F5 10/Times-Italic@0 SF .472
(posix mode)2.972 F F0 .472(before reading)2.972 F .011
-(the startup \214les, as if the)144 540 R F1(\255\255posix)2.511 E F0
+(the startup \214les, as if the)144 636 R F1(\255\255posix)2.511 E F0
(in)2.511 E -.2(vo)-.4 G .011(cation option had been supplied.).2 F .011
-(If it is set while the shell is)5.011 F(running,)144 552 Q F1(bash)2.5
-E F0(enables)2.5 E F5(posix mode)2.5 E F0 2.5(,a)C 2.5(si)-2.5 G 2.5(ft)
--2.5 G(he command)-2.5 E F4(set -o posix)2.5 E F0(had been e)2.5 E -.15
-(xe)-.15 G(cuted.).15 E F1(PR)108 564 Q(OMPT_COMMAND)-.3 E F0
-(If set, the v)144 576 Q(alue is e)-.25 E -.15(xe)-.15 G
+(If it is set while the shell is)5.011 F(running,)144 648 Q F1(bash)
+4.497 E F0(enables)4.497 E F5 1.997(posix mode)4.497 F F0 4.497(,a)C
+4.497(si)-4.497 G 4.497(ft)-4.497 G 1.997(he command)-4.497 F F4 1.997
+(set -o posix)4.497 F F0 1.998(had been e)4.497 F -.15(xe)-.15 G(cuted.)
+.15 E(When the shell enters)144 660 Q F5(posix mode)2.5 E F0 2.5(,i)C
+2.5(ts)-2.5 G(ets this v)-2.5 E(ariable if it w)-.25 E
+(as not already set.)-.1 E F1(PR)108 672 Q(OMPT_COMMAND)-.3 E F0
+(If set, the v)144 684 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 588 Q(OMPT_DIR)-.3 E(TRIM)-.4 E F0 .676
-(If set to a number greater than zero, the v)144 600 R .676
+108 696 Q(OMPT_DIR)-.3 E(TRIM)-.4 E F0 .676
+(If set to a number greater than zero, the v)144 708 R .676
(alue is used as the number of trailing directory compo-)-.25 F .923
-(nents to retain when e)144 612 R .923(xpanding the)-.15 F F1(\\w)3.423
+(nents to retain when e)144 720 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 624 Q -.15(ve)-.15 G 2.5(da).15 G
-(re replaced with an ellipsis.)-2.5 E F1(PS0)108 636 Q F0 1.174(The v)
-144 636 R 1.174(alue of this parameter is e)-.25 F 1.174(xpanded \(see)
--.15 F F2(PR)3.674 E(OMPTING)-.27 E F0(belo)3.424 E 1.174
-(w\) and displayed by interacti)-.25 F -.15(ve)-.25 G
-(shells after reading a command and before the command is e)144 648 Q
--.15(xe)-.15 G(cuted.).15 E F1(PS1)108 660 Q F0 .065(The v)144 660 R
-.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 672 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 684 Q F0 .117(The v)144 684 R .117
-(alue of this parameter is e)-.25 F .117(xpanded as with)-.15 F F2(PS1)
-2.617 E F0 .118(and used as the secondary prompt string.)2.368 F(The)
-5.118 E(def)144 696 Q(ault is `)-.1 E(`)-.74 E F1(>)A F0 -.74('')2.5 G
-(.).74 E F1(PS3)108 708 Q F0 1.116(The v)144 708 R 1.115
-(alue of this parameter is used as the prompt for the)-.25 F F1(select)
-3.615 E F0 1.115(command \(see)3.615 F F2 1.115(SHELL GRAM-)3.615 F(MAR)
-144 720 Q F0(abo)2.25 E -.15(ve)-.15 G(\).).15 E(GNU Bash 5.0)72 768 Q
-(2018 March 15)144.29 E(17)193.45 E 0 Cg EP
+(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(17)194.555 E 0 Cg EP
%%Page: 18 18
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
-(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0
-SF(PS4)108 84 Q F0 .1(The v)144 84 R .1(alue of this parameter is e)-.25
-F .1(xpanded as with)-.15 F/F2 9/Times-Bold@0 SF(PS1)2.6 E F0 .101
-(and the v)2.35 F .101(alue is printed before each command)-.25 F F1
-(bash)144 96 Q F0 .335(displays during an e)2.835 F -.15(xe)-.15 G .335
-(cution trace.).15 F .335(The \214rst character of the e)5.335 F .335
-(xpanded v)-.15 F .335(alue of)-.25 F F2(PS4)2.834 E F0 .334(is repli-)
-2.584 F(cated multiple times, as necessary)144 108 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 120 Q F0 .663(The full pathname to the shell is k)144 132
-R .664(ept in this en)-.1 F .664(vironment v)-.4 F 3.164(ariable. If)
--.25 F .664(it is not set when the shell)3.164 F(starts,)144 144 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 156 Q(T)-.95 E F0
-.827(The v)144 168 R .826
+(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E(Characters remo)
+144 84 Q -.15(ve)-.15 G 2.5(da).15 G(re replaced with an ellipsis.)-2.5
+E/F1 10/Times-Bold@0 SF(PS0)108 96 Q F0 1.174(The v)144 96 R 1.174
+(alue of this parameter is e)-.25 F 1.174(xpanded \(see)-.15 F/F2 9
+/Times-Bold@0 SF(PR)3.674 E(OMPTING)-.27 E F0(belo)3.424 E 1.174
+(w\) and displayed by interacti)-.25 F -.15(ve)-.25 G
+(shells after reading a command and before the command is e)144 108 Q
+-.15(xe)-.15 G(cuted.).15 E F1(PS1)108 120 Q F0 .064(The v)144 120 R
+.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 132 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 144 Q F0 .118(The v)144 144 R .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 156 Q(ault is `)-.1 E(`)-.74 E F1(>)A F0 -.74('')2.5 G
+(.).74 E F1(PS3)108 168 Q F0 1.115(The v)144 168 R 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 180 Q F0(abo)2.25 E -.15(ve)-.15 G(\).).15 E F1(PS4)108 192 Q F0
+.101(The v)144 192 R .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 204 Q F0 .334
+(displays during an e)2.834 F -.15(xe)-.15 G .335(cution trace.).15 F
+.335(The \214rst character of the e)5.335 F .335(xpanded v)-.15 F .335
+(alue of)-.25 F F2(PS4)2.835 E F0 .335(is repli-)2.585 F
+(cated multiple times, as necessary)144 216 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 228 Q F0 .664(The full pathname to the shell is k)144 240 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 252 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 264 Q(T)-.95 E F0 .826
+(The v)144 276 R .826
(alue of this parameter is used as a format string specifying ho)-.25 F
-3.326(wt)-.25 G .826(he timing information for)-3.326 F .648
-(pipelines pre\214x)144 180 R .648(ed with the)-.15 F F1(time)3.148 E F0
-(reserv)3.148 E .648(ed w)-.15 F .649(ord should be displayed.)-.1 F
-(The)5.649 E F1(%)3.149 E F0 .649(character introduces)3.149 F .712
-(an escape sequence that is e)144 192 R .711(xpanded to a time v)-.15 F
-.711(alue or other information.)-.25 F .711(The escape sequences)5.711 F
-(and their meanings are as follo)144 204 Q
-(ws; the braces denote optional portions.)-.25 E F1(%%)144 222 Q F0 2.5
-(Al)194 222 S(iteral)-2.5 E F1(%)2.5 E F0(.)A F1(%[)144 234 Q/F3 10
+3.327(wt)-.25 G .827(he timing information for)-3.327 F .649
+(pipelines pre\214x)144 288 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 300 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 312 Q
+(ws; the braces denote optional portions.)-.25 E F1(%%)144 330 Q F0 2.5
+(Al)194 330 S(iteral)-2.5 E F1(%)2.5 E F0(.)A F1(%[)144 342 Q/F3 10
/Times-Italic@0 SF(p)A F1(][l]R)A F0(The elapsed time in seconds.)194
-234 Q F1(%[)144 246 Q F3(p)A F1(][l]U)A F0
-(The number of CPU seconds spent in user mode.)194 246 Q F1(%[)144 258 Q
+342 Q F1(%[)144 354 Q F3(p)A F1(][l]U)A F0
+(The number of CPU seconds spent in user mode.)194 354 Q F1(%[)144 366 Q
F3(p)A F1(][l]S)A F0(The number of CPU seconds spent in system mode.)194
-258 Q F1(%P)144 270 Q F0
-(The CPU percentage, computed as \(%U + %S\) / %R.)194 270 Q .87
-(The optional)144 286.8 R F3(p)3.37 E F0 .87(is a digit specifying the)
+366 Q F1(%P)144 378 Q F0
+(The CPU percentage, computed as \(%U + %S\) / %R.)194 378 Q .87
+(The optional)144 394.8 R F3(p)3.37 E F0 .87(is a digit specifying the)
3.37 F F3(pr)3.37 E(ecision)-.37 E F0 3.37(,t)C .87
-(he number of fractional digits after a decimal)-3.37 F 2.526(point. A)
-144 298.8 R -.25(va)2.526 G .025
-(lue of 0 causes no decimal point or fraction to be output.).25 F .025
-(At most three places after the)5.025 F .537
-(decimal point may be speci\214ed; v)144 310.8 R .537(alues of)-.25 F F3
-(p)3.037 E F0 .537(greater than 3 are changed to 3.)3.037 F(If)5.538 E
-F3(p)3.038 E F0 .538(is not speci\214ed,)3.038 F(the v)144 322.8 Q
-(alue 3 is used.)-.25 E .668(The optional)144 339.6 R F1(l)3.168 E F0
+(he number of fractional digits after a decimal)-3.37 F 2.525(point. A)
+144 406.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 418.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
+F3(p)3.037 E F0 .537(is not speci\214ed,)3.037 F(the v)144 430.8 Q
+(alue 3 is used.)-.25 E .667(The optional)144 447.6 R F1(l)3.167 E F0
.668(speci\214es a longer format, including minutes, of the form)3.168 F
-F3(MM)3.168 E F0(m)A F3(SS)A F0(.)A F3(FF)A F0 3.167(s. The)B -.25(va)
-3.167 G(lue).25 E(of)144 351.6 Q F3(p)2.5 E F0
-(determines whether or not the fraction is included.)2.5 E 13.364
-(If this v)144 368.4 R 13.364(ariable is not set,)-.25 F F1(bash)15.865
-E F0 13.365(acts as if it had the v)15.865 F(alue)-.25 E F1($\010\\nr)
-144 380.4 Q(eal\\t%3lR\\nuser\\t%3lU\\nsys\\t%3lS\010)-.18 E F0 7.113
+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 459.6 Q F3(p)2.5 E F0
+(determines whether or not the fraction is included.)2.5 E 13.365
+(If this v)144 476.4 R 13.365(ariable is not set,)-.25 F F1(bash)15.865
+E F0 13.364(acts as if it had the v)15.865 F(alue)-.25 E F1($\010\\nr)
+144 488.4 Q(eal\\t%3lR\\nuser\\t%3lU\\nsys\\t%3lS\010)-.18 E F0 7.113
(.I)C 4.613(ft)-7.113 G 2.113(he v)-4.613 F 2.113
(alue is null, no timing information is dis-)-.25 F 2.5(played. A)144
-392.4 R(trailing ne)2.5 E
+500.4 R(trailing ne)2.5 E
(wline is added when the format string is displayed.)-.25 E F1(TMOUT)108
-404.4 Q F0 .941(If set to a v)144 416.4 R .941(alue greater than zero,)
+512.4 Q F0 .941(If set to a v)144 524.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 428.4 Q F1(select)2.811 E F0 .311
-(command terminates if input does not arri)2.811 F .61 -.15(ve a)-.25 H
-(fter).15 E F2(TMOUT)2.81 E F0 .31(seconds when input is com-)2.56 F
-.885(ing from a terminal.)144 440.4 R .885(In an interacti)5.885 F 1.185
--.15(ve s)-.25 H .885(hell, the v).15 F .886
-(alue is interpreted as the number of seconds to)-.25 F -.1(wa)144 452.4
+G(iltin.).2 E(The)144 536.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 548.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 560.4
S 1.05(it for a line of input after issuing the primary prompt.).1 F F1
(Bash)6.05 E F0 1.05(terminates after w)3.55 F 1.05(aiting for that)-.1
-F(number of seconds if a complete line of input does not arri)144 464.4
-Q -.15(ve)-.25 G(.).15 E F1(TMPDIR)108 476.4 Q F0 .39(If set,)144 488.4
-R F1(bash)2.89 E F0 .39(uses its v)2.89 F .39
-(alue as the name of a directory in which)-.25 F F1(bash)2.891 E F0 .391
-(creates temporary \214les for the)2.891 F(shell')144 500.4 Q 2.5(su)
--.55 G(se.)-2.5 E F1(auto_r)108 512.4 Q(esume)-.18 E F0 .531(This v)144
-524.4 R .531(ariable controls ho)-.25 F 3.031(wt)-.25 G .531
-(he shell interacts with the user and job control.)-3.031 F .53
-(If this v)5.53 F .53(ariable is set,)-.25 F .538(single w)144 536.4 R
+F(number of seconds if a complete line of input does not arri)144 572.4
+Q -.15(ve)-.25 G(.).15 E F1(TMPDIR)108 584.4 Q F0 .391(If set,)144 596.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 608.4 Q 2.5(su)-.55
+G(se.)-2.5 E F1(auto_r)108 620.4 Q(esume)-.18 E F0 .53(This v)144 632.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 644.4 R
.538(ord simple commands without redirections are treated as candidates\
- for resumption of an)-.1 F -.15(ex)144 548.4 S .367(isting stopped job)
-.15 F 5.367(.T)-.4 G .366(here is no ambiguity allo)-5.367 F .366
-(wed; if there is more than one job be)-.25 F .366(ginning with)-.15 F
-1.124(the string typed, the job most recently accessed is selected.)144
-560.4 R(The)6.125 E F3(name)3.985 E F0 1.125(of a stopped job, in this)
-3.805 F(conte)144 572.4 Q 1.133
+ for resumption of an)-.1 F -.15(ex)144 656.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
+668.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 680.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 F3 -.2(ex)3.633 G(act).2 E F0 3.632(,t).68 G 1.132
-(he string supplied must)-3.632 F .624
-(match the name of a stopped job e)144 584.4 R .624(xactly; if set to)
--.15 F F3(substring)3.125 E F0 3.125(,t).22 G .625
-(he string supplied needs to match a)-3.125 F .885
-(substring of the name of a stopped job)144 596.4 R 5.884(.T)-.4 G(he)
--5.884 E F3(substring)3.724 E F0 -.25(va)3.604 G .884(lue pro).25 F .884
-(vides functionality analogous to)-.15 F(the)144 608.4 Q F1(%?)3.333 E
-F0 .833(job identi\214er \(see)5.833 F F2 .834(JOB CONTR)3.334 F(OL)-.27
+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 692.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 704.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 716.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 .834(alue, the supplied string)-.25 F .316
-(must be a pre\214x of a stopped job')144 620.4 R 2.816(sn)-.55 G .316
-(ame; this pro)-2.816 F .315(vides functionality analogous to the)-.15 F
-F1(%)2.815 E F3(string)A F0(job)2.815 E(identi\214er)144 632.4 Q(.)-.55
-E F1(histchars)108 644.4 Q F0 2.069(The tw)144 656.4 R 4.57(oo)-.1 G
-4.57(rt)-4.57 G 2.07(hree characters which control history e)-4.57 F
-2.07(xpansion and tok)-.15 F 2.07(enization \(see)-.1 F F2(HIST)4.57 E
-(OR)-.162 E(Y)-.315 E(EXP)144 668.4 Q(ANSION)-.666 E F0(belo)3.466 E
-3.716(w\). The)-.25 F 1.216(\214rst character is the)3.716 F F3 1.215
-(history e)3.715 F(xpansion)-.2 E F0(character)3.715 E 3.715(,t)-.4 G
-1.215(he character which)-3.715 F .798(signals the start of a history e)
-144 680.4 R .798(xpansion, normally `)-.15 F F1(!)A F0 3.298('. The)B
-.798(second character is the)3.298 F F3(quic)3.298 E 3.298(ks)-.2 G
-(ubstitu-)-3.298 E(tion)144 692.4 Q F0(character)2.74 E 2.74(,w)-.4 G
-.239(hich is used as shorthand for re-running the pre)-2.74 F .239
-(vious command entered, substitut-)-.25 F .575
-(ing one string for another in the command.)144 704.4 R .575(The def)
-5.575 F .575(ault is `)-.1 F F1(^)A F0 3.075('. The)B .576
-(optional third character is the)3.076 F .223(character which indicates\
- that the remainder of the line is a comment when found as the \214rst \
-char)144 716.4 R(-)-.2 E 1.293(acter of a w)144 728.4 R 1.293
-(ord, normally `)-.1 F F1(#)A F0 3.793('. The)B 1.294
-(history comment character causes history substitution to be)3.794 F
-(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(18)193.45 E 0 Cg EP
+-.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 728.4 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 F3(string)A F0(job)2.816 E(GNU Bash 5.0)72 768 Q
+(2018 August 7)145.395 E(18)194.555 E 0 Cg EP
%%Page: 19 19
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
-(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E .38
-(skipped for the remaining w)144 84 R .38(ords on the line.)-.1 F .379
-(It does not necessarily cause the shell parser to treat)5.379 F
-(the rest of the line as a comment.)144 96 Q/F1 10/Times-Bold@0 SF
-(Arrays)87 112.8 Q(Bash)108 124.8 Q F0(pro)3.39 E .89
-(vides one-dimensional inde)-.15 F -.15(xe)-.15 G 3.39(da).15 G .891
-(nd associati)-3.39 F 1.191 -.15(ve a)-.25 H .891(rray v).15 F 3.391
-(ariables. An)-.25 F 3.391(yv)-.15 G .891(ariable may be used as an)
--3.641 F(inde)108 136.8 Q -.15(xe)-.15 G 2.574(da).15 G .074(rray; the)
--2.574 F F1(declar)2.574 E(e)-.18 E F0 -.2(bu)2.574 G .074(iltin will e)
-.2 F .073(xplicitly declare an array)-.15 F 5.073(.T)-.65 G .073
-(here is no maximum limit on the size of)-5.073 F .328(an array)108
-148.8 R 2.828(,n)-.65 G .328(or an)-2.828 F 2.828(yr)-.15 G .329
-(equirement that members be inde)-2.828 F -.15(xe)-.15 G 2.829(do).15 G
-2.829(ra)-2.829 G .329(ssigned contiguously)-2.829 F 5.329(.I)-.65 G
-(nde)-5.329 E -.15(xe)-.15 G 2.829(da).15 G .329(rrays are refer)-2.829
-F(-)-.2 E 1.595(enced using inte)108 160.8 R 1.595
-(gers \(including arithmetic e)-.15 F 1.595
+(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E(identi\214er)144
+84 Q(.)-.55 E/F1 10/Times-Bold@0 SF(histchars)108 96 Q F0 2.07(The tw)
+144 108 R 4.57(oo)-.1 G 4.57(rt)-4.57 G 2.07
+(hree characters which control history e)-4.57 F 2.07(xpansion and tok)
+-.15 F 2.07(enization \(see)-.1 F/F2 9/Times-Bold@0 SF(HIST)4.569 E(OR)
+-.162 E(Y)-.315 E(EXP)144 120 Q(ANSION)-.666 E F0(belo)3.465 E 3.715
+(w\). The)-.25 F 1.215(\214rst character is the)3.715 F/F3 10
+/Times-Italic@0 SF 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 132 R .798(xpansion, normally `)
+-.15 F F1(!)A F0 3.298('. The)B .798(second character is the)3.298 F F3
+(quic)3.298 E 3.298(ks)-.2 G(ubstitu-)-3.298 E(tion)144 144 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 156 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 168 R(-)-.2 E 1.294(acter of a w)144 180 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 192 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 204 Q F1(Arrays)87 220.8 Q(Bash)
+108 232.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 244.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 256.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.595(enced using inte)108 268.8 R
+1.595(gers \(including arithmetic e)-.15 F 1.595
(xpressions\) and are zero-based; associati)-.15 F 1.895 -.15(ve a)-.25
H 1.595(rrays are refer).15 F(-)-.2 E(enced using arbitrary strings.)108
-172.8 Q(Unless otherwise noted, inde)5 E -.15(xe)-.15 G 2.5(da).15 G
+280.8 Q(Unless otherwise noted, inde)5 E -.15(xe)-.15 G 2.5(da).15 G
(rray indices must be non-ne)-2.5 E -.05(ga)-.15 G(ti).05 E .3 -.15
-(ve i)-.25 H(nte).15 E(gers.)-.15 E 2.462(An inde)108 189.6 R -.15(xe)
--.15 G 4.962(da).15 G 2.462(rray is created automatically if an)-4.962 F
-4.963(yv)-.15 G 2.463(ariable is assigned to using the syntax)-5.213 F
-/F2 10/Times-Italic@0 SF(name)4.963 E F0([)A F2(sub-)A(script)108 201.6
-Q F0(]=)A F2(value)A F0 6.549(.T)C(he)-6.549 E F2(subscript)4.389 E F0
-1.549(is treated as an arithmetic e)4.729 F 1.549(xpression that must e)
--.15 F -.25(va)-.25 G 1.548(luate to a number).25 F 6.548(.T)-.55 G(o)
--7.348 E -.15(ex)108 213.6 S 1.979(plicitly declare an inde).15 F -.15
-(xe)-.15 G 4.479(da).15 G(rray)-4.479 E 4.48(,u)-.65 G(se)-4.48 E F1
-(declar)4.48 E 4.48<65ad>-.18 G(a)-4.48 E F2(name)4.48 E F0(\(see)4.48 E
-/F3 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(w\).)-.25 E F1(declar)108 225.6 Q 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 242.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
-259.2 Q .941(utes may be speci\214ed for an array v)-.2 F .941
-(ariable using the)-.25 F F1(declar)3.441 E(e)-.18 E F0(and)3.44 E F1
--.18(re)3.44 G(adonly).18 E F0 -.2(bu)3.44 G 3.44(iltins. Each).2 F
-(attrib)3.44 E(ute)-.2 E(applies to all members of an array)108 271.2 Q
-(.)-.65 E 1.647
-(Arrays are assigned to using compound assignments of the form)108 288 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.148(,w)C 1.648(here each)
--4.148 F F2(value)108 300 Q F0 1.833(is of the form [)4.333 F F2
-(subscript)A F0(]=)A F2(string)A F0 6.833(.I)C(nde)-6.833 E -.15(xe)-.15
-G 4.333(da).15 G 1.833(rray assignments do not require an)-4.333 F 1.832
-(ything b)-.15 F(ut)-.2 E F2(string)4.332 E F0(.)A .163
-(When assigning to inde)108 312 R -.15(xe)-.15 G 2.663(da).15 G .163
+(ve i)-.25 H(nte).15 E(gers.)-.15 E 2.463(An inde)108 297.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
+F3(name)4.962 E F0([)A F3(sub-)A(script)108 309.6 Q F0(]=)A F3(value)A
+F0 6.548(.T)C(he)-6.548 E F3(subscript)4.388 E F0 1.549
+(is treated as an arithmetic e)4.728 F 1.549(xpression that must e)-.15
+F -.25(va)-.25 G 1.549(luate to a number).25 F 6.549(.T)-.55 G(o)-7.349
+E -.15(ex)108 321.6 S 1.98(plicitly declare an inde).15 F -.15(xe)-.15 G
+4.48(da).15 G(rray)-4.48 E 4.48(,u)-.65 G(se)-4.48 E F1(declar)4.48 E
+4.48<65ad>-.18 G(a)-4.48 E F3(name)4.48 E F0(\(see)4.48 E F2 1.979
+(SHELL B)4.479 F(UIL)-.09 E 1.979(TIN COMMANDS)-.828 F F0(belo)4.229 E
+(w\).)-.25 E F1(declar)108 333.6 Q 2.5<65ad>-.18 G(a)-2.5 E F3(name)2.5
+E F1([)A F3(subscript)A F1(])A F0(is also accepted; the)2.5 E F3
+(subscript)2.5 E F0(is ignored.)2.5 E(Associati)108 350.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 F3(name)2.5 E F0(.)A(Attrib)108 367.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 379.2 Q(.)-.65 E 1.647
+(Arrays are assigned to using compound assignments of the form)108 396 R
+F3(name)4.147 E F0(=)A F1(\()A F0 -.25(va)C(lue).25 E F3(1)A F0 1.647
+(... v)4.147 F(alue)-.25 E F3(n)A F1(\))A F0 4.147(,w)C 1.647(here each)
+-4.147 F F3(value)108 408 Q F0 1.833(is of the form [)4.332 F F3
+(subscript)A F0(]=)A F3(string)A F0 6.833(.I)C(nde)-6.833 E -.15(xe)-.15
+G 4.333(da).15 G 1.833(rray assignments do not require an)-4.333 F 1.833
+(ything b)-.15 F(ut)-.2 E F3(string)4.333 E F0(.)A .164
+(When assigning to inde)108 420 R -.15(xe)-.15 G 2.663(da).15 G .163
(rrays, if the optional brack)-2.663 F .163
-(ets and subscript are supplied, that inde)-.1 F 2.664(xi)-.15 G 2.664
-(sa)-2.664 G(ssigned)-2.664 E 1.411(to; otherwise the inde)108 324 R
-3.911(xo)-.15 G 3.911(ft)-3.911 G 1.411
-(he element assigned is the last inde)-3.911 F 3.91(xa)-.15 G 1.41
-(ssigned to by the statement plus one.)-3.91 F(Inde)108 336 Q
-(xing starts at zero.)-.15 E(When assigning to an associati)108 352.8 Q
-.3 -.15(ve a)-.25 H(rray).15 E 2.5(,t)-.65 G(he subscript is required.)
--2.5 E .239(This syntax is also accepted by the)108 369.6 R F1(declar)
-2.739 E(e)-.18 E F0 -.2(bu)2.739 G 2.739(iltin. Indi).2 F .24
-(vidual array elements may be assigned to using the)-.25 F F2(name)108
-381.6 Q F0([)A F2(subscript)A F0(]=)A F2(value)A F0 1.917
-(syntax introduced abo)4.417 F -.15(ve)-.15 G 6.917(.W).15 G 1.917
+(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 432 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 444 Q(xing starts at zero.)-.15 E
+(When assigning to an associati)108 460.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 477.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 F3(name)108
+489.6 Q F0([)A F3(subscript)A F0(]=)A F3(value)A F0 1.917
+(syntax introduced abo)4.416 F -.15(ve)-.15 G 6.917(.W).15 G 1.917
(hen assigning to an inde)-6.917 F -.15(xe)-.15 G 4.417(da).15 G(rray)
--4.417 E 4.417(,i)-.65 G(f)-4.417 E F2(name)4.777 E F0 1.916(is sub-)
-4.597 F .115(scripted by a ne)108 393.6 R -.05(ga)-.15 G(ti).05 E .415
--.15(ve n)-.25 H(umber).15 E 2.615(,t)-.4 G .115
-(hat number is interpreted as relati)-2.615 F .415 -.15(ve t)-.25 H
-2.615(oo).15 G .116(ne greater than the maximum inde)-2.615 F(x)-.15 E
-(of)108 405.6 Q F2(name)3.338 E F0 3.338(,s)C 3.338(on)-3.338 G -2.25
+-4.417 E 4.417(,i)-.65 G(f)-4.417 E F3(name)4.777 E F0 1.917(is sub-)
+4.597 F .116(scripted by a ne)108 501.6 R -.05(ga)-.15 G(ti).05 E .416
+-.15(ve n)-.25 H(umber).15 E 2.616(,t)-.4 G .115
+(hat number is interpreted as relati)-2.616 F .415 -.15(ve t)-.25 H
+2.615(oo).15 G .115(ne greater than the maximum inde)-2.615 F(x)-.15 E
+(of)108 513.6 Q F3(name)3.338 E F0 3.338(,s)C 3.338(on)-3.338 G -2.25
-.15(eg a)-3.338 H(ti).15 E 1.138 -.15(ve i)-.25 H .838
(ndices count back from the end of the array).15 F 3.338(,a)-.65 G .838
(nd an inde)-3.338 F 3.338(xo)-.15 G 3.338<66ad>-3.338 G 3.338(1r)-3.338
-G .838(eferences the last)-3.338 F(element.)108 417.6 Q(An)108 434.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 446.4 R 4.041(xpansion. If)-.15 F F2
+G .838(eferences the last)-3.338 F(element.)108 525.6 Q(An)108 542.4 Q
+3.576(ye)-.15 G 1.076(lement of an array may be referenced using ${)
+-3.576 F F3(name)A F0([)A F3(subscript)A F0 3.575(]}. The)B 1.075
+(braces are required to a)3.575 F -.2(vo)-.2 G(id).2 E 1.541
+(con\215icts with pathname e)108 554.4 R 4.041(xpansion. If)-.15 F F3
(subscript)4.041 E F0(is)4.041 E F1(@)4.041 E F0(or)4.041 E F1(*)4.041 E
F0 4.041(,t)C 1.541(he w)-4.041 F 1.541(ord e)-.1 F 1.541
-(xpands to all members of)-.15 F F2(name)4.041 E F0(.)A 1.056
-(These subscripts dif)108 458.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 470.4 Q F2(name)A F0 .521([*]} e)B
-.521(xpands to a single w)-.15 F .521(ord with the v)-.1 F .52
+(xpands to all members of)-.15 F F3(name)4.042 E F0(.)A 1.057
+(These subscripts dif)108 566.4 R 1.057(fer only when the w)-.25 F 1.057
+(ord appears within double quotes.)-.1 F 1.056(If the w)6.056 F 1.056
+(ord is double-quoted,)-.1 F(${)108 578.4 Q F3(name)A F0 .52([*]} e)B
+.52(xpands to a single w)-.15 F .52(ord with the v)-.1 F .521
(alue of each array member separated by the \214rst character)-.25 F
-1.374(of the)108 482.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
-494.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 506.4 R .759(ord, the e)-.1 F .759
+1.375(of the)108 590.4 R F2(IFS)3.875 E F0 1.375(special v)3.625 F 1.375
+(ariable, and ${)-.25 F F3(name)A F0 1.375([@]} e)B 1.375
+(xpands each element of)-.15 F F3(name)3.875 E F0 1.374(to a separate w)
+3.875 F 3.874(ord. When)-.1 F 2.027(there are no array members, ${)108
+602.4 R F3(name)A F0 2.028([@]} e)B 2.028(xpands to nothing.)-.15 F
+2.028(If the double-quoted e)7.028 F 2.028(xpansion occurs)-.15 F .759
+(within a w)108 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
-518.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 530.4 R .228(xpansion of the special parameters)-.15
+(ginning part of the original w)-.15 F(ord,)-.1 E .515(and the e)108
+626.4 R .516(xpansion of the last parameter is joined with the last par\
+t of the original w)-.15 F 3.016(ord. This)-.1 F .516(is analogous)3.016
+F .228(to the e)108 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 542.4
-S .886(pands to the length of ${).15 F F2(name)A F0([)A F2(subscript)A
-F0 3.386(]}. If)B F2(subscript)3.386 E F0(is)3.386 E F1(*)3.386 E F0(or)
+(Special P)2.728 F(arameters)-.1 E F0(abo)2.727 E -.15(ve)-.15 G 2.727
+(\). ${#).15 F F3(name)A F0([)A F3(subscript)A F0(]})A -.15(ex)108 650.4
+S .886(pands to the length of ${).15 F F3(name)A F0([)A F3(subscript)A
+F0 3.386(]}. If)B F3(subscript)3.386 E F0(is)3.386 E F1(*)3.386 E F0(or)
3.386 E F1(@)3.386 E F0 3.386(,t)C .886(he e)-3.386 F .886
-(xpansion is the number of ele-)-.15 F .294(ments in the array)108 554.4
-R 5.294(.I)-.65 G 2.794(ft)-5.294 G(he)-2.794 E F2(subscript)3.135 E F0
+(xpansion is the number of ele-)-.15 F .295(ments in the array)108 662.4
+R 5.295(.I)-.65 G 2.795(ft)-5.295 G(he)-2.795 E F3(subscript)3.135 E F0
.295(used to reference an element of an inde)3.475 F -.15(xe)-.15 G
-2.795(da).15 G .295(rray e)-2.795 F -.25(va)-.25 G .295
-(luates to a number).25 F .629
-(less than zero, it is interpreted as relati)108 566.4 R .929 -.15(ve t)
--.25 H 3.128(oo).15 G .628(ne greater than the maximum inde)-3.128 F
-3.128(xo)-.15 G 3.128(ft)-3.128 G .628(he array)-3.128 F 3.128(,s)-.65 G
-3.128(on)-3.128 G -2.25 -.15(eg a)-3.128 H(ti).15 E -.15(ve)-.25 G
-(indices count back from the end of the array)108 578.4 Q 2.5(,a)-.65 G
+2.794(da).15 G .294(rray e)-2.794 F -.25(va)-.25 G .294
+(luates to a number).25 F .628
+(less than zero, it is interpreted as relati)108 674.4 R .928 -.15(ve t)
+-.25 H 3.128(oo).15 G .629(ne greater than the maximum inde)-3.128 F
+3.129(xo)-.15 G 3.129(ft)-3.129 G .629(he array)-3.129 F 3.129(,s)-.65 G
+3.129(on)-3.129 G -2.25 -.15(eg a)-3.129 H(ti).15 E -.15(ve)-.25 G
+(indices count back from the end of the array)108 686.4 Q 2.5(,a)-.65 G
(nd an inde)-2.5 E 2.5(xo)-.15 G 2.5<66ad>-2.5 G 2.5(1r)-2.5 G
(eferences the last element.)-2.5 E .595(Referencing an array v)108
-595.2 R .595(ariable without a subscript is equi)-.25 F -.25(va)-.25 G
+703.2 R .595(ariable without a subscript is equi)-.25 F -.25(va)-.25 G
.595(lent to referencing the array with a subscript of).25 F 2.5(0. An)
-108 607.2 R 2.5(yr)-.15 G(eference to a v)-2.5 E(ariable using a v)-.25
+108 715.2 R 2.5(yr)-.15 G(eference to a v)-2.5 E(ariable using a v)-.25
E(alid subscript is le)-.25 E -.05(ga)-.15 G(l, and).05 E F1(bash)2.5 E
-F0(will create an array if necessary)2.5 E(.)-.65 E(An array v)108 624 Q
-(ariable is considered set if a subscript has been assigned a v)-.25 E
+F0(will create an array if necessary)2.5 E(.)-.65 E(GNU Bash 5.0)72 768
+Q(2018 August 7)145.395 E(19)194.555 E 0 Cg EP
+%%Page: 20 20
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
+(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E(An array v)108 84
+Q(ariable is considered set if a subscript has been assigned a v)-.25 E
2.5(alue. The)-.25 F(null string is a v)2.5 E(alid v)-.25 E(alue.)-.25 E
-.418(It is possible to obtain the k)108 640.8 R -.15(ey)-.1 G 2.918(s\()
-.15 G .418(indices\) of an array as well as the v)-2.918 F 2.917
-(alues. ${)-.25 F F1(!)A F2(name)A F0([)A F2(@)A F0 .417(]} and ${)B F1
-(!)A F2(name)A F0([)A F2(*)A F0(]})A -.15(ex)108 652.8 S .749
-(pand to the indices assigned in array v).15 F(ariable)-.25 E F2(name)
-3.249 E F0 5.749(.T)C .75
+.417(It is possible to obtain the k)108 100.8 R -.15(ey)-.1 G 2.918(s\()
+.15 G .418(indices\) of an array as well as the v)-2.918 F 2.918
+(alues. ${)-.25 F/F1 10/Times-Bold@0 SF(!)A/F2 10/Times-Italic@0 SF
+(name)A F0([)A F2(@)A F0 .418(]} and ${)B F1(!)A F2(name)A F0([)A F2(*)A
+F0(]})A -.15(ex)108 112.8 S .75(pand to the indices assigned in array v)
+.15 F(ariable)-.25 E F2(name)3.249 E F0 5.749(.T)C .749
(he treatment when in double quotes is similar to)-5.749 F(the e)108
-664.8 Q(xpansion of the special parameters)-.15 E F2(@)2.5 E F0(and)2.5
-E F2(*)2.5 E F0(within double quotes.)2.5 E(The)108 681.6 Q F1(unset)
-2.767 E F0 -.2(bu)2.767 G .267(iltin is used to destro).2 F 2.767(ya)-.1
+124.8 Q(xpansion of the special parameters)-.15 E F2(@)2.5 E F0(and)2.5
+E F2(*)2.5 E F0(within double quotes.)2.5 E(The)108 141.6 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.766 E(script)108 693.6 Q F0 3.974(,f)C 1.474
-(or both inde)-3.974 F -.15(xe)-.15 G 3.974(da).15 G 1.474(nd associati)
--3.974 F 1.774 -.15(ve a)-.25 H 3.974(rrays. Ne).15 F -.05(ga)-.15 G(ti)
+-.15 E F2(sub-)2.767 E(script)108 153.6 Q F0 3.975(,f)C 1.475
+(or both inde)-3.975 F -.15(xe)-.15 G 3.975(da).15 G 1.474(nd associati)
+-3.975 F 1.774 -.15(ve a)-.25 H 3.974(rrays. Ne).15 F -.05(ga)-.15 G(ti)
.05 E 1.774 -.15(ve s)-.25 H 1.474(ubscripts to inde).15 F -.15(xe)-.15
-G 3.975(da).15 G 1.475(rrays are interpreted as)-3.975 F .615
-(described abo)108 705.6 R -.15(ve)-.15 G 5.615(.U).15 G .615
-(nsetting the last element of an array v)-5.615 F .614
-(ariable does not unset the v)-.25 F(ariable.)-.25 E F1(unset)5.614 E F2
-(name)3.114 E F0(,)A(where)108 717.6 Q F2(name)2.5 E F0(is an array)2.5
+G 3.974(da).15 G 1.474(rrays are interpreted as)-3.974 F .614
+(described abo)108 165.6 R -.15(ve)-.15 G 5.614(.U).15 G .614
+(nsetting the last element of an array v)-5.614 F .615
+(ariable does not unset the v)-.25 F(ariable.)-.25 E F1(unset)5.615 E F2
+(name)3.115 E F0(,)A(where)108 177.6 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(GNU Bash 5.0)72 768 Q(2018 March 15)
-144.29 E(19)193.45 E 0 Cg EP
-%%Page: 20 20
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
-(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E .847
-(When using a v)108 84 R .848(ariable name with a subscript as an ar)
--.25 F .848(gument to a command, such as with)-.18 F/F1 10/Times-Bold@0
-SF(unset)3.348 E F0 3.348(,w)C(ithout)-3.348 E .345(using the w)108 96 R
-.345(ord e)-.1 F .345(xpansion syntax described abo)-.15 F -.15(ve)-.15
-G 2.845(,t).15 G .345(he ar)-2.845 F .344
-(gument is subject to pathname e)-.18 F 2.844(xpansion. If)-.15 F(path-)
-2.844 E(name e)108 108 Q(xpansion is not desired, the ar)-.15 E
-(gument should be quoted.)-.18 E(The)108 124.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 .339
-(option to specify an associati)108 136.8 R .638 -.15(ve a)-.25 H(rray)
+(he entire array)-2.5 E(.)-.65 E .848(When using a v)108 194.4 R .848
+(ariable name with a subscript as an ar)-.25 F .848
+(gument to a command, such as with)-.18 F F1(unset)3.347 E F0 3.347(,w)C
+(ithout)-3.347 E .344(using the w)108 206.4 R .344(ord e)-.1 F .344
+(xpansion syntax described abo)-.15 F -.15(ve)-.15 G 2.845(,t).15 G .345
+(he ar)-2.845 F .345(gument is subject to pathname e)-.18 F 2.845
+(xpansion. If)-.15 F(path-)2.845 E(name e)108 218.4 Q
+(xpansion is not desired, the ar)-.15 E(gument should be quoted.)-.18 E
+(The)108 235.2 Q F1(declar)3.574 E(e)-.18 E F0(,)A F1(local)3.574 E F0
+3.574(,a)C(nd)-3.574 E F1 -.18(re)3.574 G(adonly).18 E F0 -.2(bu)3.574 G
+1.073(iltins each accept a).2 F F1<ad61>3.573 E F0 1.073
+(option to specify an inde)3.573 F -.15(xe)-.15 G 3.573(da).15 G 1.073
+(rray and a)-3.573 F F1<ad41>3.573 E F0 .338
+(option to specify an associati)108 247.2 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 F1<ad41>2.838 E F0(tak)2.838 E .338(es precedence.)-.1 F(The)
-5.338 E F1 -.18(re)2.838 G(ad).18 E F0 -.2(bu)2.838 G(iltin).2 E .44
-(accepts a)108 148.8 R F1<ad61>2.941 E F0 .441
+5.338 E F1 -.18(re)2.839 G(ad).18 E F0 -.2(bu)2.839 G(iltin).2 E .441
+(accepts a)108 259.2 R F1<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 F1(set)2.941 E F0(and)2.941 E F1(declar)2.941 E(e)-.18 E F0 -.2
-(bu)108 160.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/F2 10.95
-/Times-Bold@0 SF(EXP)72 177.6 Q(ANSION)-.81 E F0 .76(Expansion is perfo\
-rmed on the command line after it has been split into w)108 189.6 R 3.26
+-5.441 E F1(set)2.941 E F0(and)2.941 E F1(declar)2.94 E(e)-.18 E F0 -.2
+(bu)108 271.2 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 288 Q(ANSION)-.81 E F0 .76(Expansion is perform\
+ed on the command line after it has been split into w)108 300 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 201.6 S .369(pansion performed:).15 F/F3 10
-/Times-Italic@0 SF(br)2.869 E .369(ace e)-.15 F(xpansion)-.2 E F0(,).24
-E F3 .369(tilde e)2.869 F(xpansion)-.2 E F0(,).24 E F3(par)2.869 E .369
-(ameter and variable e)-.15 F(xpansion)-.2 E F0(,).24 E F3 .37
-(command sub-)2.869 F(stitution)108 213.6 Q F0(,).24 E F3(arithmetic e)
-2.5 E(xpansion)-.2 E F0(,).24 E F3(wor)2.5 E 2.5(ds)-.37 G(plitting)-2.5
-E F0 2.5(,a).22 G(nd)-2.5 E F3(pathname e)2.5 E(xpansion)-.2 E F0(.).24
-E .419(The order of e)108 230.4 R .419(xpansions is: brace e)-.15 F .418
-(xpansion; tilde e)-.15 F .418(xpansion, parameter and v)-.15 F .418
-(ariable e)-.25 F .418(xpansion, arithmetic)-.15 F -.15(ex)108 242.4 S
-.195(pansion, and command substitution \(done in a left-to-right f).15 F
-.196(ashion\); w)-.1 F .196(ord splitting; and pathname e)-.1 F(xpan-)
--.15 E(sion.)108 254.4 Q .257
-(On systems that can support it, there is an additional e)108 271.2 R
-.257(xpansion a)-.15 F -.25(va)-.2 G(ilable:).25 E F3(pr)2.757 E .257
-(ocess substitution)-.45 F F0 5.257(.T)C .256(his is per)-5.257 F(-)-.2
-E(formed at the same time as tilde, parameter)108 283.2 Q 2.5(,v)-.4 G
+(inds of)-3.26 F -.15(ex)108 312 S .37(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 .369
+(command sub-)2.869 F(stitution)108 324 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
+.418(The order of e)108 340.8 R .418(xpansions is: brace e)-.15 F .418
+(xpansion; tilde e)-.15 F .419(xpansion, parameter and v)-.15 F .419
+(ariable e)-.25 F .419(xpansion, arithmetic)-.15 F -.15(ex)108 352.8 S
+.196(pansion, and command substitution \(done in a left-to-right f).15 F
+.195(ashion\); w)-.1 F .195(ord splitting; and pathname e)-.1 F(xpan-)
+-.15 E(sion.)108 364.8 Q .257
+(On systems that can support it, there is an additional e)108 381.6 R
+.257(xpansion a)-.15 F -.25(va)-.2 G(ilable:).25 E F2(pr)2.757 E .257
+(ocess substitution)-.45 F F0 5.257(.T)C .257(his is per)-5.257 F(-)-.2
+E(formed at the same time as tilde, parameter)108 393.6 Q 2.5(,v)-.4 G
(ariable, and arithmetic e)-2.75 E(xpansion and command substitution.)
--.15 E .002(After these e)108 300 R .003
+-.15 E .003(After these e)108 410.4 R .003
(xpansions are performed, quote characters present in the original w)
--.15 F .003(ord are remo)-.1 F -.15(ve)-.15 G 2.503(du).15 G .003
-(nless the)-2.503 F(y)-.15 E(ha)108 312 Q .3 -.15(ve b)-.2 H
-(een quoted themselv).15 E(es \()-.15 E F3(quote r)A(emo)-.37 E(val)-.1
-E F0(\).)A 1.191(Only brace e)108 328.8 R 1.191(xpansion, w)-.15 F 1.191
+-.15 F .002(ord are remo)-.1 F -.15(ve)-.15 G 2.502(du).15 G .002
+(nless the)-2.502 F(y)-.15 E(ha)108 422.4 Q .3 -.15(ve b)-.2 H
+(een quoted themselv).15 E(es \()-.15 E F2(quote r)A(emo)-.37 E(val)-.1
+E F0(\).)A 1.19(Only brace e)108 439.2 R 1.19(xpansion, w)-.15 F 1.19
(ord splitting, and pathname e)-.1 F 1.191
-(xpansion can increase the number of w)-.15 F 1.19(ords of the)-.1 F
--.15(ex)108 340.8 S 1.164(pansion; other e).15 F 1.164(xpansions e)-.15
-F 1.164(xpand a single w)-.15 F 1.165(ord to a single w)-.1 F 3.665
-(ord. The)-.1 F 1.165(only e)3.665 F 1.165(xceptions to this are the)
--.15 F -.15(ex)108 352.8 S 1.245(pansions of ").15 F F1($@)A F0 3.745
-("a)C 1.245(nd ")-3.745 F F1(${)A F3(name)A F1([@]})A F0 1.245
-(", and, in most cases,)B F1($*)3.745 E F0(and)3.745 E F1(${)3.744 E F3
-(name)A F1([*]})A F0 1.244(as e)3.744 F 1.244(xplained abo)-.15 F 1.544
--.15(ve \()-.15 H(see).15 E/F4 9/Times-Bold@0 SF -.666(PA)108 364.8 S
-(RAMETERS).666 E/F5 9/Times-Roman@0 SF(\).)A F1(Brace Expansion)87 381.6
-Q F3(Br)108.58 393.6 Q .606(ace e)-.15 F(xpansion)-.2 E F0 .606
+(xpansion can increase the number of w)-.15 F 1.191(ords of the)-.1 F
+-.15(ex)108 451.2 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 463.2 S 1.244(pansions of ").15 F F1($@)A F0 3.744
+("a)C 1.244(nd ")-3.744 F F1(${)A F2(name)A F1([@]})A F0 1.245
+(", and, in most cases,)B F1($*)3.745 E F0(and)3.745 E F1(${)3.745 E F2
+(name)A F1([*]})A F0 1.245(as e)3.745 F 1.245(xplained abo)-.15 F 1.545
+-.15(ve \()-.15 H(see).15 E/F4 9/Times-Bold@0 SF -.666(PA)108 475.2 S
+(RAMETERS).666 E/F5 9/Times-Roman@0 SF(\).)A F1(Brace Expansion)87 492 Q
+F2(Br)108.58 504 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 405.6 Q F3 .415
-(pathname e)2.915 F(xpansion)-.2 E F0 2.915(,b)C .415
+.606(This mechanism is similar)5.606 F(to)108 516 Q F2 .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 417.6 R F3(pr)2.651 E(eamble)
+(he)-2.915 E .152(form of an optional)108 528 R F2(pr)2.652 E(eamble)
-.37 E F0 2.651(,f).18 G(ollo)-2.651 E .151
(wed by either a series of comma-separated strings or a sequence e)-.25
-F(xpres-)-.15 E .563(sion between a pair of braces, follo)108 429.6 R
-.563(wed by an optional)-.25 F F3(postscript)3.063 E F0 5.563(.T).68 G
-.563(he preamble is pre\214x)-5.563 F .563(ed to each string)-.15 F .659
-(contained within the braces, and the postscript is then appended to ea\
-ch resulting string, e)108 441.6 R .659(xpanding left to)-.15 F(right.)
-108 453.6 Q .719(Brace e)108 470.4 R .719(xpansions may be nested.)-.15
-F .719(The results of each e)5.719 F .719
+F(xpres-)-.15 E .563(sion between a pair of braces, follo)108 540 R .563
+(wed by an optional)-.25 F F2(postscript)3.063 E F0 5.563(.T).68 G .563
+(he preamble is pre\214x)-5.563 F .563(ed to each string)-.15 F .659(co\
+ntained within the braces, and the postscript is then appended to each \
+resulting string, e)108 552 R .658(xpanding left to)-.15 F(right.)108
+564 Q .718(Brace e)108 580.8 R .719(xpansions may be nested.)-.15 F .719
+(The results of each e)5.719 F .719
(xpanded string are not sorted; left to right order is)-.15 F(preserv)
-108 482.4 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 499.2 S .742(equence e)-3.242 F .742(xpression tak)-.15 F .742
-(es the form)-.1 F F1({)3.242 E F3(x)A F1(..)A F3(y)A F1([..)A F3(incr)A
-F1(]})A F0 3.242(,w)C(here)-3.242 E F3(x)3.242 E F0(and)3.243 E F3(y)
-3.243 E F0 .743(are either inte)3.243 F .743(gers or single characters,)
--.15 F(and)108 511.2 Q F3(incr)3.032 E F0 3.032(,a)C 3.032(no)-3.032 G
+108 592.8 Q 2.5(ed. F)-.15 F(or e)-.15 E(xample, a)-.15 E F1({)A F0
+(d,c,b)A F1(})A F0 2.5(ee)C(xpands into `ade ace abe'.)-2.65 E 3.243(As)
+108 609.6 S .743(equence e)-3.243 F .743(xpression tak)-.15 F .743
+(es the form)-.1 F F1({)3.243 E F2(x)A F1(..)A F2(y)A F1([..)A F2(incr)A
+F1(]})A F0 3.243(,w)C(here)-3.243 E F2(x)3.243 E F0(and)3.242 E F2(y)
+3.242 E F0 .742(are either inte)3.242 F .742(gers or single characters,)
+-.15 F(and)108 621.6 Q F2(incr)3.031 E F0 3.031(,a)C 3.032(no)-3.031 G
.532(ptional increment, is an inte)-3.032 F(ger)-.15 E 5.532(.W)-.55 G
.532(hen inte)-5.532 F .532(gers are supplied, the e)-.15 F .532
-(xpression e)-.15 F .531(xpands to each)-.15 F .077(number between)108
-523.2 R F3(x)2.577 E F0(and)2.577 E F3(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 F3(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 535.2 R .015(When either)5.015 F F3(x)2.515 E F0(or)
-2.515 E F3(y)2.515 E F0(be)2.515 E .014(gins with a zero, the shell att\
+(xpression e)-.15 F .532(xpands to each)-.15 F .078(number between)108
+633.6 R F2(x)2.578 E F0(and)2.578 E F2(y)2.578 E F0 2.578(,i)C(nclusi)
+-2.578 E -.15(ve)-.25 G 5.078(.S).15 G .078(upplied inte)-5.078 F .077
+(gers may be pre\214x)-.15 F .077(ed with)-.15 F F2(0)2.577 E F0 .077
+(to force each term to ha)2.577 F .377 -.15(ve t)-.2 H(he).15 E .014
+(same width.)108 645.6 R .014(When either)5.014 F F2(x)2.514 E F0(or)
+2.514 E F2(y)2.514 E F0(be)2.514 E .015(gins with a zero, the shell att\
empts to force all generated terms to contain)-.15 F 1.143
-(the same number of digits, zero-padding where necessary)108 547.2 R
+(the same number of digits, zero-padding where necessary)108 657.6 R
6.143(.W)-.65 G 1.143(hen characters are supplied, the e)-6.143 F
-(xpression)-.15 E -.15(ex)108 559.2 S 1.064(pands to each character le)
-.15 F 1.064(xicographically between)-.15 F F3(x)3.564 E F0(and)3.564 E
-F3(y)3.564 E F0 3.564(,i)C(nclusi)-3.564 E -.15(ve)-.25 G 3.564(,u).15 G
-1.064(sing the def)-3.564 F 1.064(ault C locale.)-.1 F(Note)6.064 E .983
-(that both)108 571.2 R F3(x)3.483 E F0(and)3.483 E F3(y)3.483 E F0 .983
-(must be of the same type.)3.483 F .984
+(xpression)-.15 E -.15(ex)108 669.6 S 1.064(pands to each character le)
+.15 F 1.064(xicographically between)-.15 F F2(x)3.564 E F0(and)3.564 E
+F2(y)3.564 E F0 3.564(,i)C(nclusi)-3.564 E -.15(ve)-.25 G 3.564(,u).15 G
+1.064(sing the def)-3.564 F 1.064(ault C locale.)-.1 F(Note)6.064 E .984
+(that both)108 681.6 R F2(x)3.484 E F0(and)3.484 E F2(y)3.484 E F0 .983
+(must be of the same type.)3.484 F .983
(When the increment is supplied, it is used as the dif)5.983 F(ference)
--.25 E(between each term.)108 583.2 Q(The def)5 E
-(ault increment is 1 or \2551 as appropriate.)-.1 E .582(Brace e)108 600
-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 612 R .015(ed in the result.)-.15 F .015
-(It is strictly te)5.015 F(xtual.)-.15 E F1(Bash)5.016 E F0 .016
-(does not apply an)2.516 F 2.516(ys)-.15 G .016
-(yntactic interpretation to the con-)-2.516 F(te)108 624 Q(xt of the e)
--.15 E(xpansion or the te)-.15 E(xt between the braces.)-.15 E 3.633(Ac)
-108 640.8 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 652.8 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 664.8 R F1({)2.755 E F0(or)2.755 E F1(,)2.755 E F0
-.255(may be quoted with a backslash to pre)2.755 F -.15(ve)-.25 G .255
-(nt its being considered part of a brace e).15 F(xpres-)-.15 E 2.91
-(sion. T)108 676.8 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
-F1(${)2.911 E F0 .411(is not considered eligible for brace e)2.911 F
-(xpan-)-.15 E(sion, and inhibits brace e)108 688.8 Q
-(xpansion until the closing)-.15 E F1(})2.5 E F0(.)A 1.476(This constru\
-ct is typically used as shorthand when the common pre\214x of the strin\
-gs to be generated is)108 705.6 R(longer than in the abo)108 717.6 Q .3
--.15(ve ex)-.15 H(ample:).15 E(GNU Bash 5.0)72 768 Q(2018 March 15)
-144.29 E(20)193.45 E 0 Cg EP
+-.25 E(between each term.)108 693.6 Q(The def)5 E
+(ault increment is 1 or \2551 as appropriate.)-.1 E .581(Brace e)108
+710.4 R .581(xpansion is performed before an)-.15 F 3.081(yo)-.15 G .581
+(ther e)-3.081 F .581(xpansions, and an)-.15 F 3.082(yc)-.15 G .582
+(haracters special to other e)-3.082 F(xpansions)-.15 E 1.209
+(are preserv)108 722.4 R 1.209(ed in the result.)-.15 F 1.209
+(It is strictly te)6.209 F(xtual.)-.15 E F1(Bash)6.209 E F0 1.209
+(does not apply an)3.709 F 3.709(ys)-.15 G 1.208
+(yntactic interpretation to the)-3.709 F(GNU Bash 5.0)72 768 Q
+(2018 August 7)145.395 E(20)194.555 E 0 Cg EP
%%Page: 21 21
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
-(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E
-(mkdir /usr/local/src/bash/{old,ne)144 84 Q -.65(w,)-.25 G(dist,b).65 E
-(ugs})-.2 E(or)108 96 Q(cho)144 108 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 124.8 R .618
+(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E(conte)108 84 Q
+(xt of the e)-.15 E(xpansion or the te)-.15 E(xt between the braces.)
+-.15 E 3.632(Ac)108 100.8 S 1.132(orrectly-formed brace e)-3.632 F 1.132
+(xpansion must contain unquoted opening and closing braces, and at leas\
+t one)-.15 F 3.441(unquoted comma or a v)108 112.8 R 3.441
+(alid sequence e)-.25 F 5.941(xpression. An)-.15 F 5.941(yi)-.15 G 3.441
+(ncorrectly formed brace e)-5.941 F 3.44(xpansion is left)-.15 F 2.755
+(unchanged. A)108 124.8 R/F1 10/Times-Bold@0 SF({)2.755 E F0(or)2.755 E
+F1(,)2.755 E F0 .255(may be quoted with a backslash to pre)2.755 F -.15
+(ve)-.25 G .255(nt its being considered part of a brace e).15 F(xpres-)
+-.15 E 2.911(sion. T)108 136.8 R 2.911(oa)-.8 G -.2(vo)-3.111 G .411
+(id con\215icts with parameter e).2 F .411(xpansion, the string)-.15 F
+F1(${)2.911 E F0 .41(is not considered eligible for brace e)2.911 F
+(xpan-)-.15 E(sion, and inhibits brace e)108 148.8 Q
+(xpansion until the closing)-.15 E F1(})2.5 E F0(.)A 1.476(This constru\
+ct is typically used as shorthand when the common pre\214x of the strin\
+gs to be generated is)108 165.6 R(longer than in the abo)108 177.6 Q .3
+-.15(ve ex)-.15 H(ample:).15 E(mkdir /usr/local/src/bash/{old,ne)144
+194.4 Q -.65(w,)-.25 G(dist,b).65 E(ugs})-.2 E(or)108 206.4 Q(cho)144
+218.4 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 235.2 R .618
(xpansion introduces a slight incompatibility with historical v)-.15 F
-.618(ersions of)-.15 F/F1 10/Times-Bold@0 SF(sh)3.118 E F0(.)A F1(sh)
-5.618 E F0 .618(does not treat open-)3.118 F .248
-(ing or closing braces specially when the)108 136.8 R 2.748(ya)-.15 G
-.247(ppear as part of a w)-2.748 F .247(ord, and preserv)-.1 F .247
-(es them in the output.)-.15 F F1(Bash)5.247 E F0(remo)108 148.8 Q -.15
+.618(ersions of)-.15 F F1(sh)3.118 E F0(.)A F1(sh)5.618 E F0 .618
+(does not treat open-)3.118 F .247
+(ing or closing braces specially when the)108 247.2 R 2.747(ya)-.15 G
+.247(ppear as part of a w)-2.747 F .248(ord, and preserv)-.1 F .248
+(es them in the output.)-.15 F F1(Bash)5.248 E F0(remo)108 259.2 Q -.15
(ve)-.15 G 3.53(sb).15 G 1.03(races from w)-3.53 F 1.03
(ords as a consequence of brace e)-.1 F 3.53(xpansion. F)-.15 F 1.03
(or e)-.15 F 1.03(xample, a w)-.15 F 1.03(ord entered to)-.1 F F1(sh)
-3.53 E F0(as)3.53 E/F2 10/Times-Italic@0 SF(\214le{1,2})108 160.8 Q F0
-.515(appears identically in the output.)3.015 F .515(The same w)5.515 F
-.515(ord is output as)-.1 F F2 .514(\214le1 \214le2)4.925 F F0 .514
-(after e)3.034 F .514(xpansion by)-.15 F F1(bash)3.014 E F0(.)A .436
-(If strict compatibility with)108 172.8 R F1(sh)2.936 E F0 .436
+3.53 E F0(as)3.53 E/F2 10/Times-Italic@0 SF(\214le{1,2})108 271.2 Q F0
+.514(appears identically in the output.)3.014 F .515(The same w)5.515 F
+.515(ord is output as)-.1 F F2 .515(\214le1 \214le2)4.925 F F0 .515
+(after e)3.035 F .515(xpansion by)-.15 F F1(bash)3.015 E F0(.)A .437
+(If strict compatibility with)108 283.2 R F1(sh)2.936 E F0 .436
(is desired, start)2.936 F F1(bash)2.936 E F0 .436(with the)2.936 F F1
-(+B)2.936 E F0 .436(option or disable brace e)2.936 F .437
-(xpansion with the)-.15 F F1(+B)108 184.8 Q F0(option to the)2.5 E F1
+(+B)2.936 E F0 .436(option or disable brace e)2.936 F .436
+(xpansion with the)-.15 F F1(+B)108 295.2 Q F0(option to the)2.5 E F1
(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 F1 -.18(Ti)
-87 201.6 S(lde Expansion).18 E F0 1.087(If a w)108 213.6 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 225.6 R F2(tilde-pr)2.685 E(e\214x)-.37 E F0 5.185(.I)C 2.685
-(fn)-5.185 G .185(one of the characters)-2.685 F .726(in the tilde-pre\
-\214x are quoted, the characters in the tilde-pre\214x follo)108 237.6 R
-.725(wing the tilde are treated as a possible)-.25 F F2(lo)108 249.6 Q
-.522(gin name)-.1 F F0 5.522(.I)C 3.022(ft)-5.522 G .522
+87 312 S(lde Expansion).18 E F0 1.086(If a w)108 324 R 1.086(ord be)-.1
+F 1.086(gins with an unquoted tilde character \(`)-.15 F F1(~)A F0 1.087
+('\), all of the characters preceding the \214rst unquoted)B .185(slash\
+ \(or all characters, if there is no unquoted slash\) are considered a)
+108 336 R F2(tilde-pr)2.685 E(e\214x)-.37 E F0 5.185(.I)C 2.685(fn)
+-5.185 G .185(one of the characters)-2.685 F .725(in the tilde-pre\214x\
+ are quoted, the characters in the tilde-pre\214x follo)108 348 R .726
+(wing the tilde are treated as a possible)-.25 F F2(lo)108 360 Q .523
+(gin name)-.1 F F0 5.523(.I)C 3.023(ft)-5.523 G .523
(his login name is the null string, the tilde is replaced with the v)
--3.022 F .523(alue of the shell parameter)-.25 F F3(HOME)108 261.6 Q/F4
-9/Times-Roman@0 SF(.)A F0(If)4.787 E F3(HOME)2.787 E F0 .287
-(is unset, the home directory of the user e)2.537 F -.15(xe)-.15 G .286
-(cuting the shell is substituted instead.).15 F(Other)5.286 E(-)-.2 E(w\
+-3.023 F .522(alue of the shell parameter)-.25 F F3(HOME)108 372 Q/F4 9
+/Times-Roman@0 SF(.)A F0(If)4.786 E F3(HOME)2.786 E F0 .287
+(is unset, the home directory of the user e)2.536 F -.15(xe)-.15 G .287
+(cuting the shell is substituted instead.).15 F(Other)5.287 E(-)-.2 E(w\
ise, the tilde-pre\214x is replaced with the home directory associated \
-with the speci\214ed login name.)108 273.6 Q .092
-(If the tilde-pre\214x is a `~+', the v)108 290.4 R .092
+with the speci\214ed login name.)108 384 Q .093
+(If the tilde-pre\214x is a `~+', the v)108 400.8 R .092
(alue of the shell v)-.25 F(ariable)-.25 E F3(PWD)2.592 E F0 .092
-(replaces the tilde-pre\214x.)2.342 F .093(If the tilde-pre\214x is)
-5.093 F 3.404(a`)108 302.4 S .904(~\255', the v)-3.404 F .904
+(replaces the tilde-pre\214x.)2.342 F .092(If the tilde-pre\214x is)
+5.092 F 3.403(a`)108 412.8 S .903(~\255', the v)-3.403 F .903
(alue of the shell v)-.25 F(ariable)-.25 E F3(OLDPWD)3.404 E F4(,)A F0
-.904(if it is set, is substituted.)3.154 F .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 314.4 R F2(N)4.141
-E F0 4.142(,o)C 1.642(ptionally pre\214x)-4.142 F 1.642
-(ed by a `+' or a `\255', the tilde-pre\214x is)-.15 F 1.438(replaced w\
+.904(if it is set, is substituted.)3.154 F .904(If the characters follo)
+5.904 F .904(wing the)-.25 F 1.642
+(tilde in the tilde-pre\214x consist of a number)108 424.8 R F2(N)4.142
+E F0 4.142(,o)C 1.642(ptionally pre\214x)-4.142 F 1.641
+(ed by a `+' or a `\255', the tilde-pre\214x is)-.15 F 1.437(replaced w\
ith the corresponding element from the directory stack, as it w)108
-326.4 R 1.437(ould be displayed by the)-.1 F F1(dirs)3.937 E F0 -.2(bu)
-108 338.4 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
+436.8 R 1.438(ould be displayed by the)-.1 F F1(dirs)3.938 E F0 -.2(bu)
+108 448.8 S .455(iltin in).2 F -.2(vo)-.4 G -.1(ke).2 G 2.955(dw).1 G
+.455(ith the tilde-pre\214x as an ar)-2.955 F 2.954(gument. If)-.18 F
+.454(the characters follo)2.954 F .454
(wing the tilde in the tilde-pre\214x)-.25 F
(consist of a number without a leading `+' or `\255', `+' is assumed.)
-108 350.4 Q(If the login name is in)108 367.2 Q -.25(va)-.4 G
+108 460.8 Q(If the login name is in)108 477.6 Q -.25(va)-.4 G
(lid, or the tilde e).25 E(xpansion f)-.15 E(ails, the w)-.1 E
-(ord is unchanged.)-.1 E .167(Each v)108 384 R .167
+(ord is unchanged.)-.1 E .166(Each v)108 494.4 R .167
(ariable assignment is check)-.25 F .167(ed for unquoted tilde-pre\214x)
-.1 F .167(es immediately follo)-.15 F .167(wing a)-.25 F F1(:)2.667 E
-F0 .167(or the \214rst)2.667 F F1(=)2.666 E F0 5.166(.I)C(n)-5.166 E
-.467(these cases, tilde e)108 396 R .467(xpansion is also performed.)
--.15 F(Consequently)5.467 E 2.967(,o)-.65 G .468
-(ne may use \214lenames with tildes in assign-)-2.967 F(ments to)108 408
-Q F3 -.666(PA)2.5 G(TH)-.189 E F4(,)A F3(MAILP)2.25 E -.855(AT)-.666 G
-(H).855 E F4(,)A F0(and)2.25 E F3(CDP)2.5 E -.855(AT)-.666 G(H).855 E F4
-(,)A F0(and the shell assigns the e)2.25 E(xpanded v)-.15 E(alue.)-.25 E
-F1 -.1(Pa)87 424.8 S(rameter Expansion).1 E F0 1.606(The `)108 436.8 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 448.8 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 460.8 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
-472.8 Q 1.189
-(When braces are used, the matching ending brace is the \214rst `)108
-489.6 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
-501.6 R 2.15(xpansion, command substitution, or parameter)-.15 F -.15
-(ex)108 513.6 S(pansion.).15 E(${)108 530.4 Q F2(par)A(ameter)-.15 E F0
-(})A 1.204(The v)144 542.4 R 1.204(alue of)-.25 F F2(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 F2(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 554.4 R F2(par)4.014 E
+F0 .167(or the \214rst)2.667 F F1(=)2.667 E F0 5.167(.I)C(n)-5.167 E
+.468(these cases, tilde e)108 506.4 R .468(xpansion is also performed.)
+-.15 F(Consequently)5.467 E 2.967(,o)-.65 G .467
+(ne may use \214lenames with tildes in assign-)-2.967 F(ments to)108
+518.4 Q F3 -.666(PA)2.5 G(TH)-.189 E F4(,)A F3(MAILP)2.25 E -.855(AT)
+-.666 G(H).855 E F4(,)A F0(and)2.25 E F3(CDP)2.5 E -.855(AT)-.666 G(H)
+.855 E F4(,)A F0(and the shell assigns the e)2.25 E(xpanded v)-.15 E
+(alue.)-.25 E .023(Bash also performs tilde e)108 535.2 R .023
+(xpansion on w)-.15 F .024(ords satisfying the conditions of v)-.1 F
+.024(ariable assignments \(as described)-.25 F(abo)108 547.2 Q .77 -.15
+(ve u)-.15 H(nder).15 E F3 -.666(PA)2.97 G(RAMETERS).666 E F4(\))A F0
+.47(when the)2.72 F 2.969(ya)-.15 G .469(ppear as ar)-2.969 F .469
+(guments to simple commands.)-.18 F .469(Bash does not do this,)5.469 F
+-.15(ex)108 559.2 S(cept for the).15 E F2(declar)2.5 E(ation)-.15 E F0
+(commands listed abo)2.5 E -.15(ve)-.15 G 2.5(,w).15 G(hen in)-2.5 E F2
+(posix mode)2.5 E F0(.)A F1 -.1(Pa)87 576 S(rameter Expansion).1 E F0
+1.605(The `)108 588 R F1($)A F0 4.105('c)C 1.605
+(haracter introduces parameter e)-4.105 F 1.606
+(xpansion, command substitution, or arithmetic e)-.15 F 4.106
+(xpansion. The)-.15 F .407(parameter name or symbol to be e)108 600 R
+.407(xpanded may be enclosed in braces, which are optional b)-.15 F .406
+(ut serv)-.2 F 2.906(et)-.15 G 2.906(op)-2.906 G(ro-)-2.906 E .032
+(tect the v)108 612 R .032(ariable to be e)-.25 F .032
+(xpanded from characters immediately follo)-.15 F .033
+(wing it which could be interpreted as part)-.25 F(of the name.)108 624
+Q 1.19(When braces are used, the matching ending brace is the \214rst `)
+108 640.8 R F1(})A F0 3.689('n)C 1.189
+(ot escaped by a backslash or within a)-3.689 F 2.15
+(quoted string, and not within an embedded arithmetic e)108 652.8 R 2.15
+(xpansion, command substitution, or parameter)-.15 F -.15(ex)108 664.8 S
+(pansion.).15 E(${)108 681.6 Q F2(par)A(ameter)-.15 E F0(})A 1.205
+(The v)144 693.6 R 1.205(alue of)-.25 F F2(par)3.705 E(ameter)-.15 E F0
+1.204(is substituted.)3.705 F 1.204(The braces are required when)6.204 F
+F2(par)4.954 E(ameter)-.15 E F0 1.204(is a positional)4.434 F .264
+(parameter with more than one digit, or when)144 705.6 R F2(par)4.014 E
(ameter)-.15 E F0 .264(is follo)3.494 F .264
-(wed by a character which is not to)-.25 F 2.676
-(be interpreted as part of its name.)144 566.4 R(The)7.677 E F2(par)
-5.177 E(ameter)-.15 E F0 2.677(is a shell parameter as described abo)
-5.177 F -.15(ve)-.15 G F1 -.74(PA)144 578.4 S(RAMETERS).74 E F0 2.5(\)o)
+(wed by a character which is not to)-.25 F 2.677
+(be interpreted as part of its name.)144 717.6 R(The)7.677 E F2(par)
+5.177 E(ameter)-.15 E F0 2.676(is a shell parameter as described abo)
+5.177 F -.15(ve)-.15 G F1 -.74(PA)144 729.6 S(RAMETERS).74 E F0 2.5(\)o)
C 2.5(ra)-2.5 G 2.5(na)-2.5 G(rray reference \()-2.5 E F1(Arrays)A F0
-(\).)A .347(If the \214rst character of)108 595.2 R F2(par)2.846 E
-(ameter)-.15 E F0 .346(is an e)2.846 F .346(xclamation point \()-.15 F
-F1(!)A F0 .346(\), and)B F2(par)2.846 E(ameter)-.15 E F0 .346(is not a)
-2.846 F F2(namer)2.846 E(ef)-.37 E F0 2.846(,i)C 2.846(ti)-2.846 G
-(ntroduces)-2.846 E 2.634(al)108 607.2 S -2.15 -.25(ev e)-2.634 H 2.634
-(lo).25 G 2.634(fv)-2.634 G .134(ariable indirection.)-2.884 F F1(Bash)
-5.134 E F0 .134(uses the v)2.634 F .134(alue of the v)-.25 F .134
-(ariable formed from the rest of)-.25 F F2(par)2.635 E(ameter)-.15 E F0
-.135(as the)2.635 F 1.004(name of the v)108 619.2 R 1.003
-(ariable; this v)-.25 F 1.003(ariable is then e)-.25 F 1.003
-(xpanded and that v)-.15 F 1.003
-(alue is used in the rest of the substitution,)-.25 F .257
-(rather than the v)108 631.2 R .257(alue of)-.25 F F2(par)2.757 E
-(ameter)-.15 E F0 2.757(itself. This)2.757 F .257(is kno)2.757 F .257
-(wn as)-.25 F F2(indir)2.757 E .257(ect e)-.37 F(xpansion)-.2 E F0 5.257
-(.T)C .257(he v)-5.257 F .258(alue is subject to tilde)-.25 F -.15(ex)
-108 643.2 S 2.767(pansion, parameter e).15 F 2.766
-(xpansion, command substitution, and arithmetic e)-.15 F 5.266
-(xpansion. If)-.15 F F2(par)5.266 E(ameter)-.15 E F0 2.766(is a)5.266 F
-.461(nameref, this e)108 655.2 R .461(xpands to the name of the v)-.15 F
-.461(ariable referenced by)-.25 F F2(par)2.961 E(ameter)-.15 E F0 .462
-(instead of performing the com-)2.961 F 2.419(plete indirect e)108 667.2
-R 4.919(xpansion. The)-.15 F -.15(ex)4.919 G 2.418
-(ceptions to this are the e).15 F 2.418(xpansions of ${)-.15 F F1(!)A F2
-(pr)A(e\214x)-.37 E F1(*)A F0 4.918(}a)C 2.418(nd ${)-4.918 F F1(!)A F2
-(name)A F0([)A F2(@)A F0(]})A .464(described belo)108 679.2 R 4.264 -.65
-(w. T)-.25 H .464(he e).65 F .464
-(xclamation point must immediately follo)-.15 F 2.965(wt)-.25 G .465
-(he left brace in order to introduce indi-)-2.965 F(rection.)108 691.2 Q
-.334(In each of the cases belo)108 708 R -.65(w,)-.25 G F2(wor)3.484 E
-(d)-.37 E F0 .334(is subject to tilde e)2.834 F .334
-(xpansion, parameter e)-.15 F .334(xpansion, command substitution,)-.15
-F(and arithmetic e)108 720 Q(xpansion.)-.15 E(GNU Bash 5.0)72 768 Q
-(2018 March 15)144.29 E(21)193.45 E 0 Cg EP
+(\).)A(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(21)194.555 E 0 Cg
+EP
%%Page: 22 22
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
-(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E 1.089
-(When not performing substring e)108 84 R 1.089
-(xpansion, using the forms documented belo)-.15 F 3.589(w\()-.25 G
-(e.g.,)-3.589 E/F1 10/Times-Bold@0 SF(:-)3.59 E F0(\),)A F1(bash)3.59 E
-F0 1.09(tests for a)3.59 F(parameter that is unset or null.)108 96 Q(Om\
-itting the colon results in a test only for a parameter that is unset.)5
-E(${)108 112.8 Q/F2 10/Times-Italic@0 SF(par)A(ameter)-.15 E F1<3aad>A
-F2(wor)A(d)-.37 E F0(})A F1 .723(Use Default V)144 124.8 R(alues)-.92 E
-F0 5.723(.I)C(f)-5.723 E F2(par)4.473 E(ameter)-.15 E F0 .723
-(is unset or null, the e)3.953 F .722(xpansion of)-.15 F F2(wor)3.562 E
-(d)-.37 E F0 .722(is substituted.)3.992 F(Other)5.722 E(-)-.2 E
-(wise, the v)144 136.8 Q(alue of)-.25 E F2(par)3.75 E(ameter)-.15 E F0
-(is substituted.)3.23 E(${)108 148.8 Q F2(par)A(ameter)-.15 E F1(:=)A F2
-(wor)A(d)-.37 E F0(})A F1 2.004(Assign Default V)144 160.8 R(alues)-.92
-E F0 7.004(.I)C(f)-7.004 E F2(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 F2(wor)4.845 E
-(d)-.37 E F0 2.005(is assigned to)5.275 F F2(par)144 172.8 Q(ameter)-.15
-E F0 5.279(.T).73 G .279(he v)-5.279 F .279(alue of)-.25 F F2(par)4.029
-E(ameter)-.15 E F0 .278(is then substituted.)3.508 F .278
+(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E .346
+(If the \214rst character of)108 84 R/F1 10/Times-Italic@0 SF(par)2.846
+E(ameter)-.15 E F0 .346(is an e)2.846 F .346(xclamation point \()-.15 F
+/F2 10/Times-Bold@0 SF(!)A F0 .346(\), and)B F1(par)2.846 E(ameter)-.15
+E F0 .346(is not a)2.846 F F1(namer)2.846 E(ef)-.37 E F0 2.847(,i)C
+2.847(ti)-2.847 G(ntroduces)-2.847 E 2.907(al)108 96 S -2.15 -.25(ev e)
+-2.907 H 2.907(lo).25 G 2.906(fi)-2.907 G(ndirection.)-2.906 E F2(Bash)
+5.406 E F0 .406(uses the v)2.906 F .406(alue formed by e)-.25 F .406
+(xpanding the rest of)-.15 F F1(par)2.906 E(ameter)-.15 E F0 .406
+(as the ne)2.906 F(w)-.25 E F1(par)2.906 E(ame-)-.15 E(ter)108 108 Q F0
+2.578(;t)C .078(his is then e)-2.578 F .078(xpanded and that v)-.15 F
+.079(alue is used in the rest of the e)-.25 F .079
+(xpansion, rather than the e)-.15 F .079(xpansion of the)-.15 F
+(original)108 120 Q F1(par)2.543 E(ameter)-.15 E F0 5.043(.T)C .043
+(his is kno)-5.043 F .043(wn as)-.25 F F1(indir)2.543 E .043(ect e)-.37
+F(xpansion)-.2 E F0 5.043(.T)C .043(he v)-5.043 F .042
+(alue is subject to tilde e)-.25 F .042(xpansion, parameter)-.15 F -.15
+(ex)108 132 S .248(pansion, command substitution, and arithmetic e).15 F
+2.748(xpansion. If)-.15 F F1(par)2.749 E(ameter)-.15 E F0 .249
+(is a nameref, this e)2.749 F .249(xpands to the)-.15 F 1.51
+(name of the parameter referenced by)108 144 R F1(par)4.01 E(ameter)-.15
+E F0 1.51(instead of performing the complete indirect e)4.01 F
+(xpansion.)-.15 E .387(The e)108 156 R .387(xceptions to this are the e)
+-.15 F .387(xpansions of ${)-.15 F F2(!)A F1(pr)A(e\214x)-.37 E F2(*)A
+F0 2.887(}a)C .387(nd ${)-2.887 F F2(!)A F1(name)A F0([)A F1(@)A F0 .387
+(]} described belo)B 4.188 -.65(w. T)-.25 H .388(he e).65 F(xclama-)-.15
+E(tion point must immediately follo)108 168 Q 2.5(wt)-.25 G
+(he left brace in order to introduce indirection.)-2.5 E .334
+(In each of the cases belo)108 184.8 R -.65(w,)-.25 G F1(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
+196.8 Q(xpansion.)-.15 E 1.089(When not performing substring e)108 213.6
+R 1.089(xpansion, using the forms documented belo)-.15 F 3.589(w\()-.25
+G(e.g.,)-3.589 E F2(:-)3.59 E F0(\),)A F2(bash)3.59 E F0 1.09
+(tests for a)3.59 F(parameter that is unset or null.)108 225.6 Q(Omitti\
+ng the colon results in a test only for a parameter that is unset.)5 E
+(${)108 242.4 Q F1(par)A(ameter)-.15 E F2<3aad>A F1(wor)A(d)-.37 E F0(})
+A F2 .723(Use Default V)144 254.4 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 266.4 Q(alue of)-.25 E F1
+(par)3.75 E(ameter)-.15 E F0(is substituted.)3.23 E(${)108 278.4 Q F1
+(par)A(ameter)-.15 E F2(:=)A F1(wor)A(d)-.37 E F0(})A F2 2.004
+(Assign Default V)144 290.4 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 302.4 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 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 184.8 Q(ay)-.1 E(.)-.65 E
-(${)108 196.8 Q F2(par)A(ameter)-.15 E F1(:?)A F2(wor)A(d)-.37 E F0(})A
-F1 .535(Display Err)144 208.8 R .535(or if Null or Unset)-.18 F F0 5.535
-(.I)C(f)-5.535 E F2(par)4.285 E(ameter)-.15 E F0 .535
-(is null or unset, the e)3.765 F .535(xpansion of)-.15 F F2(wor)3.035 E
-(d)-.37 E F0 .535(\(or a mes-)3.035 F .662(sage to that ef)144 220.8 R
-.662(fect if)-.25 F F2(wor)3.502 E(d)-.37 E F0 .661(is not present\) is\
+(eters may not be assigned to in this w)144 314.4 Q(ay)-.1 E(.)-.65 E
+(${)108 326.4 Q F1(par)A(ameter)-.15 E F2(:?)A F1(wor)A(d)-.37 E F0(})A
+F2 .535(Display Err)144 338.4 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 350.4 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 232.8 Q -.15(ve)-.25 G 2.5(,e).15 G 2.5(xits. Otherwise,)
--2.65 F(the v)2.5 E(alue of)-.25 E F2(par)2.5 E(ameter)-.15 E F0
-(is substituted.)2.5 E(${)108 244.8 Q F2(par)A(ameter)-.15 E F1(:+)A F2
-(wor)A(d)-.37 E F0(})A F1 .745(Use Alter)144 256.8 R .745(nate V)-.15 F
-(alue)-.92 E F0 5.745(.I)C(f)-5.745 E F2(par)4.495 E(ameter)-.15 E F0
+(interacti)144 362.4 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 374.4 Q F1(par)A(ameter)-.15 E F2(:+)A F1
+(wor)A(d)-.37 E F0(})A F2 .745(Use Alter)144 386.4 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 268.8 Q F2(wor)2.84 E(d)-.37 E F0
-(is substituted.)3.27 E(${)108 280.8 Q F2(par)A(ameter)-.15 E F1(:)A F2
-(of)A(fset)-.18 E F0(})A(${)108 292.8 Q F2(par)A(ameter)-.15 E F1(:)A F2
-(of)A(fset)-.18 E F1(:)A F2(length)A F0(})A F1 .002(Substring Expansion)
-144 304.8 R F0 5.002(.E)C .002(xpands to up to)-5.002 F F2(length)2.502
-E F0 .002(characters of the v)2.502 F .002(alue of)-.25 F F2(par)2.502 E
+(xpan-)-.15 E(sion of)144 398.4 Q F1(wor)2.84 E(d)-.37 E F0
+(is substituted.)3.27 E(${)108 410.4 Q F1(par)A(ameter)-.15 E F2(:)A F1
+(of)A(fset)-.18 E F0(})A(${)108 422.4 Q F1(par)A(ameter)-.15 E F2(:)A F1
+(of)A(fset)-.18 E F2(:)A F1(length)A F0(})A F2 .002(Substring Expansion)
+144 434.4 R F0 5.002(.E)C .002(xpands to up to)-5.002 F F1(length)2.502
+E F0 .002(characters of the v)2.502 F .002(alue of)-.25 F F1(par)2.502 E
(ameter)-.15 E F0 .002(starting at the)2.502 F 1.081
-(character speci\214ed by)144 316.8 R F2(of)3.581 E(fset)-.18 E F0 6.081
-(.I)C(f)-6.081 E F2(par)3.582 E(ameter)-.15 E F0(is)3.582 E F1(@)3.582 E
+(character speci\214ed by)144 446.4 R F1(of)3.581 E(fset)-.18 E F0 6.081
+(.I)C(f)-6.081 E F1(par)3.582 E(ameter)-.15 E F0(is)3.582 E F2(@)3.582 E
F0 3.582(,a)C 3.582(ni)-3.582 G(nde)-3.582 E -.15(xe)-.15 G 3.582(da).15
-G 1.082(rray subscripted by)-3.582 F F1(@)3.582 E F0(or)3.582 E F1(*)
-3.582 E F0 3.582(,o)C 3.582(ra)-3.582 G(n)-3.582 E(associati)144 328.8 Q
+G 1.082(rray subscripted by)-3.582 F F2(@)3.582 E F0(or)3.582 E F2(*)
+3.582 E F0 3.582(,o)C 3.582(ra)-3.582 G(n)-3.582 E(associati)144 458.4 Q
1.022 -.15(ve a)-.25 H .722(rray name, the results dif).15 F .722
-(fer as described belo)-.25 F 4.522 -.65(w. I)-.25 H(f).65 E F2(length)
+(fer as described belo)-.25 F 4.522 -.65(w. I)-.25 H(f).65 E F1(length)
3.222 E F0 .722(is omitted, e)3.222 F .722(xpands to the)-.15 F .042
-(substring of the v)144 340.8 R .042(alue of)-.25 F F2(par)2.542 E
+(substring of the v)144 470.4 R .042(alue of)-.25 F F1(par)2.542 E
(ameter)-.15 E F0 .043(starting at the character speci\214ed by)2.542 F
-F2(of)2.543 E(fset)-.18 E F0 .043(and e)2.543 F .043(xtending to the)
--.15 F .847(end of the v)144 352.8 R(alue.)-.25 E F2(length)5.846 E F0
-(and)3.346 E F2(of)3.346 E(fset)-.18 E F0 .846(are arithmetic e)3.346 F
+F1(of)2.543 E(fset)-.18 E F0 .043(and e)2.543 F .043(xtending to the)
+-.15 F .847(end of the v)144 482.4 R(alue.)-.25 E F1(length)5.846 E F0
+(and)3.346 E F1(of)3.346 E(fset)-.18 E F0 .846(are arithmetic e)3.346 F
.846(xpressions \(see)-.15 F/F3 9/Times-Bold@0 SF .846(ARITHMETIC EV)
-3.346 F(ALU)-1.215 E -.855(AT)-.54 G(ION).855 E F0(belo)144 364.8 Q
-(w\).)-.25 E(If)144 388.8 Q F2(of)3.028 E(fset)-.18 E F0 -.25(eva)3.029
+3.346 F(ALU)-1.215 E -.855(AT)-.54 G(ION).855 E F0(belo)144 494.4 Q
+(w\).)-.25 E(If)144 518.4 Q F1(of)3.028 E(fset)-.18 E F0 -.25(eva)3.029
G .529(luates to a number less than zero, the v).25 F .529
(alue is used as an of)-.25 F .529(fset in characters from the)-.25 F
-.046(end of the v)144 400.8 R .046(alue of)-.25 F F2(par)2.546 E(ameter)
--.15 E F0 5.046(.I)C(f)-5.046 E F2(length)2.546 E F0 -.25(eva)2.546 G
+.046(end of the v)144 530.4 R .046(alue of)-.25 F F1(par)2.546 E(ameter)
+-.15 E F0 5.046(.I)C(f)-5.046 E F1(length)2.546 E F0 -.25(eva)2.546 G
.046(luates to a number less than zero, it is interpreted as an).25 F
-(of)144 412.8 Q .202(fset in characters from the end of the v)-.25 F
-.202(alue of)-.25 F F2(par)2.702 E(ameter)-.15 E F0 .203
-(rather than a number of characters, and)2.702 F .558(the e)144 424.8 R
-.558(xpansion is the characters between)-.15 F F2(of)3.058 E(fset)-.18 E
+(of)144 542.4 Q .202(fset in characters from the end of the v)-.25 F
+.202(alue of)-.25 F F1(par)2.702 E(ameter)-.15 E F0 .203
+(rather than a number of characters, and)2.702 F .558(the e)144 554.4 R
+.558(xpansion is the characters between)-.15 F F1(of)3.058 E(fset)-.18 E
F0 .558(and that result.)3.058 F .557(Note that a ne)5.557 F -.05(ga)
-.15 G(ti).05 E .857 -.15(ve o)-.25 H -.25(ff).15 G .557(set must be).25
-F(separated from the colon by at least one space to a)144 436.8 Q -.2
-(vo)-.2 G(id being confused with the).2 E F1(:-)2.5 E F0 -.15(ex)2.5 G
-(pansion.).15 E(If)144 460.8 Q F2(par)2.958 E(ameter)-.15 E F0(is)2.958
-E F1(@)2.958 E F0 2.958(,t)C .458(he result is)-2.958 F F2(length)2.959
-E F0 .459(positional parameters be)2.959 F .459(ginning at)-.15 F F2(of)
+F(separated from the colon by at least one space to a)144 566.4 Q -.2
+(vo)-.2 G(id being confused with the).2 E F2(:-)2.5 E F0 -.15(ex)2.5 G
+(pansion.).15 E(If)144 590.4 Q F1(par)2.958 E(ameter)-.15 E F0(is)2.958
+E F2(@)2.958 E F0 2.958(,t)C .458(he result is)-2.958 F F1(length)2.959
+E F0 .459(positional parameters be)2.959 F .459(ginning at)-.15 F F1(of)
2.959 E(fset)-.18 E F0 5.459(.A)C(ne)-2.5 E -.05(ga)-.15 G(ti).05 E -.15
-(ve)-.25 G F2(of)3.109 E(fset)-.18 E F0 .6(is tak)144 472.8 R .6
+(ve)-.25 G F1(of)3.109 E(fset)-.18 E F0 .6(is tak)144 602.4 R .6
(en relati)-.1 F .9 -.15(ve t)-.25 H 3.1(oo).15 G .6
(ne greater than the greatest positional parameter)-3.1 F 3.1(,s)-.4 G
3.1(oa)-3.1 G 3.1(no)-3.1 G -.25(ff)-3.1 G .6(set of \2551 e).25 F -.25
-(va)-.25 G(luates).25 E .639(to the last positional parameter)144 484.8
+(va)-.25 G(luates).25 E .639(to the last positional parameter)144 614.4
R 5.639(.I)-.55 G 3.139(ti)-5.639 G 3.139(sa)-3.139 G 3.139(ne)-3.139 G
-.639(xpansion error if)-3.289 F F2(length)3.14 E F0 -.25(eva)3.14 G .64
-(luates to a number less than).25 F(zero.)144 496.8 Q(If)144 520.8 Q F2
+.639(xpansion error if)-3.289 F F1(length)3.14 E F0 -.25(eva)3.14 G .64
+(luates to a number less than).25 F(zero.)144 626.4 Q(If)144 650.4 Q F1
(par)3.014 E(ameter)-.15 E F0 .514(is an inde)3.014 F -.15(xe)-.15 G
3.014(da).15 G .514(rray name subscripted by @ or *, the result is the)
--3.014 F F2(length)3.014 E F0 .513(members of)3.013 F 1.081
-(the array be)144 532.8 R 1.081(ginning with ${)-.15 F F2(par)A(ameter)
--.15 E F0([)A F2(of)A(fset)-.18 E F0 3.581(]}. A)B(ne)3.581 E -.05(ga)
--.15 G(ti).05 E -.15(ve)-.25 G F2(of)3.732 E(fset)-.18 E F0 1.082
+-3.014 F F1(length)3.014 E F0 .513(members of)3.013 F 1.081
+(the array be)144 662.4 R 1.081(ginning with ${)-.15 F F1(par)A(ameter)
+-.15 E F0([)A F1(of)A(fset)-.18 E F0 3.581(]}. A)B(ne)3.581 E -.05(ga)
+-.15 G(ti).05 E -.15(ve)-.25 G F1(of)3.732 E(fset)-.18 E F0 1.082
(is tak)3.582 F 1.082(en relati)-.1 F 1.382 -.15(ve t)-.25 H 3.582(oo)
-.15 G 1.082(ne greater)-3.582 F 1.08(than the maximum inde)144 544.8 R
+.15 G 1.082(ne greater)-3.582 F 1.08(than the maximum inde)144 674.4 R
3.58(xo)-.15 G 3.58(ft)-3.58 G 1.08(he speci\214ed array)-3.58 F 6.079
(.I)-.65 G 3.579(ti)-6.079 G 3.579(sa)-3.579 G 3.579(ne)-3.579 G 1.079
-(xpansion error if)-3.729 F F2(length)3.579 E F0 -.25(eva)3.579 G 1.079
-(luates to a).25 F(number less than zero.)144 556.8 Q(Substring e)144
-580.8 Q(xpansion applied to an associati)-.15 E .3 -.15(ve a)-.25 H
-(rray produces unde\214ned results.).15 E 1.93(Substring inde)144 604.8
-R 1.931(xing is zero-based unless the positional parameters are used, i\
-n which case the)-.15 F(inde)144 616.8 Q .307(xing starts at 1 by def)
--.15 F 2.807(ault. If)-.1 F F2(of)2.807 E(fset)-.18 E F0 .307
-(is 0, and the positional parameters are used,)2.807 F F1($0)2.806 E F0
-.306(is pre\214x)2.806 F(ed)-.15 E(to the list.)144 628.8 Q(${)108 645.6
-Q F1(!)A F2(pr)A(e\214x)-.37 E F1(*)A F0(})A(${)108 657.6 Q F1(!)A F2
-(pr)A(e\214x)-.37 E F1(@)A F0(})A F1 .084(Names matching pr)144 669.6 R
-(e\214x)-.18 E F0 5.084(.E)C .084(xpands to the names of v)-5.084 F .084
-(ariables whose names be)-.25 F .085(gin with)-.15 F F2(pr)2.585 E
-(e\214x)-.37 E F0 2.585(,s)C(epa-)-2.585 E .258
-(rated by the \214rst character of the)144 681.6 R F3(IFS)2.758 E F0
-.257(special v)2.507 F 2.757(ariable. When)-.25 F F2(@)2.757 E F0 .257
-(is used and the e)2.757 F .257(xpansion appears)-.15 F
-(within double quotes, each v)144 693.6 Q(ariable name e)-.25 E
-(xpands to a separate w)-.15 E(ord.)-.1 E(GNU Bash 5.0)72 768 Q
-(2018 March 15)144.29 E(22)193.45 E 0 Cg EP
+(xpansion error if)-3.729 F F1(length)3.579 E F0 -.25(eva)3.579 G 1.079
+(luates to a).25 F(number less than zero.)144 686.4 Q(Substring e)144
+710.4 Q(xpansion applied to an associati)-.15 E .3 -.15(ve a)-.25 H
+(rray produces unde\214ned results.).15 E(GNU Bash 5.0)72 768 Q
+(2018 August 7)145.395 E(22)194.555 E 0 Cg EP
%%Page: 23 23
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
-(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E(${)108 84 Q/F1 10
-/Times-Bold@0 SF(!)A/F2 10/Times-Italic@0 SF(name)A F0([)A F2(@)A F0(]})
-A(${)108 96 Q F1(!)A F2(name)A F0([)A F2(*)A F0(]})A F1 2.035
-(List of array k)144 108 R(eys)-.1 E F0 7.036(.I)C(f)-7.036 E F2(name)
-4.536 E F0 2.036(is an array v)4.536 F 2.036(ariable, e)-.25 F 2.036
+(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E 1.93
+(Substring inde)144 84 R 1.931(xing is zero-based unless the positional\
+ parameters are used, in which case the)-.15 F(inde)144 96 Q .307
+(xing starts at 1 by def)-.15 F 2.807(ault. If)-.1 F/F1 10
+/Times-Italic@0 SF(of)2.807 E(fset)-.18 E F0 .307
+(is 0, and the positional parameters are used,)2.807 F/F2 10
+/Times-Bold@0 SF($0)2.806 E F0 .306(is pre\214x)2.806 F(ed)-.15 E
+(to the list.)144 108 Q(${)108 124.8 Q F2(!)A F1(pr)A(e\214x)-.37 E F2
+(*)A F0(})A(${)108 136.8 Q F2(!)A F1(pr)A(e\214x)-.37 E F2(@)A F0(})A F2
+.084(Names matching pr)144 148.8 R(e\214x)-.18 E F0 5.084(.E)C .084
+(xpands to the names of v)-5.084 F .084(ariables whose names be)-.25 F
+.085(gin with)-.15 F F1(pr)2.585 E(e\214x)-.37 E F0 2.585(,s)C(epa-)
+-2.585 E .258(rated by the \214rst character of the)144 160.8 R/F3 9
+/Times-Bold@0 SF(IFS)2.758 E F0 .257(special v)2.507 F 2.757
+(ariable. When)-.25 F F1(@)2.757 E F0 .257(is used and the e)2.757 F
+.257(xpansion appears)-.15 F(within double quotes, each v)144 172.8 Q
+(ariable name e)-.25 E(xpands to a separate w)-.15 E(ord.)-.1 E(${)108
+189.6 Q F2(!)A F1(name)A F0([)A F1(@)A F0(]})A(${)108 201.6 Q F2(!)A F1
+(name)A F0([)A F1(*)A F0(]})A F2 2.035(List of array k)144 213.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
-.596(assigned in)144 120 R F2(name)3.096 E F0 5.596(.I)C(f)-5.596 E F2
+.596(assigned in)144 225.6 R F1(name)3.096 E F0 5.596(.I)C(f)-5.596 E F1
(name)3.096 E F0 .595(is not an array)3.096 F 3.095(,e)-.65 G .595
-(xpands to 0 if)-3.245 F F2(name)3.095 E F0 .595
-(is set and null otherwise.)3.095 F(When)5.595 E F2(@)144 132 Q F0
+(xpands to 0 if)-3.245 F F1(name)3.095 E F0 .595
+(is set and null otherwise.)3.095 F(When)5.595 E F1(@)144 237.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
-148.8 Q F1(#)A F2(par)A(ameter)-.15 E F0(})A F1 -.1(Pa)144 160.8 S .47
+254.4 Q F2(#)A F1(par)A(ameter)-.15 E F0(})A F2 -.1(Pa)144 266.4 S .47
(rameter length).1 F F0 5.47(.T)C .471(he length in characters of the v)
--5.47 F .471(alue of)-.25 F F2(par)2.971 E(ameter)-.15 E F0 .471
-(is substituted.)2.971 F(If)5.471 E F2(par)4.221 E(ame-)-.15 E(ter)144
-172.8 Q F0(is)4.439 E F1(*)3.709 E F0(or)3.709 E F1(@)3.709 E F0 3.708
+-5.47 F .471(alue of)-.25 F F1(par)2.971 E(ameter)-.15 E F0 .471
+(is substituted.)2.971 F(If)5.471 E F1(par)4.221 E(ame-)-.15 E(ter)144
+278.4 Q F0(is)4.439 E F2(*)3.709 E F0(or)3.709 E F2(@)3.709 E F0 3.708
(,t)C 1.208(he v)-3.708 F 1.208
(alue substituted is the number of positional parameters.)-.25 F(If)
-6.208 E F2(par)4.958 E(ameter)-.15 E F0 1.208(is an)4.438 F .348
-(array name subscripted by)144 184.8 R F1(*)2.849 E F0(or)2.849 E F1(@)
+6.208 E F1(par)4.958 E(ameter)-.15 E F0 1.208(is an)4.438 F .348
+(array name subscripted by)144 290.4 R F2(*)2.849 E F0(or)2.849 E F2(@)
2.849 E F0 2.849(,t)C .349(he v)-2.849 F .349
(alue substituted is the number of elements in the array)-.25 F 5.349
-(.I)-.65 G(f)-5.349 E F2(par)145.25 196.8 Q(ameter)-.15 E F0 .456
+(.I)-.65 G(f)-5.349 E F1(par)145.25 302.4 Q(ameter)-.15 E F0 .456
(is an inde)3.686 F -.15(xe)-.15 G 2.956(da).15 G .456
(rray name subscripted by a ne)-2.956 F -.05(ga)-.15 G(ti).05 E .756
-.15(ve n)-.25 H(umber).15 E 2.955(,t)-.4 G .455
-(hat number is interpreted)-2.955 F .972(as relati)144 208.8 R 1.272
+(hat number is interpreted)-2.955 F .972(as relati)144 314.4 R 1.272
-.15(ve t)-.25 H 3.472(oo).15 G .973(ne greater than the maximum inde)
--3.472 F 3.473(xo)-.15 G(f)-3.473 E F2(par)3.473 E(ameter)-.15 E F0
+-3.472 F 3.473(xo)-.15 G(f)-3.473 E F1(par)3.473 E(ameter)-.15 E F0
3.473(,s)C 3.473(on)-3.473 G -2.25 -.15(eg a)-3.473 H(ti).15 E 1.273
-.15(ve i)-.25 H .973(ndices count back).15 F(from the end of the array)
-144 220.8 Q 2.5(,a)-.65 G(nd an inde)-2.5 E 2.5(xo)-.15 G 2.5<66ad>-2.5
-G 2.5(1r)-2.5 G(eferences the last element.)-2.5 E(${)108 237.6 Q F2
-(par)A(ameter)-.15 E F1(#)A F2(wor)A(d)-.37 E F0(})A(${)108 249.6 Q F2
-(par)A(ameter)-.15 E F1(##)A F2(wor)A(d)-.37 E F0(})A F1(Remo)144 261.6
+144 326.4 Q 2.5(,a)-.65 G(nd an inde)-2.5 E 2.5(xo)-.15 G 2.5<66ad>-2.5
+G 2.5(1r)-2.5 G(eferences the last element.)-2.5 E(${)108 343.2 Q F1
+(par)A(ameter)-.15 E F2(#)A F1(wor)A(d)-.37 E F0(})A(${)108 355.2 Q F1
+(par)A(ameter)-.15 E F2(##)A F1(wor)A(d)-.37 E F0(})A F2(Remo)144 367.2
Q 1.396 -.1(ve m)-.1 H 1.196(atching pr).1 F 1.196(e\214x patter)-.18 F
-(n)-.15 E F0 6.196(.T)C(he)-6.196 E F2(wor)4.036 E(d)-.37 E F0 1.196
+(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
-.543(name e)144 273.6 R .544(xpansion, and matched ag)-.15 F .544
-(ainst the e)-.05 F .544(xpanded v)-.15 F .544(alue of)-.25 F F2(par)
+.543(name e)144 379.2 R .544(xpansion, and matched ag)-.15 F .544
+(ainst the e)-.05 F .544(xpanded v)-.15 F .544(alue of)-.25 F F1(par)
4.294 E(ameter)-.15 E F0 .544(using the rules described)3.774 F(under)
-144 285.6 Q F1 -.1(Pa)3.222 G(tter).1 E 3.222(nM)-.15 G(atching)-3.222 E
+144 391.2 Q F2 -.1(Pa)3.222 G(tter).1 E 3.222(nM)-.15 G(atching)-3.222 E
F0(belo)3.222 E 4.522 -.65(w. I)-.25 H 3.222(ft).65 G .721
(he pattern matches the be)-3.222 F .721(ginning of the v)-.15 F .721
-(alue of)-.25 F F2(par)3.221 E(ameter)-.15 E F0(,).73 E 1.151
-(then the result of the e)144 297.6 R 1.151(xpansion is the e)-.15 F
-1.151(xpanded v)-.15 F 1.151(alue of)-.25 F F2(par)4.902 E(ameter)-.15 E
+(alue of)-.25 F F1(par)3.221 E(ameter)-.15 E F0(,).73 E 1.151
+(then the result of the e)144 403.2 R 1.151(xpansion is the e)-.15 F
+1.151(xpanded v)-.15 F 1.151(alue of)-.25 F F1(par)4.902 E(ameter)-.15 E
F0 1.152(with the shortest matching)4.382 F .184(pattern \(the `)144
-309.6 R(`)-.74 E F1(#)A F0 1.664 -.74('' c)D .184
-(ase\) or the longest matching pattern \(the `).74 F(`)-.74 E F1(##)A F0
-1.664 -.74('' c)D .184(ase\) deleted.).74 F(If)5.183 E F2(par)3.933 E
-(ameter)-.15 E F0(is)3.413 E F1(@)2.683 E F0(or)144 321.6 Q F1(*)3.018 E
+415.2 R(`)-.74 E F2(#)A F0 1.664 -.74('' c)D .184
+(ase\) or the longest matching pattern \(the `).74 F(`)-.74 E F2(##)A F0
+1.664 -.74('' c)D .184(ase\) deleted.).74 F(If)5.183 E F1(par)3.933 E
+(ameter)-.15 E F0(is)3.413 E F2(@)2.683 E F0(or)144 427.2 Q F2(*)3.018 E
F0 3.018(,t)C .518(he pattern remo)-3.018 F -.25(va)-.15 G 3.018(lo).25
G .518
(peration is applied to each positional parameter in turn, and the e)
--3.018 F(xpan-)-.15 E 1.122(sion is the resultant list.)144 333.6 R(If)
-6.121 E F2(par)4.871 E(ameter)-.15 E F0 1.121(is an array v)4.351 F
-1.121(ariable subscripted with)-.25 F F1(@)3.621 E F0(or)3.621 E F1(*)
-3.621 E F0 3.621(,t)C 1.121(he pattern)-3.621 F(remo)144 345.6 Q -.25
+-3.018 F(xpan-)-.15 E 1.122(sion is the resultant list.)144 439.2 R(If)
+6.121 E F1(par)4.871 E(ameter)-.15 E F0 1.121(is an array v)4.351 F
+1.121(ariable subscripted with)-.25 F F2(@)3.621 E F0(or)3.621 E F2(*)
+3.621 E F0 3.621(,t)C 1.121(he pattern)-3.621 F(remo)144 451.2 Q -.25
(va)-.15 G 2.53(lo).25 G .03
(peration is applied to each member of the array in turn, and the e)
--2.53 F .03(xpansion is the resultant)-.15 F(list.)144 357.6 Q(${)108
-374.4 Q F2(par)A(ameter)-.15 E F1(%)A F2(wor)A(d)-.37 E F0(})A(${)108
-386.4 Q F2(par)A(ameter)-.15 E F1(%%)A F2(wor)A(d)-.37 E F0(})A F1(Remo)
-144 398.4 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 F2(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
-410.4 S .458(pansion, and matched ag).15 F .458(ainst the e)-.05 F .458
-(xpanded v)-.15 F .458(alue of)-.25 F F2(par)4.209 E(ameter)-.15 E F0
-.459(using the rules described under)3.689 F F1 -.1(Pa)144 422.4 S(tter)
-.1 E 4.593(nM)-.15 G(atching)-4.593 E F0(belo)4.593 E 5.892 -.65(w. I)
--.25 H 4.592(ft).65 G 2.092
-(he pattern matches a trailing portion of the e)-4.592 F 2.092
-(xpanded v)-.15 F 2.092(alue of)-.25 F F2(par)144 434.4 Q(ameter)-.15 E
-F0 3.15(,t).73 G .65(hen the result of the e)-3.15 F .65
-(xpansion is the e)-.15 F .65(xpanded v)-.15 F .65(alue of)-.25 F F2
+-2.53 F .03(xpansion is the resultant)-.15 F(list.)144 463.2 Q(${)108
+480 Q F1(par)A(ameter)-.15 E F2(%)A F1(wor)A(d)-.37 E F0(})A(${)108 492
+Q F1(par)A(ameter)-.15 E F2(%%)A F1(wor)A(d)-.37 E F0(})A F2(Remo)144
+504 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 516
+S .458(pansion, and matched ag).15 F .458(ainst the e)-.05 F .458
+(xpanded v)-.15 F .458(alue of)-.25 F F1(par)4.209 E(ameter)-.15 E F0
+.459(using the rules described under)3.689 F F2 -.1(Pa)144 528 S(tter).1
+E 4.593(nM)-.15 G(atching)-4.593 E F0(belo)4.593 E 5.892 -.65(w. I)-.25
+H 4.592(ft).65 G 2.092(he pattern matches a trailing portion of the e)
+-4.592 F 2.092(xpanded v)-.15 F 2.092(alue of)-.25 F F1(par)144 540 Q
+(ameter)-.15 E F0 3.15(,t).73 G .65(hen the result of the e)-3.15 F .65
+(xpansion is the e)-.15 F .65(xpanded v)-.15 F .65(alue of)-.25 F F1
(par)4.4 E(ameter)-.15 E F0 .65(with the shortest)3.88 F 1.085
-(matching pattern \(the `)144 446.4 R(`)-.74 E F1(%)A F0 2.565 -.74
-('' c)D 1.084(ase\) or the longest matching pattern \(the `).74 F(`)-.74
-E F1(%%)A F0 2.564 -.74('' c)D 1.084(ase\) deleted.).74 F(If)6.084 E F2
-(par)145.25 458.4 Q(ameter)-.15 E F0(is)3.389 E F1(@)2.659 E F0(or)2.659
-E F1(*)2.659 E F0 2.659(,t)C .159(he pattern remo)-2.659 F -.25(va)-.15
-G 2.659(lo).25 G .16
+(matching pattern \(the `)144 552 R(`)-.74 E F2(%)A F0 2.565 -.74('' c)D
+1.084(ase\) or the longest matching pattern \(the `).74 F(`)-.74 E F2
+(%%)A F0 2.564 -.74('' c)D 1.084(ase\) deleted.).74 F(If)6.084 E F1(par)
+145.25 564 Q(ameter)-.15 E F0(is)3.389 E F2(@)2.659 E F0(or)2.659 E F2
+(*)2.659 E F0 2.659(,t)C .159(he pattern remo)-2.659 F -.25(va)-.15 G
+2.659(lo).25 G .16
(peration is applied to each positional parameter in turn,)-2.659 F .51
-(and the e)144 470.4 R .51(xpansion is the resultant list.)-.15 F(If)
-5.51 E F2(par)4.259 E(ameter)-.15 E F0 .509(is an array v)3.739 F .509
-(ariable subscripted with)-.25 F F1(@)3.009 E F0(or)3.009 E F1(*)3.009 E
-F0(,)A .422(the pattern remo)144 482.4 R -.25(va)-.15 G 2.922(lo).25 G
+(and the e)144 576 R .51(xpansion is the resultant list.)-.15 F(If)5.51
+E F1(par)4.259 E(ameter)-.15 E F0 .509(is an array v)3.739 F .509
+(ariable subscripted with)-.25 F F2(@)3.009 E F0(or)3.009 E F2(*)3.009 E
+F0(,)A .422(the pattern remo)144 588 R -.25(va)-.15 G 2.922(lo).25 G
.422(peration is applied to each member of the array in turn, and the e)
--2.922 F .423(xpansion is)-.15 F(the resultant list.)144 494.4 Q(${)108
-511.2 Q F2(par)A(ameter)-.15 E F1(/)A F2(pattern)A F1(/)A F2(string)A F0
-(})A F1 -.1(Pa)144 523.2 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
+-2.922 F .423(xpansion is)-.15 F(the resultant list.)144 600 Q(${)108
+616.8 Q F1(par)A(ameter)-.15 E F2(/)A F1(pattern)A F2(/)A F1(string)A F0
+(})A F2 -.1(Pa)144 628.8 S(tter).1 E 3.607(ns)-.15 G(ubstitution)-3.607
+E F0 6.107(.T)C(he)-6.107 E F1(pattern)3.607 E F0 1.107(is e)3.607 F
1.106(xpanded to produce a pattern just as in pathname e)-.15 F(xpan-)
--.15 E(sion,)144 535.2 Q F2 -.8(Pa)3.7 G -.15(ra).8 G(meter).15 E F0 1.2
-(is e)3.7 F 1.2(xpanded and the longest match of)-.15 F F2(pattern)3.7 E
-F0(ag)3.7 E 1.2(ainst its v)-.05 F 1.2(alue is replaced with)-.25 F F2
-(string)144 547.2 Q F0 5.397(.T)C .397
-(he match is performed using the rules described under)-5.397 F F1 -.1
+-.15 E(sion,)144 640.8 Q F1 -.8(Pa)3.7 G -.15(ra).8 G(meter).15 E F0 1.2
+(is e)3.7 F 1.2(xpanded and the longest match of)-.15 F F1(pattern)3.7 E
+F0(ag)3.7 E 1.2(ainst its v)-.05 F 1.2(alue is replaced with)-.25 F F1
+(string)144 652.8 Q F0 5.397(.T)C .397
+(he match is performed using the rules described under)-5.397 F F2 -.1
(Pa)2.896 G(tter).1 E 2.896(nM)-.15 G(atching)-2.896 E F0(belo)2.896 E
-4.196 -.65(w. I)-.25 H(f).65 E F2(pat-)2.896 E(tern)144 559.2 Q F0(be)
-2.569 E .069(gins with)-.15 F F1(/)2.569 E F0 2.569(,a)C .069
-(ll matches of)-2.569 F F2(pattern)2.569 E F0 .069(are replaced with)
-2.569 F F2(string)2.57 E F0 5.07(.N)C .07
-(ormally only the \214rst match is)-5.07 F 2.58(replaced. If)144 571.2 R
-F2(pattern)2.58 E F0(be)2.58 E .08(gins with)-.15 F F1(#)2.58 E F0 2.58
+4.196 -.65(w. I)-.25 H(f).65 E F1(pat-)2.896 E(tern)144 664.8 Q F0(be)
+2.569 E .069(gins with)-.15 F F2(/)2.569 E F0 2.569(,a)C .069
+(ll matches of)-2.569 F F1(pattern)2.569 E F0 .069(are replaced with)
+2.569 F F1(string)2.57 E F0 5.07(.N)C .07
+(ormally only the \214rst match is)-5.07 F 2.58(replaced. If)144 676.8 R
+F1(pattern)2.58 E F0(be)2.58 E .08(gins with)-.15 F F2(#)2.58 E F0 2.58
(,i)C 2.58(tm)-2.58 G .079(ust match at the be)-2.58 F .079
-(ginning of the e)-.15 F .079(xpanded v)-.15 F .079(alue of)-.25 F F2
-(par)2.579 E(am-)-.15 E(eter)144 583.2 Q F0 5.761(.I)C(f)-5.761 E F2
-(pattern)3.261 E F0(be)3.261 E .761(gins with)-.15 F F1(%)3.261 E F0
+(ginning of the e)-.15 F .079(xpanded v)-.15 F .079(alue of)-.25 F F1
+(par)2.579 E(am-)-.15 E(eter)144 688.8 Q F0 5.761(.I)C(f)-5.761 E F1
+(pattern)3.261 E F0(be)3.261 E .761(gins with)-.15 F F2(%)3.261 E F0
3.261(,i)C 3.261(tm)-3.261 G .761(ust match at the end of the e)-3.261 F
-.761(xpanded v)-.15 F .761(alue of)-.25 F F2(par)3.262 E(ameter)-.15 E
-F0 5.762(.I)C(f)-5.762 E F2(string)144 595.2 Q F0 .958
-(is null, matches of)3.458 F F2(pattern)3.458 E F0 .958
-(are deleted and the)3.458 F F1(/)3.458 E F0(follo)3.458 E(wing)-.25 E
-F2(pattern)3.457 E F0 .957(may be omitted.)3.457 F .957(If the)5.957 F
-F1(nocasematch)144 607.2 Q F0 .492
+.761(xpanded v)-.15 F .761(alue of)-.25 F F1(par)3.262 E(ameter)-.15 E
+F0 5.762(.I)C(f)-5.762 E F1(string)144 700.8 Q F0 .958
+(is null, matches of)3.458 F F1(pattern)3.458 E F0 .958
+(are deleted and the)3.458 F F2(/)3.458 E F0(follo)3.458 E(wing)-.25 E
+F1(pattern)3.457 E F0 .957(may be omitted.)3.457 F .957(If the)5.957 F
+F2(nocasematch)144 712.8 Q F0 .492
(shell option is enabled, the match is performed without re)2.992 F -.05
(ga)-.15 G .492(rd to the case of alpha-).05 F .884(betic characters.)
-144 619.2 R(If)5.884 E F2(par)4.634 E(ameter)-.15 E F0(is)4.114 E F1(@)
-3.384 E F0(or)3.383 E F1(*)3.383 E F0 3.383(,t)C .883
-(he substitution operation is applied to each positional)-3.383 F 1.002
-(parameter in turn, and the e)144 631.2 R 1.002
-(xpansion is the resultant list.)-.15 F(If)6.002 E F2(par)4.752 E
-(ameter)-.15 E F0 1.002(is an array v)4.232 F 1.002(ariable sub-)-.25 F
-.159(scripted with)144 643.2 R F1(@)2.659 E F0(or)2.659 E F1(*)2.659 E
-F0 2.659(,t)C .159(he substitution operation is applied to each member \
-of the array in turn, and)-2.659 F(the e)144 655.2 Q
-(xpansion is the resultant list.)-.15 E(${)108 672 Q F2(par)A(ameter)
--.15 E F1(^)A F2(pattern)A F0(})A(${)108 684 Q F2(par)A(ameter)-.15 E F1
-(^^)A F2(pattern)A F0(})A(${)108 696 Q F2(par)A(ameter)-.15 E F1(,)A F2
-(pattern)A F0(})A(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(23)193.45
-E 0 Cg EP
+144 724.8 R(If)5.884 E F1(par)4.634 E(ameter)-.15 E F0(is)4.114 E F2(@)
+3.384 E F0(or)3.383 E F2(*)3.383 E F0 3.383(,t)C .883
+(he substitution operation is applied to each positional)-3.383 F
+(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(23)194.555 E 0 Cg EP
%%Page: 24 24
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
-(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E(${)108 84 Q/F1 10
-/Times-Italic@0 SF(par)A(ameter)-.15 E/F2 10/Times-Bold@0 SF(,,)A F1
-(pattern)A F0(})A F2 .437(Case modi\214cation)144 96 R F0 5.437(.T)C
-.437(his e)-5.437 F .438
+(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E 1.002
+(parameter in turn, and the e)144 84 R 1.002
+(xpansion is the resultant list.)-.15 F(If)6.002 E/F1 10/Times-Italic@0
+SF(par)4.752 E(ameter)-.15 E F0 1.002(is an array v)4.232 F 1.002
+(ariable sub-)-.25 F .159(scripted with)144 96 R/F2 10/Times-Bold@0 SF
+(@)2.659 E F0(or)2.659 E F2(*)2.659 E F0 2.659(,t)C .159(he substitutio\
+n operation is applied to each member of the array in turn, and)-2.659 F
+(the e)144 108 Q(xpansion is the resultant list.)-.15 E(${)108 124.8 Q
+F1(par)A(ameter)-.15 E F2(^)A F1(pattern)A F0(})A(${)108 136.8 Q F1(par)
+A(ameter)-.15 E F2(^^)A F1(pattern)A F0(})A(${)108 148.8 Q F1(par)A
+(ameter)-.15 E F2(,)A F1(pattern)A F0(})A(${)108 160.8 Q F1(par)A
+(ameter)-.15 E F2(,,)A F1(pattern)A F0(})A F2 .437(Case modi\214cation)
+144 172.8 R F0 5.437(.T)C .437(his 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 108 Q F0
-1.407(is e)3.907 F 1.407
+2.938 E(ameter)-.15 E F0 5.438(.T)C(he)-5.438 E F1(pattern)144 184.8 Q
+F0 1.407(is e)3.907 F 1.407
(xpanded to produce a pattern just as in pathname e)-.15 F 3.906
-(xpansion. Each)-.15 F 1.406(character in the)3.906 F -.15(ex)144 120 S
-1.231(panded v).15 F 1.231(alue of)-.25 F F1(par)3.732 E(ameter)-.15 E
+(xpansion. Each)-.15 F 1.406(character in the)3.906 F -.15(ex)144 196.8
+S 1.231(panded v).15 F 1.231(alue of)-.25 F F1(par)3.732 E(ameter)-.15 E
F0 1.232(is tested ag)3.732 F(ainst)-.05 E F1(pattern)3.732 E F0 3.732
(,a)C 1.232(nd, if it matches the pattern, its case is)-3.732 F(con)144
-132 Q -.15(ve)-.4 G 2.924(rted. The).15 F .424
+208.8 Q -.15(ve)-.4 G 2.924(rted. The).15 F .424
(pattern should not attempt to match more than one character)2.924 F
5.424(.T)-.55 G(he)-5.424 E F2(^)2.924 E F0 .424(operator con-)2.924 F
--.15(ve)144 144 S .61(rts lo).15 F .61(wercase letters matching)-.25 F
+-.15(ve)144 220.8 S .61(rts lo).15 F .61(wercase letters matching)-.25 F
F1(pattern)3.11 E F0 .61(to uppercase; the)3.11 F F2(,)3.11 E F0 .61
(operator con)3.11 F -.15(ve)-.4 G .61(rts matching uppercase).15 F
-1.548(letters to lo)144 156 R 4.047(wercase. The)-.25 F F2(^^)4.047 E F0
-(and)4.047 E F2(,,)4.047 E F0 -.15(ex)4.047 G 1.547(pansions con).15 F
+1.548(letters to lo)144 232.8 R 4.047(wercase. The)-.25 F F2(^^)4.047 E
+F0(and)4.047 E F2(,,)4.047 E F0 -.15(ex)4.047 G 1.547(pansions con).15 F
-.15(ve)-.4 G 1.547(rt each matched character in the e).15 F(xpanded)
--.15 E -.25(va)144 168 S .633(lue; the).25 F F2(^)3.133 E F0(and)3.133 E
-F2(,)3.133 E F0 -.15(ex)3.133 G .633(pansions match and con).15 F -.15
+-.15 E -.25(va)144 244.8 S .633(lue; the).25 F F2(^)3.133 E F0(and)3.133
+E F2(,)3.133 E F0 -.15(ex)3.133 G .633(pansions match and con).15 F -.15
(ve)-.4 G .634(rt only the \214rst character in the e).15 F .634
-(xpanded v)-.15 F 3.134(alue. If)-.25 F F1(pattern)144 180 Q F0 .78
+(xpanded v)-.15 F 3.134(alue. If)-.25 F F1(pattern)144 256.8 Q F0 .78
(is omitted, it is treated lik)3.28 F 3.28(ea)-.1 G F2(?)A F0 3.28(,w)C
.78(hich matches e)-3.28 F -.15(ve)-.25 G .78(ry character).15 F 5.78
(.I)-.55 G(f)-5.78 E F1(par)4.53 E(ameter)-.15 E F0(is)4.01 E F2(@)3.28
E F0(or)3.28 E F2(*)3.28 E F0(,)A .582(the case modi\214cation operatio\
-n is applied to each positional parameter in turn, and the e)144 192 R
-(xpansion)-.15 E .469(is the resultant list.)144 204 R(If)5.469 E F1
+n is applied to each positional parameter in turn, and the e)144 268.8 R
+(xpansion)-.15 E .469(is the resultant list.)144 280.8 R(If)5.469 E F1
(par)4.218 E(ameter)-.15 E F0 .468(is an array v)3.698 F .468
(ariable subscripted with)-.25 F F2(@)2.968 E F0(or)2.968 E F2(*)2.968 E
F0 2.968(,t)C .468(he case modi\214ca-)-2.968 F(tion operation is appli\
-ed to each member of the array in turn, and the e)144 216 Q
-(xpansion is the resultant list.)-.15 E(${)108 232.8 Q F1(par)A(ameter)
--.15 E F2(@)A F1(oper)A(ator)-.15 E F0(})A F2 -.1(Pa)144 244.8 S .86
+ed to each member of the array in turn, and the e)144 292.8 Q
+(xpansion is the resultant list.)-.15 E(${)108 309.6 Q F1(par)A(ameter)
+-.15 E F2(@)A F1(oper)A(ator)-.15 E F0(})A F2 -.1(Pa)144 321.6 S .86
(rameter transf).1 F(ormation)-.25 E F0 5.86(.T)C .86(he e)-5.86 F .86
(xpansion is either a transformation of the v)-.15 F .86(alue of)-.25 F
-F1(par)3.36 E(ameter)-.15 E F0 .154(or information about)144 256.8 R F1
+F1(par)3.36 E(ameter)-.15 E F0 .154(or information about)144 333.6 R F1
(par)2.654 E(ameter)-.15 E F0 .153(itself, depending on the v)2.654 F
.153(alue of)-.25 F F1(oper)2.653 E(ator)-.15 E F0 5.153(.E)C(ach)-5.153
E F1(oper)2.653 E(ator)-.15 E F0 .153(is a sin-)2.653 F(gle letter:)144
-268.8 Q F2(Q)144 292.8 Q F0 1.064(The e)180 292.8 R 1.064
+345.6 Q F2(Q)144 369.6 Q F0 1.064(The e)180 369.6 R 1.064
(xpansion is a string that is the v)-.15 F 1.065(alue of)-.25 F F1(par)
3.565 E(ameter)-.15 E F0 1.065(quoted in a format that can be)3.565 F
-(reused as input.)180 304.8 Q F2(E)144 316.8 Q F0 .441(The e)180 316.8 R
+(reused as input.)180 381.6 Q F2(E)144 393.6 Q F0 .441(The e)180 393.6 R
.441(xpansion is a string that is the v)-.15 F .441(alue of)-.25 F F1
(par)2.941 E(ameter)-.15 E F0 .44(with backslash escape sequences)2.94 F
--.15(ex)180 328.8 S(panded as with the).15 E F2($'...)2.5 E(')-.55 E F0
-(quoting mechanism.)2.5 E F2(P)144 340.8 Q F0 1.072(The e)180 340.8 R
+-.15(ex)180 405.6 S(panded as with the).15 E F2($'...)2.5 E(')-.55 E F0
+(quoting mechanism.)2.5 E F2(P)144 417.6 Q F0 1.072(The e)180 417.6 R
1.073(xpansion is a string that is the result of e)-.15 F 1.073
(xpanding the v)-.15 F 1.073(alue of)-.25 F F1(par)3.573 E(ameter)-.15 E
-F0 1.073(as if it)3.573 F(were a prompt string \(see)180 352.8 Q F2(PR)
-2.5 E(OMPTING)-.3 E F0(belo)2.5 E(w\).)-.25 E F2(A)144 364.8 Q F0 1.138
-(The e)180 364.8 R 1.138
+F0 1.073(as if it)3.573 F(were a prompt string \(see)180 429.6 Q F2(PR)
+2.5 E(OMPTING)-.3 E F0(belo)2.5 E(w\).)-.25 E F2(A)144 441.6 Q F0 1.138
+(The e)180 441.6 R 1.138
(xpansion is a string in the form of an assignment statement or)-.15 F
-F2(declar)3.637 E(e)-.18 E F0(command)3.637 E(that, if e)180 376.8 Q
+F2(declar)3.637 E(e)-.18 E F0(command)3.637 E(that, if e)180 453.6 Q
-.25(va)-.25 G(luated, will recreate).25 E F1(par)2.5 E(ameter)-.15 E F0
-(with its attrib)2.5 E(utes and v)-.2 E(alue.)-.25 E F2(a)144 388.8 Q F0
-(The e)180 388.8 Q(xpansion is a string consisting of \215ag v)-.15 E
+(with its attrib)2.5 E(utes and v)-.2 E(alue.)-.25 E F2(a)144 465.6 Q F0
+(The e)180 465.6 Q(xpansion is a string consisting of \215ag v)-.15 E
(alues representing)-.25 E F1(par)2.5 E(ameter)-.15 E F0 1.1 -.55('s a)D
-(ttrib).55 E(utes.)-.2 E(If)144 405.6 Q F1(par)5.33 E(ameter)-.15 E F0
+(ttrib).55 E(utes.)-.2 E(If)144 482.4 Q F1(par)5.33 E(ameter)-.15 E F0
(is)4.81 E F2(@)4.08 E F0(or)4.08 E F2(*)4.08 E F0 4.08(,t)C 1.581
(he operation is applied to each positional parameter in turn, and the)
--4.08 F -.15(ex)144 417.6 S .13(pansion is the resultant list.).15 F(If)
+-4.08 F -.15(ex)144 494.4 S .13(pansion is the resultant list.).15 F(If)
5.13 E F1(par)3.88 E(ameter)-.15 E F0 .129(is an array v)3.36 F .129
(ariable subscripted with)-.25 F F2(@)2.629 E F0(or)2.629 E F2(*)2.629 E
F0 2.629(,t)C .129(he oper)-2.629 F(-)-.2 E
(ation is applied to each member of the array in turn, and the e)144
-429.6 Q(xpansion is the resultant list.)-.15 E 1.849
-(The result of the e)144 453.6 R 1.849(xpansion is subject to w)-.15 F
+506.4 Q(xpansion is the resultant list.)-.15 E 1.849
+(The result of the e)144 530.4 R 1.849(xpansion is subject to w)-.15 F
1.849(ord splitting and pathname e)-.1 F 1.85(xpansion as described)-.15
-F(belo)144 465.6 Q -.65(w.)-.25 G F2(Command Substitution)87 482.4 Q F1
-1.698(Command substitution)108 494.4 R F0(allo)4.198 E 1.697
+F(belo)144 542.4 Q -.65(w.)-.25 G F2(Command Substitution)87 559.2 Q F1
+1.698(Command substitution)108 571.2 R F0(allo)4.198 E 1.697
(ws the output of a command to replace the command name.)-.25 F 1.697
-(There are tw)6.697 F(o)-.1 E(forms:)108 506.4 Q F2($\()144 523.2 Q F1
-(command)A F2(\))1.666 E F0(or)108 535.2 Q F2<92>144 547.2 Q F1(command)
-A F2<92>A(Bash)108 564 Q F0 .088(performs the e)2.588 F .088
+(There are tw)6.697 F(o)-.1 E(forms:)108 583.2 Q F2($\()144 600 Q F1
+(command)A F2(\))1.666 E F0(or)108 612 Q F2<92>144 624 Q F1(command)A F2
+<92>A(Bash)108 640.8 Q F0 .088(performs the e)2.588 F .088
(xpansion by e)-.15 F -.15(xe)-.15 G(cuting).15 E F1(command)2.588 E F0
.089(in a subshell en)2.589 F .089(vironment and replacing the command)
-.4 F .41(substitution with the standard output of the command, with an)
-108 576 R 2.91(yt)-.15 G .41(railing ne)-2.91 F .41(wlines deleted.)-.25
-F .41(Embedded ne)5.41 F(w-)-.25 E .191(lines are not deleted, b)108 588
-R .192(ut the)-.2 F 2.692(ym)-.15 G .192(ay be remo)-2.692 F -.15(ve)
--.15 G 2.692(dd).15 G .192(uring w)-2.692 F .192(ord splitting.)-.1 F
-.192(The command substitution)5.192 F F2($\(cat)2.692 E F1(\214le)2.692
-E F2(\))A F0(can be replaced by the equi)108 600 Q -.25(va)-.25 G
-(lent b).25 E(ut f)-.2 E(aster)-.1 E F2($\(<)2.5 E F1(\214le)2.5 E F2
+108 652.8 R 2.91(yt)-.15 G .41(railing ne)-2.91 F .41(wlines deleted.)
+-.25 F .41(Embedded ne)5.41 F(w-)-.25 E .191(lines are not deleted, b)
+108 664.8 R .192(ut the)-.2 F 2.692(ym)-.15 G .192(ay be remo)-2.692 F
+-.15(ve)-.15 G 2.692(dd).15 G .192(uring w)-2.692 F .192(ord splitting.)
+-.1 F .192(The command substitution)5.192 F F2($\(cat)2.692 E F1(\214le)
+2.692 E F2(\))A F0(can be replaced by the equi)108 676.8 Q -.25(va)-.25
+G(lent b).25 E(ut f)-.2 E(aster)-.1 E F2($\(<)2.5 E F1(\214le)2.5 E F2
(\))A F0(.)A 1.724(When the old-style backquote form of substitution is\
- used, backslash retains its literal meaning e)108 616.8 R(xcept)-.15 E
-.314(when follo)108 628.8 R .314(wed by)-.25 F F2($)2.814 E F0(,)A F2
+ used, backslash retains its literal meaning e)108 693.6 R(xcept)-.15 E
+.314(when follo)108 705.6 R .314(wed by)-.25 F F2($)2.814 E F0(,)A F2
<92>2.814 E F0 2.814(,o)C(r)-2.814 E F2(\\)2.814 E F0 5.314(.T)C .315(h\
e \214rst backquote not preceded by a backslash terminates the command \
-sub-)-5.314 F 3.887(stitution. When)108 640.8 R 1.387(using the $\()
+sub-)-5.314 F 3.887(stitution. When)108 717.6 R 1.387(using the $\()
3.887 F F1(command).833 E F0 3.887(\)f)1.666 G 1.386
(orm, all characters between the parentheses mak)-3.887 F 3.886(eu)-.1 G
3.886(pt)-3.886 G 1.386(he com-)-3.886 F
-(mand; none are treated specially)108 652.8 Q(.)-.65 E .894
-(Command substitutions may be nested.)108 669.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 681.6 Q .422
-(If the substitution appears within double quotes, w)108 698.4 R .422
-(ord splitting and pathname e)-.1 F .422(xpansion are not performed)-.15
-F(on the results.)108 710.4 Q(GNU Bash 5.0)72 768 Q(2018 March 15)144.29
-E(24)193.45 E 0 Cg EP
+(mand; none are treated specially)108 729.6 Q(.)-.65 E(GNU Bash 5.0)72
+768 Q(2018 August 7)145.395 E(24)194.555 E 0 Cg EP
%%Page: 25 25
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
-(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0
-SF(Arithmetic Expansion)87 84 Q F0 1.034(Arithmetic e)108 96 R 1.034
+(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E .894
+(Command substitutions may be nested.)108 84 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 96 Q .422
+(If the substitution appears within double quotes, w)108 112.8 R .422
+(ord splitting and pathname e)-.1 F .422(xpansion are not performed)-.15
+F(on the results.)108 124.8 Q/F1 10/Times-Bold@0 SF
+(Arithmetic Expansion)87 141.6 Q F0 1.034(Arithmetic e)108 153.6 R 1.034
(xpansion allo)-.15 F 1.034(ws the e)-.25 F -.25(va)-.25 G 1.034
(luation of an arithmetic e).25 F 1.035
(xpression and the substitution of the result.)-.15 F
-(The format for arithmetic e)108 108 Q(xpansion is:)-.15 E F1($\(\()144
-124.8 Q/F2 10/Times-Italic@0 SF -.2(ex)C(pr).2 E(ession)-.37 E F1(\)\))A
-F0(The)108 141.6 Q F2 -.2(ex)2.666 G(pr).2 E(ession)-.37 E F0 .165
-(is treated as if it were within double quotes, b)2.906 F .165
+(The format for arithmetic e)108 165.6 Q(xpansion is:)-.15 E F1($\(\()
+144 182.4 Q/F2 10/Times-Italic@0 SF -.2(ex)C(pr).2 E(ession)-.37 E F1
+(\)\))A F0(The)108 199.2 Q F2 -.2(ex)2.666 G(pr).2 E(ession)-.37 E F0
+.165(is treated as if it were within double quotes, b)2.906 F .165
(ut a double quote inside the parentheses is not)-.2 F .23
-(treated specially)108 153.6 R 5.23(.A)-.65 G .23(ll tok)-5.23 F .231
+(treated specially)108 211.2 R 5.23(.A)-.65 G .23(ll tok)-5.23 F .231
(ens in the e)-.1 F .231(xpression under)-.15 F .231(go parameter and v)
-.18 F .231(ariable e)-.25 F .231(xpansion, command substi-)-.15 F 1.06
-(tution, and quote remo)108 165.6 R -.25(va)-.15 G 3.56(l. The).25 F
+(tution, and quote remo)108 223.2 R -.25(va)-.15 G 3.56(l. The).25 F
1.059(result is treated as the arithmetic e)3.56 F 1.059
(xpression to be e)-.15 F -.25(va)-.25 G 3.559(luated. Arithmetic).25 F
--.15(ex)108 177.6 S(pansions may be nested.).15 E 1.378(The e)108 194.4
-R -.25(va)-.25 G 1.378
+-.15(ex)108 235.2 S(pansions may be nested.).15 E 1.378(The e)108 252 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 206.4 S(pr).2 E(ession)-.37 E F0(is in)2.74 E
+(If)5.879 E F2 -.2(ex)108 264 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(prints a message indicating f)
-2.5 E(ailure and no substitution occurs.)-.1 E F1(Pr)87 223.2 Q
-(ocess Substitution)-.18 E F2(Pr)108 235.2 Q .405(ocess substitution)
+2.5 E(ailure and no substitution occurs.)-.1 E F1(Pr)87 280.8 Q
+(ocess Substitution)-.18 E F2(Pr)108 292.8 Q .405(ocess substitution)
-.45 F F0(allo)2.905 E .405(ws a process')-.25 F 2.905(si)-.55 G .405
(nput or output to be referred to using a \214lename.)-2.905 F .405
-(It tak)5.405 F .405(es the form)-.1 F(of)108 247.2 Q F1(<\()3.25 E F2
+(It tak)5.405 F .405(es the form)-.1 F(of)108 304.8 Q F1(<\()3.25 E F2
(list)A F1(\)).833 E F0(or)3.25 E F1(>\()3.25 E F2(list)A F1(\)).833 E
F0 5.75(.T)C .751(he process)-5.75 F F2(list)3.251 E F0 .751
(is run asynchronously)3.251 F 3.251(,a)-.65 G .751
(nd its input or output appears as a \214lename.)-3.251 F .148
-(This \214lename is passed as an ar)108 259.2 R .148
+(This \214lename is passed as an ar)108 316.8 R .148
(gument to the current command as the result of the e)-.18 F 2.647
(xpansion. If)-.15 F(the)2.647 E F1(>\()2.647 E F2(list)A F1(\)).833 E
-F0 .559(form is used, writing to the \214le will pro)108 271.2 R .559
+F0 .559(form is used, writing to the \214le will pro)108 328.8 R .559
(vide input for)-.15 F F2(list)3.059 E F0 5.559(.I)C 3.059(ft)-5.559 G
(he)-3.059 E F1(<\()3.06 E F2(list)A F1(\)).833 E F0 .56
-(form is used, the \214le passed as an)3.06 F(ar)108 283.2 Q .309
+(form is used, the \214le passed as an)3.06 F(ar)108 340.8 Q .309
(gument should be read to obtain the output of)-.18 F F2(list)2.808 E F0
5.308(.P)C .308(rocess substitution is supported on systems that sup-)
--5.308 F(port named pipes \()108 295.2 Q F2(FIFOs)A F0 2.5(\)o)C 2.5(rt)
+-5.308 F(port named pipes \()108 352.8 Q F2(FIFOs)A F0 2.5(\)o)C 2.5(rt)
-2.5 G(he)-2.5 E F1(/de)2.5 E(v/fd)-.15 E F0
-(method of naming open \214les.)2.5 E .896(When a)108 312 R -.25(va)-.2
-G .896(ilable, process substitution is performed simultaneously with pa\
-rameter and v).25 F .897(ariable e)-.25 F(xpansion,)-.15 E
-(command substitution, and arithmetic e)108 324 Q(xpansion.)-.15 E F1
--.75(Wo)87 340.8 S(rd Splitting).75 E F0 1.143
-(The shell scans the results of parameter e)108 352.8 R 1.142
+(method of naming open \214les.)2.5 E .896(When a)108 369.6 R -.25(va)
+-.2 G .896(ilable, process substitution is performed simultaneously wit\
+h parameter and v).25 F .897(ariable e)-.25 F(xpansion,)-.15 E
+(command substitution, and arithmetic e)108 381.6 Q(xpansion.)-.15 E F1
+-.75(Wo)87 398.4 S(rd Splitting).75 E F0 1.143
+(The shell scans the results of parameter e)108 410.4 R 1.142
(xpansion, command substitution, and arithmetic e)-.15 F 1.142
-(xpansion that)-.15 F(did not occur within double quotes for)108 364.8 Q
+(xpansion that)-.15 F(did not occur within double quotes for)108 422.4 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 381.6 R F3(IFS)2.563 E F0 .063
+(The shell treats each character of)108 439.2 R F3(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 .207(using these characters as \214eld terminators.)
-108 393.6 R(If)5.207 E F3(IFS)2.707 E F0 .207(is unset, or its v)2.457 F
+108 451.2 R(If)5.207 E F3(IFS)2.707 E F0 .207(is unset, or its v)2.457 F
.207(alue is e)-.25 F(xactly)-.15 E F1(<space><tab><newline>)2.707 E F0
-(,)A .836(the def)108 405.6 R .836(ault, then sequences of)-.1 F F1
+(,)A .836(the def)108 463.2 R .836(ault, then sequences of)-.1 F F1
(<space>)3.336 E F0(,)A F1(<tab>)3.336 E F0 3.336(,a)C(nd)-3.336 E F1
(<newline>)3.336 E F0 .837(at the be)3.336 F .837
-(ginning and end of the results of)-.15 F .346(the pre)108 417.6 R .345
+(ginning and end of the results of)-.15 F .346(the pre)108 475.2 R .345
(vious e)-.25 F .345(xpansions are ignored, and an)-.15 F 2.845(ys)-.15
G .345(equence of)-2.845 F F3(IFS)2.845 E F0 .345
(characters not at the be)2.595 F .345(ginning or end serv)-.15 F(es)
--.15 E 1.236(to delimit w)108 429.6 R 3.736(ords. If)-.1 F F3(IFS)3.736
+-.15 E 1.236(to delimit w)108 487.2 R 3.736(ords. If)-.1 F F3(IFS)3.736
E F0 1.236(has a v)3.486 F 1.236(alue other than the def)-.25 F 1.237
(ault, then sequences of the whitespace characters)-.1 F F1(space)108
-441.6 Q F0(,)A F1(tab)2.507 E F0 2.507(,a)C(nd)-2.507 E F1(newline)2.507
+499.2 Q F0(,)A F1(tab)2.507 E F0 2.507(,a)C(nd)-2.507 E F1(newline)2.507
E F0 .007(are ignored at the be)2.507 F .006(ginning and end of the w)
-.15 F .006(ord, as long as the whitespace charac-)-.1 F .92
-(ter is in the v)108 453.6 R .92(alue of)-.25 F F3(IFS)3.42 E F0(\(an)
+(ter is in the v)108 511.2 R .92(alue of)-.25 F F3(IFS)3.42 E F0(\(an)
3.17 E F3(IFS)3.42 E F0 .92(whitespace character\).)3.17 F(An)5.92 E
3.42(yc)-.15 G .92(haracter in)-3.42 F F3(IFS)3.42 E F0 .921
(that is not)3.17 F F3(IFS)3.421 E F0(whitespace,)3.171 E .429
-(along with an)108 465.6 R 2.928(ya)-.15 G(djacent)-2.928 E F3(IFS)2.928
+(along with an)108 523.2 R 2.928(ya)-.15 G(djacent)-2.928 E F3(IFS)2.928
E F0 .428(whitespace characters, delimits a \214eld.)2.678 F 2.928(As)
5.428 G .428(equence of)-2.928 F F3(IFS)2.928 E F0 .428
(whitespace charac-)2.678 F(ters is also treated as a delimiter)108
-477.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
+535.2 Q 5(.I)-.55 G 2.5(ft)-5 G(he v)-2.5 E(alue of)-.25 E F3(IFS)2.5 E
F0(is null, no w)2.25 E(ord splitting occurs.)-.1 E 1.927
-(Explicit null ar)108 494.4 R 1.927(guments \()-.18 F F1 .833("").833 G
-F0(or)3.594 E F1 .833<0808>5.26 G F0 4.427(\)a)C 1.927
+(Explicit null ar)108 552 R 1.927(guments \()-.18 F F1 .833("").833 G F0
+(or)3.594 E F1 .833<0808>5.26 G F0 4.427(\)a)C 1.927
(re retained and passed to commands as empty strings.)-4.427 F(Unquoted)
-6.927 E .485(implicit null ar)108 506.4 R .485
+6.927 E .485(implicit null ar)108 564 R .485
(guments, resulting from the e)-.18 F .484
(xpansion of parameters that ha)-.15 F .784 -.15(ve n)-.2 H 2.984(ov).15
G .484(alues, are remo)-3.234 F -.15(ve)-.15 G 2.984(d. If).15 F(a)2.984
-E 1.571(parameter with no v)108 518.4 R 1.571(alue is e)-.25 F 1.571
+E 1.571(parameter with no v)108 576 R 1.571(alue is e)-.25 F 1.571
(xpanded within double quotes, a null ar)-.15 F 1.572
(gument results and is retained and)-.18 F .724
-(passed to a command as an empty string.)108 530.4 R .724
+(passed to a command as an empty string.)108 588 R .724
(When a quoted null ar)5.724 F .723(gument appears as part of a w)-.18 F
-.723(ord whose)-.1 F -.15(ex)108 542.4 S .175
+.723(ord whose)-.1 F -.15(ex)108 600 S .175
(pansion is non-null, the null ar).15 F .176(gument is remo)-.18 F -.15
(ve)-.15 G 2.676(d. That).15 F .176(is, the w)2.676 F(ord)-.1 E/F5 10
/Courier@0 SF -5.167<ad64082008>2.676 F F0(becomes)2.676 E F5<ad64>2.676
-E F0 .176(after w)2.676 F .176(ord split-)-.1 F(ting and null ar)108
-554.4 Q(gument remo)-.18 E -.25(va)-.15 G(l.).25 E(Note that if no e)108
-571.2 Q(xpansion occurs, no splitting is performed.)-.15 E F1 -.1(Pa)87
-588 S(thname Expansion).1 E F0 .371(After w)108 600 R .371
+E F0 .176(after w)2.676 F .176(ord split-)-.1 F(ting and null ar)108 612
+Q(gument remo)-.18 E -.25(va)-.15 G(l.).25 E(Note that if no e)108 628.8
+Q(xpansion occurs, no splitting is performed.)-.15 E F1 -.1(Pa)87 645.6
+S(thname Expansion).1 E F0 .371(After w)108 657.6 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 612 R .677
+(If one of these characters appears, then the w)108 669.6 R .677
(ord is re)-.1 F -.05(ga)-.15 G .677(rded as a).05 F F2(pattern)3.177 E
F0 3.177(,a).24 G .678(nd replaced with an alphabeti-)-3.177 F .562
-(cally sorted list of \214lenames matching the pattern \(see)108 624 R
+(cally sorted list of \214lenames matching the pattern \(see)108 681.6 R
F3 -.09(Pa)3.062 G(tter).09 E 2.812(nM)-.135 G(atching)-2.812 E F0(belo)
2.812 E 3.062(w\). If)-.25 F .561(no matching \214lenames)3.061 F .008
-(are found, and the shell option)108 636 R F1(nullglob)2.508 E F0 .008
+(are found, and the shell option)108 693.6 R F1(nullglob)2.508 E F0 .008
(is not enabled, the w)2.508 F .009(ord is left unchanged.)-.1 F .009
(If the)5.009 F F1(nullglob)2.509 E F0 .009(option is)2.509 F .443
-(set, and no matches are found, the w)108 648 R .443(ord is remo)-.1 F
+(set, and no matches are found, the w)108 705.6 R .443(ord is remo)-.1 F
-.15(ve)-.15 G 2.943(d. If).15 F(the)2.942 E F1(failglob)2.942 E F0 .442
(shell option is set, and no matches are)2.942 F 1.38
-(found, an error message is printed and the command is not e)108 660 R
+(found, an error message is printed and the command is not e)108 717.6 R
-.15(xe)-.15 G 3.88(cuted. If).15 F 1.38(the shell option)3.88 F F1
(nocaseglob)3.88 E F0(is)3.88 E .104
-(enabled, the match is performed without re)108 672 R -.05(ga)-.15 G
+(enabled, the match is performed without re)108 729.6 R -.05(ga)-.15 G
.104(rd to the case of alphabetic characters.).05 F .103
-(When a pattern is used)5.103 F .377(for pathname e)108 684 R .377
-(xpansion, the character)-.15 F F1 -.63(``)2.878 G -.55(.').63 G(')-.08
-E F0 .378(at the start of a name or immediately follo)5.378 F .378
-(wing a slash must be)-.25 F 1.354(matched e)108 696 R(xplicitly)-.15 E
+(When a pattern is used)5.103 F(GNU Bash 5.0)72 768 Q(2018 August 7)
+145.395 E(25)194.555 E 0 Cg EP
+%%Page: 26 26
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
+(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E .377
+(for pathname e)108 84 R .377(xpansion, the character)-.15 F/F1 10
+/Times-Bold@0 SF -.63(``)2.878 G -.55(.').63 G(')-.08 E F0 .378
+(at the start of a name or immediately follo)5.378 F .378
+(wing a slash must be)-.25 F 1.354(matched e)108 96 R(xplicitly)-.15 E
3.854(,u)-.65 G 1.354(nless the shell option)-3.854 F F1(dotglob)3.854 E
F0 1.354(is set.)3.854 F 1.354(The \214lenames)6.354 F F1 -.63(``)3.854
G -.55(.').63 G(')-.08 E F0(and)6.354 E F1 -.63(``)3.853 G(..).63 E -.63
('')-.55 G F0 1.353(must al)6.983 F -.1(wa)-.1 G 1.353(ys be).1 F .485
-(matched e)108 708 R(xplicitly)-.15 E 2.985(,e)-.65 G -.15(ve)-3.235 G
+(matched e)108 108 R(xplicitly)-.15 E 2.985(,e)-.65 G -.15(ve)-3.235 G
2.985(ni).15 G(f)-2.985 E F1(dotglob)2.985 E F0 .485(is set.)2.985 F
.485(In other cases, the)5.485 F F1 -.63(``)2.985 G -.55(.').63 G(')-.08
E F0 .486(character is not treated specially)5.485 F 5.486(.W)-.65 G
(hen)-5.486 E .115(matching a pathname, the slash character must al)108
-720 R -.1(wa)-.1 G .114(ys be matched e).1 F .114
-(xplicitly by a slash in the pattern, b)-.15 F .114(ut in)-.2 F
-(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(25)193.45 E 0 Cg EP
-%%Page: 26 26
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
-(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E .581
-(other matching conte)108 84 R .581
+120 R -.1(wa)-.1 G .114(ys be matched e).1 F .114
+(xplicitly by a slash in the pattern, b)-.15 F .114(ut in)-.2 F .581
+(other matching conte)108 132 R .581
(xts it can be matched by a special pattern character as described belo)
--.15 F 3.081(wu)-.25 G(nder)-3.081 E/F1 9/Times-Bold@0 SF -.09(Pa)3.081
-G(tter).09 E(n)-.135 E(Matching)108 96 Q/F2 9/Times-Roman@0 SF(.)A F0
-.073(See the description of)4.573 F/F3 10/Times-Bold@0 SF(shopt)2.573 E
-F0(belo)2.573 E 2.573(wu)-.25 G(nder)-2.573 E F1 .072(SHELL B)2.572 F
-(UIL)-.09 E .072(TIN COMMANDS)-.828 F F0 .072(for a description of the)
-2.322 F F3(nocaseglob)108 108 Q F0(,)A F3(nullglob)2.5 E F0(,)A F3
-(failglob)2.5 E F0 2.5(,a)C(nd)-2.5 E F3(dotglob)2.5 E F0
-(shell options.)2.5 E(The)108 124.8 Q F1(GLOBIGNORE)2.63 E F0 .13
-(shell v)2.38 F .131
+-.15 F 3.081(wu)-.25 G(nder)-3.081 E/F2 9/Times-Bold@0 SF -.09(Pa)3.081
+G(tter).09 E(n)-.135 E(Matching)108 144 Q/F3 9/Times-Roman@0 SF(.)A F0
+.073(See the description of)4.573 F F1(shopt)2.573 E F0(belo)2.573 E
+2.573(wu)-.25 G(nder)-2.573 E F2 .072(SHELL B)2.572 F(UIL)-.09 E .072
+(TIN COMMANDS)-.828 F F0 .072(for a description of the)2.322 F F1
+(nocaseglob)108 156 Q F0(,)A F1(nullglob)2.5 E F0(,)A F1(failglob)2.5 E
+F0 2.5(,a)C(nd)-2.5 E F1(dotglob)2.5 E F0(shell options.)2.5 E(The)108
+172.8 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/F4 10/Times-Italic@0 SF(pattern)2.631 E F0 5.131(.I).24 G(f)-5.131 E
-F1(GLO-)2.631 E(BIGNORE)108 136.8 Q F0 2.015(is set, each matching \214\
-le name that also matches one of the patterns in)4.265 F F1(GLOBIGNORE)
-4.515 E F0(is)4.264 E(remo)108 148.8 Q -.15(ve)-.15 G 3.914(df).15 G
-1.414(rom the list of matches.)-3.914 F 1.415(If the)6.415 F F3
+F2(GLO-)2.631 E(BIGNORE)108 184.8 Q F0 2.015(is set, each matching \214\
+le name that also matches one of the patterns in)4.265 F F2(GLOBIGNORE)
+4.515 E F0(is)4.264 E(remo)108 196.8 Q -.15(ve)-.15 G 3.914(df).15 G
+1.414(rom the list of matches.)-3.914 F 1.415(If the)6.415 F F1
(nocaseglob)3.915 E F0 1.415(option is set, the matching ag)3.915 F
-1.415(ainst the patterns in)-.05 F F1(GLOBIGNORE)108 160.8 Q F0 .147
+1.415(ainst the patterns in)-.05 F F2(GLOBIGNORE)108 208.8 Q F0 .147
(is performed without re)2.397 F -.05(ga)-.15 G .147(rd to case.).05 F
-.146(The \214lenames)5.146 F F3 -.63(``)2.646 G -.55(.').63 G(')-.08 E
-F0(and)5.146 E F3 -.63(``)2.646 G(..).63 E -.63('')-.55 G F0 .146
-(are al)5.776 F -.1(wa)-.1 G .146(ys ignored when).1 F F1(GLOBIGNORE)108
-172.8 Q F0 .827(is set and not null.)3.077 F(Ho)5.827 E(we)-.25 E -.15
-(ve)-.25 G 1.627 -.4(r, s).15 H(etting).4 E F1(GLOBIGNORE)3.327 E F0
+.146(The \214lenames)5.146 F F1 -.63(``)2.646 G -.55(.').63 G(')-.08 E
+F0(and)5.146 E F1 -.63(``)2.646 G(..).63 E -.63('')-.55 G F0 .146
+(are al)5.776 F -.1(wa)-.1 G .146(ys ignored when).1 F F2(GLOBIGNORE)108
+220.8 Q F0 .827(is set and not null.)3.077 F(Ho)5.827 E(we)-.25 E -.15
+(ve)-.25 G 1.627 -.4(r, s).15 H(etting).4 E F2(GLOBIGNORE)3.327 E F0
.827(to a non-null v)3.077 F .827(alue has the ef)-.25 F .827(fect of)
--.25 F .683(enabling the)108 184.8 R F3(dotglob)3.183 E F0 .682
+-.25 F .683(enabling the)108 232.8 R F1(dotglob)3.183 E F0 .682
(shell option, so all other \214lenames be)3.183 F .682(ginning with a)
--.15 F F3 -.63(``)3.182 G -.55(.').63 G(')-.08 E F0 .682(will match.)
-5.682 F 2.282 -.8(To g)5.682 H .682(et the old).8 F(beha)108 196.8 Q
+-.15 F F1 -.63(``)3.182 G -.55(.').63 G(')-.08 E F0 .682(will match.)
+5.682 F 2.282 -.8(To g)5.682 H .682(et the old).8 F(beha)108 244.8 Q
1.184(vior of ignoring \214lenames be)-.2 F 1.184(ginning with a)-.15 F
-F3 -.63(``)3.684 G -.55(.').63 G(')-.08 E F0 3.684(,m)C(ak)-3.684 E(e)
--.1 E F3 -.63(``)3.684 G(.*').63 E(')-.63 E F0 1.185
-(one of the patterns in)6.185 F F1(GLOBIGNORE)3.685 E F2(.)A F0(The)108
-208.8 Q F3(dotglob)3.132 E F0 .632(option is disabled when)3.132 F F1
+F1 -.63(``)3.684 G -.55(.').63 G(')-.08 E F0 3.684(,m)C(ak)-3.684 E(e)
+-.1 E F1 -.63(``)3.684 G(.*').63 E(')-.63 E F0 1.185
+(one of the patterns in)6.185 F F2(GLOBIGNORE)3.685 E F3(.)A F0(The)108
+256.8 Q F1(dotglob)3.132 E F0 .632(option is disabled when)3.132 F F2
(GLOBIGNORE)3.132 E F0 .632(is unset.)2.882 F .631
-(The pattern matching honors the setting of)5.632 F(the)108 220.8 Q F3
-(extglob)2.5 E F0(shell option.)2.5 E F3 -.1(Pa)108 237.6 S(tter).1 E
-2.5(nM)-.15 G(atching)-2.5 E F0(An)108 254.4 Q 3.138(yc)-.15 G .638(har\
+(The pattern matching honors the setting of)5.632 F(the)108 268.8 Q F1
+(extglob)2.5 E F0(shell option.)2.5 E F1 -.1(Pa)108 285.6 S(tter).1 E
+2.5(nM)-.15 G(atching)-2.5 E F0(An)108 302.4 Q 3.138(yc)-.15 G .638(har\
acter that appears in a pattern, other than the special pattern charact\
ers described belo)-3.138 F 1.938 -.65(w, m)-.25 H(atches).65 E 3.62
-(itself. The)108 266.4 R 1.12(NUL character may not occur in a pattern.)
+(itself. The)108 314.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 278.4 R .576
+(escaping backslash is discarded when matching.)108 326.4 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 290.4 Q(.)-.65 E
-(The special pattern characters ha)108 307.2 Q .3 -.15(ve t)-.2 H
-(he follo).15 E(wing meanings:)-.25 E F3(*)144 324 Q F0 .377(Matches an)
-180 324 R 2.877(ys)-.15 G .376(tring, including the null string.)-2.877
-F .376(When the)5.376 F F3(globstar)2.876 E F0 .376
-(shell option is enabled,)2.876 F(and)180 336 Q F3(*)3.275 E F0 .775
+-.15 G(re)-3.076 E(to be matched literally)108 338.4 Q(.)-.65 E
+(The special pattern characters ha)108 355.2 Q .3 -.15(ve t)-.2 H
+(he follo).15 E(wing meanings:)-.25 E F1(*)144 372 Q F0 .377(Matches an)
+180 372 R 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 384 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 F3(*)3.275 E F0 3.275(su)C .775
+-.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 348 R 1.058(If follo)6.058
-F 1.058(wed by a)-.25 F F3(/)3.558 E F0(,)A(tw)180 360 Q 2.5(oa)-.1 G
-(djacent)-2.5 E F3(*)2.5 E F0 2.5(sw)C
-(ill match only directories and subdirectories.)-2.5 E F3(?)144 372 Q F0
-(Matches an)180 372 Q 2.5(ys)-.15 G(ingle character)-2.5 E(.)-.55 E F3
-([...])144 384 Q F0 .578(Matches an)180 384 R 3.078(yo)-.15 G .578
+ or more directories and subdirectories.)180 396 R 1.058(If follo)6.058
+F 1.058(wed by a)-.25 F F1(/)3.558 E F0(,)A(tw)180 408 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 420 Q F0
+(Matches an)180 420 Q 2.5(ys)-.15 G(ingle character)-2.5 E(.)-.55 E F1
+([...])144 432 Q F0 .578(Matches an)180 432 R 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 .685
-(denotes a)180 396 R F4 -.15(ra)3.185 G(ng).15 E 3.184(ee)-.1 G(xpr)
+(denotes a)180 444 R F4 -.15(ra)3.185 G(ng).15 E 3.184(ee)-.1 G(xpr)
-3.384 E(ession)-.37 E F0 3.184(;a)C .984 -.15(ny c)-3.184 H .684
(haracter that f).15 F .684(alls between those tw)-.1 F 3.184(oc)-.1 G
-.684(haracters, inclu-)-3.184 F(si)180 408 Q -.15(ve)-.25 G 3.712(,u).15
+.684(haracters, inclu-)-3.184 F(si)180 456 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 420 R 1.124(wing the)-.25 F F3
-([)3.624 E F0 1.124(is a)3.624 F F3(!)3.624 E F0 1.124(or a)6.124 F F3
+6.213 F 1.124(\214rst character follo)180 468 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 432 R .895
+(The sorting order of characters in range e)180 480 R .895
(xpressions is determined by the current locale)-.15 F .376(and the v)
-180 444 R .376(alues of the)-.25 F F1(LC_COLLA)2.875 E(TE)-.855 E F0(or)
-2.625 E F1(LC_ALL)2.875 E F0 .375(shell v)2.625 F .375
+180 492 R .376(alues of the)-.25 F F2(LC_COLLA)2.875 E(TE)-.855 E F0(or)
+2.625 E F2(LC_ALL)2.875 E F0 .375(shell v)2.625 F .375
(ariables, if set.)-.25 F 1.975 -.8(To o)5.375 H .375(btain the tra-).8
-F .067(ditional interpretation of range e)180 456 R .067
-(xpressions, where)-.15 F F3([a\255d])2.567 E F0 .068(is equi)2.568 F
--.25(va)-.25 G .068(lent to).25 F F3([abcd])2.568 E F0 2.568(,s)C .068
-(et v)-2.568 F(alue)-.25 E .157(of the)180 468 R F3(LC_ALL)2.657 E F0
-.157(shell v)2.657 F .157(ariable to)-.25 F F3(C)2.657 E F0 2.657(,o)C
-2.657(re)-2.657 G .157(nable the)-2.657 F F3(globasciiranges)2.657 E F0
-.156(shell option.)2.656 F(A)5.156 E F3<ad>2.656 E F0(may)2.656 E .193(\
+F .067(ditional interpretation of range e)180 504 R .067
+(xpressions, where)-.15 F F1([a\255d])2.567 E F0 .068(is equi)2.568 F
+-.25(va)-.25 G .068(lent to).25 F F1([abcd])2.568 E F0 2.568(,s)C .068
+(et v)-2.568 F(alue)-.25 E .157(of the)180 516 R F1(LC_ALL)2.657 E F0
+.157(shell v)2.657 F .157(ariable to)-.25 F F1(C)2.657 E F0 2.657(,o)C
+2.657(re)-2.657 G .157(nable the)-2.657 F F1(globasciiranges)2.657 E F0
+.156(shell option.)2.656 F(A)5.156 E F1<ad>2.656 E F0(may)2.656 E .193(\
be matched by including it as the \214rst or last character in the set.)
-180 480 R(A)5.193 E F3(])2.693 E F0 .194(may be matched by)2.693 F
-(including it as the \214rst character in the set.)180 492 Q -.4(Wi)180
-510 S(thin).4 E F3([)3.071 E F0(and)3.071 E F3(])3.071 E F0(,)A F4 -.15
+180 528 R(A)5.193 E F1(])2.693 E F0 .194(may be matched by)2.693 F
+(including it as the \214rst character in the set.)180 540 Q -.4(Wi)180
+558 S(thin).4 E F1([)3.071 E F0(and)3.071 E F1(])3.071 E F0(,)A F4 -.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 F3([:)3.07 E F4(class)A F3
+(can be speci\214ed using the syntax)3.071 F F1([:)3.07 E F4(class)A F1
(:])A F0 3.07(,w)C(here)-3.07 E F4(class)3.07 E F0(is one of the follo)
-180 522 Q(wing classes de\214ned in the POSIX standard:)-.25 E F3 8.173
-(alnum alpha ascii blank cntrl digit graph lo)180 534 R 8.173
-(wer print punct space)-.1 F 5(upper w)180 546 R 5(ord xdigit)-.1 F F0
-4.29(Ac)180 558 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 F3 -.1
+180 570 Q(wing classes de\214ned in the POSIX standard:)-.25 E F1 8.173
+(alnum alpha ascii blank cntrl digit graph lo)180 582 R 8.173
+(wer print punct space)-.1 F 5(upper w)180 594 R 5(ord xdigit)-.1 F F0
+4.29(Ac)180 606 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 570 Q -.4(Wi)
-180 588 S(thin).4 E F3([)4.536 E F0(and)4.536 E F3(])4.536 E F0 4.536
+(class matches letters, digits, and the character _.)180 618 Q -.4(Wi)
+180 636 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 F4 2.036(equivalence class)4.536 F F0 2.037
-(can be speci\214ed using the syntax)4.536 F F3([=)4.537 E F4(c)A F3(=])
+(can be speci\214ed using the syntax)4.536 F F1([=)4.537 E F4(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 600 R
-(the character)180 612 Q F4(c)2.5 E F0(.)A -.4(Wi)180 630 S(thin).4 E F3
-([)2.5 E F0(and)2.5 E F3(])2.5 E F0 2.5(,t)C(he syntax)-2.5 E F3([.)2.5
-E F4(symbol)A F3(.])A F0(matches the collating symbol)2.5 E F4(symbol)
-2.5 E F0(.)A .704(If the)108 646.8 R F3(extglob)3.204 E F0 .705
-(shell option is enabled using the)3.204 F F3(shopt)3.205 E F0 -.2(bu)
+ collation weight \(as de\214ned by the current locale\) as)180 648 R
+(the character)180 660 Q F4(c)2.5 E F0(.)A -.4(Wi)180 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 F4(symbol)A F1(.])A F0(matches the collating symbol)2.5 E F4(symbol)
+2.5 E F0(.)A .704(If the)108 694.8 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
-658.8 R .256(In the follo)5.256 F .256(wing description, a)-.25 F F4
+706.8 R .256(In the follo)5.256 F .256(wing description, a)-.25 F F4
(pattern-list)2.755 E F0 .255
-(is a list of one or more patterns separated by a)2.755 F F3(|)2.755 E
+(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 670.8 Q(wing sub-patterns:)-.25 E F3(?\()144 694.8 Q F4
-(pattern-list).833 E F3(\)).833 E F0
-(Matches zero or one occurrence of the gi)180 706.8 Q -.15(ve)-.25 G 2.5
-(np).15 G(atterns)-2.5 E(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E
-(26)193.45 E 0 Cg EP
+108 718.8 Q(wing sub-patterns:)-.25 E(GNU Bash 5.0)72 768 Q
+(2018 August 7)145.395 E(26)194.555 E 0 Cg EP
%%Page: 27 27
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0
-SF(*\()144 84 Q/F2 10/Times-Italic@0 SF(pattern-list).833 E F1(\)).833 E
-F0(Matches zero or more occurrences 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 one 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 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 an)180 168 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 .968(Complicated e)108
-184.8 R .968(xtended pattern matching ag)-.15 F .968
-(ainst long strings is slo)-.05 F 2.269 -.65(w, e)-.25 H .969
+SF(?\()144 84 Q/F2 10/Times-Italic@0 SF(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
+.968(Complicated e)108 208.8 R .968(xtended pattern matching ag)-.15 F
+.968(ainst long strings is slo)-.05 F 2.269 -.65(w, e)-.25 H .969
(specially when the patterns contain).65 F 1.23
-(alternations and the strings contain multiple matches.)108 196.8 R 1.23
+(alternations and the strings contain multiple matches.)108 220.8 R 1.23
(Using separate matches ag)6.23 F 1.23(ainst shorter strings, or)-.05 F
(using arrays of strings instead of a single long string, may be f)108
-208.8 Q(aster)-.1 E(.)-.55 E F1(Quote Remo)87 225.6 Q -.1(va)-.1 G(l).1
-E F0 1.112(After the preceding e)108 237.6 R 1.112
+232.8 Q(aster)-.1 E(.)-.55 E F1(Quote Remo)87 249.6 Q -.1(va)-.1 G(l).1
+E F0 1.112(After the preceding e)108 261.6 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 249.6 Q .3
+1.113(that did not result)4.446 F(from one of the abo)108 273.6 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 266.4 Q F0 .545
-(Before a command is e)108 278.4 R -.15(xe)-.15 G .545
+10.95/Times-Bold@0 SF(REDIRECTION)72 290.4 Q F0 .545
+(Before a command is e)108 302.4 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 .405
-(by the shell.)108 290.4 R .405(Redirection allo)5.405 F .405(ws comman\
+(by the shell.)108 314.4 R .405(Redirection allo)5.405 F .405(ws comman\
ds' \214le handles to be duplicated, opened, closed, made to refer to)
--.25 F(dif)108 302.4 Q 1.02(ferent \214les, and can change the \214les \
+-.25 F(dif)108 326.4 Q 1.02(ferent \214les, and can change the \214les \
the command reads from and writes to.)-.25 F 1.019
(Redirection may also be)6.019 F .215
-(used to modify \214le handles in the current shell e)108 314.4 R -.15
+(used to modify \214le handles in the current shell e)108 338.4 R -.15
(xe)-.15 G .215(cution en).15 F 2.715(vironment. The)-.4 F(follo)2.715 E
.215(wing redirection operators)-.25 F .876(may precede or appear an)108
-326.4 R .876(ywhere within a)-.15 F F2 .875(simple command)3.715 F F0
+350.4 R .876(ywhere within a)-.15 F F2 .875(simple command)3.715 F F0
.875(or may follo)4.145 F 3.375(wa)-.25 G F2(command)A F0 5.875(.R).77 G
-.875(edirections are)-5.875 F(processed in the order the)108 338.4 Q 2.5
+.875(edirections are)-5.875 F(processed in the order the)108 362.4 Q 2.5
(ya)-.15 G(ppear)-2.5 E 2.5(,f)-.4 G(rom left to right.)-2.5 E .771(Eac\
h redirection that may be preceded by a \214le descriptor number may in\
-stead be preceded by a w)108 355.2 R .772(ord of)-.1 F .293(the form {)
-108 367.2 R F2(varname)A F0 2.793(}. In)B .293
+stead be preceded by a w)108 379.2 R .772(ord of)-.1 F .293(the form {)
+108 391.2 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.179<618c>108 379.2
+(xcept >&- and <&-, the shell will allocate)-.15 F 3.179<618c>108 403.2
S .679(le descriptor greater than or equal to 10 and assign it to)-3.179
F F2(varname)3.179 E F0 5.679(.I)C 3.179(f>)-5.679 G .679
-(&- or <&- is preceded by {)-3.179 F F2(var)A(-)-.2 E(name)108 391.2 Q
+(&- or <&- is preceded by {)-3.179 F F2(var)A(-)-.2 E(name)108 415.2 Q
F0 .6(}, the v)B .6(alue of)-.25 F F2(varname)3.1 E F0 .599
(de\214nes the \214le descriptor to close.)3.1 F .599(If {)5.599 F F2
(varname)A F0 3.099(}i)C 3.099(ss)-3.099 G .599
-(upplied, the redirection)-3.099 F 1.238(persists be)108 403.2 R 1.238
+(upplied, the redirection)-3.099 F 1.238(persists be)108 427.2 R 1.238
(yond the scope of the command, allo)-.15 F 1.238
(wing the shell programmer to manage the \214le descriptor)-.25 F
-(himself.)108 415.2 Q .284(In the follo)108 432 R .283(wing description\
+(himself.)108 439.2 Q .284(In the follo)108 456 R .283(wing description\
s, if the \214le descriptor number is omitted, and the \214rst characte\
-r of the redirect-)-.25 F .512(ion operator is)108 444 R F1(<)3.012 E F0
+r of the redirect-)-.25 F .512(ion operator is)108 468 R F1(<)3.012 E F0
3.012(,t)C .512
(he redirection refers to the standard input \(\214le descriptor 0\).)
-3.012 F .512(If the \214rst character of the)5.512 F
-(redirection operator is)108 456 Q F1(>)2.5 E F0 2.5(,t)C
+(redirection operator is)108 480 Q F1(>)2.5 E F0 2.5(,t)C
(he redirection refers to the standard output \(\214le descriptor 1\).)
--2.5 E .825(The w)108 472.8 R .825(ord follo)-.1 F .824
+-2.5 E .825(The w)108 496.8 R .825(ord follo)-.1 F .824
(wing the redirection operator in the follo)-.25 F .824
(wing descriptions, unless otherwise noted, is sub-)-.25 F .462
-(jected to brace e)108 484.8 R .462(xpansion, tilde e)-.15 F .463
+(jected to brace e)108 508.8 R .462(xpansion, tilde e)-.15 F .463
(xpansion, parameter and v)-.15 F .463(ariable e)-.25 F .463
-(xpansion, command substitution, arith-)-.15 F .867(metic e)108 496.8 R
+(xpansion, command substitution, arith-)-.15 F .867(metic e)108 520.8 R
.867(xpansion, quote remo)-.15 F -.25(va)-.15 G .867(l, pathname e).25 F
.867(xpansion, and w)-.15 F .867(ord splitting.)-.1 F .867(If it e)5.867
-F .866(xpands to more than one)-.15 F -.1(wo)108 508.8 S(rd,).1 E F1
+F .866(xpands to more than one)-.15 F -.1(wo)108 532.8 S(rd,).1 E F1
(bash)2.5 E F0(reports an error)2.5 E(.)-.55 E
-(Note that the order of redirections is signi\214cant.)108 525.6 Q -.15
-(Fo)5 G 2.5(re).15 G(xample, the command)-2.65 E(ls)144 542.4 Q F1(>)2.5
+(Note that the order of redirections is signi\214cant.)108 549.6 Q -.15
+(Fo)5 G 2.5(re).15 G(xample, the command)-2.65 E(ls)144 566.4 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 559.2
-Q F2(dirlist)2.5 E F0 2.5(,w).68 G(hile the command)-2.5 E(ls 2)144 576
+(directs both standard output and standard error to the \214le)108 583.2
+Q F2(dirlist)2.5 E F0 2.5(,w).68 G(hile the command)-2.5 E(ls 2)144 600
Q F1(>&)A F0(1)A F1(>)2.5 E F0(dirlist)2.5 E .527
-(directs only the standard output to \214le)108 592.8 R F2(dirlist)3.027
+(directs only the standard output to \214le)108 616.8 R F2(dirlist)3.027
E F0 3.027(,b).68 G .527(ecause the standard error w)-3.027 F .527
(as duplicated from the standard)-.1 F
-(output before the standard output w)108 604.8 Q(as redirected to)-.1 E
-F2(dirlist)2.5 E F0(.).68 E F1(Bash)108 621.6 Q F0 .599(handles se)3.099
+(output before the standard output w)108 628.8 Q(as redirected to)-.1 E
+F2(dirlist)2.5 E F0(.).68 E F1(Bash)108 645.6 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 3.477(table. If)108 633.6 R .977
+(wing)-.25 E 3.477(table. If)108 657.6 R .977
(the operating system on which)3.477 F F1(bash)3.478 E F0 .978
(is running pro)3.478 F .978
(vides these special \214les, bash will use them;)-.15 F
-(otherwise it will emulate them internally with the beha)108 645.6 Q
-(vior described belo)-.2 E -.65(w.)-.25 G F1(/de)144 662.4 Q(v/fd/)-.15
-E F2(fd)A F0(If)180 674.4 Q F2(fd)2.5 E F0(is a v)2.5 E(alid inte)-.25 E
+(otherwise it will emulate them internally with the beha)108 669.6 Q
+(vior described belo)-.2 E -.65(w.)-.25 G F1(/de)144 686.4 Q(v/fd/)-.15
+E F2(fd)A F0(If)180 698.4 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 686.4 Q(v/stdin)-.15 E F0
-(File descriptor 0 is duplicated.)180 698.4 Q(GNU Bash 5.0)72 768 Q
-(2018 March 15)144.29 E(27)193.45 E 0 Cg EP
+(is duplicated.)2.5 E(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(27)
+194.555 E 0 Cg EP
%%Page: 28 28
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0
-SF(/de)144 84 Q(v/stdout)-.15 E F0(File descriptor 1 is duplicated.)180
-96 Q F1(/de)144 108 Q(v/stderr)-.15 E F0
-(File descriptor 2 is duplicated.)180 120 Q F1(/de)144 132 Q(v/tcp/)-.15
-E/F2 10/Times-Italic@0 SF(host)A F1(/)A F2(port)A F0(If)180 144 Q F2
-(host)2.997 E F0 .497(is a v)2.997 F .497
+SF(/de)144 84 Q(v/stdin)-.15 E F0(File descriptor 0 is duplicated.)180
+96 Q F1(/de)144 108 Q(v/stdout)-.15 E F0
+(File descriptor 1 is duplicated.)180 120 Q F1(/de)144 132 Q(v/stderr)
+-.15 E F0(File descriptor 2 is duplicated.)180 144 Q F1(/de)144 156 Q
+(v/tcp/)-.15 E/F2 10/Times-Italic@0 SF(host)A F1(/)A F2(port)A F0(If)180
+168 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 156 Q F1(bash)2.5 E F0
+(vice name,)180 180 Q F1(bash)2.5 E F0
(attempts to open the corresponding TCP sock)2.5 E(et.)-.1 E F1(/de)144
-168 Q(v/udp/)-.15 E F2(host)A F1(/)A F2(port)A F0(If)180 180 Q F2(host)
+192 Q(v/udp/)-.15 E F2(host)A F1(/)A F2(port)A F0(If)180 204 Q F2(host)
2.996 E F0 .496(is a v)2.996 F .496
(alid hostname or Internet address, and)-.25 F F2(port)2.997 E F0 .497
(is an inte)2.997 F .497(ger port number or ser)-.15 F(-)-.2 E
-(vice name,)180 192 Q F1(bash)2.5 E F0
+(vice name,)180 216 Q F1(bash)2.5 E F0
(attempts to open the corresponding UDP sock)2.5 E(et.)-.1 E 2.5(Af)108
-208.8 S(ailure to open or create a \214le causes the redirection to f)
+232.8 S(ailure to open or create a \214le causes the redirection to f)
-2.6 E(ail.)-.1 E .947(Redirections using \214le descriptors greater th\
-an 9 should be used with care, as the)108 225.6 R 3.446(ym)-.15 G .946
+an 9 should be used with care, as the)108 249.6 R 3.446(ym)-.15 G .946
(ay con\215ict with \214le)-3.446 F
-(descriptors the shell uses internally)108 237.6 Q(.)-.65 E F1(Redir)87
-254.4 Q(ecting Input)-.18 E F0 .391
+(descriptors the shell uses internally)108 261.6 Q(.)-.65 E F1(Redir)87
+278.4 Q(ecting Input)-.18 E F0 .391
(Redirection of input causes the \214le whose name results from the e)
-108 266.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 278.4 Q F2
+108 290.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 302.4 Q F2
(n)2.5 E F0 2.5(,o).24 G 2.5(rt)-2.5 G
(he standard input \(\214le descriptor 0\) if)-2.5 E F2(n)2.86 E F0
(is not speci\214ed.)2.74 E
-(The general format for redirecting input is:)108 295.2 Q([)144 312 Q F2
-(n)A F0(])A F1(<)A F2(wor)A(d)-.37 E F1(Redir)87 328.8 Q(ecting Output)
+(The general format for redirecting input is:)108 319.2 Q([)144 336 Q F2
+(n)A F0(])A F1(<)A F2(wor)A(d)-.37 E F1(Redir)87 352.8 Q(ecting Output)
-.18 E F0 .175
(Redirection of output causes the \214le whose name results from the e)
-108 340.8 R .174(xpansion of)-.15 F F2(wor)3.014 E(d)-.37 E F0 .174
-(to be opened for writ-)3.444 F .824(ing on \214le descriptor)108 352.8
+108 364.8 R .174(xpansion of)-.15 F F2(wor)3.014 E(d)-.37 E F0 .174
+(to be opened for writ-)3.444 F .824(ing on \214le descriptor)108 376.8
R F2(n)3.324 E F0 3.324(,o).24 G 3.324(rt)-3.324 G .824
(he standard output \(\214le descriptor 1\) if)-3.324 F F2(n)3.684 E F0
.824(is not speci\214ed.)3.564 F .825(If the \214le does not)5.825 F
--.15(ex)108 364.8 S(ist it is created; if it does e).15 E
+-.15(ex)108 388.8 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 381.6 Q([)144 398.4 Q
+(The general format for redirecting output is:)108 405.6 Q([)144 422.4 Q
F2(n)A F0(])A F1(>)A F2(wor)A(d)-.37 E F0 .155
-(If the redirection operator is)108 415.2 R F1(>)2.655 E F0 2.655(,a)C
+(If the redirection operator is)108 439.2 R F1(>)2.655 E F0 2.655(,a)C
.155(nd the)-2.655 F F1(noclob)2.655 E(ber)-.1 E F0 .154(option to the)
2.654 F F1(set)2.654 E F0 -.2(bu)2.654 G .154
-(iltin has been enabled, the redirection).2 F .657(will f)108 427.2 R
+(iltin has been enabled, the redirection).2 F .657(will f)108 451.2 R
.657(ail if the \214le whose name results from the e)-.1 F .658
(xpansion of)-.15 F F2(wor)3.158 E(d)-.37 E F0 -.15(ex)3.158 G .658
(ists and is a re).15 F .658(gular \214le.)-.15 F .658(If the redi-)
-5.658 F .409(rection operator is)108 439.2 R F1(>|)2.909 E F0 2.909(,o)C
+5.658 F .409(rection operator is)108 463.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.908 G .408
(iltin command).2 F(is not enabled, the redirection is attempted e)108
-451.2 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G(he \214le named by)
+475.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
-468 S(pending Redir).25 E(ected Output)-.18 E F0 .641
-(Redirection of output in this f)108 480 R .642
+492 S(pending Redir).25 E(ected Output)-.18 E F0 .641
+(Redirection of output in this f)108 504 R .642
(ashion causes the \214le whose name results from the e)-.1 F .642
(xpansion of)-.15 F F2(wor)3.482 E(d)-.37 E F0 .642(to be)3.912 F .474
-(opened for appending on \214le descriptor)108 492 R F2(n)2.974 E F0
+(opened for appending on \214le descriptor)108 516 R F2(n)2.974 E F0
2.974(,o).24 G 2.974(rt)-2.974 G .474
(he standard output \(\214le descriptor 1\) if)-2.974 F F2(n)3.333 E F0
.473(is not speci\214ed.)3.213 F(If)5.473 E(the \214le does not e)108
-504 Q(xist it is created.)-.15 E
-(The general format for appending output is:)108 520.8 Q([)144 537.6 Q
-F2(n)A F0(])A F1(>>)A F2(wor)A(d)-.37 E F1(Redir)87 554.4 Q
+528 Q(xist it is created.)-.15 E
+(The general format for appending output is:)108 544.8 Q([)144 561.6 Q
+F2(n)A F0(])A F1(>>)A F2(wor)A(d)-.37 E F1(Redir)87 578.4 Q
(ecting Standard Output and Standard Err)-.18 E(or)-.18 E F0 .248
-(This construct allo)108 566.4 R .249(ws both the standard output \(\
+(This construct allo)108 590.4 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
-578.4 Q(xpansion of)-.15 E F2(wor)2.5 E(d)-.37 E F0(.).77 E
-(There are tw)108 595.2 Q 2.5(of)-.1 G
+602.4 Q(xpansion of)-.15 E F2(wor)2.5 E(d)-.37 E F0(.).77 E
+(There are tw)108 619.2 Q 2.5(of)-.1 G
(ormats for redirecting standard output and standard error:)-2.5 E F1
-(&>)144 612 Q F2(wor)A(d)-.37 E F0(and)108 624 Q F1(>&)144 636 Q F2(wor)
-A(d)-.37 E F0(Of the tw)108 652.8 Q 2.5(of)-.1 G
+(&>)144 636 Q F2(wor)A(d)-.37 E F0(and)108 648 Q F1(>&)144 660 Q F2(wor)
+A(d)-.37 E F0(Of the tw)108 676.8 Q 2.5(of)-.1 G
(orms, the \214rst is preferred.)-2.5 E(This is semantically equi)5 E
--.25(va)-.25 G(lent to).25 E F1(>)144 669.6 Q F2(wor)A(d)-.37 E F0(2)2.5
-E F1(>&)A F0(1)A .115(When using the second form,)108 686.4 R F2(wor)
+-.25(va)-.25 G(lent to).25 E F1(>)144 693.6 Q F2(wor)A(d)-.37 E F0(2)2.5
+E F1(>&)A F0(1)A .115(When using the second form,)108 710.4 R F2(wor)
2.614 E(d)-.37 E F0 .114(may not e)2.614 F .114(xpand to a number or)
-.15 F F1<ad>2.614 E F0 5.114(.I)C 2.614(fi)-5.114 G 2.614(td)-2.614 G
-.114(oes, other redirection operators)-2.614 F(apply \(see)108 698.4 Q
+.114(oes, other redirection operators)-2.614 F(apply \(see)108 722.4 Q
F1(Duplicating File Descriptors)2.5 E F0(belo)2.5 E
(w\) for compatibility reasons.)-.25 E(GNU Bash 5.0)72 768 Q
-(2018 March 15)144.29 E(28)193.45 E 0 Cg EP
+(2018 August 7)145.395 E(28)194.555 E 0 Cg EP
%%Page: 29 29
%%BeginPageSetup
BP
@@ -3779,7 +3805,7 @@ F0 2.754<2c8c>C .254(le descriptor)-2.754 F F2(n)3.114 E F0 .254
3.466 E F0 3.466(,t)C .965
(he standard output and standard error are redirected as described)
-3.466 F(pre)108 691.2 Q(viously)-.25 E(.)-.65 E(GNU Bash 5.0)72 768 Q
-(2018 March 15)144.29 E(29)193.45 E 0 Cg EP
+(2018 August 7)145.395 E(29)194.555 E 0 Cg EP
%%Page: 30 30
%%BeginPageSetup
BP
@@ -3903,8 +3929,8 @@ F1(#)3.033 E F0 .532(is updated to re\215ect the change.)3.033 F .532
.532(The \214rst ele-)5.532 F(ment of the)108 720 Q F4(FUNCN)2.5 E(AME)
-.18 E F0 -.25(va)2.25 G
(riable is set to the name of the function while the function is e).25 E
--.15(xe)-.15 G(cuting.).15 E(GNU Bash 5.0)72 768 Q(2018 March 15)144.29
-E(30)193.45 E 0 Cg EP
+-.15(xe)-.15 G(cuting.).15 E(GNU Bash 5.0)72 768 Q(2018 August 7)145.395
+E(30)194.555 E 0 Cg EP
%%Page: 31 31
%%BeginPageSetup
BP
@@ -4044,7 +4070,7 @@ E F0 -.25(va)2.871 G .371
-.15(ve)-.25 G .439(ls of equal-precedence operators.).15 F .44(The le)
5.44 F -.15(ve)-.25 G .44(ls are listed in order).15 F
(of decreasing precedence.)108 691.2 Q(GNU Bash 5.0)72 768 Q
-(2018 March 15)144.29 E(31)193.45 E 0 Cg EP
+(2018 August 7)145.395 E(31)194.555 E 0 Cg EP
%%Page: 32 32
%%BeginPageSetup
BP
@@ -4144,7 +4170,7 @@ R 3.906(Al)6.406 G 1.406(eading 0x or 0X denotes he)-3.906 F(xadecimal.)
F2(<)3.595 E F0(and)3.595 E F2(>)3.595 E F0 1.095(operators sort le)
3.595 F 1.095(xicographically using the current locale.)-.15 F(The)6.096
E F2(test)3.596 E F0(com-)3.596 E(mand sorts using ASCII ordering.)108
-714 Q(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(32)193.45 E 0 Cg EP
+714 Q(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(32)194.555 E 0 Cg EP
%%Page: 33 33
%%BeginPageSetup
BP
@@ -4234,7 +4260,7 @@ F0(sorts before)2.5 E F2(string2)2.5 E F0(le)2.5 E(xicographically)-.15
E(.)-.65 E F2(string1)108 679.2 Q F1(>)2.5 E F2(string2)2.5 E F0 -.35
(Tr)144 691.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(GNU Bash 5.0)
-72 768 Q(2018 March 15)144.29 E(33)193.45 E 0 Cg EP
+72 768 Q(2018 August 7)145.395 E(33)194.555 E 0 Cg EP
%%Page: 34 34
%%BeginPageSetup
BP
@@ -4360,8 +4386,8 @@ ful, or if the command name contains one or more slashes, the shell e)
(subshell reinitializes itself, so that the ef)108 722.4 R .329
(fect is as if a ne)-.25 F 2.83(ws)-.25 G .33(hell had been in)-2.83 F
-.2(vo)-.4 G -.1(ke).2 G 2.83(dt).1 G 2.83(oh)-2.83 G .33
-(andle the script, with)-2.83 F(GNU Bash 5.0)72 768 Q(2018 March 15)
-144.29 E(34)193.45 E 0 Cg EP
+(andle the script, with)-2.83 F(GNU Bash 5.0)72 768 Q(2018 August 7)
+145.395 E(34)194.555 E 0 Cg EP
%%Page: 35 35
%%BeginPageSetup
BP
@@ -4450,7 +4476,7 @@ G 2.858(cation. Builtin).2 F .358(commands that are in)2.858 F -.2(vo)
640.8 R 1.377(wned to e)-.15 F -.15(xe)-.15 G 1.377
(cute command substitutions inherit the v).15 F 1.377(alue of the)-.25 F
F1<ad65>3.876 E F0 1.376(option from the parent)3.876 F 2.5(shell. When)
-108 652.8 R(not in)2.5 E F5(posix)2.5 E F0(mode,)2.5 E F1(bash)2.5 E F0
+108 652.8 R(not in)2.5 E F5(posix mode)2.5 E F0(,)A F1(bash)2.5 E F0
(clears the)2.5 E F1<ad65>2.5 E F0(option in such subshells.)2.5 E .404
(If a command is follo)108 669.6 R .404(wed by a)-.25 F F1(&)2.904 E F0
.405(and job control is not acti)2.904 F -.15(ve)-.25 G 2.905(,t).15 G
@@ -4459,7 +4485,7 @@ F1<ad65>3.876 E F0 1.376(option from the parent)3.876 F 2.5(shell. When)
(.O)C .198(therwise, the in)-5.198 F -.2(vo)-.4 G -.1(ke).2 G 2.698(dc)
.1 G .197(ommand inherits the \214le descriptors of the calling shell)
-2.698 F(as modi\214ed by redirections.)108 693.6 Q(GNU Bash 5.0)72 768
-Q(2018 March 15)144.29 E(35)193.45 E 0 Cg EP
+Q(2018 August 7)145.395 E(35)194.555 E 0 Cg EP
%%Page: 36 36
%%BeginPageSetup
BP
@@ -4595,8 +4621,8 @@ G .93(rom the)-3.43 F 1.357(jobs table with the)108 686.4 R F3(diso)
(shell option has been set with)2.666 F F3(shopt)2.666 E F0(,)A F3(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
-727.2 Q(xits.)-.15 E(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(36)
-193.45 E 0 Cg EP
+727.2 Q(xits.)-.15 E(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(36)
+194.555 E 0 Cg EP
%%Page: 37 37
%%BeginPageSetup
BP
@@ -4738,7 +4764,8 @@ R -.15(ve)-.25 G 2.631(raj).15 G .131(ob changes state.)-2.631 F
(reports such changes immediately)2.648 F 5.147(.A)-.65 G .447 -.15
(ny t)-5.147 H .147(rap on).15 F F4(SIGCHLD)2.647 E F0 .147(is e)2.397 F
-.15(xe)-.15 G(-).15 E(cuted for each child that e)108 715.2 Q(xits.)
--.15 E(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(37)193.45 E 0 Cg EP
+-.15 E(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(37)194.555 E 0 Cg
+EP
%%Page: 38 38
%%BeginPageSetup
BP
@@ -4839,7 +4866,8 @@ story \214le \(see)108 650.4 R F3(HIST)4.085 E(OR)-.162 E(Y)-.315 E F0
(pr)2.852 E(omptv)-.18 E(ars)-.1 E F0 .351(shell option \(see the)2.852
F(description of the)108 698.4 Q F1(shopt)2.5 E F0(command under)2.5 E
F3(SHELL B)2.5 E(UIL)-.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)
--.25 E(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(38)193.45 E 0 Cg EP
+-.25 E(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(38)194.555 E 0 Cg
+EP
%%Page: 39 39
%%BeginPageSetup
BP
@@ -4964,8 +4992,8 @@ E F4(macr)2.66 E(o)-.45 E F0(,)A F4 -.1(ke)2.66 G(yname)-.2 E F0 .161
.15 F 2.5(lish. F)108 676.8 R(or e)-.15 E(xample:)-.15 E(Control-u: uni)
144 700.8 Q -.15(ve)-.25 G(rsal\255ar).15 E(gument)-.18 E
(Meta-Rubout: backw)144 712.8 Q(ard-kill-w)-.1 E(ord)-.1 E
-(Control-o: "> output")144 724.8 Q(GNU Bash 5.0)72 768 Q(2018 March 15)
-144.29 E(39)193.45 E 0 Cg EP
+(Control-o: "> output")144 724.8 Q(GNU Bash 5.0)72 768 Q(2018 August 7)
+145.395 E(39)194.555 E 0 Cg EP
%%Page: 40 40
%%BeginPageSetup
BP
@@ -5060,7 +5088,8 @@ E F0 2.51(,r)C .01(eadline ne)-2.51 F -.15(ve)-.25 G(r).15 E .94
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 708 Q 2.5(sb)-.55 G(ell.)
--2.5 E(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(40)193.45 E 0 Cg EP
+-2.5 E(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(40)194.555 E 0 Cg
+EP
%%Page: 41 41
%%BeginPageSetup
BP
@@ -5165,8 +5194,8 @@ R -.15(ve)-.25 G 5.622(.T).15 G .622(he v)-5.622 F .622(alue is e)-.25 F
(ailable. Use)-.05 F .298(the \\1 and \\2 escapes to be)2.798 F .298
(gin and end sequences of non-printing characters, which)-.15 F
(can be used to embed a terminal control sequence into the mode string.)
-144 720 Q(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(41)193.45 E 0 Cg
-EP
+144 720 Q(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(41)194.555 E 0
+Cg EP
%%Page: 42 42
%%BeginPageSetup
BP
@@ -5276,8 +5305,8 @@ E F2 -.37(re)2.551 G(adline).37 E F0 .051(will w)2.551 F .051
.15 E F1(mark\255modi\214ed\255lines \(Off\))108 684 Q F0(If set to)144
696 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(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(42)193.45 E 0
-Cg EP
+(*)A F0(\).)A(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(42)194.555 E
+0 Cg EP
%%Page: 43 43
%%BeginPageSetup
BP
@@ -5382,8 +5411,8 @@ F .186(last line of the primary prompt when vi editing mode is acti)144
-.2 G 2.815(ilable. Use).25 F .314(the \\1 and \\2 escapes to be)2.815 F
.314(gin and end sequences of non-print-)-.15 F(ing characters, which c\
an be used to embed a terminal control sequence into the mode string.)
-144 708 Q(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(43)193.45 E 0 Cg
-EP
+144 708 Q(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(43)194.555 E 0
+Cg EP
%%Page: 44 44
%%BeginPageSetup
BP
@@ -5483,7 +5512,7 @@ Q F0 .356(This directi)144 684 R .656 -.15(ve t)-.25 H(ak).15 E .356
144 696 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 720 Q F2(/etc/inputr)5.833 E(c)-.37 E F0(GNU Bash 5.0)72
-768 Q(2018 March 15)144.29 E(44)193.45 E 0 Cg EP
+768 Q(2018 August 7)145.395 E(44)194.555 E 0 Cg EP
%%Page: 45 45
%%BeginPageSetup
BP
@@ -5587,7 +5616,7 @@ idth.)-.05 E F1(next\255scr)108 700.8 Q(een\255line)-.18 E F0 .638
144 724.8 R .309 -.15(ve t)-.2 H .009(he desired ef).15 F .009
(fect if the current Readline line does not tak)-.25 F 2.509(eu)-.1 G
2.509(pm)-2.509 G .009(ore than one ph)-2.509 F(ysical)-.05 E
-(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(45)193.45 E 0 Cg EP
+(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(45)194.555 E 0 Cg EP
%%Page: 46 46
%%BeginPageSetup
BP
@@ -5673,7 +5702,7 @@ F .622(ord on the pre)-.1 F .622(vious line\))-.25 F .794(at point.)144
(is computed, the ar)2.781 F .281(gument is e)-.18 F .282
(xtracted as if the "!)-.15 F F3(n)A F0(")A(history e)144 700.8 Q
(xpansion had been speci\214ed.)-.15 E(GNU Bash 5.0)72 768 Q
-(2018 March 15)144.29 E(46)193.45 E 0 Cg EP
+(2018 August 7)145.395 E(46)194.555 E 0 Cg EP
%%Page: 47 47
%%BeginPageSetup
BP
@@ -5773,7 +5802,7 @@ G .779(nsert characters lik)-3.279 F(e)-.1 E F1(C\255q)3.278 E F0 3.278
(Insert a tab character)144 676.8 Q(.)-.55 E F1
(self\255insert \(a, b, A, 1, !, ...\))108 688.8 Q F0
(Insert the character typed.)144 700.8 Q(GNU Bash 5.0)72 768 Q
-(2018 March 15)144.29 E(47)193.45 E 0 Cg EP
+(2018 August 7)145.395 E(47)194.555 E 0 Cg EP
%%Page: 48 48
%%BeginPageSetup
BP
@@ -5867,8 +5896,8 @@ F 5.365(.T)-.65 G .365(he killed te)-5.365 F .365(xt is sa)-.15 F -.15
-2.5 E F1(delete\255horizontal\255space \(M\255\\\))108 676.8 Q F0
(Delete all spaces and tabs around point.)144 688.8 Q F1(kill\255r)108
700.8 Q(egion)-.18 E F0(Kill the te)144 712.8 Q(xt in the current re)
--.15 E(gion.)-.15 E(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(48)
-193.45 E 0 Cg EP
+-.15 E(gion.)-.15 E(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(48)
+194.555 E 0 Cg EP
%%Page: 49 49
%%BeginPageSetup
BP
@@ -5970,7 +5999,7 @@ F1(delete\255char\255or\255list)108 633.6 Q F0 .234
-.15 E F1(possible\255\214lename\255completions \(C\255x /\))108 705.6 Q
F0(List the possible completions of the te)144 717.6 Q
(xt before point, treating it as a \214lename.)-.15 E(GNU Bash 5.0)72
-768 Q(2018 March 15)144.29 E(49)193.45 E 0 Cg EP
+768 Q(2018 August 7)145.395 E(49)194.555 E 0 Cg EP
%%Page: 50 50
%%BeginPageSetup
BP
@@ -6060,7 +6089,7 @@ SF(ESC)5 E F1(f)2.25 E F0(is equi)2.5 E -.25(va)-.25 G(lent to).25 E F1
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 729.6 Q(GNU Bash 5.0)72 768 Q
-(2018 March 15)144.29 E(50)193.45 E 0 Cg EP
+(2018 August 7)145.395 E(50)194.555 E 0 Cg EP
%%Page: 51 51
%%BeginPageSetup
BP
@@ -6167,7 +6196,8 @@ F2(compspec)108 724.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.328(w\), the)
--.25 F(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(51)193.45 E 0 Cg EP
+-.25 F(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(51)194.555 E 0 Cg
+EP
%%Page: 52 52
%%BeginPageSetup
BP
@@ -6307,7 +6337,7 @@ ode as the list of possible completions.)108 660 Q .246(If the pre)108
(when the compspec w)2.962 F .462(as de\214ned, directory name com-)-.1
F(pletion is attempted and an)108 717.6 Q 2.5(ym)-.15 G
(atches are added to the results of the other actions.)-2.5 E
-(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(52)193.45 E 0 Cg EP
+(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(52)194.555 E 0 Cg EP
%%Page: 53 53
%%BeginPageSetup
BP
@@ -6439,7 +6469,7 @@ F0 3.257(lines. If)3.007 F F5(HISTFILESIZE)3.257 E F0 .757
(When using command-line editing, search commands are a)5.001 F -.25(va)
-.2 G .002(ilable in each edit-).25 F(ing mode that pro)108 717.6 Q
(vide access to the history list.)-.15 E(GNU Bash 5.0)72 768 Q
-(2018 March 15)144.29 E(53)193.45 E 0 Cg EP
+(2018 August 7)145.395 E(53)194.555 E 0 Cg EP
%%Page: 54 54
%%BeginPageSetup
BP
@@ -6569,8 +6599,8 @@ Q F0 1.607(Start a history substitution, e)144 638.4 R 1.607
(This is a synon)5 E(ym for `!\2551'.)-.15 E F2(!)108 698.4 Q F4(string)
A F0 .865(Refer to the most recent command preceding the current positi\
on in the history list starting with)144 698.4 R F4(string)144 710.4 Q
-F0(.).22 E(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(54)193.45 E 0 Cg
-EP
+F0(.).22 E(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(54)194.555 E 0
+Cg EP
%%Page: 55 55
%%BeginPageSetup
BP
@@ -6690,8 +6720,8 @@ F1(let)2.961 E F0 2.961(,a)C(nd)-2.961 E F1(shift)2.961 E F0 -.2(bu)
(guments be)-.18 F .26(ginning with)-.15 F F1<ad>2.76 E F0 .261
(without requiring)2.76 F F1<adad>2.761 E F0 5.261(.O)C .261(ther b)
-5.261 F .261(uiltins that accept ar)-.2 F .261(guments b)-.18 F .261
-(ut are not)-.2 F(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(55)193.45
-E 0 Cg EP
+(ut are not)-.2 F(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(55)
+194.555 E 0 Cg EP
%%Page: 56 56
%%BeginPageSetup
BP
@@ -6826,7 +6856,7 @@ Q F0(List current)180 685.2 Q F1 -.18(re)2.5 G(adline).18 E F0
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 709.2 S 2.5(yt).1 G
(hat the)-2.5 E 2.5(yc)-.15 G(an be re-read.)-2.5 E(GNU Bash 5.0)72 768
-Q(2018 March 15)144.29 E(56)193.45 E 0 Cg EP
+Q(2018 August 7)145.395 E(56)194.555 E 0 Cg EP
%%Page: 57 57
%%BeginPageSetup
BP
@@ -6959,7 +6989,7 @@ F0 .468(will return an unsuccessful status.)2.968 F .468(On systems)
144 720 R .71(gument of)-.18 F F1<ad>3.21 E F0 .71(is con)3.21 F -.15
(ve)-.4 G .71(rted to).15 F F3($OLDPWD)3.21 E F0 .71
(before the directory change is attempted.)2.96 F .71(If a non-)5.71 F
-(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(57)193.45 E 0 Cg EP
+(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(57)194.555 E 0 Cg EP
%%Page: 58 58
%%BeginPageSetup
BP
@@ -7021,2609 +7051,2633 @@ em directly from a completion speci\214cation with the same \215ags.)144
(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 F2
-(complete)108 386.4 Q F0([)3.728 E F2(\255abcdefgjksuv)A F0 3.728(][)C
-F2<ad6f>-3.728 E F3(comp-option)3.728 E F0 3.728(][)C F2(\255DE)-3.728 E
-F0 3.728(][)C F2<ad41>-3.728 E F3(action)3.728 E F0 3.728(][)C F2<ad47>
--3.728 E F3(globpat)3.728 E F0 3.729(][)C F2<ad57>-3.729 E F3(wor)3.729
-E(dlist)-.37 E F0 3.729(][)C F2<ad46>-3.729 E F3(func-)3.729 E(tion)108
-398.4 Q F0 2.5(][)C F2<ad43>-2.5 E F3(command)2.5 E F0(])A([)144 410.4 Q
-F2<ad58>A F3(\214lterpat)2.5 E F0 2.5(][)C F2<ad50>-2.5 E F3(pr)2.5 E
-(e\214x)-.37 E F0 2.5(][)C F2<ad53>-2.5 E F3(suf)2.5 E<8c78>-.18 E F0(])
-A F3(name)2.5 E F0([)2.5 E F3(name ...)A F0(])A F2(complete \255pr)108
-422.4 Q F0([)2.5 E F2(\255DE)A F0 2.5(][)C F3(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 F3(name)3.134 E F0 .634(should be completed.)3.134
-F .633(If the)5.634 F F2<ad70>3.133 E F0 .633
-(option is supplied, or if no)3.133 F .139(options are supplied, e)144
-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 458.4 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 F3
-(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
-F3(name)2.81 E F0(s)A 1.346
-(are supplied, all completion speci\214cations.)144 470.4 R(The)6.347 E
-F2<ad44>3.847 E F0 1.347(option indicates that the remaining options)
-3.847 F .5(and actions should apply to the `)144 482.4 R(`def)-.74 E
+(complete)108 386.4 Q F0([)3.404 E F2(\255abcdefgjksuv)A F0 3.404(][)C
+F2<ad6f>-3.404 E F3(comp-option)3.404 E F0 3.404(][)C F2(\255DEI)-3.404
+E F0 3.404(][)C F2<ad41>-3.404 E F3(action)3.404 E F0 3.404(][)C F2
+<ad47>-3.404 E F3(globpat)3.404 E F0 3.404(][)C F2<ad57>-3.404 E F3(wor)
+3.404 E(dlist)-.37 E F0 3.405(][)C F2<ad46>-3.405 E F3(func-)3.405 E
+(tion)108 398.4 Q F0 2.5(][)C F2<ad43>-2.5 E F3(command)2.5 E F0(])A([)
+144 410.4 Q F2<ad58>A F3(\214lterpat)2.5 E F0 2.5(][)C F2<ad50>-2.5 E F3
+(pr)2.5 E(e\214x)-.37 E F0 2.5(][)C F2<ad53>-2.5 E F3(suf)2.5 E<8c78>
+-.18 E F0(])A F3(name)2.5 E F0([)2.5 E F3(name ...)A F0(])A F2
+(complete \255pr)108 422.4 Q F0([)2.5 E F2(\255DEI)A F0 2.5(][)C F3
+(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 F3(name)3.134 E F0 .634
+(should be completed.)3.134 F .633(If the)5.634 F F2<ad70>3.133 E F0
+.633(option is supplied, or if no)3.133 F .139(options are supplied, e)
+144 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 458.4 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 F3(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 F3(name)2.81 E F0(s)A 1.207
+(are supplied, all completion speci\214cations.)144 470.4 R(The)6.207 E
+F2<ad44>3.707 E F0 1.208(option indicates that other supplied options)
+3.708 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
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 F2<ad45>3.455 E F0 .955
-(option indicates that)3.455 F .065
-(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 518.4 Q 1.437
+(option indicates that)3.455 F .876
+(other supplied options and actions should apply to `)144 506.4 R
+(`empty')-.74 E 3.376('c)-.74 G .876(ommand completion; that is, com-)
+-3.376 F .447(pletion attempted on a blank line.)144 518.4 R(The)5.447 E
+F2<ad49>2.947 E F0 .448
+(option indicates that other supplied options and actions)2.947 F 1.335
+(should apply to completion on the inital non-assignment w)144 530.4 R
+1.334(ord on the line, or after a command)-.1 F .43(delimiter such as)
+144 542.4 R F2(;)2.93 E F0(or)2.93 E F2(|)2.93 E F0 2.93(,w)C .431
+(hich is usually command name completion.)-2.93 F .431
+(If multiple options are sup-)5.431 F .708(plied, the)144 554.4 R F2
+<ad44>3.208 E F0 .708(option tak)3.208 F .708(es precedence o)-.1 F -.15
+(ve)-.15 G(r).15 E F2<ad45>3.208 E F0 3.208(,a)C .708(nd both tak)-3.208
+F 3.208(ep)-.1 G .707(recedence o)-3.208 F -.15(ve)-.15 G(r).15 E F2
+<ad49>3.207 E F0 5.707(.I)C 3.207(fa)-5.707 G 1.007 -.15(ny o)-3.207 H
+(f).15 E F2<ad44>3.207 E F0(,)A F2<ad45>144 566.4 Q F0 2.603(,o)C(r)
+-2.603 E F2<ad49>2.603 E F0 .103(are supplied, an)2.603 F 2.603(yo)-.15
+G(ther)-2.603 E F3(name)2.603 E F0(ar)2.603 E .103
+(guments are ignored; these completions only apply to the)-.18 F
+(case speci\214ed by the option.)144 578.4 Q 1.438
(The process of applying these completion speci\214cations when w)144
-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 F2(Pr)2.5 E
-(ogrammable Completion)-.18 E F0(.)A .556
-(Other options, if speci\214ed, ha)144 578.4 R .856 -.15(ve t)-.2 H .555
+602.4 R 1.437(ord completion is attempted is)-.1 F(described abo)144
+614.4 Q .3 -.15(ve u)-.15 H(nder).15 E F2(Pr)2.5 E
+(ogrammable Completion)-.18 E F0(.)A .555
+(Other options, if speci\214ed, ha)144 638.4 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 F2<ad47>3.055 E F0(,)A F2<ad57>3.055 E F0 3.055
-(,a)C(nd)-3.055 E F2<ad58>3.055 E F0 .722(options \(and, if necessary)
-144 590.4 R 3.222(,t)-.65 G(he)-3.222 E F2<ad50>3.222 E F0(and)3.222 E
-F2<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 602.4 Q F2(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 F2<ad6f>144 614.4 Q
-F3(comp-option)2.5 E F0(The)184 626.4 Q F3(comp-option)2.791 E F0 .291
+(guments to the)-.18 F F2<ad47>3.056 E F0(,)A F2<ad57>3.056 E F0 3.056
+(,a)C(nd)-3.056 E F2<ad58>3.056 E F0 .723(options \(and, if necessary)
+144 650.4 R 3.223(,t)-.65 G(he)-3.223 E F2<ad50>3.223 E F0(and)3.223 E
+F2<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 662.4 Q F2(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 F2<ad6f>144 674.4 Q
+F3(comp-option)2.5 E F0(The)184 686.4 Q F3(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 638.4 Q F3
-(comp-option)5 E F0(may be one of:)2.5 E F2(bashdefault)184 650.4 Q F0
-.281(Perform the rest of the def)224 662.4 R(ault)-.1 E F2(bash)2.781 E
-F0 .281(completions if the compspec generates no)2.781 F(matches.)224
-674.4 Q F2(default)184 686.4 Q F0 2.876(Use readline')224 686.4 R 5.376
-(sd)-.55 G(ef)-5.376 E 2.875
-(ault \214lename completion if the compspec generates no)-.1 F(matches.)
-224 698.4 Q(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(58)193.45 E 0
-Cg EP
+(yond the simple)-.15 F(generation of completions.)184 698.4 Q F3
+(comp-option)5 E F0(may be one of:)2.5 E(GNU Bash 5.0)72 768 Q
+(2018 August 7)145.395 E(58)194.555 E 0 Cg EP
%%Page: 59 59
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0
-SF(dir)184 84 Q(names)-.15 E F0(Perform directory name completion if th\
-e compspec generates no matches.)224 96 Q F1(\214lenames)184 108 Q F0
--.7(Te)224 120 S .137(ll readline that the compspec generates \214lenam\
-es, 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 144 R .45
-(Intended to be used with shell)5.45 F(functions.)224 156 Q F1(noquote)
-184 168 Q F0 -.7(Te)224 168 S .814
+SF(bashdefault)184 84 Q F0 .281(Perform the rest of the def)224 96 R
+(ault)-.1 E F1(bash)2.781 E F0 .281
+(completions if the compspec generates no)2.781 F(matches.)224 108 Q F1
+(default)184 120 Q F0 2.875(Use readline')224 120 R 5.375(sd)-.55 G(ef)
+-5.375 E 2.876(ault \214lename completion if the compspec generates no)
+-.1 F(matches.)224 132 Q F1(dir)184 144 Q(names)-.15 E F0(Perform direc\
+tory name completion if the compspec generates no matches.)224 156 Q F1
+(\214lenames)184 168 Q F0 -.7(Te)224 180 S .137(ll readline that the co\
+mpspec generates \214lenames, so it can perform an).7 F 2.636<798c>-.15
+G(le-)-2.636 E .134(name\255speci\214c processing \(lik)224 192 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 204 R .45
+(Intended to be used with shell)5.45 F(functions.)224 216 Q F1(noquote)
+184 228 Q F0 -.7(Te)224 228 S .814
(ll readline not to quote the completed w).7 F .814(ords if the)-.1 F
-3.314(ya)-.15 G .814(re \214lenames \(quoting)-3.314 F
-(\214lenames is the def)224 180 Q(ault\).)-.1 E F1(nosort)184 192 Q F0
--.7(Te)224 192 S(ll readline not to sort the list of possible completio\
-ns alphabetically).7 E(.)-.65 E F1(nospace)184 204 Q F0 -.7(Te)224 204 S
+3.314(ya)-.15 G .815(re \214lenames \(quoting)-3.314 F
+(\214lenames is the def)224 240 Q(ault\).)-.1 E F1(nosort)184 252 Q F0
+-.7(Te)224 252 S(ll readline not to sort the list of possible completio\
+ns alphabetically).7 E(.)-.65 E F1(nospace)184 264 Q F0 -.7(Te)224 264 S
.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 216 Q F1
-(plusdirs)184 228 Q F0 1.985(After an)224 228 R 4.485(ym)-.15 G 1.985
+F .22(ords completed at the end)-.1 F(of the line.)224 276 Q F1
+(plusdirs)184 288 Q F0 1.985(After an)224 288 R 4.485(ym)-.15 G 1.985
(atches de\214ned by the compspec are generated, directory name)-4.485 F
-.583(completion is attempted and an)224 240 R 3.084(ym)-.15 G .584
-(atches are added to the results of the other)-3.084 F(actions.)224 252
-Q F1<ad41>144 264 Q/F2 10/Times-Italic@0 SF(action)2.5 E F0(The)184 276
+.584(completion is attempted and an)224 300 R 3.084(ym)-.15 G .584
+(atches are added to the results of the other)-3.084 F(actions.)224 312
+Q F1<ad41>144 324 Q/F2 10/Times-Italic@0 SF(action)2.5 E F0(The)184 336
Q F2(action)2.5 E F0(may be one of the follo)2.5 E
(wing to generate a list of possible completions:)-.25 E F1(alias)184
-288 Q F0(Alias names.)224 288 Q(May also be speci\214ed as)5 E F1<ad61>
-2.5 E F0(.)A F1(arrayv)184 300 Q(ar)-.1 E F0(Array v)224 312 Q
-(ariable names.)-.25 E F1(binding)184 324 Q(Readline)224 324 Q F0 -.1
-(ke)2.5 G 2.5(yb)-.05 G(inding names.)-2.5 E F1 -.2(bu)184 336 S(iltin)
-.2 E F0(Names of shell b)224 336 Q(uiltin commands.)-.2 E
-(May also be speci\214ed as)5 E F1<ad62>2.5 E F0(.)A F1(command)184 348
-Q F0(Command names.)224 360 Q(May also be speci\214ed as)5 E F1<ad63>2.5
-E F0(.)A F1(dir)184 372 Q(ectory)-.18 E F0(Directory names.)224 384 Q
-(May also be speci\214ed as)5 E F1<ad64>2.5 E F0(.)A F1(disabled)184 396
-Q F0(Names of disabled shell b)224 408 Q(uiltins.)-.2 E F1(enabled)184
-420 Q F0(Names of enabled shell b)224 420 Q(uiltins.)-.2 E F1(export)184
-432 Q F0(Names of e)224 432 Q(xported shell v)-.15 E 2.5(ariables. May)
+348 Q F0(Alias names.)224 348 Q(May also be speci\214ed as)5 E F1<ad61>
+2.5 E F0(.)A F1(arrayv)184 360 Q(ar)-.1 E F0(Array v)224 372 Q
+(ariable names.)-.25 E F1(binding)184 384 Q(Readline)224 384 Q F0 -.1
+(ke)2.5 G 2.5(yb)-.05 G(inding names.)-2.5 E F1 -.2(bu)184 396 S(iltin)
+.2 E F0(Names of shell b)224 396 Q(uiltin commands.)-.2 E
+(May also be speci\214ed as)5 E F1<ad62>2.5 E F0(.)A F1(command)184 408
+Q F0(Command names.)224 420 Q(May also be speci\214ed as)5 E F1<ad63>2.5
+E F0(.)A F1(dir)184 432 Q(ectory)-.18 E F0(Directory names.)224 444 Q
+(May also be speci\214ed as)5 E F1<ad64>2.5 E F0(.)A F1(disabled)184 456
+Q F0(Names of disabled shell b)224 468 Q(uiltins.)-.2 E F1(enabled)184
+480 Q F0(Names of enabled shell b)224 480 Q(uiltins.)-.2 E F1(export)184
+492 Q F0(Names of e)224 492 Q(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
-444 Q F0(File names.)224 444 Q(May also be speci\214ed as)5 E F1<ad66>
-2.5 E F0(.)A F1(function)184 456 Q F0(Names of shell functions.)224 468
-Q F1(gr)184 480 Q(oup)-.18 E F0(Group names.)224 480 Q
+504 Q F0(File names.)224 504 Q(May also be speci\214ed as)5 E F1<ad66>
+2.5 E F0(.)A F1(function)184 516 Q F0(Names of shell functions.)224 528
+Q F1(gr)184 540 Q(oup)-.18 E F0(Group names.)224 540 Q
(May also be speci\214ed as)5 E F1<ad67>2.5 E F0(.)A F1(helptopic)184
-492 Q F0(Help topics as accepted by the)224 504 Q F1(help)2.5 E F0 -.2
-(bu)2.5 G(iltin.).2 E F1(hostname)184 516 Q F0(Hostnames, as tak)224 528
+552 Q F0(Help topics as accepted by the)224 564 Q F1(help)2.5 E F0 -.2
+(bu)2.5 G(iltin.).2 E F1(hostname)184 576 Q F0(Hostnames, as tak)224 588
Q(en from the \214le speci\214ed by the)-.1 E/F3 9/Times-Bold@0 SF
-(HOSTFILE)2.5 E F0(shell v)2.25 E(ariable.)-.25 E F1(job)184 540 Q F0
-(Job names, if job control is acti)224 540 Q -.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 552 S
-(yw).1 E(ord)-.1 E F0(Shell reserv)224 564 Q(ed w)-.15 E 2.5(ords. May)
+(HOSTFILE)2.5 E F0(shell v)2.25 E(ariable.)-.25 E F1(job)184 600 Q F0
+(Job names, if job control is acti)224 600 Q -.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 612 S
+(yw).1 E(ord)-.1 E F0(Shell reserv)224 624 Q(ed w)-.15 E 2.5(ords. May)
-.1 F(also be speci\214ed as)2.5 E F1<ad6b>2.5 E F0(.)A F1(running)184
-576 Q F0(Names of running jobs, if job control is acti)224 576 Q -.15
-(ve)-.25 G(.).15 E F1(ser)184 588 Q(vice)-.1 E F0(Service names.)224 588
-Q(May also be speci\214ed as)5 E F1<ad73>2.5 E F0(.)A F1(setopt)184 600
-Q F0 -1.11(Va)224 600 S(lid ar)1.11 E(guments for the)-.18 E F1<ad6f>2.5
+636 Q F0(Names of running jobs, if job control is acti)224 636 Q -.15
+(ve)-.25 G(.).15 E F1(ser)184 648 Q(vice)-.1 E F0(Service names.)224 648
+Q(May also be speci\214ed as)5 E F1<ad73>2.5 E F0(.)A F1(setopt)184 660
+Q F0 -1.11(Va)224 660 S(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 612 Q F0(Shell option names as accepted by the)224 612 Q F1
-(shopt)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1(signal)184 624 Q F0
-(Signal names.)224 624 Q F1(stopped)184 636 Q F0
-(Names of stopped jobs, if job control is acti)224 636 Q -.15(ve)-.25 G
-(.).15 E F1(user)184 648 Q F0(User names.)224 648 Q
-(May also be speci\214ed as)5 E F1<ad75>2.5 E F0(.)A F1 -.1(va)184 660 S
-(riable).1 E F0(Names of all shell v)224 660 Q 2.5(ariables. May)-.25 F
-(also be speci\214ed as)2.5 E F1<ad76>2.5 E F0(.)A F1<ad43>144 672 Q F2
-(command)2.5 E(command)184 684 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 696 Q(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(59)193.45 E 0 Cg
-EP
+(shopt)184 672 Q F0(Shell option names as accepted by the)224 672 Q F1
+(shopt)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1(signal)184 684 Q F0
+(Signal names.)224 684 Q F1(stopped)184 696 Q F0
+(Names of stopped jobs, if job control is acti)224 696 Q -.15(ve)-.25 G
+(.).15 E F1(user)184 708 Q F0(User names.)224 708 Q
+(May also be speci\214ed as)5 E F1<ad75>2.5 E F0(.)A(GNU Bash 5.0)72 768
+Q(2018 August 7)145.395 E(59)194.555 E 0 Cg EP
%%Page: 60 60
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0
-SF<ad46>144 84 Q/F2 10/Times-Italic@0 SF(function)2.5 E F0 .113
-(The shell function)184 96 R F2(function)2.614 E F0 .114(is e)2.614 F
+SF -.1(va)184 84 S(riable).1 E F0(Names of all shell v)224 84 Q 2.5
+(ariables. May)-.25 F(also be speci\214ed as)2.5 E F1<ad76>2.5 E F0(.)A
+F1<ad43>144 96 Q/F2 10/Times-Italic@0 SF(command)2.5 E(command)184 108 Q
+F0 1.055(is e)3.555 F -.15(xe)-.15 G 1.055(cuted in a subshell en).15 F
+1.056(vironment, and its output is used as the possible)-.4 F
+(completions.)184 120 Q F1<ad46>144 132 Q F2(function)2.5 E F0 .114
+(The shell function)184 144 R F2(function)2.614 E F0 .114(is e)2.614 F
-.15(xe)-.15 G .114(cuted in the current shell en).15 F 2.614
-(vironment. When)-.4 F .114(the func-)2.614 F .817(tion is e)184 108 R
--.15(xe)-.15 G .817(cuted, the \214rst ar).15 F .817(gument \()-.18 F F1
-($1)A F0 3.316(\)i)C 3.316(st)-3.316 G .816
+(vironment. When)-.4 F .113(the func-)2.613 F .816(tion is e)184 156 R
+-.15(xe)-.15 G .816(cuted, the \214rst ar).15 F .816(gument \()-.18 F F1
+($1)A F0 3.316(\)i)C 3.316(st)-3.316 G .817
(he name of the command whose ar)-3.316 F(guments)-.18 E 1.407
-(are being completed, the second ar)184 120 R 1.407(gument \()-.18 F F1
+(are being completed, the second ar)184 168 R 1.407(gument \()-.18 F F1
($2)A F0 3.907(\)i)C 3.907(st)-3.907 G 1.407(he w)-3.907 F 1.407
-(ord being completed, and the)-.1 F .104(third ar)184 132 R .104
-(gument \()-.18 F F1($3)A F0 2.604(\)i)C 2.604(st)-2.604 G .104(he w)
--2.604 F .104(ord preceding the w)-.1 F .103
-(ord being completed on the current com-)-.1 F .101(mand line.)184 144 R
-.101(When it \214nishes, the possible completions are retrie)5.101 F
--.15(ve)-.25 G 2.602(df).15 G .102(rom the v)-2.602 F .102(alue of the)
--.25 F/F3 9/Times-Bold@0 SF(COMPREPL)184 156 Q(Y)-.828 E F0(array v)2.25
-E(ariable.)-.25 E F1<ad47>144 168 Q F2(globpat)2.5 E F0 1.008
-(The pathname e)184 180 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 192 Q F1<ad50>144 204 Q F2(pr)2.5 E(e\214x)-.37 E(pr)
-184 216 Q(e\214x)-.37 E F0 .534(is added at the be)3.034 F .534
+(ord being completed, and the)-.1 F .103(third ar)184 180 R .103
+(gument \()-.18 F F1($3)A F0 2.603(\)i)C 2.603(st)-2.603 G .103(he w)
+-2.603 F .104(ord preceding the w)-.1 F .104
+(ord being completed on the current com-)-.1 F .102(mand line.)184 192 R
+.102(When it \214nishes, the possible completions are retrie)5.102 F
+-.15(ve)-.25 G 2.601(df).15 G .101(rom the v)-2.601 F .101(alue of the)
+-.25 F/F3 9/Times-Bold@0 SF(COMPREPL)184 204 Q(Y)-.828 E F0(array v)2.25
+E(ariable.)-.25 E F1<ad47>144 216 Q F2(globpat)2.5 E F0 1.007
+(The pathname e)184 228 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 240 Q F1<ad50>144 252 Q F2(pr)2.5 E(e\214x)-.37 E(pr)
+184 264 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 228 Q F1<ad53>144 240 Q F2(suf)2.5 E
-<8c78>-.18 E(suf)184 240 Q<8c78>-.18 E F0
+-.15(ve)-.2 G(been applied.)184 276 Q F1<ad53>144 288 Q F2(suf)2.5 E
+<8c78>-.18 E(suf)184 288 Q<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 F1<ad57>144 252 Q F2(wor)2.5 E
-(dlist)-.37 E F0(The)184 264 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 .98
-(each resultant w)184 276 R .98(ord is e)-.1 F 3.481(xpanded. Shell)-.15
-F .981(quoting is honored within)3.481 F F2(wor)3.481 E(dlist)-.37 E F0
-3.481(,i)C 3.481(no)-3.481 G .981(rder to)-3.481 F(pro)184 288 Q .766
-(vide a mechanism for the w)-.15 F .765
+E .3 -.15(ve b)-.2 H(een applied.).15 E F1<ad57>144 300 Q F2(wor)2.5 E
+(dlist)-.37 E F0(The)184 312 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 .981
+(each resultant w)184 324 R .981(ord is e)-.1 F 3.481(xpanded. Shell)
+-.15 F .981(quoting is honored within)3.481 F F2(wor)3.481 E(dlist)-.37
+E F0 3.48(,i)C 3.48(no)-3.48 G .98(rder to)-3.48 F(pro)184 336 Q .765
+(vide a mechanism for the w)-.15 F .766
(ords to contain shell metacharacters or characters in the)-.1 F -.25
-(va)184 300 S 1.964(lue of).25 F F3(IFS)4.464 E/F4 9/Times-Roman@0 SF(.)
+(va)184 348 S 1.965(lue of).25 F F3(IFS)4.465 E/F4 9/Times-Roman@0 SF(.)
A F0 1.964
(The possible completions are the members of the resultant list which)
-6.464 F(match the w)184 312 Q(ord being completed.)-.1 E F1<ad58>144 324
-Q F2(\214lterpat)2.5 E(\214lterpat)184 336 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 348 R 1.596
-(guments, and each completion)-.18 F(matching)184 360 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 372 Q 2.5(yc)-.15 G
+6.465 F(match the w)184 360 Q(ord being completed.)-.1 E F1<ad58>144 372
+Q F2(\214lterpat)2.5 E(\214lterpat)184 384 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 396 R 1.596
+(guments, and each completion)-.18 F(matching)184 408 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 420 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 388.8 R .466
+-.15(ve)-.15 G(d.).15 E .467(The return v)144 436.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.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 400.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 412.8 Q F0
+(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 448.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 460.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 429.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 441.6 R
-F2(name)2.947 E F0 .447(according to the)2.947 F F2(option)2.947 E F0
-.447(s, or for the currently-e)B -.15(xe)-.15 G(cuting).15 E .726
-(completion if no)144 453.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 465.6 Q F2(name)
-3.223 E F0 .723(or the current completion.)3.223 F .724(The possible v)
+F1(compopt)108 477.6 Q F0([)2.5 E F1<ad6f>A F2(option)2.5 E F0 2.5(][)C
+F1(\255DEI)-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 489.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 501.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 513.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 .724(alid for the)-.25 F F1(com-)3.224 E(plete)144 477.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 489.6 R(`def)-.74 E(ault')-.1 E 3.727('c)-.74 G 1.228(o\
+F .723(alid for the)-.25 F F1(com-)3.223 E(plete)144 525.6 Q F0 -.2(bu)
+2.677 G .177(iltin described abo).2 F -.15(ve)-.15 G 5.178(.T).15 G(he)
+-5.178 E F1<ad44>2.678 E F0 .178
+(option indicates that other supplied options should apply to)2.678 F
+1.228(the `)144 537.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 501.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 513.6 Q(`empty')-.74 E 2.5('c)-.74 G
-(ommand completion; that is, completion attempted on a blank line.)-2.5
-E 1.387(The return v)144 537.6 R 1.387(alue is true unless an in)-.25 F
--.25(va)-.4 G 1.388
+no)-3.728 F 2.038(completion has pre)144 549.6 R 2.038
+(viously been de\214ned.)-.25 F(The)7.038 E F1<ad45>4.538 E F0 2.039
+(option indicates that other supplied options)4.538 F 1.539
+(should apply to `)144 561.6 R(`empty')-.74 E 4.039('c)-.74 G 1.538
+(ommand completion; that is, completion attempted on a blank line.)
+-4.039 F(The)144 573.6 Q F1<ad49>3.205 E F0 .705(option indicates that \
+other supplied options should apply to completion on the inital non-)
+3.205 F .868(assignment w)144 585.6 R .868
+(ord on the line, or after a command delimiter such as)-.1 F F1(;)3.368
+E F0(or)3.368 E F1(|)3.368 E F0 3.367(,w)C .867(hich is usually com-)
+-3.367 F(mand name completion.)144 597.6 Q 1.387(The return v)144 621.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 549.6 Q F2(name)2.5 E F0
+(options for a)144 633.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 566.4 Q F0([)
-2.5 E F2(n)A F0(])A 1.754(Resume the ne)144 578.4 R 1.754
+(xists, or an output error occurs.)-.15 E F1(continue)108 650.4 Q F0([)
+2.5 E F2(n)A F0(])A 1.754(Resume the ne)144 662.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 590.4 R F2(n)3.709 E F0
+(is speci\214ed,)4.493 F 1.208(resume at the)144 674.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/F5 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 602.4 R(`top-le)-.74 E -.15
+(loops, the last enclosing loop \(the `)144 686.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 614.4 Q F1(declar)108 631.2
-Q(e)-.18 E F0([)2.5 E F1(\255aAfFgilnrtux)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 643.2 Q F0([)2.5 E F1(\255aAfFgilnrtux)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 655.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 667.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 679.2 Q F2(name)2.774 E
-F0(ar)2.774 E .274(guments, additional options, other than)-.18 F F1
-<ad66>2.775 E F0(and)2.775 E F1<ad46>2.775 E F0 2.775(,a)C .275
-(re ignored.)-2.775 F(When)5.275 E F1<ad70>2.775 E F0 .275(is supplied)
-2.775 F(without)144 691.2 Q F2(name)4.814 E F0(ar)4.814 E 2.314
-(guments, it will display the attrib)-.18 F 2.314(utes and v)-.2 F 2.313
-(alues of all v)-.25 F 2.313(ariables ha)-.25 F 2.313(ving the)-.2 F
-(attrib)144 703.2 Q 1.181(utes speci\214ed by the additional options.)
--.2 F 1.182(If no other options are supplied with)6.181 F F1<ad70>3.682
-E F0(,)A F1(declar)3.682 E(e)-.18 E F0 .62(will display the attrib)144
-715.2 R .62(utes and v)-.2 F .62(alues of all shell v)-.25 F 3.12
-(ariables. The)-.25 F F1<ad66>3.12 E F0 .62
-(option will restrict the display)3.12 F 1.29(to shell functions.)144
-727.2 R(The)6.29 E F1<ad46>3.79 E F0 1.291(option inhibits the display \
-of function de\214nitions; only the function)3.791 F(GNU Bash 5.0)72 768
-Q(2018 March 15)144.29 E(60)193.45 E 0 Cg EP
+3.013 E(not greater than or equal to 1.)144 698.4 Q(GNU Bash 5.0)72 768
+Q(2018 August 7)145.395 E(60)194.555 E 0 Cg EP
%%Page: 61 61
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
-(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E .948
-(name and attrib)144 84 R .948(utes are printed.)-.2 F .948(If the)5.948
-F/F1 10/Times-Bold@0 SF(extdeb)3.448 E(ug)-.2 E F0 .948
+(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0
+SF(declar)108 84 Q(e)-.18 E F0([)2.5 E F1(\255aAfFgilnrtux)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
+(\255aAfFgilnrtux)A F0 2.5(][)C F1<ad70>-2.5 E F0 2.5(][)C F2(name)-2.5
+E F0([=)A F2(value)A F0 2.5(].)C(..])-2.5 E 1.264(Declare v)144 108 R
+1.264(ariables and/or gi)-.25 F 1.564 -.15(ve t)-.25 H 1.264(hem attrib)
+.15 F 3.765(utes. If)-.2 F(no)3.765 E F2(name)3.765 E F0 3.765(sa)C
+1.265(re gi)-3.765 F -.15(ve)-.25 G 3.765(nt).15 G 1.265
+(hen display the v)-3.765 F 1.265(alues of)-.25 F -.25(va)144 120 S
+3.483(riables. The).25 F F1<ad70>3.483 E F0 .983
+(option will display the attrib)3.483 F .983(utes and v)-.2 F .982
+(alues of each)-.25 F F2(name)3.482 E F0 5.982(.W).18 G(hen)-5.982 E F1
+<ad70>3.482 E F0 .982(is used)3.482 F(with)144 132 Q F2(name)2.774 E F0
+(ar)2.774 E .274(guments, additional options, other than)-.18 F F1<ad66>
+2.775 E F0(and)2.775 E F1<ad46>2.775 E F0 2.775(,a)C .275(re ignored.)
+-2.775 F(When)5.275 E F1<ad70>2.775 E F0 .275(is supplied)2.775 F
+(without)144 144 Q F2(name)4.814 E F0(ar)4.814 E 2.314
+(guments, it will display the attrib)-.18 F 2.314(utes and v)-.2 F 2.313
+(alues of all v)-.25 F 2.313(ariables ha)-.25 F 2.313(ving the)-.2 F
+(attrib)144 156 Q 1.181(utes speci\214ed by the additional options.)-.2
+F 1.182(If no other options are supplied with)6.181 F F1<ad70>3.682 E F0
+(,)A F1(declar)3.682 E(e)-.18 E F0 .62(will display the attrib)144 168 R
+.62(utes and v)-.2 F .62(alues of all shell v)-.25 F 3.12(ariables. The)
+-.25 F F1<ad66>3.12 E F0 .62(option will restrict the display)3.12 F
+1.29(to shell functions.)144 180 R(The)6.29 E F1<ad46>3.79 E F0 1.291(o\
+ption inhibits the display of function de\214nitions; only the function)
+3.791 F .948(name and attrib)144 192 R .948(utes are printed.)-.2 F .948
+(If the)5.948 F F1(extdeb)3.448 E(ug)-.2 E F0 .948
(shell option is enabled using)3.448 F F1(shopt)3.448 E F0 3.448(,t)C
.948(he source)-3.448 F 1.69(\214le name and line number where each)144
-96 R/F2 10/Times-Italic@0 SF(name)4.19 E F0 1.69
-(is de\214ned are displayed as well.)4.19 F(The)6.69 E F1<ad46>4.19 E F0
-(option)4.19 E(implies)144 108 Q F1<ad66>3.892 E F0 6.392(.T)C(he)-6.392
-E F1<ad67>3.892 E F0 1.391(option forces v)3.892 F 1.391
+204 R F2(name)4.19 E F0 1.69(is de\214ned are displayed as well.)4.19 F
+(The)6.69 E F1<ad46>4.19 E F0(option)4.19 E(implies)144 216 Q F1<ad66>
+3.892 E F0 6.392(.T)C(he)-6.392 E F1<ad67>3.892 E F0 1.391
+(option forces v)3.892 F 1.391
(ariables to be created or modi\214ed at the global scope, e)-.25 F -.15
-(ve)-.25 G(n).15 E(when)144 120 Q F1(declar)4.382 E(e)-.18 E F0 1.882
+(ve)-.25 G(n).15 E(when)144 228 Q F1(declar)4.382 E(e)-.18 E F0 1.882
(is e)4.382 F -.15(xe)-.15 G 1.882(cuted in a shell function.).15 F
1.883(It is ignored in all other cases.)6.882 F 1.883(The follo)6.883 F
-(wing)-.25 E .794(options can be used to restrict output to v)144 132 R
+(wing)-.25 E .794(options can be used to restrict output to v)144 240 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 144 Q(utes:)-.2 E F1
-<ad61>144 156 Q F0(Each)180 156 Q F2(name)2.5 E F0(is an inde)2.5 E -.15
+1.093 -.15(ve v)-.25 H(ariables)-.1 E(attrib)144 252 Q(utes:)-.2 E F1
+<ad61>144 264 Q F0(Each)180 264 Q 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 168 Q F0(Each)180
-168 Q F2(name)2.5 E F0(is an associati)2.5 E .3 -.15(ve a)-.25 H(rray v)
+E F0(abo)2.5 E -.15(ve)-.15 G(\).).15 E F1<ad41>144 276 Q F0(Each)180
+276 Q 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 180 Q F0(Use function names only)180 180 Q(.)-.65
-E F1<ad69>144 192 Q F0 .557(The v)180 192 R .558
+(\).).15 E F1<ad66>144 288 Q F0(Use function names only)180 288 Q(.)-.65
+E F1<ad69>144 300 Q F0 .557(The v)180 300 R .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 204 Q F0(abo)2.25
+(ARITHMETIC EV)3.058 F(ALU)-1.215 E(A-)-.54 E(TION)180 312 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 216 Q F0 .91
-(When the v)180 216 R .909(ariable is assigned a v)-.25 F .909
+(ariable is assigned a v)-.25 E(alue.)-.25 E F1<ad6c>144 324 Q F0 .91
+(When the v)180 324 R .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 228 R
-(upper)2.5 E(-case attrib)-.2 E(ute is disabled.)-.2 E F1<ad6e>144 240 Q
-F0(Gi)180 240 Q 1.619 -.15(ve e)-.25 H(ach).15 E F2(name)3.819 E F0(the)
+G .909(rted to lo).15 F(wer)-.25 E(-)-.2 E 2.5(case. The)180 336 R
+(upper)2.5 E(-case attrib)-.2 E(ute is disabled.)-.2 E F1<ad6e>144 348 Q
+F0(Gi)180 348 Q 1.619 -.15(ve e)-.25 H(ach).15 E F2(name)3.819 E F0(the)
3.819 E F2(namer)3.819 E(ef)-.37 E F0(attrib)3.819 E 1.319
(ute, making it a name reference to another v)-.2 F(ariable.)-.25 E
-1.519(That other v)180 252 R 1.519(ariable is de\214ned by the v)-.25 F
+1.519(That other v)180 360 R 1.519(ariable is de\214ned by the v)-.25 F
1.518(alue of)-.25 F F2(name)4.018 E F0 6.518(.A)C 1.518
-(ll references, assignments, and)-6.518 F(attrib)180 264 Q .226
+(ll references, assignments, and)-6.518 F(attrib)180 372 Q .226
(ute modi\214cations to)-.2 F F2(name)2.726 E F0 2.726(,e)C .226
(xcept those using or changing the)-2.876 F F1<ad6e>2.726 E F0(attrib)
-2.726 E .227(ute itself, are)-.2 F .809(performed on the v)180 276 R
+2.726 E .227(ute itself, are)-.2 F .809(performed on the v)180 384 R
.809(ariable referenced by)-.25 F F2(name)3.308 E F0 1.908 -.55('s v)D
3.308(alue. The).3 F .808(nameref attrib)3.308 F .808(ute cannot be)-.2
-F(applied to array v)180 288 Q(ariables.)-.25 E F1<ad72>144 300 Q F0
-(Mak)180 300 Q(e)-.1 E F2(name)5.046 E F0 5.046(sr)C(eadonly)-5.046 E
+F(applied to array v)180 396 Q(ariables.)-.25 E F1<ad72>144 408 Q F0
+(Mak)180 408 Q(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 312
-Q F1<ad74>144 324 Q F0(Gi)180 324 Q .73 -.15(ve e)-.25 H(ach).15 E F2
+2.547(alues by subsequent)-.25 F(assignment statements or unset.)180 420
+Q F1<ad74>144 432 Q F0(Gi)180 432 Q .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 336 Q(The trace attrib)5 E
-(ute has no special meaning for v)-.2 E(ariables.)-.25 E F1<ad75>144 348
-Q F0 .909(When the v)180 348 R .909(ariable is assigned a v)-.25 F .909
+(traps from the calling shell.)180 444 Q(The trace attrib)5 E
+(ute has no special meaning for v)-.2 E(ariables.)-.25 E F1<ad75>144 456
+Q F0 .909(When the v)180 456 R .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 360 R(lo)2.5
-E(wer)-.25 E(-case attrib)-.2 E(ute is disabled.)-.2 E F1<ad78>144 372 Q
-F0(Mark)180 372 Q F2(name)2.5 E F0 2.5(sf)C(or e)-2.5 E
+(ve)-.4 G .91(rted to upper).15 F(-)-.2 E 2.5(case. The)180 468 R(lo)2.5
+E(wer)-.25 E(-case attrib)-.2 E(ute is disabled.)-.2 E F1<ad78>144 480 Q
+F0(Mark)180 480 Q 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 388.8 R 2.621(ft)-.25 G .121
+(Using `+' instead of `\255' turns of)144 496.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 400.8 R 3.144(ya)-.1 G 3.144(na)-3.144 G .644(rray v)
+(to destro)144 508.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(tion,)144 412.8 Q F1
+(ute. When)-.2 F .645(used in a func-)3.145 F(tion,)144 520.8 Q F1
(declar)2.835 E(e)-.18 E F0(and)2.835 E F1(typeset)2.835 E F0(mak)2.835
E 2.835(ee)-.1 G(ach)-2.835 E F2(name)2.835 E F0 .335
(local, as with the)2.835 F F1(local)2.835 E F0 .335
(command, unless the)2.835 F F1<ad67>2.835 E F0(option)2.835 E 1.282
-(is supplied.)144 424.8 R 1.282(If a v)6.282 F 1.283
+(is supplied.)144 532.8 R 1.282(If a v)6.282 F 1.283
(ariable name is follo)-.25 F 1.283(wed by =)-.25 F F2(value)A F0 3.783
(,t)C 1.283(he v)-3.783 F 1.283(alue of the v)-.25 F 1.283
(ariable is set to)-.25 F F2(value)3.783 E F0(.)A .927(When using)144
-436.8 R F1<ad61>3.427 E F0(or)3.427 E F1<ad41>3.427 E F0 .926
+544.8 R F1<ad61>3.427 E F0(or)3.427 E F1<ad41>3.427 E F0 .926
(and the compound assignment syntax to create array v)3.427 F .926
-(ariables, additional)-.25 F(attrib)144 448.8 Q .592(utes do not tak)-.2
+(ariables, additional)-.25 F(attrib)144 556.8 Q .592(utes do not tak)-.2
F 3.092(ee)-.1 G -.25(ff)-3.092 G .592
(ect until subsequent assignments.).25 F .592(The return v)5.592 F .592
(alue is 0 unless an in)-.25 F -.25(va)-.4 G(lid).25 E .429
(option is encountered, an attempt is made to de\214ne a function using)
-144 460.8 R/F4 10/Courier@0 SF .428(\255f foo=bar)2.929 F F0 2.928(,a)C
+144 568.8 R/F4 10/Courier@0 SF .428(\255f foo=bar)2.929 F F0 2.928(,a)C
2.928(na)-2.928 G .428(ttempt is)-2.928 F .062(made to assign a v)144
-472.8 R .062(alue to a readonly v)-.25 F .063
+580.8 R .062(alue to a readonly v)-.25 F .063
(ariable, an attempt is made to assign a v)-.25 F .063
(alue to an array v)-.25 F(ari-)-.25 E .102
-(able without using the compound assignment syntax \(see)144 484.8 R F1
+(able without using the compound assignment syntax \(see)144 592.8 R F1
(Arrays)2.602 E F0(abo)2.602 E -.15(ve)-.15 G .102(\), one of the).15 F
-F2(names)2.602 E F0 .101(is not a)2.602 F -.25(va)144 496.8 S .171
+F2(names)2.602 E F0 .101(is not a)2.602 F -.25(va)144 604.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 508.8 R 3.46(fa)
+(ariable, an)-.25 F .96(attempt is made to turn of)144 616.8 R 3.46(fa)
-.25 G .96(rray status for an array v)-3.46 F .96
-(ariable, or an attempt is made to display a)-.25 F(non-e)144 520.8 Q
+(ariable, or an attempt is made to display a)-.25 F(non-e)144 628.8 Q
(xistent function with)-.15 E F1<ad66>2.5 E F0(.)A F1
-(dirs [\255clpv] [+)108 537.6 Q F2(n)A F1 2.5(][)C<ad>-2.5 E F2(n)A F1
-(])A F0 -.4(Wi)144 549.6 S .328
+(dirs [\255clpv] [+)108 645.6 Q F2(n)A F1 2.5(][)C<ad>-2.5 E F2(n)A F1
+(])A F0 -.4(Wi)144 657.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 561.6 R 1.238
-(Directories are added to the list with the)6.238 F F1(pushd)144 573.6 Q
+(single line with directory names separated by spaces.)144 669.6 R 1.238
+(Directories are added to the list with the)6.238 F F1(pushd)144 681.6 Q
F0 2.003(command; the)4.503 F F1(popd)4.503 E F0 2.003(command remo)
4.503 F -.15(ve)-.15 G 4.503(se).15 G 2.003(ntries from the list.)-4.503
-F 2.003(The current directory is)7.003 F(al)144 585.6 Q -.1(wa)-.1 G
-(ys the \214rst directory in the stack.).1 E F1<ad63>144 597.6 Q F0
-(Clears the directory stack by deleting all of the entries.)180 597.6 Q
-F1<ad6c>144 609.6 Q F0 .882
-(Produces a listing using full pathnames; the def)180 609.6 R .881
+F 2.003(The current directory is)7.003 F(al)144 693.6 Q -.1(wa)-.1 G
+(ys the \214rst directory in the stack.).1 E F1<ad63>144 705.6 Q F0
+(Clears the directory stack by deleting all of the entries.)180 705.6 Q
+F1<ad6c>144 717.6 Q F0 .882
+(Produces a listing using full pathnames; the def)180 717.6 R .881
(ault listing format uses a tilde to denote)-.1 F(the home directory)180
-621.6 Q(.)-.65 E F1<ad70>144 633.6 Q F0
-(Print the directory stack with one entry per line.)180 633.6 Q F1<ad76>
-144 645.6 Q F0 .272(Print the directory stack with one entry per line, \
-pre\214xing each entry with its inde)180 645.6 R 2.773(xi)-.15 G 2.773
-(nt)-2.773 G(he)-2.773 E(stack.)180 657.6 Q F1(+)144 669.6 Q F2(n)A F0
-1.565(Displays the)180 669.6 R F2(n)4.065 E F0 1.565
-(th entry counting from the left of the list sho)B 1.564(wn by)-.25 F F1
-(dirs)4.064 E F0 1.564(when in)4.064 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E
-(without options, starting with zero.)180 681.6 Q F1<ad>144 693.6 Q F2
-(n)A F0 1.194(Displays the)180 693.6 R F2(n)3.694 E F0 1.194
-(th entry counting from the right of the list sho)B 1.194(wn by)-.25 F
-F1(dirs)3.694 E F0 1.194(when in)3.694 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E
-(without options, starting with zero.)180 705.6 Q 1.707(The return v)144
-722.4 R 1.707(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.206 E -.15(xe)
--.15 G 4.206(sb).15 G -.15(ey)-4.206 G 1.706(ond the end of the).15 F
-(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(61)193.45 E 0 Cg EP
+729.6 Q(.)-.65 E(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(61)
+194.555 E 0 Cg EP
%%Page: 62 62
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
-(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).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 F2(pid)2.5 E F0(... ])2.5 E -.4(Wi)144
-112.8 S .121(thout options, remo).4 F .422 -.15(ve e)-.15 H(ach).15 E F2
-(jobspec)4.362 E F0 .122(from the table of acti)2.932 F .422 -.15(ve j)
--.25 H 2.622(obs. If).15 F F2(jobspec)4.362 E F0 .122
-(is not present, and)2.932 F .096(neither the)144 124.8 R F1<ad61>2.596
-E F0 .096(nor the)2.596 F F1<ad72>2.596 E F0 .096
-(option is supplied, the)2.596 F F2(curr)2.596 E .096(ent job)-.37 F F0
-.096(is used.)2.596 F .096(If the)5.096 F F1<ad68>2.596 E F0 .096
-(option is gi)2.596 F -.15(ve)-.25 G .096(n, each).15 F F2(jobspec)
-145.74 136.8 Q F0 .585(is not remo)3.395 F -.15(ve)-.15 G 3.085(df).15 G
-.585(rom the table, b)-3.085 F .585(ut is mark)-.2 F .585(ed so that)-.1
-F/F3 9/Times-Bold@0 SF(SIGHUP)3.085 E F0 .586
-(is not sent to the job if the)2.835 F .962(shell recei)144 148.8 R -.15
+(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0
+SF<ad70>144 84 Q F0(Print the directory stack with one entry per line.)
+180 84 Q F1<ad76>144 96 Q F0 .272(Print the directory stack with one en\
+try per line, pre\214xing each entry with its inde)180 96 R 2.773(xi)
+-.15 G 2.773(nt)-2.773 G(he)-2.773 E(stack.)180 108 Q F1(+)144 120 Q/F2
+10/Times-Italic@0 SF(n)A F0 1.565(Displays the)180 120 R F2(n)4.065 E F0
+1.565(th entry counting from the left of the list sho)B 1.564(wn by)-.25
+F F1(dirs)4.064 E F0 1.564(when in)4.064 F -.2(vo)-.4 G -.1(ke).2 G(d).1
+E(without options, starting with zero.)180 132 Q F1<ad>144 144 Q F2(n)A
+F0 1.194(Displays the)180 144 R F2(n)3.694 E F0 1.194
+(th entry counting from the right of the list sho)B 1.194(wn by)-.25 F
+F1(dirs)3.694 E F0 1.194(when in)3.694 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E
+(without options, starting with zero.)180 156 Q .258(The return v)144
+172.8 R .258(alue is 0 unless an in)-.25 F -.25(va)-.4 G .258
+(lid option is supplied or).25 F F2(n)2.758 E F0(inde)2.758 E -.15(xe)
+-.15 G 2.758(sb).15 G -.15(ey)-2.758 G .258(ond the end of the direc-)
+.15 F(tory stack.)144 184.8 Q F1(diso)108 201.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 F2(pid)2.5 E F0(... ])2.5 E -.4(Wi)144 213.6 S .121
+(thout options, remo).4 F .422 -.15(ve e)-.15 H(ach).15 E F2(jobspec)
+4.362 E F0 .122(from the table of acti)2.932 F .422 -.15(ve j)-.25 H
+2.622(obs. If).15 F F2(jobspec)4.362 E F0 .122(is not present, and)2.932
+F .096(neither the)144 225.6 R F1<ad61>2.596 E F0 .096(nor the)2.596 F
+F1<ad72>2.596 E F0 .096(option is supplied, the)2.596 F F2(curr)2.596 E
+.096(ent job)-.37 F F0 .096(is used.)2.596 F .096(If the)5.096 F F1
+<ad68>2.596 E F0 .096(option is gi)2.596 F -.15(ve)-.25 G .096(n, each)
+.15 F F2(jobspec)145.74 237.6 Q F0 .585(is not remo)3.395 F -.15(ve)-.15
+G 3.085(df).15 G .585(rom the table, b)-3.085 F .585(ut is mark)-.2 F
+.585(ed so that)-.1 F/F3 9/Times-Bold@0 SF(SIGHUP)3.085 E F0 .586
+(is not sent to the job if the)2.835 F .962(shell recei)144 249.6 R -.15
(ve)-.25 G 3.462(sa).15 G F3(SIGHUP)A/F4 9/Times-Roman@0 SF(.)A F0 .962
(If no)5.462 F F2(jobspec)5.202 E F0 .962(is supplied, the)3.772 F F1
<ad61>3.462 E F0 .962(option means to remo)3.462 F 1.262 -.15(ve o)-.15
-H 3.462(rm).15 G .962(ark all)-3.462 F 1.358(jobs; the)144 160.8 R F1
+H 3.462(rm).15 G .962(ark all)-3.462 F 1.358(jobs; the)144 261.6 R F1
<ad72>3.858 E F0 1.358(option without a)3.858 F F2(jobspec)5.598 E F0
(ar)4.169 E 1.359(gument restricts operation to running jobs.)-.18 F
-1.359(The return)6.359 F -.25(va)144 172.8 S(lue is 0 unless a).25 E F2
+1.359(The return)6.359 F -.25(va)144 273.6 S(lue 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 189.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 .425(Output the)144 201.6 R F2(ar)2.925 E(g)-.37 E
+F1(echo)108 290.4 Q F0([)2.5 E F1(\255neE)A F0 2.5(][)C F2(ar)-2.5 E(g)
+-.37 E F0(...])2.5 E .425(Output the)144 302.4 R F2(ar)2.925 E(g)-.37 E
F0 .424(s, separated by spaces, follo)B .424(wed by a ne)-.25 F 2.924
(wline. The)-.25 F .424(return status is 0 unless a write)2.924 F .307
-(error occurs.)144 213.6 R(If)5.307 E F1<ad6e>2.807 E F0 .307
+(error occurs.)144 314.4 R(If)5.307 E F1<ad6e>2.807 E F0 .307
(is speci\214ed, the trailing ne)2.807 F .308(wline is suppressed.)-.25
F .308(If the)5.308 F F1<ad65>2.808 E F0 .308(option is gi)2.808 F -.15
(ve)-.25 G .308(n, inter).15 F(-)-.2 E 1.349(pretation of the follo)144
-225.6 R 1.348(wing backslash-escaped characters is enabled.)-.25 F(The)
+326.4 R 1.348(wing backslash-escaped characters is enabled.)-.25 F(The)
6.348 E F1<ad45>3.848 E F0 1.348(option disables the)3.848 F 1.054
-(interpretation of these escape characters, e)144 237.6 R -.15(ve)-.25 G
+(interpretation of these escape characters, e)144 338.4 R -.15(ve)-.25 G
3.555(no).15 G 3.555(ns)-3.555 G 1.055(ystems where the)-3.555 F 3.555
(ya)-.15 G 1.055(re interpreted by def)-3.555 F(ault.)-.1 E(The)144
-249.6 Q F1(xpg_echo)3.459 E F0 .959
+350.4 Q F1(xpg_echo)3.459 E F0 .959
(shell option may be used to dynamically determine whether or not)3.459
F F1(echo)3.458 E F0 -.15(ex)3.458 G(pands).15 E .715
-(these escape characters by def)144 261.6 R(ault.)-.1 E F1(echo)5.715 E
+(these escape characters by def)144 362.4 R(ault.)-.1 E F1(echo)5.715 E
F0 .716(does not interpret)3.215 F F1<adad>3.216 E F0 .716
(to mean the end of options.)3.216 F F1(echo)5.716 E F0
-(interprets the follo)144 273.6 Q(wing escape sequences:)-.25 E F1(\\a)
-144 285.6 Q F0(alert \(bell\))180 285.6 Q F1(\\b)144 297.6 Q F0
-(backspace)180 297.6 Q F1(\\c)144 309.6 Q F0(suppress further output)180
-309.6 Q F1(\\e)144 321.6 Q(\\E)144 333.6 Q F0(an escape character)180
-333.6 Q F1(\\f)144 345.6 Q F0(form feed)180 345.6 Q F1(\\n)144 357.6 Q
-F0(ne)180 357.6 Q 2.5(wl)-.25 G(ine)-2.5 E F1(\\r)144 369.6 Q F0
-(carriage return)180 369.6 Q F1(\\t)144 381.6 Q F0(horizontal tab)180
-381.6 Q F1(\\v)144 393.6 Q F0 -.15(ve)180 393.6 S(rtical tab).15 E F1
-(\\\\)144 405.6 Q F0(backslash)180 405.6 Q F1(\\0)144 417.6 Q F2(nnn)A
-F0(the eight-bit character whose v)180 417.6 Q(alue is the octal v)-.25
+(interprets the follo)144 374.4 Q(wing escape sequences:)-.25 E F1(\\a)
+144 386.4 Q F0(alert \(bell\))180 386.4 Q F1(\\b)144 398.4 Q F0
+(backspace)180 398.4 Q F1(\\c)144 410.4 Q F0(suppress further output)180
+410.4 Q F1(\\e)144 422.4 Q(\\E)144 434.4 Q F0(an escape character)180
+434.4 Q F1(\\f)144 446.4 Q F0(form feed)180 446.4 Q F1(\\n)144 458.4 Q
+F0(ne)180 458.4 Q 2.5(wl)-.25 G(ine)-2.5 E F1(\\r)144 470.4 Q F0
+(carriage return)180 470.4 Q F1(\\t)144 482.4 Q F0(horizontal tab)180
+482.4 Q F1(\\v)144 494.4 Q F0 -.15(ve)180 494.4 S(rtical tab).15 E F1
+(\\\\)144 506.4 Q F0(backslash)180 506.4 Q F1(\\0)144 518.4 Q F2(nnn)A
+F0(the eight-bit character whose v)180 518.4 Q(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 429.6 Q F2(HH)A F0(the eight-bit character whose v)180 429.6 Q
+(\\x)144 530.4 Q F2(HH)A F0(the eight-bit character whose v)180 530.4 Q
(alue is the he)-.25 E(xadecimal v)-.15 E(alue)-.25 E F2(HH)2.5 E F0
(\(one or tw)2.5 E 2.5(oh)-.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E F1
-(\\u)144 441.6 Q F2(HHHH)A F0 1.507
-(the Unicode \(ISO/IEC 10646\) character whose v)180 453.6 R 1.506
+(\\u)144 542.4 Q F2(HHHH)A F0 1.507
+(the Unicode \(ISO/IEC 10646\) character whose v)180 554.4 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 465.6 Q 2.5(xd)-.15 G(igits\))-2.5 E F1
-(\\U)144 477.6 Q F2(HHHHHHHH)A F0 .547
-(the Unicode \(ISO/IEC 10646\) character whose v)180 489.6 R .547
+4.006 E F0(\(one to four he)180 566.4 Q 2.5(xd)-.15 G(igits\))-2.5 E F1
+(\\U)144 578.4 Q F2(HHHHHHHH)A F0 .547
+(the Unicode \(ISO/IEC 10646\) character whose v)180 590.4 R .547
(alue is the he)-.25 F .548(xadecimal v)-.15 F(alue)-.25 E F2(HHHHH-)
-3.048 E(HHH)180 501.6 Q F0(\(one to eight he)2.5 E 2.5(xd)-.15 G
-(igits\))-2.5 E F1(enable)108 518.4 Q F0([)2.5 E F1<ad61>A F0 2.5(][)C
+3.048 E(HHH)180 602.4 Q F0(\(one to eight he)2.5 E 2.5(xd)-.15 G
+(igits\))-2.5 E F1(enable)108 619.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 530.4 R
+(][)C F2(name)-2.5 E F0(...])2.5 E .278(Enable and disable b)144 631.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 542.4 R .834(uiltin to be e)-.2 F -.15
+(the same name as a shell b)144 643.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 554.4 R .989
+(the shell normally searches for b)144 655.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 566.4 R F2(names)4.082 E F0 1.582(are enabled.)
+(abled; otherwise,)144 667.2 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 578.4 R .081(uiltin v)
+G(TH)-.189 E F0 .081(instead of the shell b)144 679.2 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 590.4 S 1.524
+(option means to load the ne)2.58 F(w)-.25 E -.2(bu)144 691.2 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 602.4 Q F1<ad64>
+(ystems that support dynamic loading.)-4.024 F(The)144 703.2 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 614.4 R F1<ad70>
+-.18 F -.15(ve)-.25 G .366(n, or).15 F .398(if the)144 715.2 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
-626.4 R 2.598(uiltins. If)-.2 F F1<ad6e>2.598 E F0 .098
+727.2 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 638.4 R 1.916
-(uiltins, with an indication of whether or not each is)-.2 F 2.879
-(enabled. If)144 650.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 662.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
-674.4 Q F1 -2.3 -.15(ev a)108 691.2 T(l).15 E F0([)2.5 E F2(ar)A(g)-.37
-E F0(...])2.5 E(The)144 703.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 715.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(or only null ar)144 727.2 Q
-(guments,)-.18 E F1 -2.3 -.15(ev a)2.5 H(l).15 E F0(returns 0.)2.5 E
-(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(62)193.45 E 0 Cg EP
+(If)5.098 E F1<ad61>2.598 E F0(GNU Bash 5.0)72 768 Q(2018 August 7)
+145.395 E(62)194.555 E 0 Cg EP
%%Page: 63 63
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
-(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0
-SF(exec)108 84 Q F0([)2.5 E F1(\255cl)A F0 2.5(][)C F1<ad61>-2.5 E/F2 10
-/Times-Italic@0 SF(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 96 Q F2(command)3.006 E F0 .306
+(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E 1.916
+(is supplied, the list printed includes all b)144 84 R 1.916
+(uiltins, with an indication of whether or not each is)-.2 F 2.879
+(enabled. If)144 96 R/F1 10/Times-Bold@0 SF<ad73>2.879 E F0 .379
+(is supplied, the output is restricted to the POSIX)2.879 F/F2 10
+/Times-Italic@0 SF(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 108 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 120 Q F1 -2.3 -.15(ev a)108
+136.8 T(l).15 E F0([)2.5 E F2(ar)A(g)-.37 E F0(...])2.5 E(The)144 148.8
+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 160.8 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 172.8 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 189.6 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 201.6 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 108 R .176(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
+(guments)-.37 E F0(become)3.075 E .176(the ar)144 213.6 R .176
+(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 120 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 132 Q F0 .638(to be e)
-3.908 F -.15(xe)-.15 G .638(cuted with an empty en).15 F 3.138
+(ginning of)-.15 F .5(the zeroth ar)144 225.6 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 237.6 Q F0 .638
+(to be e)3.908 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 144 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 156 Q .876 -.15(ve s)-.25 H .576(hell e).15 F .576
-(xits, unless the)-.15 F F1(execfail)3.076 E F0 .577
+3.319 F 1.078(zeroth ar)144 249.6 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 261.6 Q .876 -.15(ve s)-.25 H .576(hell e).15 F
+.576(xits, unless the)-.15 F F1(execfail)3.076 E F0 .577
(shell option is enabled.)3.077 F .577(In that case, it returns f)5.577
-F(ail-)-.1 E 3.32(ure. An)144 168 R(interacti)3.32 E 1.12 -.15(ve s)-.25
-H .82(hell returns f).15 F .82(ailure if the \214le cannot be e)-.1 F
--.15(xe)-.15 G 3.32(cuted. A).15 F .82(subshell e)3.32 F .82
-(xits uncondi-)-.15 F .287(tionally if)144 180 R F1(exec)2.787 E F0 -.1
-(fa)2.787 G 2.787(ils. If).1 F F2(command)2.987 E F0 .287
+F(ail-)-.1 E 3.32(ure. An)144 273.6 R(interacti)3.32 E 1.12 -.15(ve s)
+-.25 H .82(hell returns f).15 F .82(ailure if the \214le cannot be e)-.1
+F -.15(xe)-.15 G 3.32(cuted. A).15 F .82(subshell e)3.32 F .82
+(xits uncondi-)-.15 F .287(tionally if)144 285.6 R F1(exec)2.787 E F0
+-.1(fa)2.787 G 2.787(ils. If).1 F F2(command)2.987 E F0 .287
(is not speci\214ed, an)3.557 F 2.788(yr)-.15 G .288(edirections tak)
-2.788 F 2.788(ee)-.1 G -.25(ff)-2.788 G .288(ect in the current shell,)
-.25 F(and the return status is 0.)144 192 Q
+.25 F(and the return status is 0.)144 297.6 Q
(If there is a redirection error)5 E 2.5(,t)-.4 G
-(he return status is 1.)-2.5 E F1(exit)108 208.8 Q F0([)2.5 E F2(n)A F0
-(])A .096(Cause the shell to e)144 208.8 R .096(xit with a status of)
+(he return status is 1.)-2.5 E F1(exit)108 314.4 Q F0([)2.5 E F2(n)A F0
+(])A .096(Cause the shell to e)144 314.4 R .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 220.8 S 2.5(cuted. A).15 F(trap on)2.5 E/F3 9
+-.15 F -.15(exe)144 326.4 S 2.5(cuted. A).15 F(trap on)2.5 E/F3 9
/Times-Bold@0 SF(EXIT)2.5 E F0(is e)2.25 E -.15(xe)-.15 G
-(cuted before the shell terminates.).15 E F1(export)108 237.6 Q F0([)2.5
+(cuted before the shell terminates.).15 E F1(export)108 343.2 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 249.6 Q F0 .256(The supplied)144 261.6 R
+F0(]] ...)A F1(export \255p)108 355.2 Q F0 .256(The supplied)144 367.2 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 273.6 R(the)2.627 E F1
+(xe)-.15 G(cuted).15 E 2.627(commands. If)144 379.2 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 285.6 Q F0 .048
+(n, or if the).15 F F1<ad70>144 391.2 Q F0 .048
(option is supplied, a list of names of all e)2.547 F .048(xported v)
-.15 F .048(ariables is printed.)-.25 F(The)5.048 E F1<ad6e>2.548 E F0
-.048(option causes the)2.548 F -.15(ex)144 297.6 S 1.447
+.048(option causes the)2.548 F -.15(ex)144 403.2 S 1.447
(port property to be remo).15 F -.15(ve)-.15 G 3.947(df).15 G 1.447
(rom each)-3.947 F F2(name)3.947 E F0 6.447(.I)C 3.947(fav)-6.447 G
1.447(ariable name is follo)-4.197 F 1.447(wed by =)-.25 F F2(wor)A(d)
--.37 E F0 3.946(,t)C(he)-3.946 E -.25(va)144 309.6 S .741(lue of the v)
+-.37 E F0 3.946(,t)C(he)-3.946 E -.25(va)144 415.2 S .741(lue of the v)
.25 F .741(ariable is set to)-.25 F F2(wor)3.241 E(d)-.37 E F0(.)A F1
(export)5.741 E F0 .742(returns an e)3.242 F .742
(xit status of 0 unless an in)-.15 F -.25(va)-.4 G .742(lid option is)
-.25 F .032(encountered, one of the)144 321.6 R F2(names)2.532 E F0 .032
+.25 F .032(encountered, one of the)144 427.2 R F2(names)2.532 E F0 .032
(is not a v)2.532 F .032(alid shell v)-.25 F .032(ariable name, or)-.25
F F1<ad66>2.531 E F0 .031(is supplied with a)2.531 F F2(name)2.891 E F0
-(that)2.711 E(is not a function.)144 333.6 Q F1(fc)108 350.4 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
+(that)2.711 E(is not a function.)144 439.2 Q F1(fc)108 456 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
-362.4 Q F0([)2.5 E F2(pat)A F0(=)A F2 -.37(re)C(p).37 E F0 2.5(][)C F2
+468 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 .431
-(The \214rst form selects a range of commands from)144 374.4 R F2<8c72>
+(The \214rst form selects a range of commands from)144 480 R F2<8c72>
4.842 E(st)-.1 E F0(to)3.612 E F2(last)3.022 E F0 .432
(from the history list and displays or)3.612 F .142(edits and re-e)144
-386.4 R -.15(xe)-.15 G .142(cutes them.).15 F F2 -.45(Fi)5.141 G -.1(rs)
+492 R -.15(xe)-.15 G .142(cutes them.).15 F F2 -.45(Fi)5.141 G -.1(rs)
.45 G(t).1 E F0(and)3.321 E F2(last)2.731 E F0 .141
(may be speci\214ed as a string \(to locate the last command)3.321 F(be)
-144 398.4 Q .31(ginning with that string\) or as a number \(an inde)-.15
-F 2.811(xi)-.15 G .311(nto the history list, where a ne)-2.811 F -.05
-(ga)-.15 G(ti).05 E .611 -.15(ve n)-.25 H(umber).15 E .19
-(is used as an of)144 410.4 R .19
-(fset from the current command number\).)-.25 F(If)5.19 E F2(last)2.779
-E F0 .189(is not speci\214ed, it is set to the cur)3.369 F(-)-.2 E .948
-(rent command for listing \(so that)144 422.4 R/F4 10/Courier@0 SF .948
-(fc \255l \25510)3.448 F F0 .948(prints the last 10 commands\) and to)
-3.448 F F2<8c72>5.359 E(st)-.1 E F0(other)4.129 E(-)-.2 E 2.5(wise. If)
-144 434.4 R F2<8c72>4.41 E(st)-.1 E F0
-(is not speci\214ed, it is set to the pre)3.18 E
-(vious command for editing and \25516 for listing.)-.25 E(The)144 458.4
-Q F1<ad6e>2.522 E F0 .022
+144 504 Q .31(ginning with that string\) or as a number \(an inde)-.15 F
+2.811(xi)-.15 G .311(nto the history list, where a ne)-2.811 F -.05(ga)
+-.15 G(ti).05 E .611 -.15(ve n)-.25 H(umber).15 E .19(is used as an of)
+144 516 R .19(fset from the current command number\).)-.25 F(If)5.19 E
+F2(last)2.779 E F0 .189(is not speci\214ed, it is set to the cur)3.369 F
+(-)-.2 E .948(rent command for listing \(so that)144 528 R/F4 10
+/Courier@0 SF .948(fc \255l \25510)3.448 F F0 .948
+(prints the last 10 commands\) and to)3.448 F F2<8c72>5.359 E(st)-.1 E
+F0(other)4.129 E(-)-.2 E 2.5(wise. If)144 540 R F2<8c72>4.41 E(st)-.1 E
+F0(is not speci\214ed, it is set to the pre)3.18 E
+(vious command for editing and \25516 for listing.)-.25 E(The)144 564 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 470.4 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 576 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 482.4 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 494.4 R .63(alue of the)-.25 F F3(FCEDIT)3.13 E
-F0 -.25(va)2.88 G .631(riable is used, and the v).25 F .631(alue of)-.25
-F F3(EDIT)3.131 E(OR)-.162 E F0(if)2.881 E F3(FCEDIT)3.131 E F0 .631
-(is not set.)2.881 F .631(If nei-)5.631 F .951(ther v)144 506.4 R .951
+.335(the editor gi)144 588 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 600 R .63(alue of the)-.25 F F3(FCEDIT)3.13 E F0
+-.25(va)2.88 G .631(riable is used, and the v).25 F .631(alue of)-.25 F
+F3(EDIT)3.131 E(OR)-.162 E F0(if)2.881 E F3(FCEDIT)3.131 E F0 .631
+(is not set.)2.881 F .631(If nei-)5.631 F .951(ther v)144 612 R .951
(ariable is set,)-.25 F F2(vi)5.117 E F0 .951(is used.)5.117 F .95
(When editing is complete, the edited commands are echoed and)5.951 F
--.15(exe)144 518.4 S(cuted.).15 E .788(In the second form,)144 542.4 R
-F2(command)3.288 E F0 .788(is re-e)3.288 F -.15(xe)-.15 G .788
+-.15(exe)144 624 S(cuted.).15 E .788(In the second form,)144 648 R F2
+(command)3.288 E F0 .788(is re-e)3.288 F -.15(xe)-.15 G .788
(cuted after each instance of).15 F F2(pat)3.288 E F0 .788
(is replaced by)3.288 F F2 -.37(re)3.289 G(p).37 E F0(.)A F2(Com-)5.789
-E(mand)144 554.4 Q F0 .172(is interpreted the same as)2.672 F F2<8c72>
+E(mand)144 660 Q F0 .172(is interpreted the same as)2.672 F F2<8c72>
2.672 E(st)-.1 E F0(abo)2.672 E -.15(ve)-.15 G 5.172(.A).15 G .171
(useful alias to use with this is)-2.5 F F4 .171(r='fc \255s')2.671 F F0
-2.671(,s)C 2.671(ot)-2.671 G(hat)-2.671 E(typing)144 566.4 Q F4 7.165
-(rc)3.665 G(c)-7.165 E F0 1.165(runs the last command be)3.665 F 1.166
+2.671(,s)C 2.671(ot)-2.671 G(hat)-2.671 E(typing)144 672 Q F4 7.165(rc)
+3.665 G(c)-7.165 E F0 1.165(runs the last command be)3.665 F 1.166
(ginning with)-.15 F F4(cc)3.666 E F0 1.166(and typing)3.666 F F4(r)
3.666 E F0(re-e)3.666 E -.15(xe)-.15 G 1.166(cutes the last com-).15 F
-(mand.)144 578.4 Q .142(If the \214rst form is used, the return v)144
-602.4 R .142(alue is 0 unless an in)-.25 F -.25(va)-.4 G .142
+(mand.)144 684 Q .142(If the \214rst form is used, the return v)144 708
+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 .454(specify history lines out of range.)144 614.4
-R .454(If the)5.454 F F1<ad65>2.954 E F0 .454
+E F2(last)2.732 E F0 .454(specify history lines out of range.)144 720 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 626.4 R -.15(xe)-.15 G .788
-(cuted or f).15 F .787
+(alue of the)-.25 F(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(63)
+194.555 E 0 Cg EP
+%%Page: 64 64
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
+(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E .788
+(last command e)144 84 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
.787(If the)5.787 F 1.135
(second form is used, the return status is that of the command re-e)144
-638.4 R -.15(xe)-.15 G 1.136(cuted, unless).15 F F2(cmd)3.836 E F0 1.136
-(does not)4.406 F(specify a v)144 650.4 Q
-(alid history line, in which case)-.25 E F1(fc)2.5 E F0(returns f)2.5 E
-(ailure.)-.1 E F1(fg)108 667.2 Q F0([)2.5 E F2(jobspec)A F0(])A(Resume)
-144 679.2 Q F2(jobspec)5.654 E F0 1.413(in the fore)4.224 F 1.413
-(ground, and mak)-.15 F 3.913(ei)-.1 G 3.913(tt)-3.913 G 1.413
-(he current job)-3.913 F 6.413(.I)-.4 G(f)-6.413 E F2(jobspec)5.653 E F0
-1.413(is not present, the)4.223 F(shell')144 691.2 Q 3.116(sn)-.55 G
-.616(otion of the)-3.116 F F2(curr)3.116 E .616(ent job)-.37 F F0 .617
-(is used.)3.116 F .617(The return v)5.617 F .617
-(alue is that of the command placed into the)-.25 F(fore)144 703.2 Q
+96 R -.15(xe)-.15 G 1.136(cuted, unless).15 F/F1 10/Times-Italic@0 SF
+(cmd)3.836 E F0 1.136(does not)4.406 F(specify a v)144 108 Q
+(alid history line, in which case)-.25 E/F2 10/Times-Bold@0 SF(fc)2.5 E
+F0(returns f)2.5 E(ailure.)-.1 E F2(fg)108 124.8 Q F0([)2.5 E F1
+(jobspec)A F0(])A(Resume)144 136.8 Q F1(jobspec)5.654 E F0 1.413
+(in the fore)4.224 F 1.413(ground, and mak)-.15 F 3.913(ei)-.1 G 3.913
+(tt)-3.913 G 1.413(he current job)-3.913 F 6.413(.I)-.4 G(f)-6.413 E F1
+(jobspec)5.653 E F0 1.413(is not present, the)4.223 F(shell')144 148.8 Q
+3.116(sn)-.55 G .616(otion of the)-3.116 F F1(curr)3.116 E .616(ent job)
+-.37 F F0 .617(is used.)3.116 F .617(The return v)5.617 F .617
+(alue is that of the command placed into the)-.25 F(fore)144 160.8 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 715.2 Q
-F0(does not specify a v)2.81 E(alid job or)-.25 E F2(jobspec)4.24 E F0
+(hen run with job control enabled, if)-2.862 F F1(jobspec)145.74 172.8 Q
+F0(does not specify a v)2.81 E(alid job or)-.25 E F1(jobspec)4.24 E F0
(speci\214es a job that w)2.81 E(as started without job control.)-.1 E
-(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(63)193.45 E 0 Cg EP
-%%Page: 64 64
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
-(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0
-SF(getopts)108 84 Q/F2 10/Times-Italic@0 SF(optstring name)2.5 E F0([)
-2.5 E F2(ar)A(gs)-.37 E F0(])A F1(getopts)144 96 Q F0 .793
-(is used by shell procedures to parse positional parameters.)3.293 F F2
+F2(getopts)108 189.6 Q F1(optstring name)2.5 E F0([)2.5 E F1(ar)A(gs)
+-.37 E F0(])A F2(getopts)144 201.6 Q F0 .793
+(is used by shell procedures to parse positional parameters.)3.293 F F1
(optstring)6.023 E F0 .793(contains the option)3.513 F .15
-(characters to be recognized; if a character is follo)144 108 R .149
+(characters to be recognized; if a character is follo)144 213.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 120 Q .578
+-.15(ve a)-.2 H(n).15 E(ar)144 225.6 Q .578
(gument, which should be separated from it by white space.)-.18 F .579
(The colon and question mark char)5.579 F(-)-.2 E 1.665
-(acters may not be used as option characters.)144 132 R 1.665
-(Each time it is in)6.665 F -.2(vo)-.4 G -.1(ke).2 G(d,).1 E F1(getopts)
+(acters may not be used as option characters.)144 237.6 R 1.665
+(Each time it is in)6.665 F -.2(vo)-.4 G -.1(ke).2 G(d,).1 E F2(getopts)
4.165 E F0 1.665(places the ne)4.165 F(xt)-.15 E .796
-(option in the shell v)144 144 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 156 Q .085
+(option in the shell v)144 249.6 R(ariable)-.25 E F1(name)3.296 E F0
+3.296(,i).18 G(nitializing)-3.296 E F1(name)3.657 E F0 .797
+(if it does not e)3.477 F .797(xist, and the inde)-.15 F 3.297(xo)-.15 G
+3.297(ft)-3.297 G .797(he ne)-3.297 F(xt)-.15 E(ar)144 261.6 Q .085
(gument to be processed into the v)-.18 F(ariable)-.25 E/F3 9
/Times-Bold@0 SF(OPTIND)2.585 E/F4 9/Times-Roman@0 SF(.)A F3(OPTIND)
4.585 E F0 .085(is initialized to 1 each time the shell)2.335 F .845
-(or a shell script is in)144 168 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
+(or a shell script is in)144 273.6 R -.2(vo)-.4 G -.1(ke).2 G 3.345
+(d. When).1 F .845(an option requires an ar)3.345 F(gument,)-.18 E F2
(getopts)3.346 E F0 .846(places that ar)3.346 F(gument)-.18 E .804
-(into the v)144 180 R(ariable)-.25 E F3(OPT)3.304 E(ARG)-.81 E F4(.)A F0
-.803(The shell does not reset)5.304 F F3(OPTIND)3.303 E F0 .803
+(into the v)144 285.6 R(ariable)-.25 E F3(OPT)3.304 E(ARG)-.81 E F4(.)A
+F0 .803(The shell does not reset)5.304 F F3(OPTIND)3.303 E F0 .803
(automatically; it must be manually)3.053 F .293
-(reset between multiple calls to)144 192 R F1(getopts)2.793 E F0 .293
+(reset between multiple calls to)144 297.6 R F2(getopts)2.793 E F0 .293
(within the same shell in)2.793 F -.2(vo)-.4 G .293(cation if a ne).2 F
-2.793(ws)-.25 G .294(et of parameters)-2.793 F(is to be used.)144 204 Q
-2.044(When the end of options is encountered,)144 228 R F1(getopts)4.543
-E F0 -.15(ex)4.543 G 2.043(its with a return v).15 F 2.043
-(alue greater than zero.)-.25 F F3(OPTIND)144 240 Q F0
+2.793(ws)-.25 G .294(et of parameters)-2.793 F(is to be used.)144 309.6
+Q 2.044(When the end of options is encountered,)144 333.6 R F2(getopts)
+4.543 E F0 -.15(ex)4.543 G 2.043(its with a return v).15 F 2.043
+(alue greater than zero.)-.25 F F3(OPTIND)144 345.6 Q F0
(is set to the inde)2.25 E 2.5(xo)-.15 G 2.5(ft)-2.5 G
-(he \214rst non-option ar)-2.5 E(gument, and)-.18 E F2(name)2.5 E F0
-(is set to ?.)2.5 E F1(getopts)144 264 Q F0 2.392
+(he \214rst non-option ar)-2.5 E(gument, and)-.18 E F1(name)2.5 E F0
+(is set to ?.)2.5 E F2(getopts)144 369.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
-276 Q F0(parses those instead.)2.5 E F1(getopts)144 300 Q F0 1.166
+(ni).15 G(n)-4.893 E F1(ar)4.893 E(gs)-.37 E F0(,).27 E F2(getopts)144
+381.6 Q F0(parses those instead.)2.5 E F2(getopts)144 405.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.07
-(reporting is used.)144 312 R 1.071
+1.165(the \214rst character of)3.665 F F1(optstring)3.895 E F0 1.165
+(is a colon,)3.885 F F1(silent)4.005 E F0(error)4.345 E 1.07
+(reporting is used.)144 417.6 R 1.071
(In normal operation, diagnostic messages are printed when in)6.07 F
--.25(va)-.4 G 1.071(lid options or).25 F .394(missing option ar)144 324
-R .394(guments are encountered.)-.18 F .394(If the v)5.394 F(ariable)
--.25 E F3(OPTERR)2.894 E F0 .394(is set to 0, no error messages)2.644 F
-(will be displayed, e)144 336 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 360 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 372 R F3(OPT)2.9 E(ARG)-.81 E F4(.)A F0(If)4.899 E F1
-(getopts)2.899 E F0 .399
-(is silent, the option character found is placed in)2.899 F F3(OPT)2.899
-E(ARG)-.81 E F0 .399(and no)2.649 F(diagnostic message is printed.)144
-384 Q 1.241(If a required ar)144 408 R 1.241(gument is not found, and)
--.18 F F1(getopts)3.741 E F0 1.241(is not silent, a question mark \()
-3.741 F F1(?).833 E F0 3.742(\)i).833 G 3.742(sp)-3.742 G 1.242
-(laced in)-3.742 F F2(name)144 420 Q F0(,).18 E F3(OPT)2.735 E(ARG)-.81
-E F0 .234(is unset, and a diagnostic message is printed.)2.485 F(If)
-5.234 E F1(getopts)2.734 E F0 .234(is silent, then a colon \()2.734 F F1
-(:).833 E F0(\)).833 E(is placed in)144 432 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 456 Q F0 .902
+-.25(va)-.4 G 1.071(lid options or).25 F .394(missing option ar)144
+429.6 R .394(guments are encountered.)-.18 F .394(If the v)5.394 F
+(ariable)-.25 E F3(OPTERR)2.894 E F0 .394
+(is set to 0, no error messages)2.644 F(will be displayed, e)144 441.6 Q
+-.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G(he \214rst character of)-2.5 E
+F1(optstring)2.73 E F0(is not a colon.)2.72 E .666(If an in)144 465.6 R
+-.25(va)-.4 G .666(lid option is seen,).25 F F2(getopts)3.166 E F0 .667
+(places ? into)3.167 F F1(name)3.527 E F0 .667
+(and, if not silent, prints an error message)3.347 F .4(and unsets)144
+477.6 R F3(OPT)2.9 E(ARG)-.81 E F4(.)A F0(If)4.899 E F2(getopts)2.899 E
+F0 .399(is silent, the option character found is placed in)2.899 F F3
+(OPT)2.899 E(ARG)-.81 E F0 .399(and no)2.649 F
+(diagnostic message is printed.)144 489.6 Q 1.241(If a required ar)144
+513.6 R 1.241(gument is not found, and)-.18 F F2(getopts)3.741 E F0
+1.241(is not silent, a question mark \()3.741 F F2(?).833 E F0 3.742
+(\)i).833 G 3.742(sp)-3.742 G 1.242(laced in)-3.742 F F1(name)144 525.6
+Q F0(,).18 E F3(OPT)2.735 E(ARG)-.81 E F0 .234
+(is unset, and a diagnostic message is printed.)2.485 F(If)5.234 E F2
+(getopts)2.734 E F0 .234(is silent, then a colon \()2.734 F F2(:).833 E
+F0(\)).833 E(is placed in)144 537.6 Q F1(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 F2
+(getopts)144 561.6 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 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 .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)
+(options is encountered or an error occurs.)144 573.6 Q F2(hash)108
+590.4 Q F0([)2.5 E F2(\255lr)A F0 2.5(][)C F2<ad70>-2.5 E F1(\214lename)
+2.5 E F0 2.5(][)C F2(\255dt)-2.5 E F0 2.5(][)C F1(name)-2.5 E F0(])A
+.858(Each time)144 602.4 R F2(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 F1(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
+(the directories in)144 614.4 R F2($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 .243(If the)144 520.8
-R F1<ad70>2.743 E F0 .243
-(option is supplied, no path search is performed, and)2.743 F F2
+(viously-remembered pathname is discarded.)-.25 F .243(If the)144 626.4
+R F2<ad70>2.743 E F0 .243
+(option is supplied, no path search is performed, and)2.743 F F1
(\214lename)4.653 E F0 .242(is used as the full \214lename)2.923 F 1.711
-(of the command.)144 532.8 R(The)6.711 E F1<ad72>4.211 E F0 1.711
+(of the command.)144 638.4 R(The)6.711 E F2<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)
+(get all remembered locations.)-.18 F(The)6.712 E F2<ad64>4.212 E F0
+.833(option causes the shell to for)144 650.4 R .833
+(get the remembered location of each)-.18 F F1(name)3.333 E F0 5.833(.I)
+C 3.333(ft)-5.833 G(he)-3.333 E F2<ad74>3.333 E F0 .833(option is sup-)
+3.333 F .703(plied, the full pathname to which each)144 662.4 R F1(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
+F1(name)3.204 E F0(ar)3.204 E(guments)-.18 E .795(are supplied with)144
+674.4 R F2<ad74>3.295 E F0 3.295(,t)C(he)-3.295 E F1(name)3.295 E F0
+.795(is printed before the hashed full pathname.)3.295 F(The)5.795 E F2
<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
+686.4 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 698.4 Q F2<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
+.321(The return status is true)5.321 F(unless a)144 710.4 Q F1(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)180 669.6 Q F2
-(pattern)2.5 E F1<ad6d>144 681.6 Q F0(Display the description of each)
-180 681.6 Q 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 693.6 Q F0
-(Display only a short usage synopsis for each)180 693.6 Q F2(pattern)2.5
-E F0(The return status is 0 unless no command matches)144 710.4 Q F2
-(pattern)2.5 E F0(.).24 E(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E
-(64)193.45 E 0 Cg EP
+.25 E(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(64)194.555 E 0 Cg EP
%%Page: 65 65
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0
-SF(history [)108 84 Q/F2 10/Times-Italic@0 SF(n)A F1(])A(history \255c)
-108 96 Q(history \255d)108 108 Q F2(of)2.5 E(fset)-.18 E F1
-(history \255d)108 120 Q F2(start)2.5 E F0<ad>A F2(end)A F1
-(history \255anrw)108 132 Q F0([)2.5 E F2(\214lename)A F0(])A F1
-(history \255p)108 144 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 156 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 168 S .752
+SF(help)108 84 Q F0([)2.5 E F1(\255dms)A F0 2.5(][)C/F2 10
+/Times-Italic@0 SF(pattern)-2.5 E F0(])A .866
+(Display helpful information about b)144 96 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 108 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 120 Q F1
+<ad64>144 132 Q F0(Display a short description of each)180 132 Q F2
+(pattern)2.5 E F1<ad6d>144 144 Q F0(Display the description of each)180
+144 Q 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 156 Q F0(Display only a short usage synopsis for each)180
+156 Q F2(pattern)2.5 E F0
+(The return status is 0 unless no command matches)144 172.8 Q F2
+(pattern)2.5 E F0(.).24 E F1(history [)108 189.6 Q F2(n)A F1(])A
+(history \255c)108 201.6 Q(history \255d)108 213.6 Q F2(of)2.5 E(fset)
+-.18 E F1(history \255d)108 225.6 Q F2(start)2.5 E F0<ad>A F2(end)A F1
+(history \255anrw)108 237.6 Q F0([)2.5 E F2(\214lename)A F0(])A F1
+(history \255p)108 249.6 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 261.6 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
+273.6 S .752
(th no options, display the command history list with line numbers.).4 F
.752(Lines listed with a)5.752 F F1(*)3.252 E F0(ha)3.252 E -.15(ve)-.2
-G .381(been modi\214ed.)144 180 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
+G .381(been modi\214ed.)144 285.6 R .38(An ar)5.38 F .38(gument of)-.18
+F F2(n)3.24 E F0 .38(lists only the last)3.12 F F2(n)3.24 E F0 2.88
(lines. If)3.12 F .38(the shell v)2.88 F(ariable)-.25 E/F3 9
-/Times-Bold@0 SF(HISTTIMEFOR-)2.88 E(MA)144 192 Q(T)-.855 E F0 .264
+/Times-Bold@0 SF(HISTTIMEFOR-)2.88 E(MA)144 297.6 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 204 R 6.019(.N)-.65 G
+(ciated with each displayed history entry)144 309.6 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 216 R(If)5.176 E F2(\214lename)
+(time stamp and the history line.)144 321.6 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 228 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 240 Q F0
-(Clear the history list by deleting all the entries.)180 240 Q F1<ad64>
-144 252 Q F2(of)2.5 E(fset)-.18 E F0 .39
-(Delete the history entry at position)180 264 R F2(of)2.889 E(fset)-.18
-E F0 5.389(.I)C(f)-5.389 E F2(of)2.889 E(fset)-.18 E F0 .389(is ne)2.889
-F -.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G 2.889(,i).15 G 2.889(ti)-2.889
-G 2.889(si)-2.889 G .389(nterpreted as relati)-2.889 F -.15(ve)-.25 G
-.598(to one greater than the last history position, so ne)180 276 R -.05
-(ga)-.15 G(ti).05 E .899 -.15(ve i)-.25 H .599
-(ndices count back from the end).15 F(of the history)180 288 Q 2.5(,a)
+(not, the v)144 333.6 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 345.6 Q F0
+(Clear the history list by deleting all the entries.)180 345.6 Q F1
+<ad64>144 357.6 Q F2(of)2.5 E(fset)-.18 E F0 .39
+(Delete the history entry at position)180 369.6 R F2(of)2.889 E(fset)
+-.18 E F0 5.389(.I)C(f)-5.389 E F2(of)2.889 E(fset)-.18 E F0 .389(is ne)
+2.889 F -.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G 2.889(,i).15 G 2.889(ti)
+-2.889 G 2.889(si)-2.889 G .389(nterpreted as relati)-2.889 F -.15(ve)
+-.25 G .598(to one greater than the last history position, so ne)180
+381.6 R -.05(ga)-.15 G(ti).05 E .899 -.15(ve i)-.25 H .599
+(ndices count back from the end).15 F(of the history)180 393.6 Q 2.5(,a)
-.65 G(nd an inde)-2.5 E 2.5(xo)-.15 G 2.5<66ad>-2.5 G 2.5(1r)-2.5 G
(efers to the current)-2.5 E F1(history -d)2.5 E F0(command.)2.5 E F1
-<ad64>144 300 Q F2(start)2.5 E F0<ad>A F2(end)A F0 .758
-(Delete the history entries between positions)180 312 R F2(start)3.258 E
-F0(and)3.257 E F2(end)3.257 E F0 3.257(,i)C(nclusi)-3.257 E -.15(ve)-.25
-G 5.757(.P).15 G(ositi)-5.757 E 1.057 -.15(ve a)-.25 H .757(nd ne).15 F
--.05(ga)-.15 G(-).05 E(ti)180 324 Q .3 -.15(ve v)-.25 H(alues for)-.1 E
-F2(start)2.5 E F0(and)2.5 E F2(end)2.5 E F0
+<ad64>144 405.6 Q F2(start)2.5 E F0<ad>A F2(end)A F0 .758
+(Delete the history entries between positions)180 417.6 R F2(start)3.258
+E F0(and)3.257 E F2(end)3.257 E F0 3.257(,i)C(nclusi)-3.257 E -.15(ve)
+-.25 G 5.757(.P).15 G(ositi)-5.757 E 1.057 -.15(ve a)-.25 H .757(nd ne)
+.15 F -.05(ga)-.15 G(-).05 E(ti)180 429.6 Q .3 -.15(ve v)-.25 H
+(alues for)-.1 E F2(start)2.5 E F0(and)2.5 E F2(end)2.5 E F0
(are interpreted as described abo)2.5 E -.15(ve)-.15 G(.).15 E F1<ad61>
-144 336 Q F0 .564(Append the `)180 336 R(`ne)-.74 E(w')-.25 E 3.064('h)
--.74 G .564(istory lines to the history \214le.)-3.064 F .565
-(These are history lines entered since)5.564 F(the be)180 348 Q
+144 441.6 Q F0 .564(Append the `)180 441.6 R(`ne)-.74 E(w')-.25 E 3.064
+('h)-.74 G .564(istory lines to the history \214le.)-3.064 F .565
+(These are history lines entered since)5.564 F(the be)180 453.6 Q
(ginning of the current)-.15 E F1(bash)2.5 E F0(session, b)2.5 E
-(ut not already appended to the history \214le.)-.2 E F1<ad6e>144 360 Q
-F0 .854(Read the history lines not already read from the history \214le\
- into the current history list.)180 360 R .772
-(These are lines appended to the history \214le since the be)180 372 R
+(ut not already appended to the history \214le.)-.2 E F1<ad6e>144 465.6
+Q F0 .854(Read the history lines not already read from the history \214\
+le into the current history list.)180 465.6 R .772
+(These are lines appended to the history \214le since the be)180 477.6 R
.773(ginning of the current)-.15 F F1(bash)3.273 E F0(ses-)3.273 E
-(sion.)180 384 Q F1<ad72>144 396 Q F0(Read the contents of the history \
-\214le and append them to the current history list.)180 396 Q F1<ad77>
-144 408 Q F0(Write the current history list to the history \214le, o)180
-408 Q -.15(ve)-.15 G(rwriting the history \214le').15 E 2.5(sc)-.55 G
-(ontents.)-2.5 E F1<ad70>144 420 Q F0 .626
-(Perform history substitution on the follo)180 420 R(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 432 R .475
+(sion.)180 489.6 Q F1<ad72>144 501.6 Q F0(Read the contents of the hist\
+ory \214le and append them to the current history list.)180 501.6 Q F1
+<ad77>144 513.6 Q F0
+(Write the current history list to the history \214le, o)180 513.6 Q
+-.15(ve)-.15 G(rwriting the history \214le').15 E 2.5(sc)-.55 G
+(ontents.)-2.5 E F1<ad70>144 525.6 Q F0 .626
+(Perform history substitution on the follo)180 525.6 R(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 537.6 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 444 Q(xpansion.)-.15 E F1<ad73>144 456 Q F0 .363
-(Store the)180 456 R F2(ar)3.193 E(gs)-.37 E F0 .363
+(normal history e)180 549.6 Q(xpansion.)-.15 E F1<ad73>144 561.6 Q F0
+.363(Store the)180 561.6 R 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 468 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 484.8 R F3(HISTTIMEFORMA)2.645 E(T)
+(he last command in the history list is)-5.363 F(remo)180 573.6 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 590.4 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 496.8 R .669
+.25 F .669(entry is written to the history \214le, mark)144 602.4 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 508.8 R .956
+(hen the history)-5.668 F .955(\214le is read, lines be)144 614.4 R .956
(ginning with the history comment character follo)-.15 F .956
(wed immediately by a digit)-.25 F 1.796
-(are interpreted as timestamps for the follo)144 520.8 R 1.795
+(are interpreted as timestamps for the follo)144 626.4 R 1.795
(wing history entry)-.25 F 6.795(.T)-.65 G 1.795(he return v)-6.795 F
-1.795(alue is 0 unless an)-.25 F(in)144 532.8 Q -.25(va)-.4 G .768(lid \
+1.795(alue is 0 unless an)-.25 F(in)144 638.4 Q -.25(va)-.4 G .768(lid \
option is encountered, an error occurs while reading or writing the his\
-tory \214le, an in).25 F -.25(va)-.4 G(lid).25 E F2(of)144 544.8 Q(fset)
+tory \214le, an in).25 F -.25(va)-.4 G(lid).25 E F2(of)144 650.4 Q(fset)
-.18 E F0 1.032(is supplied as an ar)3.532 F 1.031(gument to)-.18 F F1
<ad64>3.531 E F0 3.531(,o)C 3.531(rt)-3.531 G 1.031(he history e)-3.531
F 1.031(xpansion supplied as an ar)-.15 F 1.031(gument to)-.18 F F1
-<ad70>3.531 E F0 -.1(fa)144 556.8 S(ils.).1 E F1(jobs)108 573.6 Q F0([)
+<ad70>3.531 E F0 -.1(fa)144 662.4 S(ils.).1 E F1(jobs)108 679.2 Q F0([)
2.5 E F1(\255lnprs)A F0 2.5(][)C F2(jobspec)A F0(... ])2.5 E F1
-(jobs \255x)108 585.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 597.6 Q .3 -.15
+(jobs \255x)108 691.2 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 703.2 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 609.6 Q F0
-(List process IDs in addition to the normal information.)180 609.6 Q F1
-<ad6e>144 621.6 Q F0 .193(Display information only about jobs that ha)
-180 621.6 R .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 633.6 Q F1<ad70>
-144 645.6 Q F0(List only the process ID of the job')180 645.6 Q 2.5(sp)
--.55 G(rocess group leader)-2.5 E(.)-.55 E F1<ad72>144 657.6 Q F0
-(Display only running jobs.)180 657.6 Q F1<ad73>144 669.6 Q F0
-(Display only stopped jobs.)180 669.6 Q(If)144 686.4 Q F2(jobspec)4.554
-E F0 .314(is gi)3.124 F -.15(ve)-.25 G .314
-(n, output is restricted to information about that job).15 F 5.313(.T)
--.4 G .313(he return status is 0 unless)-5.313 F(an in)144 698.4 Q -.25
-(va)-.4 G(lid option is encountered or an in).25 E -.25(va)-.4 G(lid).25
-E F2(jobspec)4.24 E F0(is supplied.)2.81 E .394(If the)144 715.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 .395
-(with the corre-)3.164 F(sponding process group ID, and e)144 727.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
-(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(65)193.45 E 0 Cg EP
+(he follo).15 E(wing meanings:)-.25 E F1<ad6c>144 715.2 Q F0
+(List process IDs in addition to the normal information.)180 715.2 Q
+(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(65)194.555 E 0 Cg EP
%%Page: 66 66
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0
-SF(kill)108 84 Q F0([)2.5 E F1<ad73>A/F2 10/Times-Italic@0 SF(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 96 Q F0(|)A F1<ad4c>A F0([)2.5 E F2
-(sigspec)A F0(|)2.5 E F2 -.2(ex)2.5 G(it_status).2 E F0(])A .12
-(Send the signal named by)144 108 R F2(sigspec)2.96 E F0(or)2.93 E F2
+SF<ad6e>144 84 Q F0 .193(Display information only about jobs that ha)180
+84 R .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 96 Q F1<ad70>144 108 Q
+F0(List only the process ID of the job')180 108 Q 2.5(sp)-.55 G
+(rocess group leader)-2.5 E(.)-.55 E F1<ad72>144 120 Q F0
+(Display only running jobs.)180 120 Q F1<ad73>144 132 Q F0
+(Display only stopped jobs.)180 132 Q(If)144 148.8 Q/F2 10
+/Times-Italic@0 SF(jobspec)4.554 E F0 .314(is gi)3.124 F -.15(ve)-.25 G
+.314(n, output is restricted to information about that job).15 F 5.313
+(.T)-.4 G .313(he return status is 0 unless)-5.313 F(an in)144 160.8 Q
+-.25(va)-.4 G(lid option is encountered or an in).25 E -.25(va)-.4 G
+(lid).25 E F2(jobspec)4.24 E F0(is supplied.)2.81 E .394(If the)144
+177.6 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 .395(with the corre-)3.164 F(sponding process group ID, and e)144
+189.6 Q -.15(xe)-.15 G(cutes).15 E F2(command)2.7 E F0(passing it)3.27 E
+F2(ar)2.5 E(gs)-.37 E F0 2.5(,r).27 G(eturning its e)-2.5 E(xit status.)
+-.15 E F1(kill)108 206.4 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 218.4 Q F0(|)A F1<ad4c>A F0([)2.5 E F2(sigspec)
+A F0(|)2.5 E F2 -.2(ex)2.5 G(it_status).2 E F0(])A .12
+(Send the signal named by)144 230.4 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 120 R .618 -.15(ve s)-.25 H
+2.929 E .318(either a case-insensiti)144 242.4 R .618 -.15(ve s)-.25 H
.318(ignal name such as).15 F/F3 9/Times-Bold@0 SF(SIGKILL)2.818 E F0
.319(\(with or without the)2.569 F F3(SIG)2.819 E F0 .319
-(pre\214x\) or a signal)2.569 F(number;)144 132 Q F2(signum)4.189 E F0
+(pre\214x\) or a signal)2.569 F(number;)144 254.4 Q F2(signum)4.189 E F0
1.349(is a signal number)4.169 F 6.349(.I)-.55 G(f)-6.349 E F2(sigspec)
4.189 E F0 1.349(is not present, then)4.159 F F3(SIGTERM)3.849 E F0
-1.348(is assumed.)3.599 F(An)6.348 E(ar)144 144 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 .28(of the signals corresponding to the ar)144 156 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 168 Q .377(gument to)-.18 F F1
-<ad6c>2.877 E F0 .378
+1.348(is assumed.)3.599 F(An)6.348 E(ar)144 266.4 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 .28(of the signals corresponding to the ar)144 278.4
+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 290.4 Q .377(gument to)-.18 F
+F1<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 .963(nated by a signal.)144 180 R
-(The)5.962 E F1<ad4c>3.462 E F0 .962(option is equi)3.462 F -.25(va)-.25
-G .962(lent to).25 F F1<ad6c>3.462 E F0(.)A F1(kill)5.962 E F0 .962
+(xit status of a process termi-)-.15 F .963(nated by a signal.)144 302.4
+R(The)5.962 E F1<ad4c>3.462 E F0 .962(option is equi)3.462 F -.25(va)
+-.25 G .962(lent to).25 F F1<ad6c>3.462 E F0(.)A F1(kill)5.962 E F0 .962
(returns true if at least one signal w)3.462 F(as)-.1 E
-(successfully sent, or f)144 192 Q(alse if an error occurs or an in)-.1
-E -.25(va)-.4 G(lid option is encountered.).25 E F1(let)108 208.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
-220.8 Q F2(ar)3.026 E(g)-.37 E F0 .196(is an arithmetic e)2.916 F .197
+(successfully sent, or f)144 314.4 Q(alse if an error occurs or an in)
+-.1 E -.25(va)-.4 G(lid option is encountered.).25 E F1(let)108 331.2 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
+343.2 Q F2(ar)3.026 E(g)-.37 E F0 .196(is an arithmetic e)2.916 F .197
(xpression to be e)-.15 F -.25(va)-.25 G .197(luated \(see).25 F F3 .197
(ARITHMETIC EV)2.697 F(ALU)-1.215 E -.855(AT)-.54 G(ION).855 E F0(abo)
-2.447 E -.15(ve)-.15 G 2.697(\). If).15 F(the last)144 232.8 Q F2(ar)
+2.447 E -.15(ve)-.15 G 2.697(\). If).15 F(the last)144 355.2 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 249.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
-(.. | \255 ])-2.5 E -.15(Fo)144 261.6 S 2.56(re).15 G .06(ach ar)-2.56 F
+(returns 1; 0 is returned otherwise.)2.5 E F1(local)108 372 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
+(.. | \255 ])-2.5 E -.15(Fo)144 384 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 273.6 Q 3.152(yo)
--.15 G 3.152(ft)-3.152 G .652(he options accepted by)-3.152 F F1(declar)
-3.152 E(e)-.18 E F0 5.652(.W)C(hen)-5.652 E F1(local)3.152 E F0 .653
+-5.06 E F2(option)2.56 E F0 .06(can be)2.56 F(an)144 396 Q 3.152(yo)-.15
+G 3.152(ft)-3.152 G .652(he options accepted by)-3.152 F F1(declar)3.152
+E(e)-.18 E F0 5.652(.W)C(hen)-5.652 E F1(local)3.152 E F0 .653
(is used within a function, it causes the v)3.152 F(ari-)-.25 E(able)144
-285.6 Q F2(name)3.282 E F0 .422(to ha)3.102 F .722 -.15(ve a v)-.2 H
-.422(isible scope restricted to that function and its children.).15 F
-(If)5.421 E F2(name)2.921 E F0 .421(is \255, the set)2.921 F 1.461
-(of shell options is made local to the function in which)144 297.6 R F1
+408 Q F2(name)3.282 E F0 .422(to ha)3.102 F .722 -.15(ve a v)-.2 H .422
+(isible scope restricted to that function and its children.).15 F(If)
+5.421 E F2(name)2.921 E F0 .421(is \255, the set)2.921 F 1.461
+(of shell options is made local to the function in which)144 420 R F1
(local)3.961 E F0 1.462(is in)3.961 F -.2(vo)-.4 G -.1(ke).2 G 1.462
-(d: shell options changed).1 F 1.563(using the)144 309.6 R F1(set)4.063
-E F0 -.2(bu)4.063 G 1.563
+(d: shell options changed).1 F 1.563(using the)144 432 R F1(set)4.063 E
+F0 -.2(bu)4.063 G 1.563
(iltin inside the function are restored to their original v).2 F 1.562
-(alues when the function)-.25 F 3.743(returns. W)144 321.6 R 1.243
+(alues when the function)-.25 F 3.743(returns. W)144 444 R 1.243
(ith no operands,)-.4 F F1(local)3.743 E F0 1.243
(writes a list of local v)3.743 F 1.244
(ariables to the standard output.)-.25 F 1.244(It is an)6.244 F .42
-(error to use)144 333.6 R F1(local)2.92 E F0 .42
+(error to use)144 456 R F1(local)2.92 E F0 .42
(when not within a function.)2.92 F .42(The return status is 0 unless)
5.42 F F1(local)2.92 E F0 .42(is used outside a)2.92 F(function, an in)
-144 345.6 Q -.25(va)-.4 G(lid).25 E F2(name)2.86 E F0(is supplied, or)
-2.68 E F2(name)2.5 E F0(is a readonly v)2.5 E(ariable.)-.25 E F1(logout)
-108 362.4 Q F0(Exit a login shell.)144 362.4 Q F1(map\214le)108 379.2 Q
-F0([)2.5 E F1<ad64>A F2(delim)2.5 E F0 2.5(][)C F1<ad6e>-2.5 E F2(count)
+144 468 Q -.25(va)-.4 G(lid).25 E F2(name)2.86 E F0(is supplied, or)2.68
+E F2(name)2.5 E F0(is a readonly v)2.5 E(ariable.)-.25 E F1(logout)108
+484.8 Q F0(Exit a login shell.)144 484.8 Q F1(map\214le)108 501.6 Q F0
+([)2.5 E F1<ad64>A F2(delim)2.5 E F0 2.5(][)C F1<ad6e>-2.5 E 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 F1 -.18(re)108 391.2 S(adarray).18 E F0([)2.5 E F1
+(ay)-.15 E F0(])A F1 -.18(re)108 513.6 S(adarray).18 E F0([)2.5 E F1
<ad64>A F2(delim)2.5 E F0 2.5(][)C F1<ad6e>-2.5 E 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 .179(Read lines from the standard input into the inde)144 403.2 R
+(])A .179(Read lines from the standard input into the inde)144 525.6 R
-.15(xe)-.15 G 2.679(da).15 G .179(rray v)-2.679 F(ariable)-.25 E F2
(arr)2.68 E(ay)-.15 E F0 2.68(,o).32 G 2.68(rf)-2.68 G .18
-(rom \214le descriptor)-2.68 F F2(fd)4.65 E F0 1.249(if the)144 415.2 R
+(rom \214le descriptor)-2.68 F F2(fd)4.65 E F0 1.249(if the)144 537.6 R
F1<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 F2(arr)3.748 E(ay)-.15 E F0 6.248(.O)C 1.248(ptions, if supplied,)
--6.248 F(ha)144 427.2 Q .3 -.15(ve t)-.2 H(he follo).15 E
-(wing meanings:)-.25 E F1<ad64>144 439.2 Q F0 .91
-(The \214rst character of)180 439.2 R F2(delim)3.41 E F0 .911
+-6.248 F(ha)144 549.6 Q .3 -.15(ve t)-.2 H(he follo).15 E
+(wing meanings:)-.25 E F1<ad64>144 561.6 Q F0 .91
+(The \214rst character of)180 561.6 R F2(delim)3.41 E F0 .911
(is used to terminate each input line, rather than ne)3.41 F 3.411
-(wline. If)-.25 F F2(delim)180 451.2 Q F0(is the empty string,)2.5 E F1
+(wline. If)-.25 F F2(delim)180 573.6 Q F0(is the empty string,)2.5 E F1
(map\214le)2.5 E F0(will terminate a line when it reads a NUL character)
-2.5 E(.)-.55 E F1<ad6e>144 463.2 Q F0(Cop)180 463.2 Q 2.5(ya)-.1 G 2.5
+2.5 E(.)-.55 E F1<ad6e>144 585.6 Q F0(Cop)180 585.6 Q 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 475.2 Q F0(Be)180
-475.2 Q(gin assigning to)-.15 E F2(arr)2.83 E(ay)-.15 E F0(at inde)2.82
+2.5 E F0(is 0, all lines are copied.)2.5 E F1<ad4f>144 597.6 Q F0(Be)180
+597.6 Q(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 487.2 Q F0
-(Discard the \214rst)180 487.2 Q F2(count)2.5 E F0(lines read.)2.5 E F1
-<ad74>144 499.2 Q F0(Remo)180 499.2 Q .3 -.15(ve a t)-.15 H(railing).15
+(xi)-.15 G 2.5(s0)-2.5 G(.)-2.5 E F1<ad73>144 609.6 Q F0
+(Discard the \214rst)180 609.6 Q F2(count)2.5 E F0(lines read.)2.5 E F1
+<ad74>144 621.6 Q F0(Remo)180 621.6 Q .3 -.15(ve a t)-.15 H(railing).15
E F2(delim)2.5 E F0(\(def)2.5 E(ault ne)-.1 E
-(wline\) from each line read.)-.25 E F1<ad75>144 511.2 Q F0
-(Read lines from \214le descriptor)180 511.2 Q F2(fd)2.5 E F0
-(instead of the standard input.)2.5 E F1<ad43>144 523.2 Q F0(Ev)180
-523.2 Q(aluate)-.25 E F2(callbac)2.7 E(k)-.2 E F0(each time)3.17 E F2
+(wline\) from each line read.)-.25 E F1<ad75>144 633.6 Q F0
+(Read lines from \214le descriptor)180 633.6 Q F2(fd)2.5 E F0
+(instead of the standard input.)2.5 E F1<ad43>144 645.6 Q F0(Ev)180
+645.6 Q(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 535.2
-Q F0(Specify the number of lines read between each call to)180 535.2 Q
-F2(callbac)2.5 E(k)-.2 E F0(.).67 E(If)144 552 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
+(option speci\214es)2.5 E F2(quantum)2.5 E F0(.).32 E F1<ad63>144 657.6
+Q F0(Specify the number of lines read between each call to)180 657.6 Q
+F2(callbac)2.5 E(k)-.2 E F0(.).67 E(If)144 674.4 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 .261(plied the inde)144 564 R 2.761(xo)-.15 G
-2.761(ft)-2.761 G .261(he ne)-2.761 F .262(xt array element to be assig\
-ned and the line to be assigned to that element)-.15 F .275
-(as additional ar)144 576 R(guments.)-.18 E F2(callbac)5.275 E(k)-.2 E
+(luated, it is sup-).25 F .261(plied the inde)144 686.4 R 2.761(xo)-.15
+G 2.761(ft)-2.761 G .261(he ne)-2.761 F .262(xt array element to be ass\
+igned and the line to be assigned to that element)-.15 F .275
+(as additional ar)144 698.4 R(guments.)-.18 E F2(callbac)5.275 E(k)-.2 E
F0 .275(is e)2.775 F -.25(va)-.25 G .274
(luated after the line is read b).25 F .274
-(ut before the array element is)-.2 F(assigned.)144 588 Q
-(If not supplied with an e)144 604.8 Q(xplicit origin,)-.15 E F1
+(ut before the array element is)-.2 F(assigned.)144 710.4 Q
+(If not supplied with an e)144 727.2 Q(xplicit origin,)-.15 E F1
(map\214le)2.5 E F0(will clear)2.5 E F2(arr)2.5 E(ay)-.15 E F0
-(before assigning to it.)2.5 E F1(map\214le)144 621.6 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 633.6 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 650.4 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 662.4 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
-674.4 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 686.4 Q F1<ad6e>144 698.4 Q F0 .551
-(Suppresses the normal change of directory when remo)180 698.4 R .551
-(ving directories from the stack, so)-.15 F
-(that only the stack is manipulated.)180 710.4 Q(GNU Bash 5.0)72 768 Q
-(2018 March 15)144.29 E(66)193.45 E 0 Cg EP
+(before assigning to it.)2.5 E(GNU Bash 5.0)72 768 Q(2018 August 7)
+145.395 E(66)194.555 E 0 Cg EP
%%Page: 67 67
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0
-SF(+)144 84 Q/F2 10/Times-Italic@0 SF(n)A F0(Remo)180 84 Q -.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 96
-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 108 Q F2(n)A F0(Remo)180
-108 Q -.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 120 R(or e)-.15 E(xample:)-.15 E F3(popd -0)2.5 E F0(remo)2.5 E -.15
-(ve)-.15 G 2.5(st).15 G(he last directory)-2.5 E(,)-.65 E F3(popd -1)2.5
-E F0(the ne)2.5 E(xt to last.)-.15 E .643(If the)144 136.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 148.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
+SF(map\214le)144 84 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 10/Times-Italic@0 SF(arr)4.406 E(ay)-.15
+E F0(is)4.406 E(in)144 96 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 112.8 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
+124.8 Q -.15(ve)-.15 G 2.8(se).15 G .3(ntries from the directory stack.)
+-2.8 F -.4(Wi)5.299 G .299(th no ar).4 F .299(guments, remo)-.18 F -.15
+(ve)-.15 G 2.799(st).15 G .299(he top directory from the)-2.799 F 1.478
+(stack, and performs a)144 136.8 R F1(cd)3.978 E F0 1.479(to the ne)
+3.978 F 3.979(wt)-.25 G 1.479(op directory)-3.979 F 6.479(.A)-.65 G -.18
+(rg)-6.479 G 1.479(uments, if supplied, ha).18 F 1.779 -.15(ve t)-.2 H
+1.479(he follo).15 F(wing)-.25 E(meanings:)144 148.8 Q F1<ad6e>144 160.8
+Q F0 .551(Suppresses the normal change of directory when remo)180 160.8
+R .551(ving directories from the stack, so)-.15 F
+(that only the stack is manipulated.)180 172.8 Q F1(+)144 184.8 Q F2(n)A
+F0(Remo)180 184.8 Q -.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
+196.8 S 2.5(re).15 G(xample:)-2.65 E/F3 10/Courier@0 SF(popd +0)2.5 E F0
+(remo)2.5 E -.15(ve)-.15 G 2.5(st).15 G(he \214rst directory)-2.5 E(,)
+-.65 E F3(popd +1)2.5 E F0(the second.)2.5 E F1<ad>144 208.8 Q F2(n)A F0
+(Remo)180 208.8 Q -.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 220.8 R(or e)-.15 E(xample:)-.15 E F3(popd -0)2.5 E F0
+(remo)2.5 E -.15(ve)-.15 G 2.5(st).15 G(he last directory)-2.5 E(,)-.65
+E F3(popd -1)2.5 E F0(the ne)2.5 E(xt to last.)-.15 E .643(If the)144
+237.6 R F1(popd)3.143 E F0 .643(command is successful, a)3.143 F F1
+(dirs)3.143 E F0 .644(is performed as well, and the return status is 0.)
+3.143 F F1(popd)5.644 E F0 .416(returns f)144 249.6 R .416
+(alse if an in)-.1 F -.25(va)-.4 G .415
+(lid option is encountered, the directory stack is empty).25 F 2.915
(,an)-.65 G(on-e)-2.915 E .415(xistent direc-)-.15 F
-(tory stack entry is speci\214ed, or the directory change f)144 160.8 Q
-(ails.)-.1 E F1(printf)108 177.6 Q F0([)2.5 E F1<ad76>A F2(var)2.5 E F0
+(tory stack entry is speci\214ed, or the directory change f)144 261.6 Q
+(ails.)-.1 E F1(printf)108 278.4 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 189.6 R F2(ar)3.936 E(guments)-.37 E F0 1.437
+(Write the formatted)144 290.4 R F2(ar)3.936 E(guments)-.37 E F0 1.437
(to the standard output under the control of the)3.936 F F2(format)3.937
E F0 6.437(.T)C(he)-6.437 E F1<ad76>3.937 E F0 .126
-(option causes the output to be assigned to the v)144 201.6 R(ariable)
+(option causes the output to be assigned to the v)144 302.4 R(ariable)
-.25 E F2(var)2.626 E F0 .126(rather than being printed to the standard)
-2.626 F(output.)144 213.6 Q(The)144 237.6 Q F2(format)3.017 E F0 .517(i\
+2.626 F(output.)144 314.4 Q(The)144 338.4 Q F2(format)3.017 E F0 .517(i\
s a character string which contains three types of objects: plain chara\
cters, which are)3.017 F .704(simply copied to standard output, charact\
-er escape sequences, which are con)144 249.6 R -.15(ve)-.4 G .703
+er escape sequences, which are con)144 350.4 R -.15(ve)-.4 G .703
(rted and copied to).15 F .036(the standard output, and format speci\
-\214cations, each of which causes printing of the ne)144 261.6 R .037
-(xt successi)-.15 F -.15(ve)-.25 G F2(ar)144 273.6 Q(gument)-.37 E F0
+\214cations, each of which causes printing of the ne)144 362.4 R .037
+(xt successi)-.15 F -.15(ve)-.25 G F2(ar)144 374.4 Q(gument)-.37 E F0
5.532(.I)C 3.032(na)-5.532 G .532(ddition to the standard)-3.032 F F2
(printf)3.032 E F0 .532(\(1\) format speci\214cations,)B F1(printf)3.031
-E F0 .531(interprets the follo)3.031 F(w-)-.25 E(ing e)144 285.6 Q
-(xtensions:)-.15 E F1(%b)144 297.6 Q F0(causes)180 297.6 Q F1(printf)
+E F0 .531(interprets the follo)3.031 F(w-)-.25 E(ing e)144 386.4 Q
+(xtensions:)-.15 E F1(%b)144 398.4 Q F0(causes)180 398.4 Q F1(printf)
2.595 E F0 .096(to e)2.595 F .096
(xpand backslash escape sequences in the corresponding)-.15 F F2(ar)
-2.596 E(gument)-.37 E F0 .096(in the)2.596 F(same w)180 309.6 Q(ay as)
--.1 E F1(echo \255e)2.5 E F0(.)A F1(%q)144 321.6 Q F0(causes)180 321.6 Q
+2.596 E(gument)-.37 E F0 .096(in the)2.596 F(same w)180 410.4 Q(ay as)
+-.1 E F1(echo \255e)2.5 E F0(.)A F1(%q)144 422.4 Q F0(causes)180 422.4 Q
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 333.6 Q F1(%\()144 345.6 Q F2(datefmt)A F1(\)T)A F0(causes)
-180 357.6 Q F1(printf)4.403 E F0 1.904
+(input.)180 434.4 Q F1(%\()144 446.4 Q F2(datefmt)A F1(\)T)A F0(causes)
+180 458.4 Q F1(printf)4.403 E F0 1.904
(to output the date-time string resulting from using)4.403 F F2(datefmt)
-4.404 E F0 1.904(as a format)4.404 F .381(string for)180 369.6 R F2
+4.404 E F0 1.904(as a format)4.404 F .381(string for)180 470.4 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 .292(of seconds since the epoch.)180
-381.6 R -1 -.8(Tw o)5.293 H .293(special ar)3.593 F .293(gument v)-.18 F
+482.4 R -1 -.8(Tw o)5.293 H .293(special ar)3.593 F .293(gument v)-.18 F
.293(alues may be used: \2551 represents the)-.25 F .694
-(current time, and \2552 represents the time the shell w)180 393.6 R
+(current time, and \2552 represents the time the shell w)180 494.4 R
.693(as in)-.1 F -.2(vo)-.4 G -.1(ke).2 G 3.193(d. If).1 F .693(no ar)
-3.193 F .693(gument is speci-)-.18 F .21(\214ed, con)180 405.6 R -.15
+3.193 F .693(gument is speci-)-.18 F .21(\214ed, con)180 506.4 R -.15
(ve)-.4 G .21(rsion beha).15 F -.15(ve)-.2 G 2.71(sa).15 G 2.71(si)-2.71
G 2.71<66ad>-2.71 G 2.71(1h)-2.71 G .21(ad been gi)-2.71 F -.15(ve)-.25
G 2.71(n. This).15 F .21(is an e)2.71 F .21(xception to the usual)-.15 F
-F1(printf)2.71 E F0(beha)180 417.6 Q(vior)-.2 E(.)-.55 E(Ar)144 434.4 Q
+F1(printf)2.71 E F0(beha)180 518.4 Q(vior)-.2 E(.)-.55 E(Ar)144 535.2 Q
.464(guments to non-string format speci\214ers are treated as C constan\
ts, e)-.18 F .463(xcept that a leading plus or)-.15 F 1.258
-(minus sign is allo)144 446.4 R 1.259
+(minus sign is allo)144 547.2 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 458.4 Q(alue of the follo)
--.25 E(wing character)-.25 E(.)-.55 E(The)144 475.2 Q F2(format)3.424 E
-F0 .923(is reused as necessary to consume all of the)3.424 F F2(ar)3.423
-E(guments)-.37 E F0 5.923(.I)C 3.423(ft)-5.923 G(he)-3.423 E F2(format)
-3.423 E F0 .923(requires more)3.423 F F2(ar)144 487.2 Q(guments)-.37 E
-F0 .033(than are supplied, the e)2.533 F .033
+-.25 F 1.259(alue is the)-.25 F(ASCII v)144 559.2 Q(alue of the follo)
+-.25 E(wing character)-.25 E(.)-.55 E(The)144 576 Q F2(format)3.424 E F0
+.923(is reused as necessary to consume all of the)3.424 F F2(ar)3.423 E
+(guments)-.37 E F0 5.923(.I)C 3.423(ft)-5.923 G(he)-3.423 E F2(format)
+3.423 E F0 .923(requires more)3.423 F F2(ar)144 588 Q(guments)-.37 E F0
+.033(than are supplied, the e)2.533 F .033
(xtra format speci\214cations beha)-.15 F .333 -.15(ve a)-.2 H 2.533(si)
.15 G 2.533(faz)-2.533 G .033(ero v)-2.533 F .034(alue or null string,)
--.25 F(as appropriate, had been supplied.)144 499.2 Q(The return v)5 E
+-.25 F(as appropriate, had been supplied.)144 600 Q(The return v)5 E
(alue is zero on success, non-zero on f)-.25 E(ailure.)-.1 E F1(pushd)
-108 516 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 528 Q F0([)2.5 E F1<ad6e>A F0 2.5
-(][)C F2(dir)-2.5 E F0(])A .64(Adds a directory to the top of the direc\
-tory stack, or rotates the stack, making the ne)144 540 R 3.139(wt)-.25
-G .639(op of the)-3.139 F .416(stack the current w)144 552 R .416
+108 616.8 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 628.8 Q F0([)2.5 E F1<ad6e>A F0
+2.5(][)C F2(dir)-2.5 E F0(])A .64(Adds a directory to the top of the di\
+rectory stack, or rotates the stack, making the ne)144 640.8 R 3.139(wt)
+-.25 G .639(op of the)-3.139 F .416(stack the current w)144 652.8 R .416
(orking directory)-.1 F 5.416(.W)-.65 G .416(ith no ar)-5.816 F
(guments,)-.18 E F1(pushd)2.916 E F0 -.15(ex)2.916 G .416
(changes the top tw).15 F 2.917(od)-.1 G(irectories)-2.917 E 1.625
-(and returns 0, unless the directory stack is empty)144 564 R 6.625(.A)
--.65 G -.18(rg)-6.625 G 1.625(uments, if supplied, ha).18 F 1.925 -.15
-(ve t)-.2 H 1.625(he follo).15 F(wing)-.25 E(meanings:)144 576 Q F1
-<ad6e>144 588 Q F0 1.811(Suppresses the normal change of directory when\
- rotating or adding directories to the)180 588 R
-(stack, so that only the stack is manipulated.)180 600 Q F1(+)144 612 Q
-F2(n)A F0 1.268(Rotates the stack so that the)180 612 R F2(n)3.768 E F0
-1.267(th directory \(counting from the left of the list sho)B 1.267
-(wn by)-.25 F F1(dirs)180 624 Q F0 2.5(,s)C
-(tarting with zero\) is at the top.)-2.5 E F1<ad>144 636 Q F2(n)A F0 .92
-(Rotates the stack so that the)180 636 R F2(n)3.42 E F0 .92
+(and returns 0, unless the directory stack is empty)144 664.8 R 6.625
+(.A)-.65 G -.18(rg)-6.625 G 1.625(uments, if supplied, ha).18 F 1.925
+-.15(ve t)-.2 H 1.625(he follo).15 F(wing)-.25 E(meanings:)144 676.8 Q
+F1<ad6e>144 688.8 Q F0 1.811(Suppresses the normal change of directory \
+when rotating or adding directories to the)180 688.8 R
+(stack, so that only the stack is manipulated.)180 700.8 Q F1(+)144
+712.8 Q F2(n)A F0 1.268(Rotates the stack so that the)180 712.8 R F2(n)
+3.768 E F0 1.267(th directory \(counting from the left of the list sho)B
+1.267(wn by)-.25 F F1(dirs)180 724.8 Q F0 2.5(,s)C
+(tarting with zero\) is at the top.)-2.5 E(GNU Bash 5.0)72 768 Q
+(2018 August 7)145.395 E(67)194.555 E 0 Cg EP
+%%Page: 68 68
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
+(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0
+SF<ad>144 84 Q/F2 10/Times-Italic@0 SF(n)A F0 .92
+(Rotates the stack so that the)180 84 R 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 648 Q F0 2.5(,s)C(tarting with zero\) is at the top.)-2.5
-E F2(dir)144.35 660 Q F0(Adds)180 660 Q F2(dir)3.138 E F0 .288
+F F1(dirs)180 96 Q F0 2.5(,s)C(tarting with zero\) is at the top.)-2.5 E
+F2(dir)144.35 108 Q F0(Adds)180 108 Q F2(dir)3.138 E F0 .288
(to the directory stack at the top, making it the ne)3.518 F 2.787(wc)
-.25 G .287(urrent w)-2.787 F .287(orking directory as)-.1 F
-(if it had been supplied as the ar)180 672 Q(gument to the)-.18 E F1(cd)
-2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .488(If the)144 688.8 R F1(pushd)2.988
+(if it had been supplied as the ar)180 120 Q(gument to the)-.18 E F1(cd)
+2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .488(If the)144 136.8 R F1(pushd)2.988
E F0 .488(command is successful, a)2.988 F F1(dirs)2.988 E F0 .488
(is performed as well.)2.988 F .489(If the \214rst form is used,)5.488 F
-F1(pushd)2.989 E F0 1.04(returns 0 unless the cd to)144 700.8 R F2(dir)
+F1(pushd)2.989 E F0 1.04(returns 0 unless the cd to)144 148.8 R F2(dir)
3.89 E F0 -.1(fa)4.27 G 3.539(ils. W).1 F 1.039(ith the second form,)-.4
F F1(pushd)3.539 E F0 1.039(returns 0 unless the directory)3.539 F .846
-(stack is empty)144 712.8 R 3.346(,an)-.65 G(on-e)-3.346 E .847(xistent\
+(stack is empty)144 160.8 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 724.8 Q 2.5(wc)-.25 G(urrent directory f)-2.5
-E(ails.)-.1 E(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(67)193.45 E 0
-Cg EP
-%%Page: 68 68
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
-(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0
-SF(pwd)108 84 Q F0([)2.5 E F1(\255LP)A F0(])A .845
-(Print the absolute pathname of the current w)144 96 R .845
+-.15 F(speci\214ed ne)144 172.8 Q 2.5(wc)-.25 G(urrent directory f)-2.5
+E(ails.)-.1 E F1(pwd)108 189.6 Q F0([)2.5 E F1(\255LP)A F0(])A .845
+(Print the absolute pathname of the current w)144 201.6 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
-108 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 120 R(the)3.264 E F1<ad4c>3.264 E F0 .763
+213.6 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 225.6 R(the)3.264 E F1<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 132 R -.25(va)
--.4 G(lid).25 E(option is supplied.)144 144 Q F1 -.18(re)108 160.8 S(ad)
-.18 E F0([)3.817 E F1(\255ers)A F0 3.817(][)C F1<ad61>-3.817 E/F2 10
-/Times-Italic@0 SF(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 172.8 Q F2(name)A F0(...])2.5 E .516(One line is read from the s\
-tandard input, or from the \214le descriptor)144 184.8 R F2(fd)3.016 E
-F0 .516(supplied as an ar)3.016 F .517(gument to)-.18 F(the)144 196.8 Q
-F1<ad75>3.848 E F0 1.348(option, split into w)3.848 F 1.348
-(ords as described abo)-.1 F 1.647 -.15(ve u)-.15 H(nder).15 E F1 -.75
-(Wo)3.847 G 1.347(rd Splitting).75 F F0 3.847(,a)C 1.347
-(nd the \214rst w)-3.847 F 1.347(ord is)-.1 F 1.465
-(assigned to the \214rst)144 208.8 R F2(name)3.965 E F0 3.965(,t).18 G
+ reading the name of the current directory or an in)144 237.6 R -.25(va)
+-.4 G(lid).25 E(option is supplied.)144 249.6 Q F1 -.18(re)108 266.4 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 278.4 Q F2(name)A
+F0(...])2.5 E .516(One line is read from the standard input, or from th\
+e \214le descriptor)144 290.4 R F2(fd)3.016 E F0 .516(supplied as an ar)
+3.016 F .517(gument to)-.18 F(the)144 302.4 Q F1<ad75>3.848 E F0 1.348
+(option, split into w)3.848 F 1.348(ords as described abo)-.1 F 1.647
+-.15(ve u)-.15 H(nder).15 E F1 -.75(Wo)3.847 G 1.347(rd Splitting).75 F
+F0 3.847(,a)C 1.347(nd the \214rst w)-3.847 F 1.347(ord is)-.1 F 1.465
+(assigned to the \214rst)144 314.4 R F2(name)3.965 E F0 3.965(,t).18 G
1.465(he second w)-3.965 F 1.465(ord to the second)-.1 F F2(name)3.965 E
F0 3.965(,a).18 G 1.465(nd so on.)-3.965 F 1.465(If there are more)6.465
-F -.1(wo)144 220.8 S 1.112(rds than names, the remaining w).1 F 1.112
+F -.1(wo)144 326.4 S 1.112(rds than names, the remaining w).1 F 1.112
(ords and their interv)-.1 F 1.112
-(ening delimiters are assigned to the last)-.15 F F2(name)144 232.8 Q F0
+(ening delimiters are assigned to the last)-.15 F F2(name)144 338.4 Q F0
5.722(.I).18 G 3.222(ft)-5.722 G .722(here are fe)-3.222 F .722(wer w)
-.25 F .723
(ords read from the input stream than names, the remaining names are)-.1
-F .532(assigned empty v)144 244.8 R 3.032(alues. The)-.25 F .532
+F .532(assigned empty v)144 350.4 R 3.032(alues. The)-.25 F .532
(characters in)3.032 F/F3 9/Times-Bold@0 SF(IFS)3.032 E F0 .531
(are used to split the line into w)2.782 F .531(ords using the same)-.1
-F .197(rules the shell uses for e)144 256.8 R .197
+F .197(rules the shell uses for e)144 362.4 R .197
(xpansion \(described abo)-.15 F .497 -.15(ve u)-.15 H(nder).15 E F1
-.75(Wo)2.697 G .197(rd Splitting).75 F F0 2.697(\). The)B .197
-(backslash charac-)2.697 F .157(ter \()144 268.8 R F1(\\)A F0 2.657(\)m)
+(backslash charac-)2.697 F .157(ter \()144 374.4 R F1(\\)A F0 2.657(\)m)
C .157(ay be used to remo)-2.657 F .457 -.15(ve a)-.15 H .457 -.15(ny s)
.15 H .157(pecial meaning for the ne).15 F .156
(xt character read and for line continu-)-.15 F 2.5(ation. Options,)144
-280.8 R(if supplied, ha)2.5 E .3 -.15(ve t)-.2 H(he follo).15 E
-(wing meanings:)-.25 E F1<ad61>144 292.8 Q F2(aname)2.5 E F0 1.049
-(The w)180 304.8 R 1.049
+386.4 R(if supplied, ha)2.5 E .3 -.15(ve t)-.2 H(he follo).15 E
+(wing meanings:)-.25 E F1<ad61>144 398.4 Q F2(aname)2.5 E F0 1.049
+(The w)180 410.4 R 1.049
(ords are assigned to sequential indices of the array v)-.1 F(ariable)
-.25 E F2(aname)3.55 E F0 3.55(,s).18 G 1.05(tarting at 0.)-3.55 F F2
-(aname)180.33 316.8 Q F0(is unset before an)2.68 E 2.5(yn)-.15 G .5 -.25
+(aname)180.33 422.4 Q F0(is unset before an)2.68 E 2.5(yn)-.15 G .5 -.25
(ew va)-2.5 H(lues are assigned.).25 E(Other)5 E F2(name)2.5 E F0(ar)2.5
-E(guments are ignored.)-.18 E F1<ad64>144 328.8 Q F2(delim)2.5 E F0
-1.318(The \214rst character of)180 340.8 R F2(delim)3.818 E F0 1.317
+E(guments are ignored.)-.18 E F1<ad64>144 434.4 Q F2(delim)2.5 E F0
+1.318(The \214rst character of)180 446.4 R F2(delim)3.818 E F0 1.317
(is used to terminate the input line, rather than ne)3.818 F 3.817
-(wline. If)-.25 F F2(delim)180 352.8 Q F0(is the empty string,)2.5 E F1
+(wline. If)-.25 F F2(delim)180 458.4 Q F0(is the empty string,)2.5 E F1
-.18(re)2.5 G(ad).18 E F0
(will terminate a line when it reads a NUL character)2.5 E(.)-.55 E F1
-<ad65>144 364.8 Q F0 .372
-(If the standard input is coming from a terminal,)180 364.8 R F1 -.18
+<ad65>144 470.4 Q F0 .372
+(If the standard input is coming from a terminal,)180 470.4 R F1 -.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 376.8 R .218
+.218(to obtain the line.)180 482.4 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 388.8 Q -.15(ve)-.25 G 2.5(\)e).15 G(diting settings, b)-2.5 E
+(acti)180 494.4 Q -.15(ve)-.25 G 2.5(\)e).15 G(diting settings, b)-2.5 E
(ut uses Readline')-.2 E 2.5(sd)-.55 G(ef)-2.5 E
-(ault \214lename completion.)-.1 E F1<ad69>144 400.8 Q F2(te)2.5 E(xt)
--.2 E F0(If)180 400.8 Q F1 -.18(re)2.715 G(adline).18 E F0 .216
+(ault \214lename completion.)-.1 E F1<ad69>144 506.4 Q F2(te)2.5 E(xt)
+-.2 E F0(If)180 506.4 Q 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 412.8 Q(gins.)-.15 E F1<ad6e>144 424.8 Q F2(nc)2.5 E
-(har)-.15 E(s)-.1 E F1 -.18(re)180 436.8 S(ad).18 E F0 1.395
+-.25 F(ing be)180 518.4 Q(gins.)-.15 E F1<ad6e>144 530.4 Q F2(nc)2.5 E
+(har)-.15 E(s)-.1 E F1 -.18(re)180 542.4 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 448.8 Q(ut honors a delimiter if fe)-.2 E(wer than)
+-.1 F(input, b)180 554.4 Q(ut honors 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
-460.8 Q F2(nc)2.5 E(har)-.15 E(s)-.1 E F1 -.18(re)180 472.8 S(ad).18 E
+566.4 Q F2(nc)2.5 E(har)-.15 E(s)-.1 E F1 -.18(re)180 578.4 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 484.8 R F1 -.18(re)
+(line of input, unless EOF is encountered or)180 590.4 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 496.8
+(tered in the input are not treated specially and do not cause)180 602.4
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 .609(characters are read.)180 508.8 R .608
+3.503 E(har)-.15 E(s)-.1 E F0 .609(characters are read.)180 614.4 R .608
(The result is not split on the characters in)5.609 F F1(IFS)3.108 E F0
-3.108(;t)C .608(he intent is that the)-3.108 F -.25(va)180 520.8 S .669
+3.108(;t)C .608(he intent is that the)-3.108 F -.25(va)180 626.4 S .669
(riable is assigned e).25 F .669
(xactly the characters read \(with the e)-.15 F .67
-(xception of backslash; see the)-.15 F F1<ad72>180 532.8 Q F0
-(option belo)2.5 E(w\).)-.25 E F1<ad70>144 544.8 Q F2(pr)2.5 E(ompt)-.45
-E F0(Display)180 556.8 Q F2(pr)3.661 E(ompt)-.45 E F0 1.161
+(xception of backslash; see the)-.15 F F1<ad72>180 638.4 Q F0
+(option belo)2.5 E(w\).)-.25 E F1<ad70>144 650.4 Q F2(pr)2.5 E(ompt)-.45
+E F0(Display)180 662.4 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 568.8 Q
+-3.661 F 1.161(wline, before attempting to read)-.25 F(an)180 674.4 Q
2.5(yi)-.15 G 2.5(nput. The)-2.5 F
(prompt is displayed only if input is coming from a terminal.)2.5 E F1
-<ad72>144 580.8 Q F0 .543(Backslash does not act as an escape character)
-180 580.8 R 5.543(.T)-.55 G .544
-(he backslash is considered to be part of)-5.543 F(the line.)180 592.8 Q
+<ad72>144 686.4 Q F0 .543(Backslash does not act as an escape character)
+180 686.4 R 5.543(.T)-.55 G .544
+(he backslash is considered to be part of)-5.543 F(the line.)180 698.4 Q
(In particular)5 E 2.5(,ab)-.4 G(ackslash-ne)-2.5 E
(wline pair may not be used as a line continuation.)-.25 E F1<ad73>144
-604.8 Q F0(Silent mode.)180 604.8 Q
-(If input is coming from a terminal, characters are not echoed.)5 E F1
-<ad74>144 616.8 Q F2(timeout)2.5 E F0(Cause)180 628.8 Q F1 -.18(re)2.929
-G(ad).18 E F0 .428(to time out and return f)2.929 F .428
-(ailure if a complete line of input \(or a speci\214ed num-)-.1 F .56
-(ber of characters\) is not read within)180 640.8 R F2(timeout)3.061 E
+710.4 Q F0(Silent mode.)180 710.4 Q
+(If input is coming from a terminal, characters are not echoed.)5 E
+(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(68)194.555 E 0 Cg EP
+%%Page: 69 69
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
+(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0
+SF<ad74>144 84 Q/F2 10/Times-Italic@0 SF(timeout)2.5 E F0(Cause)180 96 Q
+F1 -.18(re)2.929 G(ad).18 E F0 .428(to time out and return f)2.929 F
+.428(ailure if a complete line of input \(or a speci\214ed num-)-.1 F
+.56(ber of characters\) is not read within)180 108 R F2(timeout)3.061 E
F0(seconds.)3.061 E F2(timeout)5.561 E F0 .561(may be a decimal number)
-3.061 F(with a fractional portion follo)180 652.8 Q
+3.061 F(with a fractional portion follo)180 120 Q
(wing the decimal point.)-.25 E(This option is only ef)5 E(fecti)-.25 E
.3 -.15(ve i)-.25 H(f).15 E F1 -.18(re)2.5 G(ad).18 E F0 .506(is readin\
g input from a terminal, pipe, or other special \214le; it has no ef)180
-664.8 R .506(fect when reading)-.25 F .59(from re)180 676.8 R .59
+132 R .506(fect when reading)-.25 F .59(from re)180 144 R .59
(gular \214les.)-.15 F(If)5.59 E F1 -.18(re)3.09 G(ad).18 E F0 .589
(times out,)3.09 F F1 -.18(re)3.089 G(ad).18 E F0(sa)3.089 E -.15(ve)-.2
G 3.089(sa).15 G .889 -.15(ny p)-3.089 H .589
-(artial input read into the speci\214ed).15 F -.25(va)180 688.8 S
-(riable).25 E F2(name)2.77 E F0 5.27(.I)C(f)-5.27 E F2(timeout)2.77 E F0
-.27(is 0,)2.77 F F1 -.18(re)2.77 G(ad).18 E F0 .27(returns immediately)
-2.77 F 2.77(,w)-.65 G .27(ithout trying to read an)-2.77 F 2.77(yd)-.15
-G(ata.)-2.77 E 1.12(The e)180 700.8 R 1.12
-(xit status is 0 if input is a)-.15 F -.25(va)-.2 G 1.12
-(ilable on the speci\214ed \214le descriptor).25 F 3.62(,n)-.4 G 1.12
-(on-zero other)-3.62 F(-)-.2 E 2.5(wise. The)180 712.8 R -.15(ex)2.5 G
-(it status is greater than 128 if the timeout is e).15 E(xceeded.)-.15 E
-(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(68)193.45 E 0 Cg EP
-%%Page: 69 69
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
-(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0
-SF<ad75>144 84 Q/F2 10/Times-Italic@0 SF(fd)2.5 E F0
-(Read input from \214le descriptor)180 84 Q F2(fd)2.5 E F0(.)A .476
-(If no)144 100.8 R F2(names)3.336 E F0 .476
+(artial input read into the speci\214ed).15 F -.25(va)180 156 S(riable)
+.25 E F2(name)2.77 E F0 5.27(.I)C(f)-5.27 E F2(timeout)2.77 E F0 .27
+(is 0,)2.77 F F1 -.18(re)2.77 G(ad).18 E F0 .27(returns immediately)2.77
+F 2.77(,w)-.65 G .27(ithout trying to read an)-2.77 F 2.77(yd)-.15 G
+(ata.)-2.77 E 1.12(The e)180 168 R 1.12(xit status is 0 if input is a)
+-.15 F -.25(va)-.2 G 1.12(ilable on the speci\214ed \214le descriptor)
+.25 F 3.62(,n)-.4 G 1.12(on-zero other)-3.62 F(-)-.2 E 2.5(wise. The)180
+180 R -.15(ex)2.5 G(it status is greater than 128 if the timeout is e)
+.15 E(xceeded.)-.15 E F1<ad75>144 192 Q F2(fd)2.5 E F0
+(Read input from \214le descriptor)180 192 Q F2(fd)2.5 E F0(.)A .476
+(If no)144 208.8 R F2(names)3.336 E F0 .476
(are supplied, the line read is assigned to the v)3.246 F(ariable)-.25 E
/F3 9/Times-Bold@0 SF(REPL)2.977 E(Y)-.828 E/F4 9/Times-Roman@0 SF(.)A
F0 .477(The e)4.977 F .477(xit status is zero,)-.15 F .773
-(unless end-of-\214le is encountered,)144 112.8 R F1 -.18(re)3.273 G(ad)
+(unless end-of-\214le is encountered,)144 220.8 R F1 -.18(re)3.273 G(ad)
.18 E F0 .772
(times out \(in which case the status is greater than 128\), a)3.273 F
--.25(va)144 124.8 S 2.004
+-.25(va)144 232.8 S 2.004
(riable assignment error \(such as assigning to a readonly v).25 F 2.005
(ariable\) occurs, or an in)-.25 F -.25(va)-.4 G 2.005(lid \214le).25 F
-(descriptor is supplied as the ar)144 136.8 Q(gument to)-.18 E F1<ad75>
-2.5 E F0(.)A F1 -.18(re)108 153.6 S(adonly).18 E F0([)2.5 E F1(\255aAf)A
+(descriptor is supplied as the ar)144 244.8 Q(gument to)-.18 E F1<ad75>
+2.5 E F0(.)A F1 -.18(re)108 261.6 S(adonly).18 E F0([)2.5 E F1(\255aAf)A
F0 2.5(][)C F1<ad70>-2.5 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 165.6 R -.15(ve)-.25 G
+(d)-.37 E F0 2.5(].)C(..])-2.5 E .77(The gi)144 273.6 R -.15(ve)-.25 G
(n).15 E F2(names)3.27 E F0 .77(are mark)3.27 F .77(ed readonly; the v)
-.1 F .77(alues of these)-.25 F F2(names)3.63 E F0 .77
-(may not be changed by subse-)3.54 F 1.096(quent assignment.)144 177.6 R
+(may not be changed by subse-)3.54 F 1.096(quent assignment.)144 285.6 R
1.096(If the)6.096 F F1<ad66>3.596 E F0 1.097
(option is supplied, the functions corresponding to the)3.596 F F2
-(names)3.597 E F0 1.097(are so)3.597 F(mark)144 189.6 Q 3.334(ed. The)
+(names)3.597 E F0 1.097(are so)3.597 F(mark)144 297.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 .776(ables to associati)144 201.6 R 1.076 -.15(ve a)-.25 H 3.276
+-.25 E .776(ables to associati)144 309.6 R 1.076 -.15(ve a)-.25 H 3.276
(rrays. If).15 F .777(both options are supplied,)3.276 F F1<ad41>3.277 E
F0(tak)3.277 E .777(es precedence.)-.1 F .777(If no)5.777 F F2(name)
-3.637 E F0(ar)3.457 E(gu-)-.18 E .522(ments are gi)144 213.6 R -.15(ve)
+3.637 E F0(ar)3.457 E(gu-)-.18 E .522(ments are gi)144 321.6 R -.15(ve)
-.25 G .521(n, or if the).15 F F1<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 225.6 R(The)5.296 E F1
+to a subset of the set of readonly names.)144 333.6 R(The)5.296 E F1
<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 237.6 R .786(If a v)5.786 F .785(ariable name is fol-)-.25 F(lo)144
-249.6 Q .717(wed by =)-.25 F F2(wor)A(d)-.37 E F0 3.218(,t)C .718(he v)
+144 345.6 R .786(If a v)5.786 F .785(ariable name is fol-)-.25 F(lo)144
+357.6 Q .717(wed by =)-.25 F F2(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 F2(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 261.6 R F2(names)3.12 E F0 .26(is not a v)3.03 F .26(alid shell v)
+144 369.6 R F2(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 F1<ad66>2.76 E F0 .26
-(is supplied with a)2.76 F F2(name)144.36 273.6 Q F0
-(that is not a function.)2.68 E F1 -.18(re)108 290.4 S(tur).18 E(n)-.15
-E F0([)2.5 E F2(n)A F0(])A .02(Causes a function to stop e)144 302.4 R
+(is supplied with a)2.76 F F2(name)144.36 381.6 Q F0
+(that is not a function.)2.68 E F1 -.18(re)108 398.4 S(tur).18 E(n)-.15
+E F0([)2.5 E F2(n)A F0(])A .02(Causes a function to stop e)144 410.4 R
-.15(xe)-.15 G .02(cuting and return the v).15 F .021
(alue speci\214ed by)-.25 F F2(n)2.881 E F0 .021(to its caller)2.761 F
5.021(.I)-.55 G(f)-5.021 E F2(n)2.881 E F0 .021(is omitted,)2.761 F .597
-(the return status is that of the last command e)144 314.4 R -.15(xe)
+(the return status is that of the last command e)144 422.4 R -.15(xe)
-.15 G .596(cuted in the function body).15 F 5.596(.I)-.65 G(f)-5.596 E
F1 -.18(re)3.096 G(tur).18 E(n)-.15 E F0 .596(is e)3.096 F -.15(xe)-.15
-G(cuted).15 E 1.238(by a trap handler)144 326.4 R 3.738(,t)-.4 G 1.238
+G(cuted).15 E 1.238(by a trap handler)144 434.4 R 3.738(,t)-.4 G 1.238
(he last command used to determine the status is the last command e)
-3.738 F -.15(xe)-.15 G(cuted).15 E 1.033(before the trap handler)144
-338.4 R 6.033(.I)-.55 G(f)-6.033 E F1 -.18(re)3.533 G(tur).18 E(n)-.15 E
+446.4 R 6.033(.I)-.55 G(f)-6.033 E F1 -.18(re)3.533 G(tur).18 E(n)-.15 E
F0 1.033(is e)3.533 F -.15(xe)-.15 G 1.033(cuted during a).15 F F1(DEB)
3.532 E(UG)-.1 E F0 1.032(trap, the last command used to)3.532 F .389
-(determine the status is the last command e)144 350.4 R -.15(xe)-.15 G
+(determine the status is the last command e)144 458.4 R -.15(xe)-.15 G
.389(cuted by the trap handler before).15 F F1 -.18(re)2.89 G(tur).18 E
(n)-.15 E F0 -.1(wa)2.89 G 2.89(si).1 G -1.9 -.4(nv o)-2.89 H -.1(ke).4
-G(d.).1 E(If)144 362.4 Q F1 -.18(re)2.584 G(tur).18 E(n)-.15 E F0 .084
+G(d.).1 E(If)144 470.4 Q F1 -.18(re)2.584 G(tur).18 E(n)-.15 E F0 .084
(is used outside a function, b)2.584 F .084(ut during e)-.2 F -.15(xe)
-.15 G .084(cution of a script by the).15 F F1(.)2.584 E F0(\()5.084 E
F1(sour)A(ce)-.18 E F0 2.583(\)c)C .083(ommand, it)-2.583 F .588
-(causes the shell to stop e)144 374.4 R -.15(xe)-.15 G .588
+(causes the shell to stop e)144 482.4 R -.15(xe)-.15 G .588
(cuting that script and return either).15 F F2(n)3.448 E F0 .589
(or the e)3.329 F .589(xit status of the last com-)-.15 F .326(mand e)
-144 386.4 R -.15(xe)-.15 G .326(cuted within the script as the e).15 F
+144 494.4 R -.15(xe)-.15 G .326(cuted within the script as the e).15 F
.326(xit status of the script.)-.15 F(If)5.326 E F2(n)2.826 E F0 .325
(is supplied, the return v)2.826 F .325(alue is)-.25 F .444
-(its least signi\214cant 8 bits.)144 398.4 R .444
+(its least signi\214cant 8 bits.)144 506.4 R .444
(The return status is non-zero if)5.444 F F1 -.18(re)2.945 G(tur).18 E
(n)-.15 E F0 .445(is supplied a non-numeric ar)2.945 F(gu-)-.18 E .381
-(ment, or is used outside a function and not during e)144 410.4 R -.15
+(ment, or is used outside a function and not during e)144 518.4 R -.15
(xe)-.15 G .381(cution of a script by).15 F F1(.)2.881 E F0(or)3.714 E
F1(sour)2.881 E(ce)-.18 E F0 5.38(.A)C .68 -.15(ny c)-5.38 H(om-).15 E
-.749(mand associated with the)144 422.4 R F1(RETURN)3.249 E F0 .749
+.749(mand associated with the)144 530.4 R F1(RETURN)3.249 E F0 .749
(trap is e)3.249 F -.15(xe)-.15 G .749(cuted before e).15 F -.15(xe)-.15
-G .75(cution resumes after the function).15 F(or script.)144 434.4 Q F1
-(set)108 451.2 Q F0([)2.5 E F1(\255\255abefhkmnptuvxBCEHPT)A F0 2.5(][)C
+G .75(cution resumes after the function).15 F(or script.)144 542.4 Q F1
+(set)108 559.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 463.2 Q F0([)2.5 E F1(+abefhkmnptuvxBCEHPT)A F0
+F0(...])2.5 E F1(set)108 571.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 475.2 S .836
+(g)-.37 E F0(...])2.5 E -.4(Wi)144 583.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 487.2
+(reused as input for setting or resetting the currently-set v)144 595.2
R 3.284(ariables. Read-only)-.25 F -.25(va)3.284 G .784
-(riables cannot be).25 F 2.912(reset. In)144 499.2 R F2(posix)2.912 E F0
-.412(mode, only shell v)2.912 F .412(ariables are listed.)-.25 F .412
-(The output is sorted according to the current)5.412 F 3.53
-(locale. When)144 511.2 R 1.031(options are speci\214ed, the)3.53 F
+(riables cannot be).25 F 2.947(reset. In)144 607.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 619.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 523.2 R 1.623
+1.624(after option processing are treated as v)144 631.2 R 1.623
(alues for the positional parameters and are assigned, in)-.25 F(order)
-144 535.2 Q 2.5(,t)-.4 G(o)-2.5 E F1($1)2.5 E F0(,)A F1($2)2.5 E F0(,)A
+144 643.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 547.2 Q
-F0 1.377(Each v)184 547.2 R 1.377
+-.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F1<ad61>144 655.2 Q
+F0 1.377(Each v)184 655.2 R 1.377
(ariable or function that is created or modi\214ed is gi)-.25 F -.15(ve)
-.25 G 3.877(nt).15 G 1.377(he e)-3.877 F 1.378(xport attrib)-.15 F
-1.378(ute and)-.2 F(mark)184 559.2 Q(ed for e)-.1 E(xport to the en)-.15
-E(vironment of subsequent commands.)-.4 E F1<ad62>144 571.2 Q F0 .132
-(Report the status of terminated background jobs immediately)184 571.2 R
+1.378(ute and)-.2 F(mark)184 667.2 Q(ed for e)-.1 E(xport to the en)-.15
+E(vironment of subsequent commands.)-.4 E F1<ad62>144 679.2 Q F0 .132
+(Report the status of terminated background jobs immediately)184 679.2 R
2.632(,r)-.65 G .131(ather than before the ne)-2.632 F(xt)-.15 E
-(primary prompt.)184 583.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 595.2 Q F0
-.087(Exit immediately if a)184 595.2 R F2(pipeline)2.587 E F0 .087
+(primary prompt.)184 691.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 703.2 Q F0
+.087(Exit immediately if a)184 703.2 R F2(pipeline)2.587 E F0 .087
(\(which may consist of a single)2.587 F F2 .088(simple command)2.588 F
-F0 .088(\), a)B F2(list)2.588 E F0 2.588(,o)C(r)-2.588 E(a)184 607.2 Q
+F0 .088(\), a)B F2(list)2.588 E F0 2.588(,o)C(r)-2.588 E(a)184 715.2 Q
F2 1.521(compound command)4.021 F F0(\(see)4.021 E F3 1.521
(SHELL GRAMMAR)4.021 F F0(abo)3.771 E -.15(ve)-.15 G 1.521(\), e).15 F
1.521(xits with a non-zero status.)-.15 F .079(The shell does not e)184
-619.2 R .079(xit if the command that f)-.15 F .08
-(ails is part of the command list immediately)-.1 F(follo)184 631.2 Q
-1.655(wing a)-.25 F F1(while)4.155 E F0(or)4.155 E F1(until)4.155 E F0
--.1(ke)4.155 G(yw)-.05 E 1.655(ord, part of the test follo)-.1 F 1.654
-(wing the)-.25 F F1(if)4.154 E F0(or)4.154 E F1(elif)4.154 E F0(reserv)
-4.154 E(ed)-.15 E -.1(wo)184 643.2 S .581(rds, part of an).1 F 3.081(yc)
--.15 G .581(ommand e)-3.081 F -.15(xe)-.15 G .581(cuted in a).15 F F1
-(&&)3.081 E F0(or)3.081 E F1(||)3.081 E F0 .582(list e)3.082 F .582
-(xcept the command follo)-.15 F(wing)-.25 E .918(the \214nal)184 655.2 R
-F1(&&)3.418 E F0(or)3.418 E F1(||)3.418 E F0 3.418(,a)C 1.218 -.15(ny c)
--3.418 H .918(ommand in a pipeline b).15 F .917
-(ut the last, or if the command')-.2 F 3.417(sr)-.55 G(eturn)-3.417 E
--.25(va)184 667.2 S .66(lue is being in).25 F -.15(ve)-.4 G .66
+727.2 R .079(xit if the command that f)-.15 F .08
+(ails is part of the command list immediately)-.1 F(GNU Bash 5.0)72 768
+Q(2018 August 7)145.395 E(69)194.555 E 0 Cg EP
+%%Page: 70 70
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
+(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E(follo)184 84 Q
+1.655(wing a)-.25 F/F1 10/Times-Bold@0 SF(while)4.155 E F0(or)4.155 E F1
+(until)4.155 E F0 -.1(ke)4.155 G(yw)-.05 E 1.655
+(ord, part of the test follo)-.1 F 1.654(wing the)-.25 F F1(if)4.154 E
+F0(or)4.154 E F1(elif)4.154 E F0(reserv)4.154 E(ed)-.15 E -.1(wo)184 96
+S .581(rds, part of an).1 F 3.081(yc)-.15 G .581(ommand e)-3.081 F -.15
+(xe)-.15 G .581(cuted in a).15 F F1(&&)3.081 E F0(or)3.081 E F1(||)3.081
+E F0 .582(list e)3.082 F .582(xcept the command follo)-.15 F(wing)-.25 E
+.918(the \214nal)184 108 R F1(&&)3.418 E F0(or)3.418 E F1(||)3.418 E F0
+3.418(,a)C 1.218 -.15(ny c)-3.418 H .918(ommand in a pipeline b).15 F
+.917(ut the last, or if the command')-.2 F 3.417(sr)-.55 G(eturn)-3.417
+E -.25(va)184 120 S .66(lue is being in).25 F -.15(ve)-.4 G .66
(rted with).15 F F1(!)3.16 E F0 5.661(.I)C 3.161(fac)-5.661 G .661
(ompound command other than a subshell returns a)-3.161 F 1.113
-(non-zero status because a command f)184 679.2 R 1.112(ailed while)-.1 F
+(non-zero status because a command f)184 132 R 1.112(ailed while)-.1 F
F1<ad65>3.612 E F0 -.1(wa)3.612 G 3.612(sb).1 G 1.112
-(eing ignored, the shell does)-3.612 F .177(not e)184 691.2 R 2.677
+(eing ignored, the shell does)-3.612 F .177(not e)184 144 R 2.677
(xit. A)-.15 F .177(trap on)2.677 F F1(ERR)2.677 E F0 2.677(,i)C 2.678
(fs)-2.677 G .178(et, is e)-2.678 F -.15(xe)-.15 G .178
(cuted before the shell e).15 F 2.678(xits. This)-.15 F .178
-(option applies to)2.678 F .618(the shell en)184 703.2 R .617
+(option applies to)2.678 F .618(the shell en)184 156 R .617
(vironment and each subshell en)-.4 F .617(vironment separately \(see)
--.4 F F3 .617(COMMAND EXE-)3.117 F .642(CUTION ENVIR)184 715.2 R(ONMENT)
--.27 E F0(abo)2.893 E -.15(ve)-.15 G .643
+-.4 F/F2 9/Times-Bold@0 SF .617(COMMAND EXE-)3.117 F .642(CUTION ENVIR)
+184 168 R(ONMENT)-.27 E F0(abo)2.893 E -.15(ve)-.15 G .643
(\), and may cause subshells to e).15 F .643(xit before e)-.15 F -.15
-(xe)-.15 G .643(cuting all).15 F(the commands in the subshell.)184 727.2
-Q(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(69)193.45 E 0 Cg EP
-%%Page: 70 70
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
-(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E 2.042
-(If a compound command or shell function e)184 84 R -.15(xe)-.15 G 2.042
-(cutes in a conte).15 F 2.042(xt where)-.15 F/F1 10/Times-Bold@0 SF
-<ad65>4.542 E F0 2.042(is being)4.542 F 1.435
-(ignored, none of the commands e)184 96 R -.15(xe)-.15 G 1.436
-(cuted within the compound command or function).15 F .194
-(body will be af)184 108 R .194(fected by the)-.25 F F1<ad65>2.694 E F0
-.193(setting, e)2.693 F -.15(ve)-.25 G 2.693(ni).15 G(f)-2.693 E F1
+(xe)-.15 G .643(cuting all).15 F(the commands in the subshell.)184 180 Q
+2.042(If a compound command or shell function e)184 198 R -.15(xe)-.15 G
+2.042(cutes in a conte).15 F 2.042(xt where)-.15 F F1<ad65>4.542 E F0
+2.042(is being)4.542 F 1.435(ignored, none of the commands e)184 210 R
+-.15(xe)-.15 G 1.436(cuted within the compound command or function).15 F
+.194(body will be af)184 222 R .194(fected by the)-.25 F F1<ad65>2.694 E
+F0 .193(setting, e)2.693 F -.15(ve)-.25 G 2.693(ni).15 G(f)-2.693 E F1
<ad65>2.693 E F0 .193(is set and a command returns a f)2.693 F(ailure)
--.1 E 3.39(status. If)184 120 R 3.39(ac)3.39 G .89
+-.1 E 3.39(status. If)184 234 R 3.39(ac)3.39 G .89
(ompound command or shell function sets)-3.39 F F1<ad65>3.39 E F0 .89
(while e)3.39 F -.15(xe)-.15 G .89(cuting in a conte).15 F(xt)-.15 E
-(where)184 132 Q F1<ad65>3.154 E F0 .654
+(where)184 246 Q F1<ad65>3.154 E F0 .654
(is ignored, that setting will not ha)3.154 F .953 -.15(ve a)-.2 H .953
-.15(ny e).15 H -.25(ff).15 G .653(ect until the compound command).25 F
-(or the command containing the function call completes.)184 144 Q F1
-<ad66>144 156 Q F0(Disable pathname e)184 156 Q(xpansion.)-.15 E F1
-<ad68>144 168 Q F0 2.238(Remember the location of commands as the)184
-168 R 4.738(ya)-.15 G 2.239(re look)-4.738 F 2.239(ed up for e)-.1 F
+(or the command containing the function call completes.)184 258 Q F1
+<ad66>144 270 Q F0(Disable pathname e)184 270 Q(xpansion.)-.15 E F1
+<ad68>144 282 Q F0 2.238(Remember the location of commands as the)184
+282 R 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
-180 Q(ault.)-.1 E F1<ad6b>144 192 Q F0 .514(All ar)184 192 R .514
+294 Q(ault.)-.1 E F1<ad6b>144 306 Q F0 .514(All ar)184 306 R .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 204 Q F1
-<ad6d>144 216 Q F0 .148(Monitor mode.)184 216 R .148
+(command, not just those that precede the command name.)184 318 Q F1
+<ad6d>144 330 Q F0 .148(Monitor mode.)184 330 R .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 .651
-(on systems that support it \(see)184 228 R/F2 9/Times-Bold@0 SF .651
-(JOB CONTR)3.151 F(OL)-.27 E F0(abo)2.901 E -.15(ve)-.15 G 3.151
-(\). All).15 F .65(processes run in a separate)3.151 F .678
-(process group.)184 240 R .679(When a background job completes, the she\
-ll prints a line containing its)5.678 F -.15(ex)184 252 S(it status.).15
-E F1<ad6e>144 264 Q F0 .653(Read commands b)184 264 R .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
-276 Q(This is ignored by interacti)5 E .3 -.15(ve s)-.25 H(hells.).15 E
-F1<ad6f>144 288 Q/F3 10/Times-Italic@0 SF(option\255name)2.5 E F0(The)
-184 300 Q F3(option\255name)2.5 E F0(can be one of the follo)2.5 E
-(wing:)-.25 E F1(allexport)184 312 Q F0(Same as)224 324 Q F1<ad61>2.5 E
-F0(.)A F1(braceexpand)184 336 Q F0(Same as)224 348 Q F1<ad42>2.5 E F0(.)
-A F1(emacs)184 360 Q F0 .089
-(Use an emacs-style command line editing interf)224 360 R 2.589
+(on systems that support it \(see)184 342 R F2 .651(JOB CONTR)3.151 F
+(OL)-.27 E F0(abo)2.901 E -.15(ve)-.15 G 3.151(\). All).15 F .65
+(processes run in a separate)3.151 F .678(process group.)184 354 R .679
+(When a background job completes, the shell prints a line containing it\
+s)5.678 F -.15(ex)184 366 S(it status.).15 E F1<ad6e>144 378 Q F0 .653
+(Read commands b)184 378 R .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 390 Q(This is ignored by interacti)5 E .3
+-.15(ve s)-.25 H(hells.).15 E F1<ad6f>144 402 Q/F3 10/Times-Italic@0 SF
+(option\255name)2.5 E F0(The)184 414 Q F3(option\255name)2.5 E F0
+(can be one of the follo)2.5 E(wing:)-.25 E F1(allexport)184 426 Q F0
+(Same as)224 438 Q F1<ad61>2.5 E F0(.)A F1(braceexpand)184 450 Q F0
+(Same as)224 462 Q F1<ad42>2.5 E F0(.)A F1(emacs)184 474 Q F0 .089
+(Use an emacs-style command line editing interf)224 474 R 2.589
(ace. This)-.1 F .089(is enabled by def)2.589 F(ault)-.1 E .95
-(when the shell is interacti)224 372 R -.15(ve)-.25 G 3.45(,u).15 G .95
+(when the shell is interacti)224 486 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 384 R(also af)2.5 E(fects the editing interf)
+F0 2.5(option. This)224 498 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 396 Q(exit)-.18 E F0(Same as)224 396 Q F1<ad65>2.5 E F0(.)A F1
-(errtrace)184 408 Q F0(Same as)224 408 Q F1<ad45>2.5 E F0(.)A F1
-(functrace)184 420 Q F0(Same as)224 432 Q F1<ad54>2.5 E F0(.)A F1
-(hashall)184 444 Q F0(Same as)224 444 Q F1<ad68>2.5 E F0(.)A F1
-(histexpand)184 456 Q F0(Same as)224 468 Q F1<ad48>2.5 E F0(.)A F1
-(history)184 480 Q F0 .586(Enable command history)224 480 R 3.087(,a)
+184 510 Q(exit)-.18 E F0(Same as)224 510 Q F1<ad65>2.5 E F0(.)A F1
+(errtrace)184 522 Q F0(Same as)224 522 Q F1<ad45>2.5 E F0(.)A F1
+(functrace)184 534 Q F0(Same as)224 546 Q F1<ad54>2.5 E F0(.)A F1
+(hashall)184 558 Q F0(Same as)224 558 Q F1<ad68>2.5 E F0(.)A F1
+(histexpand)184 570 Q F0(Same as)224 582 Q F1<ad48>2.5 E F0(.)A F1
+(history)184 594 Q F0 .586(Enable command history)224 594 R 3.087(,a)
-.65 G 3.087(sd)-3.087 G .587(escribed abo)-3.087 F .887 -.15(ve u)-.15
H(nder).15 E F2(HIST)3.087 E(OR)-.162 E(Y)-.315 E/F4 9/Times-Roman@0 SF
-(.)A F0 .587(This option is)5.087 F(on by def)224 492 Q
+(.)A F0 .587(This option is)5.087 F(on by def)224 606 Q
(ault in interacti)-.1 E .3 -.15(ve s)-.25 H(hells.).15 E F1(ignor)184
-504 Q(eeof)-.18 E F0 1.657(The ef)224 516 R 1.657
+618 Q(eeof)-.18 E F0 1.657(The ef)224 630 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
-528 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 540 S(yw).1 E(ord)-.1 E F0(Same as)224 552 Q F1
-<ad6b>2.5 E F0(.)A F1(monitor)184 564 Q F0(Same as)224 564 Q F1<ad6d>2.5
-E F0(.)A F1(noclob)184 576 Q(ber)-.1 E F0(Same as)224 588 Q F1<ad43>2.5
-E F0(.)A F1(noexec)184 600 Q F0(Same as)224 600 Q F1<ad6e>2.5 E F0(.)A
-F1(noglob)184 612 Q F0(Same as)224 612 Q F1<ad66>2.5 E F0(.)A F1(nolog)
-184 624 Q F0(Currently ignored.)224 624 Q F1(notify)184 636 Q F0
-(Same as)224 636 Q F1<ad62>2.5 E F0(.)A F1(nounset)184 648 Q F0(Same as)
-224 648 Q F1<ad75>2.5 E F0(.)A F1(onecmd)184 660 Q F0(Same as)224 660 Q
-F1<ad74>2.5 E F0(.)A F1(ph)184 672 Q(ysical)-.15 E F0(Same as)224 672 Q
-F1<ad50>2.5 E F0(.)A F1(pipefail)184 684 Q F0 1.029
-(If set, the return v)224 684 R 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 696
-R 1.136
-(xit with a non-zero status, or zero if all commands in the pipeline)
--.15 F -.15(ex)224 708 S(it successfully).15 E 5(.T)-.65 G
-(his option is disabled by def)-5 E(ault.)-.1 E(GNU Bash 5.0)72 768 Q
-(2018 March 15)144.29 E(70)193.45 E 0 Cg EP
+642 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 654 S(yw).1 E(ord)-.1 E F0(Same as)224 666 Q F1
+<ad6b>2.5 E F0(.)A F1(monitor)184 678 Q F0(Same as)224 678 Q F1<ad6d>2.5
+E F0(.)A F1(noclob)184 690 Q(ber)-.1 E F0(Same as)224 702 Q F1<ad43>2.5
+E F0(.)A F1(noexec)184 714 Q F0(Same as)224 714 Q F1<ad6e>2.5 E F0(.)A
+(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(70)194.555 E 0 Cg EP
%%Page: 71 71
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0
-SF(posix)184 84 Q F0 2.09(Change the beha)224 84 R 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 1.212
-(POSIX standard to match the standard \()224 96 R/F2 10/Times-Italic@0
-SF 1.212(posix mode)B F0 3.712(\). See)B/F3 9/Times-Bold@0 SF 1.212
-(SEE ALSO)3.712 F F0(belo)3.462 E(w)-.25 E 2.306
-(for a reference to a document that details ho)224 108 R 4.807(wp)-.25 G
+SF(noglob)184 84 Q F0(Same as)224 84 Q F1<ad66>2.5 E F0(.)A F1(nolog)184
+96 Q F0(Currently ignored.)224 96 Q F1(notify)184 108 Q F0(Same as)224
+108 Q F1<ad62>2.5 E F0(.)A F1(nounset)184 120 Q F0(Same as)224 120 Q F1
+<ad75>2.5 E F0(.)A F1(onecmd)184 132 Q F0(Same as)224 132 Q F1<ad74>2.5
+E F0(.)A F1(ph)184 144 Q(ysical)-.15 E F0(Same as)224 144 Q F1<ad50>2.5
+E F0(.)A F1(pipefail)184 156 Q F0 1.029(If set, the return v)224 156 R
+1.029(alue of a pipeline is the v)-.25 F 1.03
+(alue of the last \(rightmost\) com-)-.25 F 1.137(mand to e)224 168 R
+1.136
+(xit with a non-zero status, or zero if all commands in the pipeline)
+-.15 F -.15(ex)224 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)224 192 R 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 1.212(POSIX standard to match the standard \()224
+204 R/F2 10/Times-Italic@0 SF 1.212(posix mode)B F0 3.712(\). See)B/F3 9
+/Times-Bold@0 SF 1.212(SEE ALSO)3.712 F F0(belo)3.462 E(w)-.25 E 2.306
+(for a reference to a document that details ho)224 216 R 4.807(wp)-.25 G
2.307(osix mode af)-4.807 F 2.307(fects bash')-.25 F(s)-.55 E(beha)224
-120 Q(vior)-.2 E(.)-.55 E F1(pri)184 132 Q(vileged)-.1 E F0(Same as)224
-144 Q F1<ad70>2.5 E F0(.)A F1 -.1(ve)184 156 S(rbose).1 E F0(Same as)224
-156 Q F1<ad76>2.5 E F0(.)A F1(vi)184 168 Q F0 1.466
-(Use a vi-style command line editing interf)224 168 R 3.965(ace. This)
+228 Q(vior)-.2 E(.)-.55 E F1(pri)184 240 Q(vileged)-.1 E F0(Same as)224
+252 Q F1<ad70>2.5 E F0(.)A F1 -.1(ve)184 264 S(rbose).1 E F0(Same as)224
+264 Q F1<ad76>2.5 E F0(.)A F1(vi)184 276 Q F0 1.466
+(Use a vi-style command line editing interf)224 276 R 3.965(ace. This)
-.1 F 1.465(also af)3.965 F 1.465(fects the editing)-.25 F(interf)224
-180 Q(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0(.)A F1
-(xtrace)184 192 Q F0(Same as)224 192 Q F1<ad78>2.5 E F0(.)A(If)184 210 Q
+288 Q(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0(.)A F1
+(xtrace)184 300 Q F0(Same as)224 300 Q F1<ad78>2.5 E F0(.)A(If)184 318 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
-222 Q F0 1.072(is supplied with no)3.572 F F2(option\255name)3.572 E F0
+330 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 234 Q F1<ad70>
-144 246 Q F0 -.45(Tu)184 246 S 1.071(rn on).45 F F2(privile)4.821 E -.1
+(option settings is displayed on the standard output.)184 342 Q F1<ad70>
+144 354 Q F0 -.45(Tu)184 354 S 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 258 R 1.5
+(cessed, shell functions are not inherited from the en)184 366 R 1.5
(vironment, and the)-.4 F F3(SHELLOPTS)4 E/F4 9/Times-Roman@0 SF(,)A F3
--.27(BA)184 270 S(SHOPTS).27 E F4(,)A F3(CDP)2.774 E -.855(AT)-.666 G(H)
+-.27(BA)184 378 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 282 R .38
+(vironment,)-.4 E .38(are ignored.)184 390 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 294 R F1<ad70>2.961 E F0 .461
+(user \(group\) id, and the)184 402 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 306 Q .695 -.15(ve u)-.25 H .395
+(en and the ef)-.1 F(fec-)-.25 E(ti)184 414 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 318 R -.45(Tu)5.386 G
+E -.15(ve)-.25 G .386(user id is not reset.)184 426 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 330 Q F1<ad74>144 342 Q F0
-(Exit after reading and e)184 342 Q -.15(xe)-.15 G(cuting one command.)
-.15 E F1<ad75>144 354 Q F0 -.35(Tr)184 354 S .044(eat unset v).35 F .044
+(set to the real user and group ids.)184 438 Q F1<ad74>144 450 Q F0
+(Exit after reading and e)184 450 Q -.15(xe)-.15 G(cuting one command.)
+.15 E F1<ad75>144 462 Q F0 -.35(Tr)184 462 S .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 366 R 2.682
+as an)-.25 F .182(error when performing parameter e)184 474 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 378 R 3.246(,t)-.4 G .746
+(able or parameter)184 486 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
-390 Q F1<ad76>144 402 Q F0(Print shell input lines as the)184 402 Q 2.5
-(ya)-.15 G(re read.)-2.5 E F1<ad78>144 414 Q F0 .315(After e)184 414 R
+498 Q F1<ad76>144 510 Q F0(Print shell input lines as the)184 510 Q 2.5
+(ya)-.15 G(re read.)-2.5 E F1<ad78>144 522 Q F0 .315(After e)184 522 R
.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
-426 R F1 -.25(fo)3.736 G(r).25 E F0 1.236(command, display the e)3.736 F
+534 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 438 Q
+(follo)3.486 E 1.236(wed by the com-)-.25 F(mand and its e)184 546 Q
(xpanded ar)-.15 E(guments or associated w)-.18 E(ord list.)-.1 E F1
-<ad42>144 450 Q F0 2.578(The shell performs brace e)184 450 R 2.578
+<ad42>144 558 Q F0 2.578(The shell performs brace e)184 558 R 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 462 Q
-(ault.)-.1 E F1<ad43>144 474 Q F0 .214(If set,)184 474 R F1(bash)2.714 E
+-.15(ve)-.15 G 5.079(\). This).15 F 2.579(is on by)5.079 F(def)184 570 Q
+(ault.)-.1 E F1<ad43>144 582 Q F0 .214(If set,)184 582 R 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 486 R .553(may be o)3.053 F -.15(ve)-.15 G .553
+3.053(tors. This)184 594 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 498 Q F1(>|)2.5 E F0(instead of)2.5 E F1(>)2.5 E F0(.)A F1
-<ad45>144 510 Q F0 .104(If set, an)184 510 R 2.604(yt)-.15 G .104
+.15 F(tor)184 606 Q F1(>|)2.5 E F0(instead of)2.5 E F1(>)2.5 E F0(.)A F1
+<ad45>144 618 Q F0 .104(If set, an)184 618 R 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 522 R -.15(xe)-.15 G .838(cuted in a subshell en).15
+F .838(mands e)184 630 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 534 Q F1
-<ad48>144 546 Q F0(Enable)184 546 Q F1(!)3.032 E F0 .532
+(trap is normally not inherited in)3.339 F(such cases.)184 642 Q F1
+<ad48>144 654 Q F0(Enable)184 654 Q 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 558 Q -.15
-(ve)-.25 G(.).15 E F1<ad50>144 570 Q F0 .959
-(If set, the shell does not resolv)184 570 R 3.459(es)-.15 G .959
+F .531(ault when the shell is inter)-.1 F(-)-.2 E(acti)184 666 Q -.15
+(ve)-.25 G(.).15 E F1<ad50>144 678 Q F0 .959
+(If set, the shell does not resolv)184 678 R 3.459(es)-.15 G .959
(ymbolic links when e)-3.459 F -.15(xe)-.15 G .96
(cuting commands such as).15 F F1(cd)3.46 E F0 2.822
-(that change the current w)184 582 R 2.822(orking directory)-.1 F 7.822
+(that change the current w)184 690 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 594 R(def)2.685
+(ysical directory structure)-.05 F 2.685(instead. By)184 702 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 606 Q(.)-.65 E F1<ad54>144
-618 Q F0 .89(If set, an)184 618 R 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
+(mands which change the current directory)184 714 Q(.)-.65 E
+(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(71)194.555 E 0 Cg EP
+%%Page: 72 72
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
+(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0
+SF<ad54>144 84 Q F0 .89(If set, an)184 84 R 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 630 R -.15(xe)-.15 G 1.932
+(substitutions, and commands e)184 96 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 642 Q F0
-(traps are normally not inherited in such cases.)2.5 E F1<adad>144 654 Q
-F0 .401(If no ar)184 654 R .401(guments follo)-.18 F 2.901(wt)-.25 G
+(UG)-.1 E F0(and)4.432 E F1(RETURN)184 108 Q F0
+(traps are normally not inherited in such cases.)2.5 E F1<adad>144 120 Q
+F0 .401(If no ar)184 120 R .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 666 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
-678 Q F0 1.944(Signal the end of options, cause all remaining)184 678 R
-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 690 R
-F1<ad78>3.446 E F0(and)3.446 E F1<ad76>3.446 E F0 .945
+(Otherwise,)5.4 E(the positional parameters are set to the)184 132 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 144 Q F0 1.944
+(Signal the end of options, cause all remaining)184 144 R 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 156 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 702 Q .425(The options are of)144
-718.8 R 2.925(fb)-.25 G 2.925(yd)-2.925 G(ef)-2.925 E .425
+(parameters remain unchanged.)184 168 Q .425(The options are of)144
+184.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 730.8 R 2.678(f. The)-.25 F .178
+(to be turned of)144 196.8 R 2.678(f. The)-.25 F .178
(options can also be speci\214ed as ar)2.678 F .178(guments to an in)
--.18 F -.2(vo)-.4 G .177(cation of the shell.).2 F(The)5.177 E
-(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(71)193.45 E 0 Cg EP
-%%Page: 72 72
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
-(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E .066
-(current set of options may be found in)144 84 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 96 Q F1(shift)108 112.8 Q F0([)2.5 E/F2 10
-/Times-Italic@0 SF(n)A F0(])A .429(The positional parameters from)144
-124.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 136.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 148.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 160.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 172.8 Q F1(shopt)108 189.6 Q F0([)
+-.18 F -.2(vo)-.4 G .177(cation of the shell.).2 F(The)5.177 E .066
+(current set of options may be found in)144 208.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 220.8 Q F1(shift)108 237.6 Q F0([)2.5 E F2(n)A F0
+(])A .429(The positional parameters from)144 249.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 261.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 273.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 285.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 297.6 Q F1(shopt)108 314.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 201.6 S .64(ggle the v).8 F .639
+-2.5 E F0(...])2.5 E -.8(To)144 326.4 S .64(ggle the v).8 F .639
(alues of settings controlling optional shell beha)-.25 F(vior)-.2 E
5.639(.T)-.55 G .639(he settings can be either those)-5.639 F .374
-(listed belo)144 213.6 R 1.674 -.65(w, o)-.25 H 1.174 -.4(r, i).65 H
+(listed belo)144 338.4 R 1.674 -.65(w, o)-.25 H 1.174 -.4(r, i).65 H
2.874(ft).4 G(he)-2.874 E F1<ad6f>2.874 E F0 .375
(option is used, those a)2.875 F -.25(va)-.2 G .375(ilable with the).25
F F1<ad6f>2.875 E F0 .375(option to the)2.875 F F1(set)2.875 E F0 -.2
-(bu)2.875 G .375(iltin com-).2 F 3.326(mand. W)144 225.6 R .826
+(bu)2.875 G .375(iltin com-).2 F 3.326(mand. W)144 350.4 R .826
(ith no options, or with the)-.4 F F1<ad70>3.326 E F0 .825
(option, a list of all settable options is displayed, with an)3.326 F
-.551(indication of whether or not each is set; if)144 237.6 R F2
+.551(indication of whether or not each is set; if)144 362.4 R F2
(optnames)3.052 E F0 .552
(are supplied, the output is restricted to those)3.052 F 2.55
-(options. The)144 249.6 R F1<ad70>2.55 E F0 .049(option causes output t\
+(options. The)144 374.4 R F1<ad70>2.55 E F0 .049(option causes output t\
o be displayed in a form that may be reused as input.)2.55 F(Other)5.049
-E(options ha)144 261.6 Q .3 -.15(ve t)-.2 H(he follo).15 E
-(wing meanings:)-.25 E F1<ad73>144 273.6 Q F0(Enable \(set\) each)180
-273.6 Q F2(optname)2.5 E F0(.)A F1<ad75>144 285.6 Q F0
-(Disable \(unset\) each)180 285.6 Q F2(optname)2.5 E F0(.)A F1<ad71>144
-297.6 Q F0 .003(Suppresses normal output \(quiet mode\); the return sta\
-tus indicates whether the)180 297.6 R F2(optname)2.504 E F0(is)2.504 E
-.256(set or unset.)180 309.6 R .256(If multiple)5.256 F F2(optname)2.756
+E(options ha)144 386.4 Q .3 -.15(ve t)-.2 H(he follo).15 E
+(wing meanings:)-.25 E F1<ad73>144 398.4 Q F0(Enable \(set\) each)180
+398.4 Q F2(optname)2.5 E F0(.)A F1<ad75>144 410.4 Q F0
+(Disable \(unset\) each)180 410.4 Q F2(optname)2.5 E F0(.)A F1<ad71>144
+422.4 Q F0 .003(Suppresses normal output \(quiet mode\); the return sta\
+tus indicates whether the)180 422.4 R F2(optname)2.504 E F0(is)2.504 E
+.256(set or unset.)180 434.4 R .256(If multiple)5.256 F F2(optname)2.756
E F0(ar)2.756 E .256(guments are gi)-.18 F -.15(ve)-.25 G 2.756(nw).15 G
(ith)-2.756 E F1<ad71>2.756 E F0 2.755(,t)C .255
-(he return status is zero if)-2.755 F(all)180 321.6 Q F2(optnames)2.5 E
-F0(are enabled; non-zero otherwise.)2.5 E F1<ad6f>144 333.6 Q F0
-(Restricts the v)180 333.6 Q(alues of)-.25 E F2(optname)2.5 E F0
+(he return status is zero if)-2.755 F(all)180 446.4 Q F2(optnames)2.5 E
+F0(are enabled; non-zero otherwise.)2.5 E F1<ad6f>144 458.4 Q F0
+(Restricts the v)180 458.4 Q(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 .624(If either)144 350.4 R F1
+E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .624(If either)144 475.2 R F1
<ad73>3.124 E F0(or)3.124 E F1<ad75>3.124 E F0 .624(is used with no)
3.124 F F2(optname)3.124 E F0(ar)3.124 E(guments,)-.18 E F1(shopt)3.124
E F0(sho)3.124 E .624(ws only those options which are)-.25 F 2.234
-(set or unset, respecti)144 362.4 R -.15(ve)-.25 G(ly).15 E 7.234(.U)
+(set or unset, respecti)144 487.2 R -.15(ve)-.25 G(ly).15 E 7.234(.U)
-.65 G 2.234(nless otherwise noted, the)-7.234 F F1(shopt)4.734 E F0
-2.234(options are disabled \(unset\) by)4.734 F(def)144 374.4 Q(ault.)
+2.234(options are disabled \(unset\) by)4.734 F(def)144 499.2 Q(ault.)
-.1 E 1.544(The return status when listing options is zero if all)144
-391.2 R F2(optnames)4.044 E F0 1.545(are enabled, non-zero otherwise.)
+516 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 403.2 R F2(optname)3.196 E F0 .696(is not a v)3.196 F .695
-(alid shell)-.25 F(option.)144 415.2 Q(The list of)144 432 Q F1(shopt)
-2.5 E F0(options is:)2.5 E F1(assoc_expand_once)144 450 Q F0 1.944
-(If set, the shell suppresses multiple e)184 462 R -.25(va)-.25 G 1.945
-(luation of associati).25 F 2.245 -.15(ve a)-.25 H 1.945
-(rray subscripts during).15 F .857(arithmetic e)184 474 R .857
+144 528 R F2(optname)3.196 E F0 .696(is not a v)3.196 F .695(alid shell)
+-.25 F(option.)144 540 Q(The list of)144 556.8 Q F1(shopt)2.5 E F0
+(options is:)2.5 E F1(assoc_expand_once)144 574.8 Q F0 1.944
+(If set, the shell suppresses multiple e)184 586.8 R -.25(va)-.25 G
+1.945(luation of associati).25 F 2.245 -.15(ve a)-.25 H 1.945
+(rray subscripts during).15 F .857(arithmetic e)184 598.8 R .857
(xpression e)-.15 F -.25(va)-.25 G .857(luation and while e).25 F -.15
(xe)-.15 G .857(cuting b).15 F .857(uiltins that can perform v)-.2 F
-(ariable)-.25 E(assignments.)184 486 Q F1(autocd)144 498 Q F0 .199
-(If set, a command name that is the name of a directory is e)184 498 R
+(ariable)-.25 E(assignments.)184 610.8 Q F1(autocd)144 622.8 Q F0 .199
+(If set, a command name that is the name of a directory is e)184 622.8 R
-.15(xe)-.15 G .2(cuted as if it were the ar).15 F(gu-)-.18 E
-(ment to the)184 510 Q F1(cd)2.5 E F0 2.5(command. This)2.5 F
+(ment to the)184 634.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 522 Q(ars)-.1 E F0 .156(If set, an ar)184 534 R .156
+F1(cdable_v)144 646.8 Q(ars)-.1 E F0 .156(If set, an ar)184 658.8 R .156
(gument to the)-.18 F F1(cd)2.656 E F0 -.2(bu)2.656 G .155
(iltin command that is not a directory is assumed to be the).2 F
-(name of a v)184 546 Q(ariable whose v)-.25 E
-(alue is the directory to change to.)-.25 E F1(cdspell)144 558 Q F0
+(name of a v)184 670.8 Q(ariable whose v)-.25 E
+(alue is the directory to change to.)-.25 E F1(cdspell)144 682.8 Q F0
1.055
(If set, minor errors in the spelling of a directory component in a)184
-558 R F1(cd)3.555 E F0 1.055(command will be)3.555 F 3.988
-(corrected. The)184 570 R 1.488(errors check)3.988 F 1.487
+682.8 R F1(cd)3.555 E F0 1.055(command will be)3.555 F 3.988
+(corrected. The)184 694.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 .77(one character too man)184 582 R 4.57 -.65(y. I)
+-.4 G(nd)-3.987 E .77(one character too man)184 706.8 R 4.57 -.65(y. I)
-.15 H 3.27(fac).65 G .77
(orrection is found, the corrected \214lename is printed, and)-3.27 F
-(the command proceeds.)184 594 Q(This option is only used by interacti)5
-E .3 -.15(ve s)-.25 H(hells.).15 E F1(checkhash)144 606 Q F0 .737
-(If set,)184 618 R F1(bash)3.237 E F0 .736
+(the command proceeds.)184 718.8 Q
+(This option is only used by interacti)5 E .3 -.15(ve s)-.25 H(hells.)
+.15 E(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(72)194.555 E 0 Cg EP
+%%Page: 73 73
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
+(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0
+SF(checkhash)144 84 Q F0 .737(If set,)184 96 R F1(bash)3.237 E F0 .736
(checks that a command found in the hash table e)3.237 F .736
-(xists before trying to e)-.15 F -.15(xe)-.15 G(-).15 E(cute it.)184 630
+(xists before trying to e)-.15 F -.15(xe)-.15 G(-).15 E(cute it.)184 108
Q(If a hashed command no longer e)5 E
-(xists, a normal path search is performed.)-.15 E F1(checkjobs)144 642 Q
-F0 .448(If set,)184 654 R F1(bash)2.948 E F0 .448
+(xists, a normal path search is performed.)-.15 E F1(checkjobs)144 120 Q
+F0 .448(If set,)184 132 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 666 R(an)3.439 E 3.439(yj)-.15 G
+F -.15(ve)-.25 G 3.439(shell. If)184 144 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 678 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 690 Q -.1(wa)-.1
+(attempted without an interv)184 156 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.704 E(al)184 168 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 702 Q F0 1.09(If set,)184
-714 R F1(bash)3.59 E F0 1.09(checks the windo)3.59 F 3.59(ws)-.25 G 1.09
+(obs are stopped.)-2.5 E F1(checkwinsize)144 180 Q F0 1.09(If set,)184
+192 R F1(bash)3.59 E F0 1.09(checks the windo)3.59 F 3.59(ws)-.25 G 1.09
(ize after each e)-3.59 F 1.09(xternal \(non-b)-.15 F 1.09
-(uiltin\) command and, if)-.2 F(necessary)184 726 Q 2.5(,u)-.65 G
-(pdates the v)-2.5 E(alues 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 F0(GNU Bash 5.0)72 768 Q
-(2018 March 15)144.29 E(72)193.45 E 0 Cg EP
-%%Page: 73 73
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
-(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0
-SF(cmdhist)144 84 Q F0 1.202(If set,)184 84 R F1(bash)3.702 E F0 1.202
-(attempts to sa)3.702 F 1.502 -.15(ve a)-.2 H 1.202
+(uiltin\) command and, if)-.2 F(necessary)184 204 Q 2.5(,u)-.65 G
+(pdates the v)-2.5 E(alues 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 216 Q F0 1.202
+(If set,)184 216 R 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
-96 Q 6.133(.T)-.65 G 1.133(his allo)-6.133 F 1.133
+228 Q 6.133(.T)-.65 G 1.133(his allo)-6.133 F 1.133
(ws easy re-editing of multi-line commands.)-.25 F 1.132
-(This option is enabled by)6.132 F(def)184 108 Q .613(ault, b)-.1 F .613
+(This option is enabled by)6.132 F(def)184 240 Q .613(ault, b)-.1 F .613
(ut only has an ef)-.2 F .614
(fect if command history is enabled, as described abo)-.25 F .914 -.15
-(ve u)-.15 H(nder).15 E/F2 9/Times-Bold@0 SF(HIST)184 120 Q(OR)-.162 E
-(Y)-.315 E/F3 9/Times-Roman@0 SF(.)A F1(compat31)144 132 Q F0 .42
-(If set,)184 144 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 .461(to the)184 156 R F1([[)2.961 E F0 .462
-(conditional command')2.962 F(s)-.55 E F1(=~)2.962 E F0 .462
+(ve u)-.15 H(nder).15 E F2(HIST)184 252 Q(OR)-.162 E(Y)-.315 E F3(.)A F1
+(compat31)144 264 Q F0 .42(If set,)184 276 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 .461(to the)
+184 288 R F1([[)2.961 E F0 .462(conditional command')2.962 F(s)-.55 E F1
+(=~)2.962 E F0 .462
(operator and locale-speci\214c string comparison when)2.962 F .71
-(using the)184 168 R F1([[)3.21 E F0 .71(conditional command')3.21 F(s)
+(using the)184 300 R F1([[)3.21 E F0 .71(conditional command')3.21 F(s)
-.55 E F1(<)3.21 E F0(and)3.21 E F1(>)3.21 E F0 3.21(operators. Bash)
3.21 F -.15(ve)3.21 G .71(rsions prior to bash-4.1).15 F .82
-(use ASCII collation and)184 180 R/F4 10/Times-Italic@0 SF(str)3.321 E
+(use ASCII collation and)184 312 R/F4 10/Times-Italic@0 SF(str)3.321 E
(cmp)-.37 E F0 .821(\(3\); bash-4.1 and later use the current locale')
-.19 F 3.321(sc)-.55 G(ollation)-3.321 E(sequence and)184 192 Q F4(str)
-2.5 E(coll)-.37 E F0(\(3\).).51 E F1(compat32)144 204 Q F0 1.41(If set,)
-184 216 R F1(bash)3.91 E F0 1.41(changes its beha)3.91 F 1.409
+.19 F 3.321(sc)-.55 G(ollation)-3.321 E(sequence and)184 324 Q F4(str)
+2.5 E(coll)-.37 E F0(\(3\).).51 E F1(compat32)144 336 Q F0 1.41(If set,)
+184 348 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 .422
-(string comparison when using the)184 228 R F1([[)2.922 E F0 .422
+(string comparison when using the)184 360 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 .481
-(vious item\) and the ef)184 240 R .481
+(vious item\) and the ef)184 372 R .481
(fect of interrupting a command list.)-.25 F .48(Bash v)5.481 F .48
-(ersions 3.2 and earlier)-.15 F(continue with the ne)184 252 Q
+(ersions 3.2 and earlier)-.15 F(continue with the ne)184 384 Q
(xt command in the list after one terminates due to an interrupt.)-.15 E
-F1(compat40)144 264 Q F0 1.409(If set,)184 276 R F1(bash)3.909 E F0
+F1(compat40)144 396 Q F0 1.409(If set,)184 408 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 2.008
-(string comparison when using the)184 288 R F1([[)4.508 E F0 2.007
+(string comparison when using the)184 420 R F1([[)4.508 E F0 2.007
(conditional command')4.508 F(s)-.55 E F1(<)4.507 E F0(and)4.507 E F1(>)
-4.507 E F0 2.007(operators \(see)4.507 F .769(description of)184 300 R
+4.507 E F0 2.007(operators \(see)4.507 F .769(description of)184 432 R
F1(compat31)3.269 E F0 3.269(\)a)C .769(nd the ef)-3.269 F .769
(fect of interrupting a command list.)-.25 F .77(Bash v)5.77 F(ersions)
-.15 E .087(4.0 and later interrupt the list as if the shell recei)184
-312 R -.15(ve)-.25 G 2.586(dt).15 G .086(he interrupt; pre)-2.586 F .086
-(vious v)-.25 F .086(ersions con-)-.15 F(tinue with the ne)184 324 Q
-(xt command in the list.)-.15 E F1(compat41)144 336 Q F0 1.483(If set,)
-184 348 R F1(bash)3.983 E F0 3.983(,w)C 1.483(hen in)-3.983 F F4(posix)
-3.983 E F0 1.484
-(mode, treats a single quote in a double-quoted parameter)3.983 F -.15
-(ex)184 360 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 372
+444 R -.15(ve)-.25 G 2.586(dt).15 G .086(he interrupt; pre)-2.586 F .086
+(vious v)-.25 F .086(ersions con-)-.15 F(tinue with the ne)184 456 Q
+(xt command in the list.)-.15 E F1(compat41)144 468 Q F0 1.523(If set,)
+184 480 R F1(bash)4.023 E F0 4.023(,w)C 1.523(hen in)-4.023 F F4 1.523
+(posix mode)4.023 F F0 4.024(,t)C 1.524
+(reats a single quote in a double-quoted parameter)-4.024 F -.15(ex)184
+492 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 504
R .59(This is the beha)5.59 F .59(vior of)-.2 F .59
-(posix mode through v)184 384 R .589(ersion 4.1.)-.15 F .589(The def)
+(posix mode through v)184 516 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 396 Q F1(compat42)144 408 Q
-F0 1.796(If set,)184 420 R F1(bash)4.296 E F0 1.796
+(vious v)-.25 F(er)-.15 E(-)-.2 E(sions.)184 528 Q F1(compat42)144 540 Q
+F0 1.796(If set,)184 552 R F1(bash)4.296 E F0 1.796
(does not process the replacement string in the pattern substitution w)
-4.296 F(ord)-.1 E -.15(ex)184 432 S(pansion using quote remo).15 E -.25
-(va)-.15 G(l.).25 E F1(compat43)144 444 Q F0 .141(If set,)184 456 R F1
+4.296 F(ord)-.1 E -.15(ex)184 564 S(pansion using quote remo).15 E -.25
+(va)-.15 G(l.).25 E F1(compat43)144 576 Q F0 .141(If set,)184 588 R F1
(bash)2.641 E F0 .141(does not print a w)2.641 F .14
(arning message if an attempt is made to use a quoted com-)-.1 F .912
-(pound array assignment as an ar)184 468 R .912(gument to)-.18 F F1
+(pound array assignment as an ar)184 600 R .912(gument to)-.18 F F1
(declar)3.413 E(e)-.18 E F0 3.413(,m)C(ak)-3.413 E .913(es w)-.1 F .913
-(ord e)-.1 F .913(xpansion errors non-)-.15 F -.1(fa)184 480 S .353
+(ord e)-.1 F .913(xpansion errors non-)-.15 F -.1(fa)184 612 S .353
(tal errors that cause the current command to f).1 F .353(ail \(the def)
-.1 F .352(ault beha)-.1 F .352(vior is to mak)-.2 F 2.852(et)-.1 G(hem)
--2.852 E -.1(fa)184 492 S 1.057(tal errors that cause the shell to e).1
+-2.852 E -.1(fa)184 624 S 1.057(tal errors that cause the shell to e).1
F 1.058(xit\), and does not reset the loop state when a shell)-.15 F
-.375(function is e)184 504 R -.15(xe)-.15 G .375(cuted \(this allo).15 F
+.375(function is e)184 636 R -.15(xe)-.15 G .375(cuted \(this allo).15 F
(ws)-.25 E F1(br)2.875 E(eak)-.18 E F0(or)2.875 E F1(continue)2.875 E F0
.374(in a shell function to af)2.875 F .374(fect loops in)-.25 F
-(the caller')184 516 Q 2.5(sc)-.55 G(onte)-2.5 E(xt\).)-.15 E F1
-(compat44)144 528 Q F0 .441(If set,)184 540 R F1(bash)2.941 E F0(sa)
+(the caller')184 648 Q 2.5(sc)-.55 G(onte)-2.5 E(xt\).)-.15 E F1
+(compat44)144 660 Q F0 .441(If set,)184 672 R F1(bash)2.941 E F0(sa)
2.942 E -.15(ve)-.2 G 2.942(st).15 G .442(he positional parameters to B)
-2.942 F .442(ASH_ARGV and B)-.35 F .442(ASH_ARGC before)-.35 F(the)184
-552 Q 2.5(ya)-.15 G(re used, re)-2.5 E -.05(ga)-.15 G
+684 Q 2.5(ya)-.15 G(re used, re)-2.5 E -.05(ga)-.15 G
(rdless of whether or not e).05 E(xtended deb)-.15 E
-(ugging mode is enabled.)-.2 E F1(complete_fullquote)144 564 Q F0 .654
-(If set,)184 576 R F1(bash)3.153 E F0 .653(quotes all shell metacharact\
+(ugging mode is enabled.)-.2 E F1(complete_fullquote)144 696 Q F0 .654
+(If set,)184 708 R F1(bash)3.153 E F0 .653(quotes all shell metacharact\
ers in \214lenames and directory names when per)3.153 F(-)-.2 E 1.524
-(forming completion.)184 588 R 1.524(If not set,)6.524 F F1(bash)4.024 E
+(forming completion.)184 720 R 1.524(If not set,)6.524 F F1(bash)4.024 E
F0(remo)4.024 E -.15(ve)-.15 G 4.024(sm).15 G 1.524
-(etacharacters such as the dollar sign)-4.024 F 2.667(from the set of c\
-haracters that will be quoted in completed \214lenames when these)184
-600 R .028(metacharacters appear in shell v)184 612 R .028
+(etacharacters such as the dollar sign)-4.024 F(GNU Bash 5.0)72 768 Q
+(2018 August 7)145.395 E(73)194.555 E 0 Cg EP
+%%Page: 74 74
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
+(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E 2.667(from the se\
+t of characters that will be quoted in completed \214lenames when these)
+184 84 R .028(metacharacters appear in shell v)184 96 R .028
(ariable references in w)-.25 F .029(ords to be completed.)-.1 F .029
-(This means)5.029 F 1.073(that dollar signs in v)184 624 R 1.073
+(This means)5.029 F 1.073(that dollar signs in v)184 108 R 1.073
(ariable names that e)-.25 F 1.073
(xpand to directories will not be quoted; ho)-.15 F(w-)-.25 E -2.15 -.25
-(ev e)184 636 T 1.922 -.4(r, a).25 H 1.422 -.15(ny d).4 H 1.123
+(ev e)184 120 T 1.922 -.4(r, a).25 H 1.422 -.15(ny d).4 H 1.123
(ollar signs appearing in \214lenames will not be quoted, either).15 F
6.123(.T)-.55 G 1.123(his is acti)-6.123 F -.15(ve)-.25 G .59
(only when bash is using backslashes to quote completed \214lenames.)184
-648 R .59(This v)5.59 F .59(ariable is set)-.25 F(by def)184 660 Q
+132 R .59(This v)5.59 F .59(ariable is set)-.25 F(by def)184 144 Q
(ault, which is the def)-.1 E(ault bash beha)-.1 E(vior in v)-.2 E
-(ersions through 4.2.)-.15 E F1(dir)144 672 Q(expand)-.18 E F0 .486
-(If set,)184 684 R F1(bash)2.986 E F0 .486
+(ersions through 4.2.)-.15 E/F1 10/Times-Bold@0 SF(dir)144 156 Q(expand)
+-.18 E F0 .486(If set,)184 168 R F1(bash)2.986 E F0 .486
(replaces directory names with the results of w)2.986 F .486(ord e)-.1 F
.487(xpansion when perform-)-.15 F .18(ing \214lename completion.)184
-696 R .179(This changes the contents of the readline editing b)5.18 F
+180 R .179(This changes the contents of the readline editing b)5.18 F
(uf)-.2 E(fer)-.25 E 5.179(.I)-.55 G 2.679(fn)-5.179 G(ot)-2.679 E(set,)
-184 708 Q F1(bash)2.5 E F0(attempts to preserv)2.5 E 2.5(ew)-.15 G
-(hat the user typed.)-2.5 E(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E
-(73)193.45 E 0 Cg EP
-%%Page: 74 74
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
-(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0
-SF(dirspell)144 84 Q F0 .858(If set,)184 84 R F1(bash)3.358 E F0 .858
+184 192 Q F1(bash)2.5 E F0(attempts to preserv)2.5 E 2.5(ew)-.15 G
+(hat the user typed.)-2.5 E F1(dirspell)144 204 Q F0 .858(If set,)184
+204 R 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 96 Q(xist.)-.15 E
-F1(dotglob)144 108 Q F0 .165(If set,)184 108 R F1(bash)2.665 E F0 .165
+(the directory name initially supplied does not e)184 216 Q(xist.)-.15 E
+F1(dotglob)144 228 Q F0 .165(If set,)184 228 R 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(The \214lenames)184 120 Q F1 -.63(``)2.5 G -.55(.').63
+(xpansion.)-.15 E(The \214lenames)184 240 Q F1 -.63(``)2.5 G -.55(.').63
G(')-.08 E F0(and)5 E F1 -.63(``)2.5 G(..).63 E -.63('')-.55 G F0
(must al)5.63 E -.1(wa)-.1 G(ys be matched e).1 E(xplicitly)-.15 E 2.5
(,e)-.65 G -.15(ve)-2.75 G 2.5(ni).15 G(f)-2.5 E F1(dotglob)2.5 E F0
-(is set.)2.5 E F1(execfail)144 132 Q F0 1.386(If set, a non-interacti)
-184 132 R 1.686 -.15(ve s)-.25 H 1.386(hell will not e).15 F 1.386
+(is set.)2.5 E F1(execfail)144 252 Q F0 1.386(If set, a non-interacti)
+184 252 R 1.686 -.15(ve s)-.25 H 1.386(hell will not e).15 F 1.386
(xit if it cannot e)-.15 F -.15(xe)-.15 G 1.387
-(cute the \214le speci\214ed as an).15 F(ar)184 144 Q(gument to the)-.18
+(cute the \214le speci\214ed as an).15 F(ar)184 264 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 156 Q F0 .717
-(If set, aliases are e)184 168 R .717(xpanded as described abo)-.15 F
+-.1(fa)2.5 G(ils.).1 E F1(expand_aliases)144 276 Q F0 .717
+(If set, aliases are e)184 288 R .717(xpanded as described abo)-.15 F
1.017 -.15(ve u)-.15 H(nder).15 E/F2 9/Times-Bold@0 SF(ALIASES)3.217 E
/F3 9/Times-Roman@0 SF(.)A F0 .716(This option is enabled)5.217 F
-(by def)184 180 Q(ault for interacti)-.1 E .3 -.15(ve s)-.25 H(hells.)
-.15 E F1(extdeb)144 192 Q(ug)-.2 E F0 .671(If set at shell in)184 204 R
+(by def)184 300 Q(ault for interacti)-.1 E .3 -.15(ve s)-.25 H(hells.)
+.15 E F1(extdeb)144 312 Q(ug)-.2 E F0 .671(If set at shell in)184 324 R
-.2(vo)-.4 G .671(cation, arrange to e).2 F -.15(xe)-.15 G .671
(cute the deb).15 F .672(ugger pro\214le before the shell starts,)-.2 F
-.221(identical to the)184 216 R F1<adad646562>2.721 E(ugger)-.2 E F0
+.221(identical to the)184 336 R F1<adad646562>2.721 E(ugger)-.2 E F0
2.721(option. If)2.721 F .221(set after in)2.721 F -.2(vo)-.4 G .221
-(cation, beha).2 F .22(vior intended for use by)-.2 F(deb)184 228 Q
-(uggers is enabled:)-.2 E F1(1.)184 240 Q F0(The)220 240 Q F1<ad46>4.25
+(cation, beha).2 F .22(vior intended for use by)-.2 F(deb)184 348 Q
+(uggers is enabled:)-.2 E F1(1.)184 360 Q F0(The)220 360 Q 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 252 Q
-(gument.)-.18 E F1(2.)184 264 Q F0 1.667(If the command run by the)220
-264 R 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 276
-Q -.15(xe)-.15 G(cuted.).15 E F1(3.)184 288 Q F0 .84
-(If the command run by the)220 288 R F1(DEB)3.34 E(UG)-.1 E F0 .841
+(number corresponding to each function name supplied as an ar)220 372 Q
+(gument.)-.18 E F1(2.)184 384 Q F0 1.667(If the command run by the)220
+384 R 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 396
+Q -.15(xe)-.15 G(cuted.).15 E F1(3.)184 408 Q F0 .84
+(If the command run by the)220 408 R 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 300 S .488
+(exe)220 420 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 312 Q(ce)-.18 E F0 -.2(bu)2.5 G
+(sour)220 432 Q(ce)-.18 E F0 -.2(bu)2.5 G
(iltins\), the shell simulates a call to).2 E F1 -.18(re)2.5 G(tur).18 E
-(n)-.15 E F0(.)A F1(4.)184 324 Q F2 -.27(BA)220 324 S(SH_ARGC).27 E F0
+(n)-.15 E F0(.)A F1(4.)184 444 Q F2 -.27(BA)220 444 S(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 336 Q
--.15(ve)-.15 G(.).15 E F1(5.)184 348 Q F0 1.637(Function tracing is ena\
-bled: command substitution, shell functions, and sub-)220 348 R
-(shells in)220 360 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1
+(are updated as described in their descriptions)3.154 F(abo)220 456 Q
+-.15(ve)-.15 G(.).15 E F1(5.)184 468 Q F0 1.637(Function tracing is ena\
+bled: command substitution, shell functions, and sub-)220 468 R
+(shells in)220 480 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1
(\()2.5 E/F4 10/Times-Italic@0 SF(command)2.5 E F1(\))2.5 E F0
(inherit the)2.5 E F1(DEB)2.5 E(UG)-.1 E F0(and)2.5 E F1(RETURN)2.5 E F0
-(traps.)2.5 E F1(6.)184 372 Q F0 1.082(Error tracing is enabled: comman\
-d substitution, shell functions, and subshells)220 372 R(in)220 384 Q
+(traps.)2.5 E F1(6.)184 492 Q F0 1.082(Error tracing is enabled: comman\
+d substitution, shell functions, and subshells)220 492 R(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(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 396 Q F0 .4(If set, the e)184 396 R .4
+(extglob)144 516 Q F0 .4(If set, the e)184 516 R .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 408 Q
-F0(are enabled.)2.5 E F1(extquote)144 420 Q F0 2.473(If set,)184 432 R
+-.15 H(nder).15 E F1 -.1(Pa)2.9 G .4(thname Expan-).1 F(sion)184 528 Q
+F0(are enabled.)2.5 E F1(extquote)144 540 Q F0 2.473(If set,)184 552 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 444 Q
-(This option is enabled by def)5 E(ault.)-.1 E F1(failglob)144 456 Q F0
-1.425(If set, patterns which f)184 456 R 1.425
+(pansions).15 E(enclosed in double quotes.)184 564 Q
+(This option is enabled by def)5 E(ault.)-.1 E F1(failglob)144 576 Q F0
+1.425(If set, patterns which f)184 576 R 1.425
(ail to match \214lenames during pathname e)-.1 F 1.424
-(xpansion result in an)-.15 F -.15(ex)184 468 S(pansion error).15 E(.)
--.55 E F1 -.25(fo)144 480 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F0
-.936(If set, the suf)184 492 R<8c78>-.25 E .936(es speci\214ed by the)
+(xpansion result in an)-.15 F -.15(ex)184 588 S(pansion error).15 E(.)
+-.55 E F1 -.25(fo)144 600 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F0
+.936(If set, the suf)184 612 R<8c78>-.25 E .936(es speci\214ed by the)
-.15 F F2(FIGNORE)3.436 E F0 .936(shell v)3.186 F .936(ariable cause w)
--.25 F .937(ords to be ignored)-.1 F .32(when performing w)184 504 R .32
+-.25 F .937(ords to be ignored)-.1 F .32(when performing w)184 624 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 516 R F2 .447(SHELL V)2.947 F(ARIABLES)-1.215 E F0
+(pletions. See)184 636 R F2 .447(SHELL V)2.947 F(ARIABLES)-1.215 E F0
(abo)2.697 E .747 -.15(ve f)-.15 H .448(or a description of).15 F F2
(FIGNORE)2.948 E F3(.)A F0 .448(This option is)4.948 F(enabled by def)
-184 528 Q(ault.)-.1 E F1(globasciiranges)144 540 Q F0 2.519
-(If set, range e)184 552 R 2.519
+184 648 Q(ault.)-.1 E F1(globasciiranges)144 660 Q F0 2.519
+(If set, range e)184 672 R 2.519
(xpressions used in pattern matching brack)-.15 F 2.518(et e)-.1 F 2.518
(xpressions \(see)-.15 F F2 -.09(Pa)5.018 G(tter).09 E(n)-.135 E
-(Matching)184 564 Q F0(abo)2.964 E -.15(ve)-.15 G 3.214(\)b).15 G(eha)
+(Matching)184 684 Q F0(abo)2.964 E -.15(ve)-.15 G 3.214(\)b).15 G(eha)
-3.214 E 1.014 -.15(ve a)-.2 H 3.214(si).15 G 3.214(fi)-3.214 G 3.214
(nt)-3.214 G .714(he traditional C locale when performing comparisons.)
--3.214 F 1.02(That is, the current locale')184 576 R 3.52(sc)-.55 G 1.02
+-3.214 F 1.02(That is, the current locale')184 696 R 3.52(sc)-.55 G 1.02
(ollating sequence is not tak)-3.52 F 1.02(en into account, so)-.1 F F1
-(b)3.52 E F0 1.02(will not)3.52 F .956(collate between)184 588 R F1(A)
+(b)3.52 E F0 1.02(will not)3.52 F .956(collate between)184 708 R F1(A)
3.456 E F0(and)3.456 E F1(B)3.456 E F0 3.457(,a)C .957(nd upper)-3.457 F
.957(-case and lo)-.2 F(wer)-.25 E .957
-(-case ASCII characters will collate)-.2 F(together)184 600 Q(.)-.55 E
-F1(globstar)144 612 Q F0 .519(If set, the pattern)184 612 R 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 624 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
-636 Q F1(gnu_errfmt)144 648 Q F0(If set, shell error messages are writt\
-en in the standard GNU error message format.)184 660 Q F1(histappend)144
-672 Q F0 .676
-(If set, the history list is appended to the \214le named by the v)184
-684 R .676(alue of the)-.25 F F2(HISTFILE)3.176 E F0 -.25(va)2.926 G
-(ri-).25 E(able when the shell e)184 696 Q(xits, rather than o)-.15 E
--.15(ve)-.15 G(rwriting the \214le.).15 E(GNU Bash 5.0)72 768 Q
-(2018 March 15)144.29 E(74)193.45 E 0 Cg EP
+(-case ASCII characters will collate)-.2 F(together)184 720 Q(.)-.55 E
+(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(74)194.555 E 0 Cg EP
%%Page: 75 75
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0
-SF(histr)144 84 Q(eedit)-.18 E F0 .575(If set, and)184 96 R F1 -.18(re)
+SF(globstar)144 84 Q F0 .519(If set, the pattern)184 84 R 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 96 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
+108 Q F1(gnu_errfmt)144 120 Q F0(If set, shell error messages are writt\
+en in the standard GNU error message format.)184 132 Q F1(histappend)144
+144 Q F0 .676
+(If set, the history list is appended to the \214le named by the v)184
+156 R .676(alue of the)-.25 F/F2 9/Times-Bold@0 SF(HISTFILE)3.176 E F0
+-.25(va)2.926 G(ri-).25 E(able when the shell e)184 168 Q
+(xits, rather than o)-.15 E -.15(ve)-.15 G(rwriting the \214le.).15 E F1
+(histr)144 180 Q(eedit)-.18 E F0 .575(If set, and)184 192 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 108 Q F1(histv)144 120 Q
-(erify)-.1 E F0 .403(If set, and)184 132 R F1 -.18(re)2.903 G(adline).18
+.576(ailed his-)-.1 F(tory substitution.)184 204 Q F1(histv)144 216 Q
+(erify)-.1 E F0 .403(If set, and)184 228 R F1 -.18(re)2.903 G(adline).18
E F0 .403
(is being used, the results of history substitution are not immediately)
-2.903 F .661(passed to the shell parser)184 144 R 5.661(.I)-.55 G .662
+2.903 F .661(passed to the shell parser)184 240 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 156 S -.25(ff).2 G(er).25 E
+G(adline).18 E F0(editing)3.162 E -.2(bu)184 252 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 168 Q F0 1.182(If set, and)184 180 R F1 -.18(re)3.682
+(hostcomplete)144 264 Q F0 1.182(If set, and)184 276 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
-192 R 1.38(ord containing a)-.1 F F1(@)3.881 E F0 1.381
+288 R 1.38(ord containing a)-.1 F F1(@)3.881 E F0 1.381
(is being completed \(see)3.881 F F1(Completing)3.881 E F0(under)3.881 E
-/F2 9/Times-Bold@0 SF(READLINE)3.881 E F0(abo)184 204 Q -.15(ve)-.15 G
-2.5(\). This).15 F(is enabled by def)2.5 E(ault.)-.1 E F1(huponexit)144
-216 Q F0(If set,)184 228 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(inherit_err)144 240 Q(exit)-.18 E F0
-.22(If set, command substitution inherits the v)184 252 R .219
-(alue of the)-.25 F F1(err)2.719 E(exit)-.18 E F0 .219
-(option, instead of unsetting)2.719 F(it in the subshell en)184 264 Q
-2.5(vironment. This)-.4 F(option is enabled when)2.5 E/F3 10
-/Times-Italic@0 SF(posix mode)2.5 E F0(is enabled.)2.5 E F1(interacti)
-144 276 Q -.1(ve)-.1 G(_comments).1 E F0 .33(If set, allo)184 288 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 300 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
-312 Q(ault.)-.1 E F1(lastpipe)144 324 Q F0 .066
-(If set, and job control is not acti)184 324 R -.15(ve)-.25 G 2.566(,t)
+F2(READLINE)3.881 E F0(abo)184 300 Q -.15(ve)-.15 G 2.5(\). This).15 F
+(is enabled by def)2.5 E(ault.)-.1 E F1(huponexit)144 312 Q F0(If set,)
+184 324 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(inherit_err)144 336 Q(exit)-.18 E F0 .22
+(If set, command substitution inherits the v)184 348 R .219(alue of the)
+-.25 F F1(err)2.719 E(exit)-.18 E F0 .219(option, instead of unsetting)
+2.719 F(it in the subshell en)184 360 Q 2.5(vironment. This)-.4 F
+(option is enabled when)2.5 E/F3 10/Times-Italic@0 SF(posix mode)2.5 E
+F0(is enabled.)2.5 E F1(interacti)144 372 Q -.1(ve)-.1 G(_comments).1 E
+F0 .33(If set, allo)184 384 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 396 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 408 Q
+(ault.)-.1 E F1(lastpipe)144 420 Q F0 .066
+(If set, and job control is not acti)184 420 R -.15(ve)-.25 G 2.566(,t)
.15 G .066(he shell runs the last command of a pipeline not e)-2.566 F
-.15(xe)-.15 G(-).15 E(cuted in the background in the current shell en)
-184 336 Q(vironment.)-.4 E F1(lithist)144 348 Q F0 .655(If set, and the)
-184 348 R F1(cmdhist)3.155 E F0 .654
+184 432 Q(vironment.)-.4 E F1(lithist)144 444 Q F0 .655(If set, and the)
+184 444 R 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 360 Q
+(with embedded ne)184 456 Q
(wlines rather than using semicolon separators where possible.)-.25 E F1
-(localv)144 372 Q(ar_inherit)-.1 E F0 .421(If set, local v)184 384 R
+(localv)144 468 Q(ar_inherit)-.1 E F0 .421(If set, local v)184 480 R
.422(ariables inherit the v)-.25 F .422(alue and attrib)-.25 F .422
(utes of a v)-.2 F .422(ariable of the same name that)-.25 F -.15(ex)184
-396 S .174(ists at a pre).15 F .174(vious scope before an)-.25 F 2.673
+492 S .174(ists at a pre).15 F .174(vious scope before an)-.25 F 2.673
(yn)-.15 G .673 -.25(ew va)-2.673 H .173(lue is assigned.).25 F .173
-(The nameref attrib)5.173 F .173(ute is not)-.2 F(inherited.)184 408 Q
-F1(login_shell)144 420 Q F0 .486
+(The nameref attrib)5.173 F .173(ute is not)-.2 F(inherited.)184 504 Q
+F1(login_shell)144 516 Q F0 .486
(The shell sets this option if it is started as a login shell \(see)184
-432 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 444 S(lue may not be changed.).25
-E F1(mailwar)144 456 Q(n)-.15 E F0 .815(If set, and a \214le that)184
-468 R F1(bash)3.315 E F0 .814
+528 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 540 S(lue may not be changed.).25
+E F1(mailwar)144 552 Q(n)-.15 E F0 .815(If set, and a \214le that)184
+564 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 480 S 2.5(sc).1 G(heck)-2.5 E(ed, the message `)-.1 E
+-.1(wa)184 576 S 2.5(sc).1 G(heck)-2.5 E(ed, the message `)-.1 E
(`The mail in)-.74 E F3(mail\214le)2.5 E F0(has been read')2.5 E 2.5('i)
--.74 G 2.5(sd)-2.5 G(isplayed.)-2.5 E F1(no_empty_cmd_completion)144 492
-Q F0 .324(If set, and)184 504 R F1 -.18(re)2.824 G(adline).18 E F0 .324
+-.74 G 2.5(sd)-2.5 G(isplayed.)-2.5 E F1(no_empty_cmd_completion)144 588
+Q F0 .324(If set, and)184 600 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 516 Q F1
-(nocaseglob)144 528 Q F0 .437(If set,)184 540 R F1(bash)2.937 E F0 .436
+(completions when completion is attempted on an empty line.)184 612 Q F1
+(nocaseglob)144 624 Q F0 .437(If set,)184 636 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 552 S
+H .436(ashion when performing pathname).05 F -.15(ex)184 648 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 564 Q F0 1.193(If set,)184
-576 R F1(bash)3.693 E F0 1.194(matches patterns in a case\255insensiti)
+-.15(ve)-.15 G(\).).15 E F1(nocasematch)144 660 Q F0 1.193(If set,)184
+672 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 .551(while e)184 588 R -.15(xe)-.15 G(cuting).15 E F1(case)3.051 E F0
+F .551(while e)184 684 R -.15(xe)-.15 G(cuting).15 E F1(case)3.051 E F0
(or)3.051 E F1([[)3.051 E F0 .551
(conditional commands, when performing pattern substitution)3.051 F -.1
-(wo)184 600 S .622(rd e).1 F .623(xpansions, or when \214ltering possib\
-le completions as part of programmable com-)-.15 F(pletion.)184 612 Q F1
-(nullglob)144 624 Q F0 .855(If set,)184 636 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 648 S
-(pand to a null string, rather than themselv).15 E(es.)-.15 E F1(pr)144
-660 Q(ogcomp)-.18 E F0 .676(If set, the programmable completion f)184
-672 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 684 Q(This option is enabled by def)5 E(ault.)-.1 E F1
-(pr)144 696 Q(omptv)-.18 E(ars)-.1 E F0 1.448
-(If set, prompt strings under)184 708 R 1.448(go parameter e)-.18 F
-1.447(xpansion, command substitution, arithmetic)-.15 F -.15(ex)184 720
-S .17(pansion, and quote remo).15 F -.25(va)-.15 G 2.67(la).25 G .17
-(fter being e)-2.67 F .17(xpanded as described in)-.15 F F2(PR)2.671 E
-(OMPTING)-.27 E F0(abo)2.421 E -.15(ve)-.15 G(.).15 E(GNU Bash 5.0)72
-768 Q(2018 March 15)144.29 E(75)193.45 E 0 Cg EP
+(wo)184 696 S .622(rd e).1 F .623(xpansions, or when \214ltering possib\
+le completions as part of programmable com-)-.15 F(pletion.)184 708 Q
+(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(75)194.555 E 0 Cg EP
%%Page: 76 76
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
-(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E
-(This option is enabled by def)184 84 Q(ault.)-.1 E/F1 10/Times-Bold@0
-SF -.18(re)144 96 S(stricted_shell).18 E F0 1.069
+(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0
+SF(nullglob)144 84 Q F0 .855(If set,)184 96 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 108 S
+(pand to a null string, rather than themselv).15 E(es.)-.15 E F1(pr)144
+120 Q(ogcomp)-.18 E F0 .676(If set, the programmable completion f)184
+132 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 144 Q(This option is enabled by def)5 E(ault.)-.1 E F1
+(pr)144 156 Q(omptv)-.18 E(ars)-.1 E F0 1.448
+(If set, prompt strings under)184 168 R 1.448(go parameter e)-.18 F
+1.447(xpansion, command substitution, arithmetic)-.15 F -.15(ex)184 180
+S .17(pansion, and quote remo).15 F -.25(va)-.15 G 2.67(la).25 G .17
+(fter being e)-2.67 F .17(xpanded as described in)-.15 F/F2 9
+/Times-Bold@0 SF(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 192 Q(ault.)-.1 E F1 -.18(re)
+144 204 S(stricted_shell).18 E F0 1.069
(The shell sets this option if it is started in restricted mode \(see)
-184 108 R/F2 9/Times-Bold@0 SF 1.069(RESTRICTED SHELL)3.569 F F0(belo)
-184 120 Q 2.86(w\). The)-.25 F -.25(va)2.86 G .36
-(lue may not be changed.).25 F .36
+184 216 R F2 1.069(RESTRICTED SHELL)3.569 F F0(belo)184 228 Q 2.86
+(w\). The)-.25 F -.25(va)2.86 G .36(lue may not be changed.).25 F .36
(This is not reset when the startup \214les are e)5.36 F -.15(xe)-.15 G
-(-).15 E(cuted, allo)184 132 Q(wing the startup \214les to disco)-.25 E
+(-).15 E(cuted, allo)184 240 Q(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 144 Q(erbose)-.1 E F0 .502(If set, the)184 156 R F1
+F1(shift_v)144 252 Q(erbose)-.1 E F0 .502(If set, the)184 264 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 168 Q F1(sour)
-144 180 Q(cepath)-.18 E F0 .77(If set, the)184 192 R F1(sour)3.27 E(ce)
+(xceeds the number)-.15 F(of positional parameters.)184 276 Q F1(sour)
+144 288 Q(cepath)-.18 E F0 .77(If set, the)184 300 R F1(sour)3.27 E(ce)
-.18 E F0(\()3.27 E F1(.)A F0 3.27(\)b)C .77(uiltin uses the v)-3.47 F
.771(alue of)-.25 F F2 -.666(PA)3.271 G(TH)-.189 E F0 .771
(to \214nd the directory containing the)3.021 F
-(\214le supplied as an ar)184 204 Q 2.5(gument. This)-.18 F
-(option is enabled by def)2.5 E(ault.)-.1 E F1(xpg_echo)144 216 Q F0
-(If set, the)184 228 Q F1(echo)2.5 E F0 -.2(bu)2.5 G(iltin e).2 E
+(\214le supplied as an ar)184 312 Q 2.5(gument. This)-.18 F
+(option is enabled by def)2.5 E(ault.)-.1 E F1(xpg_echo)144 324 Q F0
+(If set, the)184 336 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 244.8 Q F0([)2.5 E F1<ad66>A F0(])A 1.002(Suspend the e)144 256.8 R
+108 352.8 Q F0([)2.5 E F1<ad66>A F0(])A 1.002(Suspend the e)144 364.8 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 268.8 R F1<ad66>
+(login shell cannot be)3.501 F .022(suspended; the)144 376.8 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 280.8 S(nless the shell is a login shell and)-2.5 E
+5.023 F 2.5(0u)144 388.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 297.6 Q/F3 10/Times-Italic@0 SF -.2(ex)2.5 G(pr).2 E F1([)
-108 309.6 Q F3 -.2(ex)2.5 G(pr).2 E F1(])2.5 E F0 .878
-(Return a status of 0 \(true\) or 1 \(f)144 309.6 R .877
+E F1(test)108 405.6 Q/F3 10/Times-Italic@0 SF -.2(ex)2.5 G(pr).2 E F1([)
+108 417.6 Q F3 -.2(ex)2.5 G(pr).2 E F1(])2.5 E F0 .878
+(Return a status of 0 \(true\) or 1 \(f)144 417.6 R .877
(alse\) depending on the e)-.1 F -.25(va)-.25 G .877
-(luation of the conditional e).25 F(xpression)-.15 E F3 -.2(ex)144 321.6
+(luation of the conditional e).25 F(xpression)-.15 E F3 -.2(ex)144 429.6
S(pr).2 E F0 5.53(.E).73 G .53
(ach operator and operand must be a separate ar)-5.53 F 3.03
(gument. Expressions)-.18 F .53(are composed of the)3.03 F 3.08
-(primaries described abo)144 333.6 R 3.38 -.15(ve u)-.15 H(nder).15 E F2
+(primaries described abo)144 441.6 R 3.38 -.15(ve u)-.15 H(nder).15 E F2
(CONDITION)5.58 E 3.079(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(.)A
F1(test)7.579 E F0 3.079(does not accept an)5.579 F(y)-.15 E
-(options, nor does it accept and ignore an ar)144 345.6 Q(gument of)-.18
+(options, nor does it accept and ignore an ar)144 453.6 Q(gument of)-.18
E F1<adad>2.5 E F0(as signifying the end of options.)2.5 E .785
-(Expressions may be combined using the follo)144 363.6 R .786
+(Expressions may be combined using the follo)144 471.6 R .786
(wing operators, listed in decreasing order of prece-)-.25 F 3.412
-(dence. The)144 375.6 R -.25(eva)3.412 G .912
+(dence. The)144 483.6 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 387.6 Q 2.5(eo)-.15 G 2.5(rm)-2.5 G
-(ore ar)-2.5 E(guments.)-.18 E F1(!)144 399.6 Q F3 -.2(ex)2.5 G(pr).2 E
-F0 -.35(Tr)180 399.6 S(ue if).35 E F3 -.2(ex)2.5 G(pr).2 E F0(is f)3.23
-E(alse.)-.1 E F1(\()144 411.6 Q F3 -.2(ex)2.5 G(pr).2 E F1(\))2.5 E F0
-.26(Returns the v)180 411.6 R .26(alue of)-.25 F F3 -.2(ex)2.76 G(pr).2
+(used when there are \214v)144 495.6 Q 2.5(eo)-.15 G 2.5(rm)-2.5 G
+(ore ar)-2.5 E(guments.)-.18 E F1(!)144 507.6 Q F3 -.2(ex)2.5 G(pr).2 E
+F0 -.35(Tr)180 507.6 S(ue if).35 E F3 -.2(ex)2.5 G(pr).2 E F0(is f)3.23
+E(alse.)-.1 E F1(\()144 519.6 Q F3 -.2(ex)2.5 G(pr).2 E F1(\))2.5 E F0
+.26(Returns the v)180 519.6 R .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 423.6 Q F3 -.2
-(ex)144 435.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 447.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 459.6 S
+(rride the normal precedence of opera-).15 F(tors.)180 531.6 Q F3 -.2
+(ex)144 543.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 555.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 567.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
-471.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 488.4 Q F0(and)2.5 E
+579.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 596.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 506.4 S -.18(rg)-2.5 G(uments).18 E(The e)
-180 518.4 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(1a)144 530.4 S -.18
-(rg)-2.5 G(ument).18 E(The e)180 542.4 Q
+(guments.)-.18 E 2.5(0a)144 614.4 S -.18(rg)-2.5 G(uments).18 E(The e)
+180 626.4 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(1a)144 638.4 S -.18
+(rg)-2.5 G(ument).18 E(The e)180 650.4 Q
(xpression is true if and only if the ar)-.15 E(gument is not null.)-.18
-E 2.5(2a)144 554.4 S -.18(rg)-2.5 G(uments).18 E .37(If the \214rst ar)
-180 566.4 R .37(gument is)-.18 F F1(!)2.87 E F0 2.87(,t)C .37(he e)-2.87
+E 2.5(2a)144 662.4 S -.18(rg)-2.5 G(uments).18 E .37(If the \214rst ar)
+180 674.4 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 578.4 R .38
+(gument is null.)-.18 F .379(If the \214rst ar)180 686.4 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 590.4 Q .553
+-.15(ve u)-.15 H(nder).15 E F2(CONDI-)2.88 E(TION)180 698.4 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 602.4 Q
+(If the \214rst ar)5.552 F(gu-)-.18 E(ment is not a v)180 710.4 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 614.4 S -.18(rg)-2.5 G
-(uments).18 E .236(The follo)180 626.4 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 638.4 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 650.4 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 662.4 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 674.4 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
-686.4 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 698.4 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 710.4 Q(xpression is f)-.15 E(alse.)-.1 E(GNU Bash 5.0)
-72 768 Q(2018 March 15)144.29 E(76)193.45 E 0 Cg EP
+(xpression is f)-.15 E(alse.)-.1 E(GNU Bash 5.0)72 768 Q(2018 August 7)
+145.395 E(76)194.555 E 0 Cg EP
%%Page: 77 77
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
-(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E 2.5(4a)144 84 S
--.18(rg)-2.5 G(uments).18 E .385(If the \214rst ar)180 96 R .385
-(gument is)-.18 F/F1 10/Times-Bold@0 SF(!)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 108 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
-120 Q -.15(ve)-.15 G(.).15 E 2.5(5o)144 132 S 2.5(rm)-2.5 G(ore ar)-2.5
-E(guments)-.18 E 1.635(The e)180 144 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 156
-Q -.15(ve)-.15 G(.).15 E(When used with)144 174 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 190.8 Q F0 1.229(Print the accumulated user and system t\
-imes for the shell and for processes run from the shell.)144 190.8 R
-(The return status is 0.)144 202.8 Q F1(trap)108 219.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 231.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
+(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E 2.5(3a)144 84 S
+-.18(rg)-2.5 G(uments).18 E .236(The follo)180 96 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 108 R 1.155 -.15(ve u)
+-.15 H(nder).15 E/F1 9/Times-Bold@0 SF(CONDITION)3.355 E .855
+(AL EXPRESSIONS)-.18 F/F2 9/Times-Roman@0 SF(,)A F0(the)3.104 E .578
+(result of the e)180 120 R .578(xpression is the result of the binary t\
+est using the \214rst and third ar)-.15 F(guments)-.18 E 1.333
+(as operands.)180 132 R(The)6.333 E/F3 10/Times-Bold@0 SF<ad61>3.833 E
+F0(and)3.833 E F3<ad6f>3.832 E F0 1.332
+(operators are considered binary operators when there are)3.832 F .558
+(three ar)180 144 R 3.058(guments. If)-.18 F .558(the \214rst ar)3.058 F
+.558(gument is)-.18 F F3(!)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 156 R 3.021
+(guments. If)-.18 F .521(the \214rst ar)3.021 F .52(gument is e)-.18 F
+(xactly)-.15 E F3(\()3.02 E F0 .52(and the third)3.02 F(ar)180 168 Q
+.485(gument is e)-.18 F(xactly)-.15 E F3(\))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 180 Q
+(xpression is f)-.15 E(alse.)-.1 E 2.5(4a)144 192 S -.18(rg)-2.5 G
+(uments).18 E .385(If the \214rst ar)180 204 R .385(gument is)-.18 F F3
+(!)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 216 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 228 Q -.15(ve)
+-.15 G(.).15 E 2.5(5o)144 240 S 2.5(rm)-2.5 G(ore ar)-2.5 E(guments)-.18
+E 1.635(The e)180 252 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 264 Q -.15(ve)-.15 G(.).15 E(When used with)144 282 Q F3(test)
+2.5 E F0(or)2.5 E F3([)2.5 E F0 2.5(,t)C(he)-2.5 E F3(<)2.5 E F0(and)2.5
+E F3(>)2.5 E F0(operators sort le)2.5 E
+(xicographically using ASCII ordering.)-.15 E F3(times)108 298.8 Q F0
+1.229(Print the accumulated user and system times for the shell and for\
+ processes run from the shell.)144 298.8 R(The return status is 0.)144
+310.8 Q F3(trap)108 327.6 Q F0([)2.5 E F3(\255lp)A F0 2.5(][)C([)-2.5 E
+/F4 10/Times-Italic@0 SF(ar)A(g)-.37 E F0(])A F4(sigspec)2.5 E F0(...])
+2.5 E .703(The command)144 339.6 R F4(ar)3.533 E(g)-.37 E F0 .703
+(is to be read and e)3.423 F -.15(xe)-.15 G .702
(cuted when the shell recei).15 F -.15(ve)-.25 G 3.202(ss).15 G
-(ignal\(s\))-3.202 E F2(sigspec)3.202 E F0 5.702(.I).31 G(f)-5.702 E F2
+(ignal\(s\))-3.202 E F4(sigspec)3.202 E F0 5.702(.I).31 G(f)-5.702 E F4
(ar)3.532 E(g)-.37 E F0(is)3.422 E .608(absent \(and there is a single)
-144 243.6 R F2(sigspec)3.108 E F0 3.108(\)o)C(r)-3.108 E F1<ad>3.108 E
+144 351.6 R F4(sigspec)3.108 E F0 3.108(\)o)C(r)-3.108 E F3<ad>3.108 E
F0 3.108(,e)C .608
(ach speci\214ed signal is reset to its original disposition)-3.108 F
-.659(\(the v)144 255.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 267.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 279.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 291.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
+.659(\(the v)144 363.6 R .659(alue it had upon entrance to the shell\).)
+-.25 F(If)5.658 E F4(ar)3.488 E(g)-.37 E F0 .658
+(is the null string the signal speci\214ed by each)3.378 F F4(sigspec)
+144.34 375.6 Q F0 .58(is ignored by the shell and by the commands it in)
+3.39 F -.2(vo)-.4 G -.1(ke).2 G 3.081(s. If).1 F F4(ar)3.411 E(g)-.37 E
+F0 .581(is not present and)3.301 F F3<ad70>3.081 E F0(has)3.081 E 1.215
+(been supplied, then the trap commands associated with each)144 387.6 R
+F4(sigspec)4.054 E F0 1.214(are displayed.)4.024 F 1.214(If no ar)6.214
+F(gu-)-.18 E .86(ments are supplied or if only)144 399.6 R F3<ad70>3.36
+E F0 .86(is gi)3.36 F -.15(ve)-.25 G(n,).15 E F3(trap)3.36 E F0 .86
(prints the list of commands associated with each)3.36 F 2.83
-(signal. The)144 303.6 R F1<ad6c>2.83 E F0 .33(option causes the shell \
+(signal. The)144 411.6 R F3<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 315.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
+(bers. Each)144 423.6 R F4(sigspec)4.65 E F0 1.811
+(is either a signal name de\214ned in <)4.62 F F4(signal.h)A F0 1.811
(>, or a signal number)B 6.811(.S)-.55 G(ignal)-6.811 E
-(names are case insensiti)144 327.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 345.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
-357.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 369.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
+(names are case insensiti)144 435.6 Q .3 -.15(ve a)-.25 H(nd the).15 E
+F1(SIG)2.5 E F0(pre\214x is optional.)2.25 E 1.649(If a)144 453.6 R F4
+(sigspec)4.489 E F0(is)4.459 E F1(EXIT)4.149 E F0 1.649
+(\(0\) the command)3.899 F F4(ar)4.479 E(g)-.37 E F0 1.649(is e)4.369 F
+-.15(xe)-.15 G 1.649(cuted on e).15 F 1.648(xit from the shell.)-.15 F
+1.648(If a)6.648 F F4(sigspec)4.488 E F0(is)4.458 E F1(DEB)144 465.6 Q
+(UG)-.09 E F2(,)A F0 1.167(the command)3.417 F F4(ar)3.997 E(g)-.37 E F0
+1.167(is e)3.887 F -.15(xe)-.15 G 1.167(cuted before e).15 F -.15(ve)
+-.25 G(ry).15 E F4 1.168(simple command)3.667 F F0(,)A F4(for)3.668 E F0
+(command,)3.668 E F4(case)3.668 E F0(com-)3.668 E(mand,)144 477.6 Q F4
+(select)2.647 E F0 .147(command, e)2.647 F -.15(ve)-.25 G .147
+(ry arithmetic).15 F F4(for)2.647 E F0 .146
(command, and before the \214rst command e)2.647 F -.15(xe)-.15 G .146
-(cutes in a).15 F .145(shell function \(see)144 381.6 R F3 .145
+(cutes in a).15 F .145(shell function \(see)144 489.6 R F1 .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 393.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 405.6 Q F2(ar)
+F .146(to the description of the)2.646 F F3(extdeb)2.646 E(ug)-.2 E F0
+.146(option to)2.646 F(the)144 501.6 Q F3(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 F3(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
+F1(RETURN)3.2 E F2(,)A F0 .7(the com-)2.95 F(mand)144 513.6 Q F4(ar)
3.473 E(g)-.37 E F0 .643(is e)3.363 F -.15(xe)-.15 G .643
(cuted each time a shell function or a script e).15 F -.15(xe)-.15 G
-.644(cuted with the).15 F 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 417.6 Q -.15(xe)
--.15 G(cuting.).15 E .961(If a)144 435.6 R F2(sigspec)3.801 E F0(is)
-3.771 E F3(ERR)3.461 E F4(,)A F0 .961(the command)3.211 F F2(ar)3.791 E
+.644(cuted with the).15 F F3(.)3.144 E F0(or)3.144 E F3(sour)3.144 E(ce)
+-.18 E F0 -.2(bu)3.144 G(iltins).2 E(\214nishes e)144 525.6 Q -.15(xe)
+-.15 G(cuting.).15 E .961(If a)144 543.6 R F4(sigspec)3.801 E F0(is)
+3.771 E F1(ERR)3.461 E F2(,)A F0 .961(the command)3.211 F F4(ar)3.791 E
(g)-.37 E F0 .961(is e)3.681 F -.15(xe)-.15 G .961(cuted whene).15 F
-.15(ve)-.25 G 3.461(ra).15 G .96(pipeline \(which may consist of a)
-.001 F .185(single simple command\), a list, or a compound command ret\
-urns a non\255zero e)144 447.6 R .185(xit status, subject to)-.15 F .452
-(the follo)144 459.6 R .452(wing conditions.)-.25 F(The)5.452 E F3(ERR)
+urns a non\255zero e)144 555.6 R .185(xit status, subject to)-.15 F .452
+(the follo)144 567.6 R .452(wing conditions.)-.25 F(The)5.452 E F1(ERR)
2.952 E F0 .451(trap is not e)2.701 F -.15(xe)-.15 G .451
(cuted if the f).15 F .451(ailed command is part of the com-)-.1 F .387
-(mand list immediately follo)144 471.6 R .387(wing a)-.25 F F1(while)
-2.887 E F0(or)2.887 E F1(until)2.888 E F0 -.1(ke)2.888 G(yw)-.05 E .388
-(ord, part of the test in an)-.1 F F2(if)2.898 E F0 .388
-(statement, part)4.848 F .778(of a command e)144 483.6 R -.15(xe)-.15 G
-.778(cuted in a).15 F F1(&&)3.278 E F0(or)3.278 E F1(||)3.278 E F0 .778
+(mand list immediately follo)144 579.6 R .387(wing a)-.25 F F3(while)
+2.887 E F0(or)2.887 E F3(until)2.888 E F0 -.1(ke)2.888 G(yw)-.05 E .388
+(ord, part of the test in an)-.1 F F4(if)2.898 E F0 .388
+(statement, part)4.848 F .778(of a command e)144 591.6 R -.15(xe)-.15 G
+.778(cuted in a).15 F F3(&&)3.278 E F0(or)3.278 E F3(||)3.278 E F0 .778
(list e)3.278 F .778(xcept the command follo)-.15 F .778
-(wing the \214nal)-.25 F F1(&&)3.278 E F0(or)3.278 E F1(||)3.277 E F0
-3.277(,a)C -.15(ny)-3.277 G 1.28(command in a pipeline b)144 495.6 R
+(wing the \214nal)-.25 F F3(&&)3.278 E F0(or)3.278 E F3(||)3.277 E F0
+3.277(,a)C -.15(ny)-3.277 G 1.28(command in a pipeline b)144 603.6 R
1.28(ut the last, or if the command')-.2 F 3.78(sr)-.55 G 1.28(eturn v)
-3.78 F 1.28(alue is being in)-.25 F -.15(ve)-.4 G 1.28(rted using).15 F
-F1(!)3.78 E F0(.)A(These are the same conditions obe)144 507.6 Q
-(yed by the)-.15 E F1(err)2.5 E(exit)-.18 E F0(\()2.5 E F1<ad65>A F0 2.5
+F3(!)3.78 E F0(.)A(These are the same conditions obe)144 615.6 Q
+(yed by the)-.15 E F3(err)2.5 E(exit)-.18 E F0(\()2.5 E F3<ad65>A F0 2.5
(\)o)C(ption.)-2.5 E 1.095
(Signals ignored upon entry to the shell cannot be trapped or reset.)144
-525.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 537.6 R .662
+633.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 645.6 R .662
(alues in a subshell or subshell en)-.25 F .662(vironment when one is)
--.4 F 2.5(created. The)144 549.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
-566.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 578.4 S .174
-(th no options, indicate ho).4 F 2.674(we)-.25 G(ach)-2.674 E F2(name)
+-.4 F 2.5(created. The)144 657.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 F3(trap)2.5 E F0(returns true.)2.5 E F3(type)108
+674.4 Q F0([)2.5 E F3(\255aftpP)A F0(])A F4(name)2.5 E F0([)2.5 E F4
+(name)A F0(...])2.5 E -.4(Wi)144 686.4 S .174
+(th no options, indicate ho).4 F 2.674(we)-.25 G(ach)-2.674 E F4(name)
3.034 E F0 -.1(wo)2.854 G .173
(uld be interpreted if used as a command name.).1 F .173(If the)5.173 F
-F1<ad74>144 590.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.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 602.4 Q F0 .087
+F3<ad74>144 698.4 Q F0 .842(option is used,)3.342 F F3(type)3.342 E F0
+.843(prints a string which is one of)3.343 F F4(alias)3.343 E F0(,).27 E
+F4 -.1(ke)3.343 G(ywor)-.2 E(d)-.37 E F0(,).77 E F4(function)3.343 E F0
+(,).24 E F4 -.2(bu)3.343 G(iltin).2 E F0 3.343(,o).24 G(r)-3.343 E F4
+(\214le)5.253 E F0(if)3.523 E F4(name)144.36 710.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
+(ve)-.25 G(ly).15 E 5.086(.I)-.65 G 2.586(ft)-5.086 G(he)-2.586 E F4
(name)2.946 E F0 .086(is not)2.766 F .118
-(found, then nothing is printed, and an e)144 614.4 R .118
+(found, then nothing is printed, and an e)144 722.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 626.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 .64(mand name, or nothing if)144
-638.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 650.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 662.4 Q F1<ad50>3.23 E F0 .73(print the hashed v)3.23
-F .731
-(alue, which is not necessarily the \214le that appears \214rst in)-.25
-F F3 -.666(PA)3.231 G(TH)-.189 E F4(.)A F0 .731(If the)5.231 F F1<ad61>
-144 674.4 Q F0 1.749(option is used,)4.249 F F1(type)4.248 E F0 1.748
-(prints all of the places that contain an e)4.248 F -.15(xe)-.15 G 1.748
-(cutable named).15 F F2(name)4.248 E F0 6.748(.T).18 G(his)-6.748 E .744
-(includes aliases and functions, if and only if the)144 686.4 R F1<ad70>
-3.244 E F0 .744(option is not also used.)3.244 F .744
-(The table of hashed)5.744 F 1.223(commands is not consulted when using)
-144 698.4 R F1<ad61>3.723 E F0 6.223(.T)C(he)-6.223 E F1<ad66>3.723 E F0
-1.223(option suppresses shell function lookup, as)3.723 F .325(with the)
-144 710.4 R F1(command)2.825 E F0 -.2(bu)2.825 G(iltin.).2 E F1(type)
-5.325 E F0 .325(returns true if all of the ar)2.825 F .326
-(guments are found, f)-.18 F .326(alse if an)-.1 F 2.826(ya)-.15 G .326
-(re not)-2.826 F(found.)144 722.4 Q(GNU Bash 5.0)72 768 Q(2018 March 15)
-144.29 E(77)193.45 E 0 Cg EP
+F3<ad70>2.619 E F0 .119(option is used,)2.619 F F3(type)2.619 E F0
+(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(77)194.555 E 0 Cg EP
%%Page: 78 78
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
-(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0
-SF(ulimit)108 84 Q F0([)2.5 E F1(\255HSabcde\214klmnpqrstuvxPT)A F0([)
-2.5 E/F2 10/Times-Italic@0 SF(limit)A F0(]])A(Pro)144 96 Q .244
-(vides control o)-.15 F -.15(ve)-.15 G 2.744(rt).15 G .244
+(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E .855
+(either returns the name of the disk \214le that w)144 84 R .855
+(ould be e)-.1 F -.15(xe)-.15 G .855(cuted if).15 F/F1 10/Times-Italic@0
+SF(name)3.715 E F0 .855(were speci\214ed as a com-)3.535 F .64
+(mand name, or nothing if)144 96 R/F2 10/Courier@0 SF .64(type -t name)
+3.14 F F0 -.1(wo)3.14 G .641(uld not return).1 F F1(\214le)3.141 E F0
+5.641(.T).18 G(he)-5.641 E/F3 10/Times-Bold@0 SF<ad50>3.141 E F0 .641
+(option forces a)3.141 F/F4 9/Times-Bold@0 SF -.666(PA)3.141 G(TH)-.189
+E F0 .113(search for each)144 108 R F1(name)2.613 E F0 2.613(,e)C -.15
+(ve)-2.863 G 2.613(ni).15 G(f)-2.613 E F2 .113(type -t name)2.613 F F0
+-.1(wo)2.613 G .113(uld not return).1 F F1(\214le)2.613 E F0 5.113(.I)
+.18 G 2.613(fa)-5.113 G .112(command is hashed,)-.001 F F3<ad70>2.612 E
+F0(and)144 120 Q F3<ad50>3.23 E F0 .73(print the hashed v)3.23 F .731
+(alue, which is not necessarily the \214le that appears \214rst in)-.25
+F F4 -.666(PA)3.231 G(TH)-.189 E/F5 9/Times-Roman@0 SF(.)A F0 .731
+(If the)5.231 F F3<ad61>144 132 Q F0 1.749(option is used,)4.249 F F3
+(type)4.248 E F0 1.748(prints all of the places that contain an e)4.248
+F -.15(xe)-.15 G 1.748(cutable named).15 F F1(name)4.248 E F0 6.748(.T)
+.18 G(his)-6.748 E .744
+(includes aliases and functions, if and only if the)144 144 R F3<ad70>
+3.244 E F0 .744(option is not also used.)3.244 F .744
+(The table of hashed)5.744 F 1.223(commands is not consulted when using)
+144 156 R F3<ad61>3.723 E F0 6.223(.T)C(he)-6.223 E F3<ad66>3.723 E F0
+1.223(option suppresses shell function lookup, as)3.723 F .325(with the)
+144 168 R F3(command)2.825 E F0 -.2(bu)2.825 G(iltin.).2 E F3(type)5.325
+E F0 .325(returns true if all of the ar)2.825 F .326
+(guments are found, f)-.18 F .326(alse if an)-.1 F 2.826(ya)-.15 G .326
+(re not)-2.826 F(found.)144 180 Q F3(ulimit)108 196.8 Q F0([)2.5 E F3
+(\255HSabcde\214klmnpqrstuvxPT)A F0([)2.5 E F1(limit)A F0(]])A(Pro)144
+208.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 108 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
+.943(that allo)144 220.8 R 3.443(ws)-.25 G .943(uch control.)-3.443 F
+(The)5.943 E F3<ad48>3.443 E F0(and)3.443 E F3<ad53>3.444 E F0 .944
(options specify that the hard or soft limit is set for the)3.444 F(gi)
-144 120 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 sof\
-t limit may)2.709 F .425(be increased up to the v)144 132 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
+144 232.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 244.8 R .425
+(alue of the hard limit.)-.25 F .426(If neither)5.425 F F3<ad48>2.926 E
+F0(nor)2.926 E F3<ad53>2.926 E F0 .426
(is speci\214ed, both the soft and)2.926 F .139(hard limits are set.)144
-144 R .139(The v)5.139 F .139(alue of)-.25 F F2(limit)2.729 E F0 .139
+256.8 R .139(The v)5.139 F .139(alue of)-.25 F F1(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 156 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)
+.741(of the special v)144 268.8 R(alues)-.25 E F3(hard)3.241 E F0(,)A F3
+(soft)3.241 E F0 3.241(,o)C(r)-3.241 E F3(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 168 R -.15(ve)-.25 G(ly).15 E
-5.78(.I)-.65 G(f)-5.78 E F2(limit)3.37 E F0 .78
+(soft limit, and no limit, respecti)144 280.8 R -.15(ve)-.25 G(ly).15 E
+5.78(.I)-.65 G(f)-5.78 E F1(limit)3.37 E F0 .78
(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 180 R F1<ad48>2.999 E F0 .499
-(option is gi)2.999 F -.15(ve)-.25 G 2.999(n. When).15 F .499
+F .498(resource is printed, unless the)144 292.8 R F3<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 192 Q 2.5(alue. Other)
--.25 F(options are interpreted as follo)2.5 E(ws:)-.25 E F1<ad61>144 204
-Q F0(All current limits are reported)180 204 Q F1<ad62>144 216 Q F0
-(The maximum sock)180 216 Q(et b)-.1 E(uf)-.2 E(fer size)-.25 E F1<ad63>
-144 228 Q F0(The maximum size of core \214les created)180 228 Q F1<ad64>
-144 240 Q F0(The maximum size of a process')180 240 Q 2.5(sd)-.55 G
-(ata se)-2.5 E(gment)-.15 E F1<ad65>144 252 Q F0
-(The maximum scheduling priority \("nice"\))180 252 Q F1<ad66>144 264 Q
-F0(The maximum size of \214les written by the shell and its children)180
-264 Q F1<ad69>144 276 Q F0(The maximum number of pending signals)180 276
-Q F1<ad6b>144 288 Q F0
-(The maximum number of kqueues that may be allocated)180 288 Q F1<ad6c>
-144 300 Q F0(The maximum size that may be lock)180 300 Q(ed into memory)
--.1 E F1<ad6d>144 312 Q F0(The maximum resident set size \(man)180 312 Q
-2.5(ys)-.15 G(ystems do not honor this limit\))-2.5 E F1<ad6e>144 324 Q
-F0 .791(The maximum number of open \214le descriptors \(most systems do\
- not allo)180 324 R 3.29(wt)-.25 G .79(his v)-3.29 F .79(alue to)-.25 F
-(be set\))180 336 Q F1<ad70>144 348 Q F0
-(The pipe size in 512-byte blocks \(this may not be set\))180 348 Q F1
-<ad71>144 360 Q F0(The maximum number of bytes in POSIX message queues)
-180 360 Q F1<ad72>144 372 Q F0
-(The maximum real-time scheduling priority)180 372 Q F1<ad73>144 384 Q
-F0(The maximum stack size)180 384 Q F1<ad74>144 396 Q F0
-(The maximum amount of cpu time in seconds)180 396 Q F1<ad75>144 408 Q
-F0(The maximum number of processes a)180 408 Q -.25(va)-.2 G
-(ilable to a single user).25 E F1<ad76>144 420 Q F0 .47
-(The maximum amount of virtual memory a)180 420 R -.25(va)-.2 G .47
-(ilable to the shell and, on some systems, to).25 F(its children)180 432
-Q F1<ad78>144 444 Q F0(The maximum number of \214le locks)180 444 Q F1
-<ad50>144 456 Q F0(The maximum number of pseudoterminals)180 456 Q F1
-<ad54>144 468 Q F0(The maximum number of threads)180 468 Q(If)144 484.8
-Q F2(limit)3.058 E F0 .468(is gi)3.648 F -.15(ve)-.25 G .468(n, and the)
-.15 F F1<ad61>2.968 E F0 .468(option is not used,)2.968 F F2(limit)2.968
-E F0 .468(is the ne)2.968 F 2.968(wv)-.25 G .468
+(limit name and unit are printed before the v)144 304.8 Q 2.5
+(alue. Other)-.25 F(options are interpreted as follo)2.5 E(ws:)-.25 E F3
+<ad61>144 316.8 Q F0(All current limits are reported)180 316.8 Q F3
+<ad62>144 328.8 Q F0(The maximum sock)180 328.8 Q(et b)-.1 E(uf)-.2 E
+(fer size)-.25 E F3<ad63>144 340.8 Q F0
+(The maximum size of core \214les created)180 340.8 Q F3<ad64>144 352.8
+Q F0(The maximum size of a process')180 352.8 Q 2.5(sd)-.55 G(ata se)
+-2.5 E(gment)-.15 E F3<ad65>144 364.8 Q F0
+(The maximum scheduling priority \("nice"\))180 364.8 Q F3<ad66>144
+376.8 Q F0
+(The maximum size of \214les written by the shell and its children)180
+376.8 Q F3<ad69>144 388.8 Q F0(The maximum number of pending signals)180
+388.8 Q F3<ad6b>144 400.8 Q F0
+(The maximum number of kqueues that may be allocated)180 400.8 Q F3
+<ad6c>144 412.8 Q F0(The maximum size that may be lock)180 412.8 Q
+(ed into memory)-.1 E F3<ad6d>144 424.8 Q F0
+(The maximum resident set size \(man)180 424.8 Q 2.5(ys)-.15 G
+(ystems do not honor this limit\))-2.5 E F3<ad6e>144 436.8 Q F0 .791(Th\
+e maximum number of open \214le descriptors \(most systems do not allo)
+180 436.8 R 3.29(wt)-.25 G .79(his v)-3.29 F .79(alue to)-.25 F
+(be set\))180 448.8 Q F3<ad70>144 460.8 Q F0
+(The pipe size in 512-byte blocks \(this may not be set\))180 460.8 Q F3
+<ad71>144 472.8 Q F0
+(The maximum number of bytes in POSIX message queues)180 472.8 Q F3
+<ad72>144 484.8 Q F0(The maximum real-time scheduling priority)180 484.8
+Q F3<ad73>144 496.8 Q F0(The maximum stack size)180 496.8 Q F3<ad74>144
+508.8 Q F0(The maximum amount of cpu time in seconds)180 508.8 Q F3
+<ad75>144 520.8 Q F0(The maximum number of processes a)180 520.8 Q -.25
+(va)-.2 G(ilable to a single user).25 E F3<ad76>144 532.8 Q F0 .47
+(The maximum amount of virtual memory a)180 532.8 R -.25(va)-.2 G .47
+(ilable to the shell and, on some systems, to).25 F(its children)180
+544.8 Q F3<ad78>144 556.8 Q F0(The maximum number of \214le locks)180
+556.8 Q F3<ad50>144 568.8 Q F0(The maximum number of pseudoterminals)180
+568.8 Q F3<ad54>144 580.8 Q F0(The maximum number of threads)180 580.8 Q
+(If)144 597.6 Q F1(limit)3.058 E F0 .468(is gi)3.648 F -.15(ve)-.25 G
+.468(n, and the).15 F F3<ad61>2.968 E F0 .468(option is not used,)2.968
+F F1(limit)2.968 E F0 .468(is the ne)2.968 F 2.968(wv)-.25 G .468
(alue of the speci\214ed resource.)-3.218 F(If)5.468 E .044
-(no option is gi)144 496.8 R -.15(ve)-.25 G .044(n, then).15 F F1<ad66>
+(no option is gi)144 609.6 R -.15(ve)-.25 G .044(n, then).15 F F3<ad66>
2.544 E F0 .045(is assumed.)2.545 F -1.11(Va)5.045 G .045
-(lues are in 1024-byte increments, e)1.11 F .045(xcept for)-.15 F F1
+(lues are in 1024-byte increments, e)1.11 F .045(xcept for)-.15 F F3
<ad74>2.545 E F0 2.545(,w)C .045(hich is)-2.545 F 1.589(in seconds;)144
-508.8 R F1<ad70>4.089 E F0 4.089(,w)C 1.589
-(hich is in units of 512-byte blocks;)-4.089 F F1<ad50>4.089 E F0(,)A F1
-<ad54>4.089 E F0(,)A F1<ad62>4.089 E F0(,)A F1<ad6b>4.089 E F0(,)A F1
-<ad6e>4.089 E F0 4.089(,a)C(nd)-4.089 E F1<ad75>4.089 E F0 4.088(,w)C
-1.588(hich are)-4.088 F 1.438(unscaled v)144 520.8 R 1.438
-(alues; and, when in Posix mode,)-.25 F F1<ad63>3.939 E F0(and)3.939 E
-F1<ad66>3.939 E F0 3.939(,w)C 1.439(hich are in 512-byte increments.)
--3.939 F(The)6.439 E .404(return status is 0 unless an in)144 532.8 R
+621.6 R F3<ad70>4.089 E F0 4.089(,w)C 1.589
+(hich is in units of 512-byte blocks;)-4.089 F F3<ad50>4.089 E F0(,)A F3
+<ad54>4.089 E F0(,)A F3<ad62>4.089 E F0(,)A F3<ad6b>4.089 E F0(,)A F3
+<ad6e>4.089 E F0 4.089(,a)C(nd)-4.089 E F3<ad75>4.089 E F0 4.088(,w)C
+1.588(hich are)-4.088 F 1.476(unscaled v)144 633.6 R 1.476
+(alues; and, when in posix mode,)-.25 F F3<ad63>3.976 E F0(and)3.976 E
+F3<ad66>3.976 E F0 3.976(,w)C 1.476(hich are in 512-byte increments.)
+-3.976 F(The)6.476 E .404(return status is 0 unless an in)144 645.6 R
-.25(va)-.4 G .404(lid option or ar).25 F .404
(gument is supplied, or an error occurs while setting)-.18 F 2.5(an)144
-544.8 S .5 -.25(ew l)-2.5 H(imit.).25 E F1(umask)108 561.6 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 573.6 R F2(mode)2.7 E F0
-5.2(.I).18 G(f)-5.2 E F2(mode)3.08 E F0(be)2.88 E .2
+657.6 S .5 -.25(ew l)-2.5 H(imit.).25 E F3(umask)108 674.4 Q F0([)2.5 E
+F3<ad70>A F0 2.5(][)C F3<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 686.4 R F1(mode)2.7 E F0
+5.2(.I).18 G(f)-5.2 E F1(mode)3.08 E F0(be)2.88 E .2
(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 585.6 R F2 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144
-597.6 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 698.4 R F1 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144
+710.4 Q F1(mode)3.262 E F0 .382(is omitted, the current v)3.062 F .382
+(alue of the mask is printed.)-.25 F(The)5.382 E F3<ad53>2.882 E F0 .382
(option causes the mask to be)2.882 F .547
-(printed in symbolic form; the def)144 609.6 R .547
+(printed in symbolic form; the def)144 722.4 R .547
(ault output is an octal number)-.1 F 5.547(.I)-.55 G 3.047(ft)-5.547 G
-(he)-3.047 E F1<ad70>3.047 E F0 .547(option is supplied, and)3.047 F F2
-(mode)144.38 621.6 Q F0 .551
+(he)-3.047 E F3<ad70>3.047 E F0 .547(option is supplied, and)3.047 F
+(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(78)194.555 E 0 Cg EP
+%%Page: 79 79
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
+(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10
+/Times-Italic@0 SF(mode)144.38 84 Q F0 .551
(is omitted, the output is in a form that may be reused as input.)3.231
-F .552(The return status is 0 if the)5.552 F(mode w)144 633.6 Q
-(as successfully changed or if no)-.1 E F2(mode)2.5 E F0(ar)2.5 E
-(gument w)-.18 E(as supplied, and f)-.1 E(alse otherwise.)-.1 E F1
-(unalias)108 650.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 662.4 Q 1.955 -.15(ve e)-.15 H(ach).15 E F2(name)
-4.155 E F0 1.655(from the list of de\214ned aliases.)4.155 F(If)6.655 E
-F1<ad61>4.155 E F0 1.655(is supplied, all alias de\214nitions are)4.155
-F(remo)144 674.4 Q -.15(ve)-.15 G 2.5(d. The).15 F(return v)2.5 E
-(alue is true unless a supplied)-.25 E F2(name)2.86 E F0
-(is not a de\214ned alias.)2.68 E F1(unset)108 691.2 Q F0<5bad>2.5 E F1
-(fv)A F0 2.5(][)C<ad>-2.5 E F1(n)A F0 2.5(][)C F2(name)-2.5 E F0(...])
-2.5 E -.15(Fo)144 703.2 S 3.827(re).15 G(ach)-3.827 E F2(name)3.827 E F0
+F .552(The return status is 0 if the)5.552 F(mode w)144 96 Q
+(as successfully changed or if no)-.1 E F1(mode)2.5 E F0(ar)2.5 E
+(gument w)-.18 E(as supplied, and f)-.1 E(alse otherwise.)-.1 E/F2 10
+/Times-Bold@0 SF(unalias)108 112.8 Q F0<5bad>2.5 E F2(a)A F0 2.5(][)C F1
+(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
+(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<ad>-2.5 E F2(n)A F0 2.5(][)C F1(name)-2.5 E F0(...])
+2.5 E -.15(Fo)144 165.6 S 3.827(re).15 G(ach)-3.827 E F1(name)3.827 E F0
3.827(,r).18 G(emo)-3.827 E 1.627 -.15(ve t)-.15 H 1.327
(he corresponding v).15 F 1.327(ariable or function.)-.25 F 1.327
-(If the)6.327 F F1<ad76>3.828 E F0 1.328(option is gi)3.828 F -.15(ve)
--.25 G 1.328(n, each).15 F F2(name)144.36 715.2 Q F0 1.551
+(If the)6.327 F F2<ad76>3.828 E F0 1.328(option is gi)3.828 F -.15(ve)
+-.25 G 1.328(n, each).15 F F1(name)144.36 177.6 Q F0 1.551
(refers to a shell v)4.231 F 1.551(ariable, and that v)-.25 F 1.551
(ariable is remo)-.25 F -.15(ve)-.15 G 4.05(d. Read-only).15 F -.25(va)
-4.05 G 1.55(riables may not be).25 F 4.641(unset. If)144 727.2 R F1
-<ad66>4.641 E F0 2.141(is speci\214ed, each)4.641 F F2(name)5.001 E F0
+4.05 G 1.55(riables may not be).25 F 4.641(unset. If)144 189.6 R F2
+<ad66>4.641 E F0 2.141(is speci\214ed, each)4.641 F F1(name)5.001 E F0
2.141(refers to a shell function, and the function de\214nition is)4.821
-F(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(78)193.45 E 0 Cg EP
-%%Page: 79 79
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
-(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E(remo)144 84 Q -.15
-(ve)-.15 G 2.538(d. If).15 F(the)2.537 E/F1 10/Times-Bold@0 SF<ad6e>
-2.537 E F0 .037(option is supplied, and)2.537 F/F2 10/Times-Italic@0 SF
-(name)2.537 E F0 .037(is a v)2.537 F .037(ariable with the)-.25 F F2
-(namer)2.537 E(ef)-.37 E F0(attrib)2.537 E(ute,)-.2 E F2(name)2.537 E F0
-(will)2.537 E .492(be unset rather than the v)144 96 R .492
-(ariable it references.)-.25 F F1<ad6e>5.492 E F0 .492(has no ef)2.992 F
-.492(fect if the)-.25 F F1<ad66>2.992 E F0 .492(option is supplied.)
-2.992 F .493(If no)5.493 F .221(options are supplied, each)144 108 R F2
-(name)2.721 E F0 .221(refers to a v)2.721 F .22
-(ariable; if there is no v)-.25 F .22(ariable by that name, an)-.25 F
-2.72(yf)-.15 G(unc-)-2.72 E 1.188(tion with that name is unset.)144 120
-R 1.189(Each unset v)6.189 F 1.189(ariable or function is remo)-.25 F
--.15(ve)-.15 G 3.689(df).15 G 1.189(rom the en)-3.689 F(vironment)-.4 E
-3.206(passed to subsequent commands.)144 132 R 3.206(If an)8.206 F 5.706
+F(remo)144 201.6 Q -.15(ve)-.15 G 2.538(d. If).15 F(the)2.537 E F2<ad6e>
+2.537 E F0 .037(option is supplied, and)2.537 F F1(name)2.537 E F0 .037
+(is a v)2.537 F .037(ariable with the)-.25 F F1(namer)2.537 E(ef)-.37 E
+F0(attrib)2.537 E(ute,)-.2 E F1(name)2.537 E F0(will)2.537 E .492
+(be unset rather than the v)144 213.6 R .492(ariable it references.)-.25
+F F2<ad6e>5.492 E F0 .492(has no ef)2.992 F .492(fect if the)-.25 F F2
+<ad66>2.992 E F0 .492(option is supplied.)2.992 F .493(If no)5.493 F
+.221(options are supplied, each)144 225.6 R F1(name)2.721 E F0 .221
+(refers to a v)2.721 F .22(ariable; if there is no v)-.25 F .22
+(ariable by that name, an)-.25 F 2.72(yf)-.15 G(unc-)-2.72 E 1.188
+(tion with that name is unset.)144 237.6 R 1.189(Each unset v)6.189 F
+1.189(ariable or function is remo)-.25 F -.15(ve)-.15 G 3.689(df).15 G
+1.189(rom the en)-3.689 F(vironment)-.4 E 3.206
+(passed to subsequent commands.)144 249.6 R 3.206(If an)8.206 F 5.706
(yo)-.15 G(f)-5.706 E/F3 9/Times-Bold@0 SF(COMP_W)5.706 E(ORDBREAKS)-.09
E/F4 9/Times-Roman@0 SF(,)A F3(RANDOM)5.455 E F4(,)A F3(SECONDS)5.455 E
-F4(,)A F3(LINENO)144 144 Q F4(,)A F3(HISTCMD)4.347 E F4(,)A F3(FUNCN)
+F4(,)A F3(LINENO)144 261.6 Q F4(,)A F3(HISTCMD)4.347 E F4(,)A F3(FUNCN)
4.347 E(AME)-.18 E F4(,)A F3(GR)4.347 E(OUPS)-.27 E F4(,)A F0(or)4.348 E
F3(DIRST)4.598 E -.495(AC)-.81 G(K).495 E F0 2.098(are unset, the)4.348
-F 4.598(yl)-.15 G 2.098(ose their special)-4.598 F(properties, e)144 156
-Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G(he)-2.5 E 2.5(ya)-.15 G
-(re subsequently reset.)-2.5 E(The e)5 E(xit status is true unless a)
--.15 E F2(name)2.86 E F0(is readonly)2.68 E(.)-.65 E F1(wait)108 172.8 Q
-F0([)2.5 E F1(\255fn)A F0 2.5(][)C F2(id ...)-2.5 E F0(])A -.8(Wa)144
-184.8 S .659(it for each speci\214ed child process and return its termi\
-nation status.).8 F(Each)5.659 E F2(id)3.169 E F0 .658(may be a process)
-3.928 F .008(ID or a job speci\214cation; if a job spec is gi)144 196.8
+F 4.598(yl)-.15 G 2.098(ose their special)-4.598 F(properties, e)144
+273.6 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G(he)-2.5 E 2.5(ya)-.15
+G(re subsequently reset.)-2.5 E(The e)5 E(xit status is true unless a)
+-.15 E F1(name)2.86 E F0(is readonly)2.68 E(.)-.65 E F2(wait)108 290.4 Q
+F0([)2.5 E F2(\255fn)A F0 2.5(][)C F1(id ...)-2.5 E F0(])A -.8(Wa)144
+302.4 S .659(it for each speci\214ed child process and return its termi\
+nation status.).8 F(Each)5.659 E F1(id)3.169 E F0 .658(may be a process)
+3.928 F .008(ID or a job speci\214cation; if a job spec is gi)144 314.4
R -.15(ve)-.25 G .009(n, all processes in that job').15 F 2.509(sp)-.55
G .009(ipeline are w)-2.509 F .009(aited for)-.1 F 5.009(.I)-.55 G(f)
--5.009 E F2(id)144.01 208.8 Q F0 .522(is not gi)3.792 F -.15(ve)-.25 G
+-5.009 E F1(id)144.01 326.4 Q F0 .522(is not gi)3.792 F -.15(ve)-.25 G
.521(n, all currently acti).15 F .821 -.15(ve c)-.25 H .521
(hild processes are w).15 F .521(aited for)-.1 F 3.021(,a)-.4 G .521
-(nd the return status is zero.)-3.021 F(If)5.521 E(the)144 220.8 Q F1
-<ad6e>3.056 E F0 .556(option is supplied,)3.056 F F1(wait)3.057 E F0 -.1
+(nd the return status is zero.)-3.021 F(If)5.521 E(the)144 338.4 Q F2
+<ad6e>3.056 E F0 .556(option is supplied,)3.056 F F2(wait)3.057 E F0 -.1
(wa)3.057 G .557(its for an).1 F 3.057(yj)-.15 G .557
(ob to terminate and returns its e)-3.057 F .557(xit status.)-.15 F .557
-(If the)5.557 F F1<ad66>3.057 E F0 .587
-(option is supplied, and job control is enabled,)144 232.8 R F1(wait)
-3.086 E F0(forces)3.086 E F2(id)3.086 E F0 .586
+(If the)5.557 F F2<ad66>3.057 E F0 .587
+(option is supplied, and job control is enabled,)144 350.4 R F2(wait)
+3.086 E F0(forces)3.086 E F1(id)3.086 E F0 .586
(to terminate before returning its sta-)3.086 F .755
-(tus, instead of returning when it changes status.)144 244.8 R(If)5.756
-E F2(id)3.266 E F0 .756(speci\214es a non-e)4.026 F .756
-(xistent process or job, the)-.15 F .365(return status is 127.)144 256.8
+(tus, instead of returning when it changes status.)144 362.4 R(If)5.756
+E F1(id)3.266 E F0 .756(speci\214es a non-e)4.026 F .756
+(xistent process or job, the)-.15 F .365(return status is 127.)144 374.4
R .365(Otherwise, the return status is the e)5.365 F .365
(xit status of the last process or job w)-.15 F(aited)-.1 E(for)144
-268.8 Q(.)-.55 E/F5 10.95/Times-Bold@0 SF(RESTRICTED SHELL)72 285.6 Q F0
-(If)108 297.6 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>
+386.4 Q(.)-.55 E/F5 10.95/Times-Bold@0 SF(RESTRICTED SHELL)72 403.2 Q F0
+(If)108 415.2 Q F2(bash)4.396 E F0 1.896(is started with the name)4.396
+F F2(rbash)4.397 E F0 4.397(,o)C 4.397(rt)-4.397 G(he)-4.397 E F2<ad72>
4.397 E F0 1.897(option is supplied at in)4.397 F -.2(vo)-.4 G 1.897
-(cation, the shell becomes).2 F 3.446(restricted. A)108 309.6 R .945
+(cation, the shell becomes).2 F 3.446(restricted. A)108 427.2 R .945
(restricted shell is used to set up an en)3.446 F .945
(vironment more controlled than the standard shell.)-.4 F(It)5.945 E
-(beha)108 321.6 Q -.15(ve)-.2 G 2.5(si).15 G(dentically to)-2.5 E F1
+(beha)108 439.2 Q -.15(ve)-.2 G 2.5(si).15 G(dentically to)-2.5 E F2
(bash)2.5 E F0(with the e)2.5 E(xception that the follo)-.15 E
-(wing are disallo)-.25 E(wed or not performed:)-.25 E<83>108 338.4 Q
-(changing directories with)144 338.4 Q F1(cd)2.5 E F0<83>108 355.2 Q
-(setting or unsetting the v)144 355.2 Q(alues of)-.25 E F3(SHELL)2.5 E
+(wing are disallo)-.25 E(wed or not performed:)-.25 E<83>108 456 Q
+(changing directories with)144 456 Q F2(cd)2.5 E F0<83>108 472.8 Q
+(setting or unsetting the v)144 472.8 Q(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<83>108 372 Q
-(specifying command names containing)144 372 Q F1(/)2.5 E F0<83>108
-388.8 Q(specifying a \214lename containing a)144 388.8 Q 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<83>108 405.6 Q .449
-(specifying a \214lename containing a slash as an ar)144 405.6 R .449
-(gument to the)-.18 F F1<ad70>2.95 E F0 .45(option to the)2.95 F F1
-(hash)2.95 E F0 -.2(bu)2.95 G .45(iltin com-).2 F(mand)144 417.6 Q<83>
-108 434.4 Q(importing function de\214nitions from the shell en)144 434.4
-Q(vironment at startup)-.4 E<83>108 451.2 Q(parsing the v)144 451.2 Q
+2.25 E F3 -.27(BA)2.5 G(SH_ENV).27 E F0<83>108 489.6 Q
+(specifying command names containing)144 489.6 Q F2(/)2.5 E F0<83>108
+506.4 Q(specifying a \214lename containing a)144 506.4 Q 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<83>108 523.2 Q .449
+(specifying a \214lename containing a slash as an ar)144 523.2 R .449
+(gument to the)-.18 F F2<ad70>2.95 E F0 .45(option to the)2.95 F F2
+(hash)2.95 E F0 -.2(bu)2.95 G .45(iltin com-).2 F(mand)144 535.2 Q<83>
+108 552 Q(importing function de\214nitions from the shell en)144 552 Q
+(vironment at startup)-.4 E<83>108 568.8 Q(parsing the v)144 568.8 Q
(alue of)-.25 E F3(SHELLOPTS)2.5 E F0(from the shell en)2.25 E
-(vironment at startup)-.4 E<83>108 468 Q(redirecting output using the >\
-, >|, <>, >&, &>, and >> redirection operators)144 468 Q<83>108 484.8 Q
-(using the)144 484.8 Q F1(exec)2.5 E F0 -.2(bu)2.5 G
+(vironment at startup)-.4 E<83>108 585.6 Q(redirecting output using the\
+ >, >|, <>, >&, &>, and >> redirection operators)144 585.6 Q<83>108
+602.4 Q(using the)144 602.4 Q F2(exec)2.5 E F0 -.2(bu)2.5 G
(iltin command to replace the shell with another command).2 E<83>108
-501.6 Q(adding or deleting b)144 501.6 Q(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<83>108 518.4 Q
-(using the)144 518.4 Q F1(enable)2.5 E F0 -.2(bu)2.5 G
+619.2 Q(adding or deleting b)144 619.2 Q(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<83>108 636 Q(using the)
+144 636 Q F2(enable)2.5 E F0 -.2(bu)2.5 G
(iltin command to enable disabled shell b).2 E(uiltins)-.2 E<83>108
-535.2 Q(specifying the)144 535.2 Q 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<83>108 552 Q
-(turning of)144 552 Q 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 568.8 Q 2.5(ys)-.15 G
+652.8 Q(specifying the)144 652.8 Q F2<ad70>2.5 E F0(option to the)2.5 E
+F2(command)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E<83>108 669.6 Q
+(turning of)144 669.6 Q 2.5(fr)-.25 G(estricted mode with)-2.5 E F2
+(set +r)2.5 E F0(or)2.5 E F2(set +o r)2.5 E(estricted)-.18 E F0(.)A
+(These restrictions are enforced after an)108 686.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 585.6 R -.15
+(When a command that is found to be a shell script is e)108 703.2 R -.15
(xe)-.15 G 1.566(cuted \(see).15 F F3 1.566(COMMAND EXECUTION)4.066 F F0
-(abo)3.816 E -.15(ve)-.15 G(\),).15 E F1(rbash)108 597.6 Q F0(turns of)
+(abo)3.816 E -.15(ve)-.15 G(\),).15 E F2(rbash)108 715.2 Q F0(turns of)
2.5 E 2.5(fa)-.25 G .3 -.15(ny r)-2.5 H(estrictions in the shell spa).15
-E(wned to e)-.15 E -.15(xe)-.15 G(cute the script.).15 E F5(SEE ALSO)72
-614.4 Q F2(Bash Refer)108 626.4 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
-638.4 Q(ary)-.15 E F0 2.5(,B)C(rian F)-2.5 E(ox and Chet Rame)-.15 E(y)
--.15 E F2(The Gnu History Libr)108 650.4 Q(ary)-.15 E F0 2.5(,B)C
-(rian F)-2.5 E(ox and Chet Rame)-.15 E(y)-.15 E F2 -.8(Po)108 662.4 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
-(http://pubs.opengroup.or)144 674.4 Q(g/onlinepubs/9699919799/)-.18 E
-(http://tiswww)108 686.4 Q
-(.case.edu/~chet/bash/POSIX -- a description of posix mode)-.65 E F2(sh)
-108 698.4 Q F0(\(1\),)A F2(ksh)2.5 E F0(\(1\),)A F2(csh)2.5 E F0(\(1\))A
-(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E(79)193.45 E 0 Cg EP
+E(wned to e)-.15 E -.15(xe)-.15 G(cute the script.).15 E(GNU Bash 5.0)72
+768 Q(2018 August 7)145.395 E(79)194.555 E 0 Cg EP
%%Page: 80 80
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
-(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10
-/Times-Italic@0 SF(emacs)108 84 Q F0(\(1\),)A F1(vi)2.5 E F0(\(1\))A F1
--.37(re)108 96 S(adline).37 E F0(\(3\))A/F2 10.95/Times-Bold@0 SF(FILES)
-72 112.8 Q F1(/bin/bash)109.666 124.8 Q F0(The)144 136.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 148.8 Q(o\214le)-.45 E F0
-(The systemwide initialization \214le, e)144 160.8 Q -.15(xe)-.15 G
-(cuted for login shells).15 E F1(~/.bash_pr)109.666 172.8 Q(o\214le)-.45
-E F0(The personal initialization \214le, e)144 184.8 Q -.15(xe)-.15 G
-(cuted for login shells).15 E F1(~/.bashr)109.666 196.8 Q(c)-.37 E F0
-(The indi)144 208.8 Q(vidual per)-.25 E(-interacti)-.2 E -.15(ve)-.25 G
-(-shell startup \214le).15 E F1(~/.bash_lo)109.666 220.8 Q(gout)-.1 E F0
-(The indi)144 232.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 244.8 Q(c)-.37 E F0(Indi)144 256.8 Q(vidual)-.25 E F1 -.37(re)
-2.5 G(adline).37 E F0(initialization \214le)2.5 E F2 -.548(AU)72 273.6 S
-(THORS).548 E F0(Brian F)108 285.6 Q(ox, Free Softw)-.15 E(are F)-.1 E
-(oundation)-.15 E(bfox@gnu.or)108 297.6 Q(g)-.18 E(Chet Rame)108 314.4 Q
+(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10.95
+/Times-Bold@0 SF(SEE ALSO)72 84 Q/F2 10/Times-Italic@0 SF(Bash Refer)108
+96 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 108 Q(ary)-.15 E F0 2.5(,B)C
+(rian F)-2.5 E(ox and Chet Rame)-.15 E(y)-.15 E F2(The Gnu History Libr)
+108 120 Q(ary)-.15 E F0 2.5(,B)C(rian F)-2.5 E(ox and Chet Rame)-.15 E
+(y)-.15 E F2 -.8(Po)108 132 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(http://pubs.opengroup.or)144 144 Q
+(g/onlinepubs/9699919799/)-.18 E(http://tiswww)108 156 Q
+(.case.edu/~chet/bash/POSIX -- a description of posix mode)-.65 E F2(sh)
+108 168 Q F0(\(1\),)A F2(ksh)2.5 E F0(\(1\),)A F2(csh)2.5 E F0(\(1\))A
+F2(emacs)108 180 Q F0(\(1\),)A F2(vi)2.5 E F0(\(1\))A F2 -.37(re)108 192
+S(adline).37 E F0(\(3\))A F1(FILES)72 208.8 Q F2(/bin/bash)109.666 220.8
+Q F0(The)144 232.8 Q/F3 10/Times-Bold@0 SF(bash)2.5 E F0 -.15(exe)2.5 G
+(cutable).15 E F2(/etc/pr)109.666 244.8 Q(o\214le)-.45 E F0
+(The systemwide initialization \214le, e)144 256.8 Q -.15(xe)-.15 G
+(cuted for login shells).15 E F2(~/.bash_pr)109.666 268.8 Q(o\214le)-.45
+E F0(The personal initialization \214le, e)144 280.8 Q -.15(xe)-.15 G
+(cuted for login shells).15 E F2(~/.bashr)109.666 292.8 Q(c)-.37 E F0
+(The indi)144 304.8 Q(vidual per)-.25 E(-interacti)-.2 E -.15(ve)-.25 G
+(-shell startup \214le).15 E F2(~/.bash_lo)109.666 316.8 Q(gout)-.1 E F0
+(The indi)144 328.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 F2(~/.inputr)
+109.666 340.8 Q(c)-.37 E F0(Indi)144 352.8 Q(vidual)-.25 E F2 -.37(re)
+2.5 G(adline).37 E F0(initialization \214le)2.5 E F1 -.548(AU)72 369.6 S
+(THORS).548 E F0(Brian F)108 381.6 Q(ox, Free Softw)-.15 E(are F)-.1 E
+(oundation)-.15 E(bfox@gnu.or)108 393.6 Q(g)-.18 E(Chet Rame)108 410.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 326.4 Q(y@case.edu)-.15
-E F2 -.11(BU)72 343.2 S 2.738(GR).11 G(EPOR)-2.738 E(TS)-.438 E F0 .567
-(If you \214nd a b)108 355.2 R .568(ug in)-.2 F F3(bash,)3.068 E F0 .568
+-2.5 E -.15(ve)-.25 G(rsity).15 E(chet.rame)108 422.4 Q(y@case.edu)-.15
+E F1 -.11(BU)72 439.2 S 2.738(GR).11 G(EPOR)-2.738 E(TS)-.438 E F0 .567
+(If you \214nd a b)108 451.2 R .568(ug in)-.2 F F3(bash,)3.068 E F0 .568
(you should report it.)3.068 F .568(But \214rst, you should mak)5.568 F
3.068(es)-.1 G .568(ure that it really is a b)-3.068 F .568(ug, and)-.2
-F 5.626(that it appears in the latest v)108 367.2 R 5.625(ersion of)-.15
+F 5.626(that it appears in the latest v)108 463.2 R 5.625(ersion of)-.15
F F3(bash)8.125 E F0 10.625(.T)C 5.625(he latest v)-10.625 F 5.625
(ersion is al)-.15 F -.1(wa)-.1 G 5.625(ys a).1 F -.25(va)-.2 G 5.625
-(ilable from).25 F F1(ftp://ftp.gnu.or)108 379.2 Q(g/pub/gnu/bash/)-.37
-E F0(.)A .41(Once you ha)108 396 R .71 -.15(ve d)-.2 H .41
+(ilable from).25 F F2(ftp://ftp.gnu.or)108 475.2 Q(g/pub/gnu/bash/)-.37
+E F0(.)A .41(Once you ha)108 492 R .71 -.15(ve d)-.2 H .41
(etermined that a b).15 F .41(ug actually e)-.2 F .411(xists, use the)
--.15 F F1(bashb)3.181 E(ug)-.2 E F0 .411(command to submit a b)3.131 F
-.411(ug report.)-.2 F(If)5.411 E .595(you ha)108 408 R .895 -.15
+-.15 F F2(bashb)3.181 E(ug)-.2 E F0 .411(command to submit a b)3.131 F
+.411(ug report.)-.2 F(If)5.411 E .595(you ha)108 504 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 420 Q F1 -.2(bu)2.5 G(g-bash@gnu.or).2 E(g)-.37 E F0
+(be mailed to)108 516 Q F2 -.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 436.8 Q(ug reports should include:)-.2 E(The v)
-108 453.6 Q(ersion number of)-.15 E F3(bash)2.5 E F0(The hardw)108 465.6
-Q(are and operating system)-.1 E(The compiler used to compile)108 477.6
-Q 2.5(Ad)108 489.6 S(escription of the b)-2.5 E(ug beha)-.2 E(viour)-.2
-E 2.5(As)108 501.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 518.4 Q(ug)-.2 E F0
+-.2 E F0(.)A(ALL b)108 532.8 Q(ug reports should include:)-.2 E(The v)
+108 549.6 Q(ersion number of)-.15 E F3(bash)2.5 E F0(The hardw)108 561.6
+Q(are and operating system)-.1 E(The compiler used to compile)108 573.6
+Q 2.5(Ad)108 585.6 S(escription of the b)-2.5 E(ug beha)-.2 E(viour)-.2
+E 2.5(As)108 597.6 S(hort script or `recipe' which e)-2.5 E -.15(xe)-.15
+G(rcises the b).15 E(ug)-.2 E F2(bashb)108.27 614.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
-535.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 552 S(GS).11 E F0(It')108 564 Q 2.5(st)-.55 G
+631.2 Q(ug reports concerning this manual page should be directed to)-.2
+E F2 -.15(ch)2.5 G(et.r).15 E(ame)-.15 E(y@case)-.3 E(.edu)-.15 E F0(.)
+.25 E F1 -.11(BU)72 648 S(GS).11 E F0(It')108 660 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 580.8 R 1.868(ferences between)-.25 F F3
+(There are some subtle dif)108 676.8 R 1.868(ferences between)-.25 F F3
(bash)4.369 E F0 1.869(and traditional v)4.369 F 1.869(ersions of)-.15 F
F3(sh)4.369 E F0 4.369(,m)C 1.869(ostly because of the)-4.369 F/F4 9
-/Times-Bold@0 SF(POSIX)108 592.8 Q F0(speci\214cation.)2.25 E
-(Aliases are confusing in some uses.)108 609.6 Q(Shell b)108 626.4 Q
+/Times-Bold@0 SF(POSIX)108 688.8 Q F0(speci\214cation.)2.25 E
+(Aliases are confusing in some uses.)108 705.6 Q(Shell b)108 722.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 643.2 R .389
-(process suspension is attempted.)108 655.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 667.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 679.2 Q(Array v)108 696 Q
-(ariables may not \(yet\) be e)-.25 E(xported.)-.15 E
-(There may be only one acti)108 712.8 Q .3 -.15(ve c)-.25 H
-(oprocess at a time.).15 E(GNU Bash 5.0)72 768 Q(2018 March 15)144.29 E
-(80)193.45 E 0 Cg EP
+(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E(80)194.555 E 0 Cg EP
+%%Page: 81 81
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F
+(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E 1.315(Compound co\
+mmands and command sequences of the form `a ; b ; c' are not handled gr\
+acefully when)108 84 R .389(process suspension is attempted.)108 96 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 108 R .192(It suf)5.193 F .192(\214ces to pl\
+ace the sequence of commands between parentheses to force it into a)-.25
+F(subshell, which may be stopped as a unit.)108 120 Q(Array v)108 136.8
+Q(ariables may not \(yet\) be e)-.25 E(xported.)-.15 E
+(There may be only one acti)108 153.6 Q .3 -.15(ve c)-.25 H
+(oprocess at a time.).15 E(GNU Bash 5.0)72 768 Q(2018 August 7)145.395 E
+(81)194.555 E 0 Cg EP
%%Trailer
end
%%EOF
diff --git a/doc/bashref.dvi b/doc/bashref.dvi
index f79cc8ed..a270d082 100644
--- a/doc/bashref.dvi
+++ b/doc/bashref.dvi
Binary files differ
diff --git a/doc/bashref.html b/doc/bashref.html
index f494f344..13d9294c 100644
--- a/doc/bashref.html
+++ b/doc/bashref.html
@@ -1,9 +1,9 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This text is a brief description of the features that are present in
-the Bash shell (version 5.0, 15 March 2018).
+the Bash shell (version 5.0, 7 August 2018).
-This is Edition 5.0, last updated 15 March 2018,
+This is Edition 5.0, last updated 7 August 2018,
of The GNU Bash Reference Manual,
for Bash, Version 5.0.
@@ -284,10 +284,10 @@ Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Previou
<h1 class="top">Bash Features</h1>
<p>This text is a brief description of the features that are present in
-the Bash shell (version 5.0, 15 March 2018).
+the Bash shell (version 5.0, 7 August 2018).
The Bash home page is <a href="http://www.gnu.org/software/bash/">http://www.gnu.org/software/bash/</a>.
</p>
-<p>This is Edition 5.0, last updated 15 March 2018,
+<p>This is Edition 5.0, last updated 7 August 2018,
of <cite>The GNU Bash Reference Manual</cite>,
for <code>Bash</code>, Version 5.0.
</p>
@@ -1297,7 +1297,9 @@ zero if no condition tested true.
<p>The syntax of the <code>case</code> command is:
</p>
<div class="example">
-<pre class="example">case <var>word</var> in [ [(] <var>pattern</var> [| <var>pattern</var>]&hellip;) <var>command-list</var> ;;]&hellip; esac
+<pre class="example">case <var>word</var> in
+ [ [(] <var>pattern</var> [| <var>pattern</var>]&hellip;) <var>command-list</var> ;;]&hellip;
+esac
</pre></div>
<p><code>case</code> will selectively execute the <var>command-list</var> corresponding to
@@ -1443,14 +1445,15 @@ If the <code>nocasematch</code> shell option
is enabled, the match is performed without regard to the case
of alphabetic characters.
The return value is 0 if the string matches (&lsquo;<samp>==</samp>&rsquo;) or does not
-match (&lsquo;<samp>!=</samp>&rsquo;)the pattern, and 1 otherwise.
+match (&lsquo;<samp>!=</samp>&rsquo;) the pattern, and 1 otherwise.
Any part of the pattern may be quoted to force the quoted portion
to be matched as a string.
</p>
<p>An additional binary operator, &lsquo;<samp>=~</samp>&rsquo;, is available, with the same
precedence as &lsquo;<samp>==</samp>&rsquo; and &lsquo;<samp>!=</samp>&rsquo;.
When it is used, the string to the right of the operator is considered
-an extended regular expression and matched accordingly (as in <i>regex</i>3)).
+a <small>POSIX</small> extended regular expression and matched accordingly
+(as in <i>regex</i>3)).
The return value is 0 if the string matches
the pattern, and 1 otherwise.
If the regular expression is syntactically incorrect, the conditional
@@ -1722,7 +1725,8 @@ from a file (in this case, filenames listed one per line):
<p>with a more compact syntax reminiscent of lambdas:
</p><div class="example">
-<pre class="example">cat list | parallel &quot;do-something1 {} config-{} ; do-something2 &lt; {}&quot; | process-output
+<pre class="example">cat list | parallel &quot;do-something1 {} config-{} ; do-something2 &lt; {}&quot; |
+ process-output
</pre></div>
<p>Parallel provides a built-in mechanism to remove filename extensions, which
@@ -1744,12 +1748,20 @@ written as
<p>If a command generates output, you may want to preserve the input order in
the output. For instance, the following command
</p><div class="example">
-<pre class="example">{ echo foss.org.my ; echo debian.org; echo freenetproject.org; } | parallel traceroute
+<pre class="example">{
+ echo foss.org.my ;
+ echo debian.org ;
+ echo freenetproject.org ;
+} | parallel traceroute
</pre></div>
<p>will display as output the traceroute invocation that finishes first.
Adding the <samp>-k</samp> option
</p><div class="example">
-<pre class="example">{ echo foss.org.my ; echo debian.org; echo freenetproject.org; } | parallel -k traceroute
+<pre class="example">{
+ echo foss.org.my ;
+ echo debian.org ;
+ echo freenetproject.org ;
+} | parallel -k traceroute
</pre></div>
<p>will ensure that the output of <code>traceroute foss.org.my</code> is displayed first.
</p>
@@ -2126,8 +2138,16 @@ separators.
<a name="index-_0040"></a>
</dt>
<dd><a name="index-_0024_0040"></a>
-<p>($@) Expands to the positional parameters, starting from one. When the
-expansion occurs within double quotes, each parameter expands to a
+<p>($@) Expands to the positional parameters, starting from one.
+In contexts where word splitting is performed, this expands each
+positional parameter to a separate word; if not within double
+quotes, these words are subject to word splitting.
+In contexts where word splitting is not performed,
+this expands to a single word
+with each positional parameter separated by a space.
+When the
+expansion occurs within double quotes, and word splitting is performed,
+each parameter expands to a
separate word. That is, <code>&quot;$@&quot;</code> is equivalent to
<code>&quot;$1&quot; &quot;$2&quot; &hellip;</code>.
If the double-quoted expansion occurs within a word, the expansion of
@@ -2446,6 +2466,12 @@ and the shell assigns the expanded value.
</p></dd>
</dl>
+<p>Bash also performs tilde expansion on words satisfying the conditions of
+variable assignments (see <a href="#Shell-Parameters">Shell Parameters</a>)
+when they appear as arguments to simple commands.
+Bash does not do this, except for the <var>declaration</var> commands listed
+above, when in <small>POSIX</small> mode.
+</p>
<hr>
<a name="Shell-Parameter-Expansion"></a>
<div class="header">
@@ -2480,11 +2506,11 @@ interpreted as part of its name.
</p>
<p>If the first character of <var>parameter</var> is an exclamation point (!),
and <var>parameter</var> is not a <var>nameref</var>,
-it introduces a level of variable indirection.
-Bash uses the value of the variable formed from the rest of
-<var>parameter</var> 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 <var>parameter</var> itself.
+it introduces a level of indirection.
+Bash uses the value formed by expanding the rest of
+<var>parameter</var> as the new <var>parameter</var>; this is then
+expanded and that value is used in the rest of the expansion, rather
+than the expansion of the original <var>parameter</var>.
This is known as <code>indirect expansion</code>.
The value is subject to tilde expansion,
parameter expansion, command substitution, and arithmetic expansion.
@@ -5078,8 +5104,8 @@ parent.
<dt><code>mapfile</code></dt>
<dd><a name="index-mapfile"></a>
<div class="example">
-<pre class="example">mapfile [-d <var>delim</var>] [-n <var>count</var>] [-O <var>origin</var>] [-s <var>count</var>] [-t] [-u <var>fd</var>]
- [-C <var>callback</var>] [-c <var>quantum</var>] [<var>array</var>]
+<pre class="example">mapfile [-d <var>delim</var>] [-n <var>count</var>] [-O <var>origin</var>] [-s <var>count</var>]
+ [-t] [-u <var>fd</var>] [-C <var>callback</var>] [-c <var>quantum</var>] [<var>array</var>]
</pre></div>
<p>Read lines from the standard input into the indexed array variable <var>array</var>,
@@ -5309,8 +5335,8 @@ The exit status is greater than 128 if the timeout is exceeded.
<dt><code>readarray</code></dt>
<dd><a name="index-readarray"></a>
<div class="example">
-<pre class="example">readarray [-d <var>delim</var>] [-n <var>count</var>] [-O <var>origin</var>] [-s <var>count</var>] [-t] [-u <var>fd</var>]
- [-C <var>callback</var>] [-c <var>quantum</var>] [<var>array</var>]
+<pre class="example">readarray [-d <var>delim</var>] [-n <var>count</var>] [-O <var>origin</var>] [-s <var>count</var>]
+ [-t] [-u <var>fd</var>] [-C <var>callback</var>] [-c <var>quantum</var>] [<var>array</var>]
</pre></div>
<p>Read lines from the standard input into the indexed array variable <var>array</var>,
@@ -6574,7 +6600,8 @@ The shell sets <code>BASH_ARGC</code> only when in extended debugging mode
(see <a href="#The-Shopt-Builtin">The Shopt Builtin</a>
for a description of the <code>extdebug</code> option to the <code>shopt</code>
builtin).
-Setting <code>extdebug</code> after the shell has started to execute a script
+Setting <code>extdebug</code> after the shell has started to execute a script,
+or referencing this variable when <code>extdebug</code> is not set,
may result in inconsistent values.
</p>
</dd>
@@ -6590,7 +6617,8 @@ The shell sets <code>BASH_ARGV</code> only when in extended debugging mode
(see <a href="#The-Shopt-Builtin">The Shopt Builtin</a>
for a description of the <code>extdebug</code> option to the <code>shopt</code>
builtin).
-Setting <code>extdebug</code> after the shell has started to execute a script
+Setting <code>extdebug</code> after the shell has started to execute a script,
+or referencing this variable when <code>extdebug</code> is not set,
may result in inconsistent values.
</p>
</dd>
@@ -7180,7 +7208,7 @@ as the sole input. If set, the value denotes the number
of consecutive <code>EOF</code> characters that can be read as the
first character on an input line
before the shell will exit. If the variable exists but does not
-have a numeric value (or has no value) then the default is 10.
+have a numeric value, or has no value, then the default is 10.
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>
@@ -7192,6 +7220,14 @@ input to the shell. This is only in effect for interactive shells.
of <samp>~/.inputrc</samp>.
</p>
</dd>
+<dt><code>INSIDE_EMACS</code>
+<a name="index-INSIDE_005fEMACS"></a>
+</dt>
+<dd><p>If Bash finds this variable in the environment when the shell
+starts, it assumes that the shell is running in an Emacs shell buffer
+and may disable line editing depending on the value of <code>TERM</code>.
+</p>
+</dd>
<dt><code>LANG</code>
<a name="index-LANG"></a>
</dt>
@@ -7324,7 +7360,9 @@ as if the command
</p><div class="example">
<pre class="example"><code>set -o posix</code>
</pre></div>
-<p>had been executed.
+<p>had been executed.
+When the shell enters <small>POSIX</small> mode, it sets this variable if it was
+not already set.
</p>
</dd>
<dt><code>PPID</code>
@@ -7583,9 +7621,12 @@ Next: <a href="#Bash-Startup-Files" accesskey="n" rel="next">Bash Startup Files<
<h3 class="section">6.1 Invoking Bash</h3>
<div class="example">
-<pre class="example">bash [long-opt] [-ir] [-abefhkmnptuvxdBCDHP] [-o <var>option</var>] [-O <var>shopt_option</var>] [<var>argument</var> &hellip;]
-bash [long-opt] [-abefhkmnptuvxdBCDHP] [-o <var>option</var>] [-O <var>shopt_option</var>] -c <var>string</var> [<var>argument</var> &hellip;]
-bash [long-opt] -s [-abefhkmnptuvxdBCDHP] [-o <var>option</var>] [-O <var>shopt_option</var>] [<var>argument</var> &hellip;]
+<pre class="example">bash [long-opt] [-ir] [-abefhkmnptuvxdBCDHP] [-o <var>option</var>]
+ [-O <var>shopt_option</var>] [<var>argument</var> &hellip;]
+bash [long-opt] [-abefhkmnptuvxdBCDHP] [-o <var>option</var>]
+ [-O <var>shopt_option</var>] -c <var>string</var> [<var>argument</var> &hellip;]
+bash [long-opt] -s [-abefhkmnptuvxdBCDHP] [-o <var>option</var>]
+ [-O <var>shopt_option</var>] [<var>argument</var> &hellip;]
</pre></div>
<p>All of the single-character options used with the <code>set</code> builtin
@@ -8014,7 +8055,7 @@ when a shell with history enabled exits.
(see <a href="#Signals">Signals</a>).
</li><li> In the absence of any traps, <code>SIGINT</code> is caught and handled
-((see <a href="#Signals">Signals</a>).
+(see <a href="#Signals">Signals</a>).
<code>SIGINT</code> will interrupt some shell builtins.
</li><li> An interactive login shell sends a <code>SIGHUP</code> to all jobs on exit
@@ -8843,7 +8884,7 @@ shell session.
<p>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 <a href="#Bash-Builtins">Bash Builtins</a>).
+<code>promptvars</code> shell option (see <a href="#The-Shopt-Builtin">The Shopt Builtin</a>).
</p>
<hr>
<a name="The-Restricted-Shell"></a>
@@ -8913,7 +8954,9 @@ startup files.
<p>The following list is what&rsquo;s changed when &lsquo;<small>POSIX</small> mode&rsquo; is in effect:
</p>
<ol>
-<li> When a command in the hash table no longer exists, Bash will re-search
+<li> Bash ensures that the <code>POSIXLY_CORRECT</code> variable is set.
+
+</li><li> When a command in the hash table no longer exists, Bash will re-search
<code>$PATH</code> to find the new location. This is also available with
&lsquo;<samp>shopt -s checkhash</samp>&rsquo;.
@@ -10004,6 +10047,7 @@ The default value is &lsquo;<samp>off</samp>&rsquo;.
<p>If set to &lsquo;<samp>on</samp>&rsquo;, and <var>completion-ignore-case</var> is enabled, Readline
treats hyphens (&lsquo;<samp>-</samp>&rsquo;) and underscores (&lsquo;<samp>_</samp>&rsquo;) as equivalent when
performing case-insensitive filename matching and completion.
+The default value is &lsquo;<samp>off</samp>&rsquo;.
</p>
</dd>
<dt><code>completion-prefix-display-length</code></dt>
@@ -10365,7 +10409,7 @@ Meta-Rubout: backward-kill-word
Control-o: &quot;&gt; output&quot;
</pre></div>
-<p>In the above example, <kbd>C-u</kbd> is bound to the function
+<p>In the example above, <kbd>C-u</kbd> is bound to the function
<code>universal-argument</code>,
<kbd>M-DEL</kbd> is bound to the function <code>backward-kill-word</code>, and
<kbd>C-o</kbd> is bound to run the macro
@@ -11068,7 +11112,7 @@ how to insert key sequences like <kbd>C-q</kbd>, for example.
sequence sent by some terminals, and such a binding is assigned by default.
It allows Readline to insert the pasted text as a single unit without treating
each character as if it had been read from the keyboard. The characters
-are inserted as if each one was bound to <code>self-insert</code>) instead of
+are inserted as if each one was bound to <code>self-insert</code> instead of
executing any editing commands.
</p>
</dd>
@@ -11973,10 +12017,10 @@ matches were generated.
<dt><code>complete</code></dt>
<dd><a name="index-complete"></a>
<div class="example">
-<pre class="example"><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>]
+<pre class="example"><code>complete [-abcdefgjksuv] [-o <var>comp-option</var>] [-DEI] [-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> &hellip;]</code>
-<code>complete -pr [-DE] [<var>name</var> &hellip;]</code>
+<code>complete -pr [-DEI] [<var>name</var> &hellip;]</code>
</pre></div>
<p>Specify how arguments to each <var>name</var> should be completed.
@@ -11986,16 +12030,24 @@ reused as input.
The <samp>-r</samp> option removes a completion specification for
each <var>name</var>, or, if no <var>name</var>s are supplied, all
completion specifications.
-The <samp>-D</samp> option indicates that the remaining options and actions should
+The <samp>-D</samp> option indicates that other supplied options and actions should
apply to the &ldquo;default&rdquo; command completion; that is, completion attempted
on a command for which no completion has previously been defined.
-The <samp>-E</samp> option indicates that the remaining options and actions should
+The <samp>-E</samp> option indicates that other supplied options and actions should
apply to &ldquo;empty&rdquo; command completion; that is, completion attempted on a
blank line.
+The <samp>-I</samp> option indicates that other supplied options and actions should
+apply to completion on the inital non-assignment word on the line, or after a
+command delimiter such as &lsquo;<samp>;</samp>&rsquo; or &lsquo;<samp>|</samp>&rsquo;, which is usually command
+name completion.
+If multiple options are supplied, the <samp>-D</samp> option takes precedence
+over <samp>-E</samp>, and both take precedence over <samp>-I</samp>.
+If any of <samp>-D</samp>, <samp>-E</samp>, or <samp>-I</samp> are supplied, any other
+<var>name</var> arguments are ignored; these completions only apply to the case
+specified by the option.
</p>
<p>The process of applying these completion specifications when word completion
-is attempted is described above (see <a href="#Programmable-Completion">Programmable Completion</a>). The
-<samp>-D</samp> option takes precedence over <samp>-E</samp>.
+is attempted is described above (see <a href="#Programmable-Completion">Programmable Completion</a>).
</p>
<p>Other options, if specified, have the following meanings.
The arguments to the <samp>-G</samp>, <samp>-W</samp>, and <samp>-X</samp> options
@@ -12027,7 +12079,7 @@ no matches.
</dd>
<dt><code>filenames</code></dt>
<dd><p>Tell Readline that the compspec generates filenames, so it can perform any
-filename-specific processing (like adding a slash to directory names
+filename-specific processing (like adding a slash to directory names,
quoting special characters, or suppressing trailing spaces).
This option is intended to be used with shell functions specified
with <samp>-F</samp>.
@@ -12221,7 +12273,7 @@ an error occurs adding a completion specification.
<dt><code>compopt</code></dt>
<dd><a name="index-compopt"></a>
<div class="example">
-<pre class="example"><code>compopt</code> [-o <var>option</var>] [-DE] [+o <var>option</var>] [<var>name</var>]
+<pre class="example"><code>compopt</code> [-o <var>option</var>] [-DEI] [+o <var>option</var>] [<var>name</var>]
</pre></div>
<p>Modify completion options for each <var>name</var> according to the
<var>option</var>s, or for the currently-executing completion if no <var>name</var>s
@@ -12230,14 +12282,19 @@ If no <var>option</var>s are given, display the completion options for each
<var>name</var> or the current completion.
The possible values of <var>option</var> are those valid for the <code>complete</code>
builtin described above.
-The <samp>-D</samp> option indicates that the remaining options should
+The <samp>-D</samp> option indicates that other supplied options should
apply to the &ldquo;default&rdquo; command completion; that is, completion attempted
on a command for which no completion has previously been defined.
-The <samp>-E</samp> option indicates that the remaining options should
+The <samp>-E</samp> option indicates that other supplied options should
apply to &ldquo;empty&rdquo; command completion; that is, completion attempted on a
blank line.
+The <samp>-I</samp> option indicates that other supplied options should
+apply to completion on the inital non-assignment word on the line, or after a
+command delimiter such as &lsquo;<samp>;</samp>&rsquo; or &lsquo;<samp>|</samp>&rsquo;, which is usually command
+name completion.
</p>
-<p>The <samp>-D</samp> option takes precedence over <samp>-E</samp>.
+<p>If multiple options are supplied, the <samp>-D</samp> option takes precedence
+over <samp>-E</samp>, and both take precedence over <samp>-I</samp>
</p>
<p>The return value is true unless an invalid option is supplied, an attempt
is made to modify the options for a <var>name</var> for which no completion
@@ -12291,7 +12348,7 @@ _comp_cd()
local cur _skipdot _cdpath
local i j k
- # Tilde expansion, with side effect of expanding tilde to full pathname
+ # Tilde expansion, which also expands tilde to full pathname
case &quot;$2&quot; in
\~*) eval cur=&quot;$2&quot; ;;
*) cur=$2 ;;
@@ -12626,8 +12683,8 @@ fix errors in previous commands quickly.
</p>
<p>History expansion is performed immediately after a complete line
is read, before the shell breaks it into words, and is performed
-on each line individually without taking quoting on previous lines into
-account.
+on each line individually. Bash attempts to inform the history
+expansion functions about quoting still in effect from previous lines.
</p>
<p>History expansion takes place in two parts. The first is to determine
which line from the history list should be used during substitution.
@@ -12640,8 +12697,18 @@ that Bash does, so that several words
surrounded by quotes are considered one word.
History expansions are introduced by the appearance of the
history expansion character, which is &lsquo;<samp>!</samp>&rsquo; by default.
-Only &lsquo;<samp>\</samp>&rsquo; and &lsquo;<samp>'</samp>&rsquo; may be used to escape the history expansion
-character, but the history expansion character is
+</p>
+<p>History expansion implements shell-like quoting conventions:
+a backslash can be used to remove the special handling for the next character;
+single quotes enclose verbatim sequences of characters, and can be used to
+inhibit history expansion;
+and characters enclosed within double quotes may be subject to history
+expansion, since backslash can escape the history expansion character,
+but single quotes may not, since they are not treated specially within
+double quotes.
+</p>
+<p>When using the shell, only &lsquo;<samp>\</samp>&rsquo; and &lsquo;<samp>'</samp>&rsquo; may be used to escape the
+history expansion character, but the history expansion character is
also treated as quoted if it immediately precedes the closing double quote
in a double-quoted string.
</p>
@@ -13285,7 +13352,7 @@ compiled and linked, rather than changing run-time features.
</p>
<dl compact="compact">
<dt><code>--enable-largefile</code></dt>
-<dd><p>Enable support for <a href="http://www.sas.com/standards/large_file/x_open.20Mar96.html">large files</a> if the operating system requires special compiler options
+<dd><p>Enable support for <a href="http://www.unix.org/version2/whatsnew/lfs20mar.html">large files</a> if the operating system requires special compiler options
to build programs which can access large files. This is enabled by
default, if the operating system provides large file support.
</p>
@@ -14991,6 +15058,7 @@ Next: <a href="#Function-Index" accesskey="n" rel="next">Function Index</a>, Pre
<tr><td></td><td valign="top"><a href="#index-IGNOREEOF"><code>IGNOREEOF</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bash-Variables">Bash Variables</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-input_002dmeta"><code>input-meta</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Readline-Init-File-Syntax">Readline Init File Syntax</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-INPUTRC"><code>INPUTRC</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bash-Variables">Bash Variables</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-INSIDE_005fEMACS"><code>INSIDE_EMACS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bash-Variables">Bash Variables</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-isearch_002dterminators"><code>isearch-terminators</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Readline-Init-File-Syntax">Readline Init File Syntax</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th><a name="Variable-Index_vr_letter-K">K</a></th><td></td><td></td></tr>
diff --git a/doc/bashref.info b/doc/bashref.info
index 29dd0eff..866163df 100644
--- a/doc/bashref.info
+++ b/doc/bashref.info
@@ -2,9 +2,9 @@ This is bashref.info, produced by makeinfo version 6.5 from
bashref.texi.
This text is a brief description of the features that are present in the
-Bash shell (version 5.0, 15 March 2018).
+Bash shell (version 5.0, 7 August 2018).
- This is Edition 5.0, last updated 15 March 2018, of 'The GNU Bash
+ This is Edition 5.0, last updated 7 August 2018, of 'The GNU Bash
Reference Manual', for 'Bash', Version 5.0.
Copyright (C) 1988-2018 Free Software Foundation, Inc.
@@ -27,10 +27,10 @@ Bash Features
*************
This text is a brief description of the features that are present in the
-Bash shell (version 5.0, 15 March 2018). The Bash home page is
+Bash shell (version 5.0, 7 August 2018). The Bash home page is
<http://www.gnu.org/software/bash/>.
- This is Edition 5.0, last updated 15 March 2018, of 'The GNU Bash
+ This is Edition 5.0, last updated 7 August 2018, of 'The GNU Bash
Reference Manual', for 'Bash', Version 5.0.
Bash contains features that appear in other popular shells, and some
@@ -768,7 +768,9 @@ File: bashref.info, Node: Conditional Constructs, Next: Command Grouping, Pre
'case'
The syntax of the 'case' command is:
- case WORD in [ [(] PATTERN [| PATTERN]...) COMMAND-LIST ;;]... esac
+ case WORD in
+ [ [(] PATTERN [| PATTERN]...) COMMAND-LIST ;;]...
+ esac
'case' will selectively execute the COMMAND-LIST corresponding to
the first PATTERN that matches WORD. The match is performed
@@ -883,30 +885,30 @@ File: bashref.info, Node: Conditional Constructs, Next: Command Grouping, Pre
'shopt' in *note The Shopt Builtin::) is enabled, the match is
performed without regard to the case of alphabetic characters. The
return value is 0 if the string matches ('==') or does not match
- ('!=')the pattern, and 1 otherwise. Any part of the pattern may be
- quoted to force the quoted portion to be matched as a string.
+ ('!=') the pattern, and 1 otherwise. Any part of the pattern may
+ be quoted to force the quoted portion to be matched as a string.
An additional binary operator, '=~', is available, with the same
precedence as '==' and '!='. When it is used, the string to the
- right of the operator is considered an extended regular expression
- and matched accordingly (as in regex3)). The return value is 0 if
- the string matches the pattern, and 1 otherwise. If the regular
- expression is syntactically incorrect, the conditional expression's
- return value is 2. If the 'nocasematch' shell option (see the
- description of 'shopt' in *note The Shopt Builtin::) is enabled,
- the match is performed without regard to the case of alphabetic
- characters. Any part of the pattern may be quoted to force the
- quoted portion to be matched as a string. Bracket expressions in
- regular expressions must be treated carefully, since normal quoting
- characters lose their meanings between brackets. If the pattern is
- stored in a shell variable, quoting the variable expansion forces
- the entire pattern to be matched as a string. Substrings matched
- by parenthesized subexpressions within the regular expression are
- saved in the array variable 'BASH_REMATCH'. The element of
- 'BASH_REMATCH' with index 0 is the portion of the string matching
- the entire regular expression. The element of 'BASH_REMATCH' with
- index N is the portion of the string matching the Nth parenthesized
- subexpression.
+ right of the operator is considered a POSIX extended regular
+ expression and matched accordingly (as in regex3)). The return
+ value is 0 if the string matches the pattern, and 1 otherwise. If
+ the regular expression is syntactically incorrect, the conditional
+ expression's return value is 2. If the 'nocasematch' shell option
+ (see the description of 'shopt' in *note The Shopt Builtin::) is
+ enabled, the match is performed without regard to the case of
+ alphabetic characters. Any part of the pattern may be quoted to
+ force the quoted portion to be matched as a string. Bracket
+ expressions in regular expressions must be treated carefully, since
+ normal quoting characters lose their meanings between brackets. If
+ the pattern is stored in a shell variable, quoting the variable
+ expansion forces the entire pattern to be matched as a string.
+ Substrings matched by parenthesized subexpressions within the
+ regular expression are saved in the array variable 'BASH_REMATCH'.
+ The element of 'BASH_REMATCH' with index 0 is the portion of the
+ string matching the entire regular expression. The element of
+ 'BASH_REMATCH' with index N is the portion of the string matching
+ the Nth parenthesized subexpression.
For example, the following will match a line (stored in the shell
variable LINE) if there is a sequence of characters in the value
@@ -1103,7 +1105,8 @@ read from a file (in this case, filenames listed one per line):
done < file | process-output
with a more compact syntax reminiscent of lambdas:
- cat list | parallel "do-something1 {} config-{} ; do-something2 < {}" | process-output
+ 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:
@@ -1118,10 +1121,18 @@ take arguments from the command line; the above can also be written as
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
+ {
+ echo foss.org.my ;
+ echo debian.org ;
+ echo freenetproject.org ;
+ } | parallel traceroute
will display as output the traceroute invocation that finishes first.
Adding the '-k' option
- { echo foss.org.my ; echo debian.org; echo freenetproject.org; } | parallel -k traceroute
+ {
+ 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.
@@ -1406,15 +1417,21 @@ only be referenced; assignment to them is not allowed.
is null, the parameters are joined without intervening separators.
'@'
- ($@) 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 '"$1" "$2"
- ...'. If the double-quoted expansion occurs within a word, the
- expansion of the first parameter is joined with the beginning part
- of the original word, and the expansion of the last parameter is
- joined with the last part of the original word. When there are no
- positional parameters, '"$@"' and '$@' expand to nothing (i.e.,
- they are removed).
+ ($@) Expands to the positional parameters, starting from one. In
+ contexts where word splitting is performed, this expands each
+ positional parameter to a separate word; if not within double
+ quotes, these words are subject to word splitting. In contexts
+ where word splitting is not performed, this expands to a single
+ word with each positional parameter separated by a space. When the
+ expansion occurs within double quotes, and word splitting is
+ performed, each parameter expands to a separate word. That is,
+ '"$@"' is equivalent to '"$1" "$2" ...'. If the double-quoted
+ expansion occurs within a word, the expansion of the first
+ parameter is joined with the beginning part of the original word,
+ and the expansion of the last parameter is joined with the last
+ part of the original word. When there are no positional
+ parameters, '"$@"' and '$@' expand to nothing (i.e., they are
+ removed).
'#'
($#) Expands to the number of positional parameters in decimal.
@@ -1628,6 +1645,11 @@ assigns the expanded value.
'~-N'
The string that would be displayed by 'dirs -N'
+ Bash also performs tilde expansion on words satisfying the conditions
+of variable assignments (*note Shell Parameters::) when they appear as
+arguments to simple commands. Bash does not do this, except for the
+DECLARATION commands listed above, when in POSIX mode.
+

File: bashref.info, Node: Shell Parameter Expansion, Next: Command Substitution, Prev: Tilde Expansion, Up: Shell Expansions
@@ -1653,18 +1675,17 @@ parameter with more than one digit, or when PARAMETER is followed by a
character that is not to be interpreted as part of its name.
If the first character of PARAMETER is an exclamation point (!), and
-PARAMETER is not a NAMEREF, it introduces a level of variable
-indirection. Bash uses the value of 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
-value is subject to tilde expansion, parameter expansion, command
-substitution, and arithmetic expansion. If PARAMETER is a nameref, this
-expands to the name of the variable referenced by PARAMETER instead of
-performing the complete 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.
+PARAMETER is not a NAMEREF, it introduces a level of indirection. Bash
+uses the value formed by expanding the rest of PARAMETER as the new
+PARAMETER; this is then expanded and that value is used in the rest of
+the expansion, rather than the expansion of the original PARAMETER.
+This is known as 'indirect expansion'. The value is subject to tilde
+expansion, parameter expansion, command substitution, and arithmetic
+expansion. If PARAMETER is a nameref, this expands to the name of the
+variable referenced by PARAMETER instead of performing the complete
+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.
In each of the cases below, WORD is subject to tilde expansion,
parameter expansion, command substitution, and arithmetic expansion.
@@ -3662,8 +3683,8 @@ standard.
Exit a login shell, returning a status of N to the shell's parent.
'mapfile'
- mapfile [-d DELIM] [-n COUNT] [-O ORIGIN] [-s COUNT] [-t] [-u FD]
- [-C CALLBACK] [-c QUANTUM] [ARRAY]
+ mapfile [-d DELIM] [-n COUNT] [-O ORIGIN] [-s COUNT]
+ [-t] [-u FD] [-C CALLBACK] [-c QUANTUM] [ARRAY]
Read lines from the standard input into the indexed array variable
ARRAY, or from file descriptor FD if the '-u' option is supplied.
@@ -3846,8 +3867,8 @@ standard.
Read input from file descriptor FD.
'readarray'
- readarray [-d DELIM] [-n COUNT] [-O ORIGIN] [-s COUNT] [-t] [-u FD]
- [-C CALLBACK] [-c QUANTUM] [ARRAY]
+ readarray [-d DELIM] [-n COUNT] [-O ORIGIN] [-s COUNT]
+ [-t] [-u FD] [-C CALLBACK] [-c QUANTUM] [ARRAY]
Read lines from the standard input into the indexed array variable
ARRAY, or from file descriptor FD if the '-u' option is supplied.
@@ -4826,7 +4847,8 @@ Variables::).
onto 'BASH_ARGC'. The shell sets 'BASH_ARGC' only when in extended
debugging mode (see *note The Shopt Builtin:: for a description of
the 'extdebug' option to the 'shopt' builtin). Setting 'extdebug'
- after the shell has started to execute a script may result in
+ after the shell has started to execute a script, or referencing
+ this variable when 'extdebug' is not set, may result in
inconsistent values.
'BASH_ARGV'
@@ -4838,7 +4860,8 @@ Variables::).
sets 'BASH_ARGV' only when in extended debugging mode (see *note
The Shopt Builtin:: for a description of the 'extdebug' option to
the 'shopt' builtin). Setting 'extdebug' after the shell has
- started to execute a script may result in inconsistent values.
+ started to execute a script, or referencing this variable when
+ 'extdebug' is not set, may result in inconsistent values.
'BASH_ARGV0'
When referenced, this variable expands to the name of the shell or
@@ -5228,7 +5251,7 @@ Variables::).
as the sole input. If set, the value denotes the number of
consecutive 'EOF' characters that can be read as the first
character on an input line before the shell will exit. If the
- variable exists but does not have a numeric value (or has no value)
+ variable exists but does not have a numeric value, or has no value,
then the default is 10. If the variable does not exist, then 'EOF'
signifies the end of input to the shell. This is only in effect
for interactive shells.
@@ -5237,6 +5260,12 @@ Variables::).
The name of the Readline initialization file, overriding the
default of '~/.inputrc'.
+'INSIDE_EMACS'
+ If Bash finds this variable in the environment when the shell
+ starts, it assumes that the shell is running in an Emacs shell
+ buffer and may disable line editing depending on the value of
+ 'TERM'.
+
'LANG'
Used to determine the locale category for any category not
specifically selected with a variable starting with 'LC_'.
@@ -5317,7 +5346,8 @@ Variables::).
supplied. If it is set while the shell is running, Bash enables
POSIX mode, as if the command
set -o posix
- had been executed.
+ had been executed. When the shell enters POSIX mode, it sets this
+ variable if it was not already set.
'PPID'
The process ID of the shell's parent process. This variable is
@@ -5484,9 +5514,12 @@ File: bashref.info, Node: Invoking Bash, Next: Bash Startup Files, Up: Bash F
6.1 Invoking Bash
=================
- bash [long-opt] [-ir] [-abefhkmnptuvxdBCDHP] [-o OPTION] [-O SHOPT_OPTION] [ARGUMENT ...]
- bash [long-opt] [-abefhkmnptuvxdBCDHP] [-o OPTION] [-O SHOPT_OPTION] -c STRING [ARGUMENT ...]
- bash [long-opt] -s [-abefhkmnptuvxdBCDHP] [-o OPTION] [-O SHOPT_OPTION] [ARGUMENT ...]
+ bash [long-opt] [-ir] [-abefhkmnptuvxdBCDHP] [-o OPTION]
+ [-O SHOPT_OPTION] [ARGUMENT ...]
+ bash [long-opt] [-abefhkmnptuvxdBCDHP] [-o OPTION]
+ [-O SHOPT_OPTION] -c STRING [ARGUMENT ...]
+ bash [long-opt] -s [-abefhkmnptuvxdBCDHP] [-o OPTION]
+ [-O SHOPT_OPTION] [ARGUMENT ...]
All of the single-character options used with the 'set' builtin
(*note The Set Builtin::) can be used as options when the shell is
@@ -5832,8 +5865,8 @@ several ways.
9. In the absence of any traps, Bash ignores 'SIGTERM' (*note
Signals::).
- 10. In the absence of any traps, 'SIGINT' is caught and handled
- ((*note Signals::). 'SIGINT' will interrupt some shell builtins.
+ 10. In the absence of any traps, 'SIGINT' is caught and handled (*note
+ Signals::). 'SIGINT' will interrupt some shell builtins.
11. An interactive login shell sends a 'SIGHUP' to all jobs on exit if
the 'huponexit' shell option has been enabled (*note Signals::).
@@ -6453,7 +6486,8 @@ of commands executed during the current shell session.
After the string is decoded, it is expanded via parameter expansion,
command substitution, arithmetic expansion, and quote removal, subject
-to the value of the 'promptvars' shell option (*note Bash Builtins::).
+to the value of the 'promptvars' shell option (*note The Shopt
+Builtin::).

File: bashref.info, Node: The Restricted Shell, Next: Bash POSIX Mode, Prev: Controlling the Prompt, Up: Bash Features
@@ -6511,212 +6545,214 @@ startup files.
The following list is what's changed when 'POSIX mode' is in effect:
- 1. When a command in the hash table no longer exists, Bash will
+ 1. Bash ensures that the 'POSIXLY_CORRECT' variable is set.
+
+ 2. When a command in the hash table no longer exists, Bash will
re-search '$PATH' to find the new location. This is also available
with 'shopt -s checkhash'.
- 2. The message printed by the job control code and builtins when a job
+ 3. The message printed by the job control code and builtins when a job
exits with a non-zero status is 'Done(status)'.
- 3. The message printed by the job control code and builtins when a job
+ 4. The message printed by the job control code and builtins when a job
is stopped is 'Stopped(SIGNAME)', where SIGNAME is, for example,
'SIGTSTP'.
- 4. Alias expansion is always enabled, even in non-interactive shells.
+ 5. Alias expansion is always enabled, even in non-interactive shells.
- 5. Reserved words appearing in a context where reserved words are
+ 6. Reserved words appearing in a context where reserved words are
recognized do not undergo alias expansion.
- 6. The POSIX 'PS1' and 'PS2' expansions of '!' to the history number
+ 7. The POSIX 'PS1' and 'PS2' expansions of '!' to the history number
and '!!' to '!' are enabled, and parameter expansion is performed
on the values of 'PS1' and 'PS2' regardless of the setting of the
'promptvars' option.
- 7. The POSIX startup files are executed ('$ENV') rather than the
+ 8. The POSIX startup files are executed ('$ENV') rather than the
normal Bash files.
- 8. Tilde expansion is only performed on assignments preceding a
+ 9. Tilde expansion is only performed on assignments preceding a
command name, rather than on all assignment statements on the line.
- 9. The default history file is '~/.sh_history' (this is the default
+ 10. The default history file is '~/.sh_history' (this is the default
value of '$HISTFILE').
- 10. Redirection operators do not perform filename expansion on the
+ 11. Redirection operators do not perform filename expansion on the
word in the redirection unless the shell is interactive.
- 11. Redirection operators do not perform word splitting on the word in
+ 12. Redirection operators do not perform word splitting on the word in
the redirection.
- 12. Function names must be valid shell 'name's. That is, they may not
+ 13. 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.
- 13. Function names may not be the same as one of the POSIX special
+ 14. Function names may not be the same as one of the POSIX special
builtins.
- 14. POSIX special builtins are found before shell functions during
+ 15. POSIX special builtins are found before shell functions during
command lookup.
- 15. When printing shell function definitions (e.g., by 'type'), Bash
+ 16. When printing shell function definitions (e.g., by 'type'), Bash
does not print the 'function' keyword.
- 16. Literal tildes that appear as the first character in elements of
+ 17. Literal tildes that appear as the first character in elements of
the 'PATH' variable are not expanded as described above under *note
Tilde Expansion::.
- 17. The 'time' reserved word may be used by itself as a command. When
+ 18. 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.
- 18. When parsing and expanding a ${...} expansion that appears within
+ 19. 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.
- 19. The parser does not recognize 'time' as a reserved word if the
+ 20. The parser does not recognize 'time' as a reserved word if the
next token begins with a '-'.
- 20. The '!' character does not introduce history expansion within a
+ 21. The '!' character does not introduce history expansion within a
double-quoted string, even if the 'histexpand' option is enabled.
- 21. If a POSIX special builtin returns an error status, 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.
- 22. 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.
- 23. A non-interactive shell exits with an error status if a variable
+ 24. A non-interactive shell exits 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.
- 24. A non-interactive shell exits with an error status if the
+ 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.
- 25. Non-interactive shells exit if FILENAME in '.' FILENAME is not
+ 26. Non-interactive shells exit if FILENAME in '.' FILENAME is not
found.
- 26. Non-interactive shells exit if a syntax error in an arithmetic
+ 27. Non-interactive shells exit if a syntax error in an arithmetic
expansion results in an invalid expression.
- 27. Non-interactive shells exit if a parameter expansion error occurs.
+ 28. Non-interactive shells exit if a parameter expansion error occurs.
- 28. Non-interactive shells exit if there is a syntax error in a script
+ 29. 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.
- 29. Process substitution is not available.
+ 30. Process substitution is not available.
- 30. While variable indirection is available, it may not be applied to
+ 31. While variable indirection is available, it may not be applied to
the '#' and '?' special parameters.
- 31. When expanding the '*' special parameter in a pattern context
+ 32. When expanding the '*' special parameter in a pattern context
where the expansion is double-quoted does not treat the '$*' as if
it were double-quoted.
- 32. Assignment statements preceding POSIX special builtins persist in
+ 33. Assignment statements preceding POSIX special builtins persist in
the shell environment after the builtin completes.
- 33. Assignment statements preceding shell function calls persist in
+ 34. 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.
- 34. The 'command' builtin does not prevent builtins that take
+ 35. The 'command' builtin does not prevent builtins that take
assignment statements as arguments from expanding them as
assignment statements; when not in POSIX mode, assignment builtins
lose their assignment statement expansion properties when preceded
by 'command'.
- 35. The 'bg' builtin uses the required format to describe each job
+ 36. The 'bg' builtin uses the required format to describe each job
placed in the background, which does not include an indication of
whether the job is the current or previous job.
- 36. The output of 'kill -l' prints all the signal names on a single
+ 37. The output of 'kill -l' prints all the signal names on a single
line, separated by spaces, without the 'SIG' prefix.
- 37. The 'kill' builtin does not accept signal names with a 'SIG'
+ 38. The 'kill' builtin does not accept signal names with a 'SIG'
prefix.
- 38. The 'export' and 'readonly' builtin commands display their output
+ 39. The 'export' and 'readonly' builtin commands display their output
in the format required by POSIX.
- 39. The 'trap' builtin displays signal names without the leading
+ 40. The 'trap' builtin displays signal names without the leading
'SIG'.
- 40. The 'trap' builtin doesn't check the first argument for a possible
+ 41. 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.
- 41. The '.' and 'source' builtins do not search the current directory
+ 42. The '.' and 'source' builtins do not search the current directory
for the filename argument if it is not found by searching 'PATH'.
- 42. Enabling POSIX mode has the effect of setting the
+ 43. Enabling POSIX mode has the effect of setting the
'inherit_errexit' option, so subshells spawned to execute command
substitutions inherit the value of the '-e' option from the parent
shell. When the 'inherit_errexit' option is not enabled, Bash
clears the '-e' option in such subshells.
- 43. When the 'alias' builtin displays alias definitions, it does not
+ 44. When the 'alias' builtin displays alias definitions, it does not
display them with a leading 'alias ' unless the '-p' option is
supplied.
- 44. When the 'set' builtin is invoked without options, it does not
+ 45. When the 'set' builtin is invoked without options, it does not
display shell function names and definitions.
- 45. When the 'set' builtin is invoked without options, it displays
+ 46. 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.
- 46. When the 'cd' builtin is invoked in LOGICAL mode, and the pathname
+ 47. 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.
- 47. The 'pwd' builtin verifies that the value it prints is the same as
+ 48. 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.
- 48. When listing the history, the 'fc' builtin does not include an
+ 49. When listing the history, the 'fc' builtin does not include an
indication of whether or not a history entry has been modified.
- 49. The default editor used by 'fc' is 'ed'.
+ 50. The default editor used by 'fc' is 'ed'.
- 50. The 'type' and 'command' builtins will not report a non-executable
+ 51. 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'.
- 51. The 'vi' editing mode will invoke the 'vi' editor directly when
+ 52. The 'vi' editing mode will invoke the 'vi' editor directly when
the 'v' command is run, instead of checking '$VISUAL' and
'$EDITOR'.
- 52. When the 'xpg_echo' option is enabled, Bash does not attempt to
+ 53. 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.
- 53. The 'ulimit' builtin uses a block size of 512 bytes for the '-c'
+ 54. The 'ulimit' builtin uses a block size of 512 bytes for the '-c'
and '-f' options.
- 54. The arrival of 'SIGCHLD' when a trap is set on 'SIGCHLD' does not
+ 55. 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.
- 55. The 'read' builtin may be interrupted by a signal for which a trap
+ 56. The 'read' builtin may be interrupted by a signal for which a trap
has been set. If Bash receives a trapped signal while executing
'read', the trap handler executes and 'read' returns an exit status
greater than 128.
- 56. Bash removes an exited background process's status from the list
+ 57. Bash removes an exited background process's status from the list
of such statuses after the 'wait' builtin is used to obtain it.
There is other POSIX behavior that Bash does not implement by default
@@ -7374,7 +7410,7 @@ Variable Settings
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.
+ and completion. The default value is 'off'.
'completion-prefix-display-length'
The length in characters of the common prefix of a list of
@@ -7650,7 +7686,7 @@ Key Bindings
Meta-Rubout: backward-kill-word
Control-o: "> output"
- In the above example, 'C-u' is bound to the function
+ In the example above, 'C-u' is bound to the function
'universal-argument', 'M-DEL' is bound to the function
'backward-kill-word', and 'C-o' is bound to run the macro
expressed on the right hand side (that is, to insert the text
@@ -8141,7 +8177,7 @@ File: bashref.info, Node: Commands For Text, Next: Commands For Killing, Prev
assigned by default. It allows Readline to insert the pasted text
as a single unit without treating each character as if it had been
read from the keyboard. The characters are inserted as if each one
- was bound to 'self-insert') instead of executing any editing
+ was bound to 'self-insert' instead of executing any editing
commands.
'transpose-chars (C-t)'
@@ -8737,26 +8773,34 @@ happening.
no matches were generated.
'complete'
- complete [-abcdefgjksuv] [-o COMP-OPTION] [-DE] [-A ACTION] [-G GLOBPAT] [-W WORDLIST]
- [-F FUNCTION] [-C COMMAND] [-X FILTERPAT]
+ complete [-abcdefgjksuv] [-o COMP-OPTION] [-DEI] [-A ACTION] [-G GLOBPAT]
+ [-W WORDLIST] [-F FUNCTION] [-C COMMAND] [-X FILTERPAT]
[-P PREFIX] [-S SUFFIX] NAME [NAME ...]
- complete -pr [-DE] [NAME ...]
+ complete -pr [-DEI] [NAME ...]
Specify how arguments to each NAME should be completed. If the
'-p' 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 '-r' option removes a completion
specification for each NAME, or, if no NAMEs are supplied, all
- completion specifications. The '-D' option indicates that the
- remaining options and actions should apply to the "default" command
+ completion specifications. The '-D' option indicates that other
+ supplied 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 '-E' option indicates
- that the remaining options and actions should apply to "empty"
+ that other supplied options and actions should apply to "empty"
command completion; that is, completion attempted on a blank line.
+ The '-I' option indicates that other supplied options and actions
+ should apply to completion on the inital non-assignment word on the
+ line, or after a command delimiter such as ';' or '|', which is
+ usually command name completion. If multiple options are supplied,
+ the '-D' option takes precedence over '-E', and both take
+ precedence over '-I'. If any of '-D', '-E', or '-I' are supplied,
+ any other NAME arguments are ignored; these completions only apply
+ to the case specified by the option.
The process of applying these completion specifications when word
completion is attempted is described above (*note Programmable
- Completion::). The '-D' option takes precedence over '-E'.
+ Completion::).
Other options, if specified, have the following meanings. The
arguments to the '-G', '-W', and '-X' options (and, if necessary,
@@ -8783,7 +8827,7 @@ happening.
'filenames'
Tell Readline that the compspec generates filenames, so
it can perform any filename-specific processing (like
- adding a slash to directory names quoting special
+ adding a slash to directory names, quoting special
characters, or suppressing trailing spaces). This option
is intended to be used with shell functions specified
with '-F'.
@@ -8936,20 +8980,24 @@ happening.
completion specification.
'compopt'
- compopt [-o OPTION] [-DE] [+o OPTION] [NAME]
+ compopt [-o OPTION] [-DEI] [+o OPTION] [NAME]
Modify completion options for each NAME according to the OPTIONs,
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'
- option indicates that the remaining options should apply to the
+ option indicates that other supplied options should apply to the
"default" command completion; that is, completion attempted on a
command for which no completion has previously been defined. The
- '-E' option indicates that the remaining options should apply to
+ '-E' option indicates that other supplied options should apply to
"empty" command completion; that is, completion attempted on a
- blank line.
+ blank line. The '-I' option indicates that other supplied options
+ should apply to completion on the inital non-assignment word on the
+ line, or after a command delimiter such as ';' or '|', which is
+ usually command name completion.
- The '-D' option takes precedence over '-E'.
+ If multiple options are supplied, the '-D' option takes precedence
+ over '-E', and both take precedence over '-I'
The return value is true unless an invalid option is supplied, an
attempt is made to modify the options for a NAME for which no
@@ -8993,7 +9041,7 @@ retrieves the completions from there when the function returns.
local cur _skipdot _cdpath
local i j k
- # Tilde expansion, with side effect of expanding tilde to full pathname
+ # Tilde expansion, which also expands tilde to full pathname
case "$2" in
\~*) eval cur="$2" ;;
*) cur=$2 ;;
@@ -9263,7 +9311,8 @@ previous commands quickly.
History expansion is performed immediately after a complete line is
read, before the shell breaks it into words, and is performed on each
-line individually without taking quoting on previous lines into account.
+line individually. Bash attempts to inform the history expansion
+functions about quoting still in effect from previous lines.
History expansion takes place in two parts. The first is to
determine which line from the history list should be used during
@@ -9274,10 +9323,20 @@ are called "words". Various "modifiers" are available to manipulate the
selected words. The line is broken into words in the same fashion that
Bash does, so that several words surrounded by quotes are considered one
word. History expansions are introduced by the appearance of the
-history expansion character, which is '!' by default. Only '\' and '''
-may be used to escape the history expansion character, but the history
-expansion character is also treated as quoted if it immediately precedes
-the closing double quote in a double-quoted string.
+history expansion character, which is '!' by default.
+
+ History expansion implements shell-like quoting conventions: a
+backslash can be used to remove the special handling for the next
+character; single quotes enclose verbatim sequences of characters, and
+can be used to inhibit history expansion; and characters enclosed within
+double quotes may be subject to history expansion, since backslash can
+escape the history expansion character, but single quotes may not, since
+they are not treated specially within double quotes.
+
+ When using the shell, only '\' and ''' may be used to escape the
+history expansion character, but the history expansion character is also
+treated as quoted if it immediately precedes the closing double quote in
+a double-quoted string.
Several shell options settable with the 'shopt' builtin (*note The
Shopt Builtin::) may be used to tailor the behavior of history
@@ -9760,8 +9819,8 @@ and linked, rather than changing run-time features.
'--enable-largefile'
Enable support for large files
- (http://www.sas.com/standards/large_file/x_open.20Mar96.html) if
- the operating system requires special compiler options to build
+ (http://www.unix.org/version2/whatsnew/lfs20mar.html) if the
+ operating system requires special compiler options to build
programs which can access large files. This is enabled by default,
if the operating system provides large file support.
@@ -10881,7 +10940,7 @@ D.1 Index of Shell Builtin Commands
* complete: Programmable Completion Builtins.
(line 30)
* compopt: Programmable Completion Builtins.
- (line 229)
+ (line 237)
* continue: Bourne Shell Builtins.
(line 85)
* declare: Bash Builtins. (line 148)
@@ -10966,9 +11025,9 @@ D.2 Index of Shell Reserved Words
* !: Pipelines. (line 9)
* [[: Conditional Constructs.
- (line 122)
+ (line 124)
* ]]: Conditional Constructs.
- (line 122)
+ (line 124)
* {: Command Grouping. (line 21)
* }: Command Grouping. (line 21)
* case: Conditional Constructs.
@@ -10990,7 +11049,7 @@ D.2 Index of Shell Reserved Words
* in: Conditional Constructs.
(line 28)
* select: Conditional Constructs.
- (line 80)
+ (line 82)
* then: Conditional Constructs.
(line 7)
* time: Pipelines. (line 9)
@@ -11006,24 +11065,24 @@ D.3 Parameter and Variable Index
* Menu:
-* !: Special Parameters. (line 50)
-* #: Special Parameters. (line 33)
-* $: Special Parameters. (line 45)
-* $!: Special Parameters. (line 51)
-* $#: Special Parameters. (line 34)
-* $$: Special Parameters. (line 46)
+* !: Special Parameters. (line 56)
+* #: Special Parameters. (line 39)
+* $: Special Parameters. (line 51)
+* $!: Special Parameters. (line 57)
+* $#: Special Parameters. (line 40)
+* $$: Special Parameters. (line 52)
* $*: Special Parameters. (line 10)
-* $-: Special Parameters. (line 41)
-* $0: Special Parameters. (line 56)
-* $?: Special Parameters. (line 37)
+* $-: Special Parameters. (line 47)
+* $0: Special Parameters. (line 62)
+* $?: Special Parameters. (line 43)
* $@: Special Parameters. (line 23)
-* $_: Special Parameters. (line 65)
+* $_: Special Parameters. (line 71)
* *: Special Parameters. (line 9)
-* -: Special Parameters. (line 40)
-* 0: Special Parameters. (line 55)
-* ?: Special Parameters. (line 36)
+* -: Special Parameters. (line 46)
+* 0: Special Parameters. (line 61)
+* ?: Special Parameters. (line 42)
* @: Special Parameters. (line 22)
-* _: Special Parameters. (line 64)
+* _: Special Parameters. (line 70)
* auto_resume: Job Control Variables.
(line 6)
* BASH: Bash Variables. (line 13)
@@ -11031,21 +11090,21 @@ D.3 Parameter and Variable Index
* BASHPID: Bash Variables. (line 25)
* BASH_ALIASES: Bash Variables. (line 32)
* BASH_ARGC: Bash Variables. (line 41)
-* BASH_ARGV: Bash Variables. (line 53)
-* BASH_ARGV0: Bash Variables. (line 64)
-* BASH_CMDS: Bash Variables. (line 72)
-* BASH_COMMAND: Bash Variables. (line 81)
-* BASH_COMPAT: Bash Variables. (line 86)
-* BASH_ENV: Bash Variables. (line 101)
-* BASH_EXECUTION_STRING: Bash Variables. (line 107)
-* BASH_LINENO: Bash Variables. (line 110)
-* BASH_LOADABLES_PATH: Bash Variables. (line 118)
-* BASH_REMATCH: Bash Variables. (line 122)
-* BASH_SOURCE: Bash Variables. (line 130)
-* BASH_SUBSHELL: Bash Variables. (line 137)
-* BASH_VERSINFO: Bash Variables. (line 142)
-* BASH_VERSION: Bash Variables. (line 165)
-* BASH_XTRACEFD: Bash Variables. (line 168)
+* BASH_ARGV: Bash Variables. (line 54)
+* BASH_ARGV0: Bash Variables. (line 66)
+* BASH_CMDS: Bash Variables. (line 74)
+* BASH_COMMAND: Bash Variables. (line 83)
+* BASH_COMPAT: Bash Variables. (line 88)
+* BASH_ENV: Bash Variables. (line 103)
+* BASH_EXECUTION_STRING: Bash Variables. (line 109)
+* BASH_LINENO: Bash Variables. (line 112)
+* BASH_LOADABLES_PATH: Bash Variables. (line 120)
+* BASH_REMATCH: Bash Variables. (line 124)
+* BASH_SOURCE: Bash Variables. (line 132)
+* BASH_SUBSHELL: Bash Variables. (line 139)
+* BASH_VERSINFO: Bash Variables. (line 144)
+* BASH_VERSION: Bash Variables. (line 167)
+* BASH_XTRACEFD: Bash Variables. (line 170)
* bell-style: Readline Init File Syntax.
(line 38)
* bind-tty-special-chars: Readline Init File Syntax.
@@ -11054,12 +11113,12 @@ D.3 Parameter and Variable Index
(line 50)
* CDPATH: Bourne Shell Variables.
(line 9)
-* CHILD_MAX: Bash Variables. (line 179)
+* CHILD_MAX: Bash Variables. (line 181)
* colored-completion-prefix: Readline Init File Syntax.
(line 55)
* colored-stats: Readline Init File Syntax.
(line 62)
-* COLUMNS: Bash Variables. (line 186)
+* COLUMNS: Bash Variables. (line 188)
* comment-begin: Readline Init File Syntax.
(line 68)
* completion-display-width: Readline Init File Syntax.
@@ -11072,90 +11131,91 @@ D.3 Parameter and Variable Index
(line 91)
* completion-query-items: Readline Init File Syntax.
(line 98)
-* COMPREPLY: Bash Variables. (line 238)
-* COMP_CWORD: Bash Variables. (line 192)
-* COMP_KEY: Bash Variables. (line 221)
-* COMP_LINE: Bash Variables. (line 198)
-* COMP_POINT: Bash Variables. (line 203)
-* COMP_TYPE: Bash Variables. (line 211)
-* COMP_WORDBREAKS: Bash Variables. (line 225)
-* COMP_WORDS: Bash Variables. (line 231)
+* COMPREPLY: Bash Variables. (line 240)
+* COMP_CWORD: Bash Variables. (line 194)
+* COMP_KEY: Bash Variables. (line 223)
+* COMP_LINE: Bash Variables. (line 200)
+* COMP_POINT: Bash Variables. (line 205)
+* COMP_TYPE: Bash Variables. (line 213)
+* COMP_WORDBREAKS: Bash Variables. (line 227)
+* COMP_WORDS: Bash Variables. (line 233)
* convert-meta: Readline Init File Syntax.
(line 108)
-* COPROC: Bash Variables. (line 244)
-* DIRSTACK: Bash Variables. (line 248)
+* COPROC: Bash Variables. (line 246)
+* DIRSTACK: Bash Variables. (line 250)
* disable-completion: Readline Init File Syntax.
(line 116)
* echo-control-characters: Readline Init File Syntax.
(line 121)
* editing-mode: Readline Init File Syntax.
(line 126)
-* EMACS: Bash Variables. (line 258)
+* EMACS: Bash Variables. (line 260)
* emacs-mode-string: Readline Init File Syntax.
(line 132)
* enable-bracketed-paste: Readline Init File Syntax.
(line 142)
* enable-keypad: Readline Init File Syntax.
(line 150)
-* ENV: Bash Variables. (line 263)
-* EPOCHREALTIME: Bash Variables. (line 267)
-* EPOCHSECONDS: Bash Variables. (line 275)
-* EUID: Bash Variables. (line 282)
-* EXECIGNORE: Bash Variables. (line 286)
+* ENV: Bash Variables. (line 265)
+* EPOCHREALTIME: Bash Variables. (line 269)
+* EPOCHSECONDS: Bash Variables. (line 277)
+* EUID: Bash Variables. (line 284)
+* EXECIGNORE: Bash Variables. (line 288)
* expand-tilde: Readline Init File Syntax.
(line 161)
-* FCEDIT: Bash Variables. (line 299)
-* FIGNORE: Bash Variables. (line 303)
-* FUNCNAME: Bash Variables. (line 309)
-* FUNCNEST: Bash Variables. (line 326)
-* GLOBIGNORE: Bash Variables. (line 331)
-* GROUPS: Bash Variables. (line 338)
-* histchars: Bash Variables. (line 344)
-* HISTCMD: Bash Variables. (line 359)
-* HISTCONTROL: Bash Variables. (line 364)
-* HISTFILE: Bash Variables. (line 380)
-* HISTFILESIZE: Bash Variables. (line 384)
-* HISTIGNORE: Bash Variables. (line 395)
+* FCEDIT: Bash Variables. (line 301)
+* FIGNORE: Bash Variables. (line 305)
+* FUNCNAME: Bash Variables. (line 311)
+* FUNCNEST: Bash Variables. (line 328)
+* GLOBIGNORE: Bash Variables. (line 333)
+* GROUPS: Bash Variables. (line 340)
+* histchars: Bash Variables. (line 346)
+* HISTCMD: Bash Variables. (line 361)
+* HISTCONTROL: Bash Variables. (line 366)
+* HISTFILE: Bash Variables. (line 382)
+* HISTFILESIZE: Bash Variables. (line 386)
+* HISTIGNORE: Bash Variables. (line 397)
* history-preserve-point: Readline Init File Syntax.
(line 165)
* history-size: Readline Init File Syntax.
(line 171)
-* HISTSIZE: Bash Variables. (line 415)
-* HISTTIMEFORMAT: Bash Variables. (line 422)
+* HISTSIZE: Bash Variables. (line 417)
+* HISTTIMEFORMAT: Bash Variables. (line 424)
* HOME: Bourne Shell Variables.
(line 13)
* horizontal-scroll-mode: Readline Init File Syntax.
(line 180)
-* HOSTFILE: Bash Variables. (line 430)
-* HOSTNAME: Bash Variables. (line 441)
-* HOSTTYPE: Bash Variables. (line 444)
+* HOSTFILE: Bash Variables. (line 432)
+* HOSTNAME: Bash Variables. (line 443)
+* HOSTTYPE: Bash Variables. (line 446)
* IFS: Bourne Shell Variables.
(line 18)
-* IGNOREEOF: Bash Variables. (line 447)
+* IGNOREEOF: Bash Variables. (line 449)
* input-meta: Readline Init File Syntax.
(line 187)
-* INPUTRC: Bash Variables. (line 457)
+* INPUTRC: Bash Variables. (line 459)
+* INSIDE_EMACS: Bash Variables. (line 463)
* isearch-terminators: Readline Init File Syntax.
(line 195)
* keymap: Readline Init File Syntax.
(line 202)
-* LANG: Bash Variables. (line 461)
-* LC_ALL: Bash Variables. (line 465)
-* LC_COLLATE: Bash Variables. (line 469)
-* LC_CTYPE: Bash Variables. (line 476)
+* LANG: Bash Variables. (line 469)
+* LC_ALL: Bash Variables. (line 473)
+* LC_COLLATE: Bash Variables. (line 477)
+* LC_CTYPE: Bash Variables. (line 484)
* LC_MESSAGES: Locale Translation. (line 11)
-* LC_MESSAGES <1>: Bash Variables. (line 481)
-* LC_NUMERIC: Bash Variables. (line 485)
-* LC_TIME: Bash Variables. (line 489)
-* LINENO: Bash Variables. (line 493)
-* LINES: Bash Variables. (line 497)
-* MACHTYPE: Bash Variables. (line 503)
+* LC_MESSAGES <1>: Bash Variables. (line 489)
+* LC_NUMERIC: Bash Variables. (line 493)
+* LC_TIME: Bash Variables. (line 497)
+* LINENO: Bash Variables. (line 501)
+* LINES: Bash Variables. (line 505)
+* MACHTYPE: Bash Variables. (line 511)
* MAIL: Bourne Shell Variables.
(line 22)
-* MAILCHECK: Bash Variables. (line 507)
+* MAILCHECK: Bash Variables. (line 515)
* MAILPATH: Bourne Shell Variables.
(line 27)
-* MAPFILE: Bash Variables. (line 515)
+* MAPFILE: Bash Variables. (line 523)
* mark-modified-lines: Readline Init File Syntax.
(line 232)
* mark-symlinked-directories: Readline Init File Syntax.
@@ -11166,42 +11226,42 @@ D.3 Parameter and Variable Index
(line 249)
* meta-flag: Readline Init File Syntax.
(line 187)
-* OLDPWD: Bash Variables. (line 519)
+* OLDPWD: Bash Variables. (line 527)
* OPTARG: Bourne Shell Variables.
(line 34)
-* OPTERR: Bash Variables. (line 522)
+* OPTERR: Bash Variables. (line 530)
* OPTIND: Bourne Shell Variables.
(line 38)
-* OSTYPE: Bash Variables. (line 526)
+* OSTYPE: Bash Variables. (line 534)
* output-meta: Readline Init File Syntax.
(line 254)
* page-completions: Readline Init File Syntax.
(line 260)
* PATH: Bourne Shell Variables.
(line 42)
-* PIPESTATUS: Bash Variables. (line 529)
-* POSIXLY_CORRECT: Bash Variables. (line 534)
-* PPID: Bash Variables. (line 543)
-* PROMPT_COMMAND: Bash Variables. (line 547)
-* PROMPT_DIRTRIM: Bash Variables. (line 551)
-* PS0: Bash Variables. (line 557)
+* PIPESTATUS: Bash Variables. (line 537)
+* POSIXLY_CORRECT: Bash Variables. (line 542)
+* PPID: Bash Variables. (line 552)
+* PROMPT_COMMAND: Bash Variables. (line 556)
+* PROMPT_DIRTRIM: Bash Variables. (line 560)
+* PS0: Bash Variables. (line 566)
* PS1: Bourne Shell Variables.
(line 48)
* PS2: Bourne Shell Variables.
(line 53)
-* PS3: Bash Variables. (line 562)
-* PS4: Bash Variables. (line 567)
-* PWD: Bash Variables. (line 575)
-* RANDOM: Bash Variables. (line 578)
-* READLINE_LINE: Bash Variables. (line 583)
-* READLINE_POINT: Bash Variables. (line 587)
-* REPLY: Bash Variables. (line 591)
+* PS3: Bash Variables. (line 571)
+* PS4: Bash Variables. (line 576)
+* PWD: Bash Variables. (line 584)
+* RANDOM: Bash Variables. (line 587)
+* READLINE_LINE: Bash Variables. (line 592)
+* READLINE_POINT: Bash Variables. (line 596)
+* REPLY: Bash Variables. (line 600)
* revert-all-at-newline: Readline Init File Syntax.
(line 270)
-* SECONDS: Bash Variables. (line 594)
-* SHELL: Bash Variables. (line 600)
-* SHELLOPTS: Bash Variables. (line 605)
-* SHLVL: Bash Variables. (line 614)
+* SECONDS: Bash Variables. (line 603)
+* SHELL: Bash Variables. (line 609)
+* SHELLOPTS: Bash Variables. (line 614)
+* SHLVL: Bash Variables. (line 623)
* show-all-if-ambiguous: Readline Init File Syntax.
(line 276)
* show-all-if-unmodified: Readline Init File Syntax.
@@ -11212,10 +11272,10 @@ D.3 Parameter and Variable Index
(line 297)
* TEXTDOMAIN: Locale Translation. (line 11)
* TEXTDOMAINDIR: Locale Translation. (line 11)
-* TIMEFORMAT: Bash Variables. (line 619)
-* TMOUT: Bash Variables. (line 657)
-* TMPDIR: Bash Variables. (line 669)
-* UID: Bash Variables. (line 673)
+* TIMEFORMAT: Bash Variables. (line 628)
+* TMOUT: Bash Variables. (line 666)
+* TMPDIR: Bash Variables. (line 678)
+* UID: Bash Variables. (line 682)
* vi-cmd-mode-string: Readline Init File Syntax.
(line 310)
* vi-ins-mode-string: Readline Init File Syntax.
@@ -11512,7 +11572,7 @@ D.5 Concept Index
* installation: Basic Installation. (line 6)
* interaction, readline: Readline Interaction.
(line 6)
-* interactive shell: Invoking Bash. (line 128)
+* interactive shell: Invoking Bash. (line 131)
* interactive shell <1>: Interactive Shells. (line 6)
* internationalization: Locale Translation. (line 6)
* job: Definitions. (line 38)
@@ -11523,7 +11583,7 @@ D.5 Concept Index
* killing text: Readline Killing Commands.
(line 6)
* localization: Locale Translation. (line 6)
-* login shell: Invoking Bash. (line 125)
+* login shell: Invoking Bash. (line 128)
* matching, pattern: Pattern Matching. (line 6)
* metacharacter: Definitions. (line 46)
* name: Definitions. (line 51)
@@ -11606,112 +11666,112 @@ Node: Lists23781
Node: Compound Commands25520
Node: Looping Constructs26532
Node: Conditional Constructs29027
-Node: Command Grouping40082
-Node: Coprocesses41561
-Node: GNU Parallel43464
-Node: Shell Functions47438
-Node: Shell Parameters54521
-Node: Positional Parameters58934
-Node: Special Parameters59834
-Node: Shell Expansions63171
-Node: Brace Expansion65294
-Node: Tilde Expansion68018
-Node: Shell Parameter Expansion70366
-Node: Command Substitution84849
-Node: Arithmetic Expansion86204
-Node: Process Substitution87136
-Node: Word Splitting88256
-Node: Filename Expansion90200
-Node: Pattern Matching92730
-Node: Quote Removal96716
-Node: Redirections97011
-Node: Executing Commands106569
-Node: Simple Command Expansion107239
-Node: Command Search and Execution109169
-Node: Command Execution Environment111545
-Node: Environment114529
-Node: Exit Status116188
-Node: Signals117858
-Node: Shell Scripts119825
-Node: Shell Builtin Commands122340
-Node: Bourne Shell Builtins124378
-Node: Bash Builtins145036
-Node: Modifying Shell Behavior173944
-Node: The Set Builtin174289
-Node: The Shopt Builtin184702
-Node: Special Builtins201572
-Node: Shell Variables202551
-Node: Bourne Shell Variables202988
-Node: Bash Variables205092
-Node: Bash Features235106
-Node: Invoking Bash236005
-Node: Bash Startup Files241991
-Node: Interactive Shells247094
-Node: What is an Interactive Shell?247504
-Node: Is this Shell Interactive?248153
-Node: Interactive Shell Behavior248968
-Node: Bash Conditional Expressions252456
-Node: Shell Arithmetic256822
-Node: Aliases259639
-Node: Arrays262187
-Node: The Directory Stack267553
-Node: Directory Stack Builtins268337
-Node: Controlling the Prompt271305
-Node: The Restricted Shell274067
-Node: Bash POSIX Mode275892
-Node: Job Control286243
-Node: Job Control Basics286703
-Node: Job Control Builtins291671
-Node: Job Control Variables296398
-Node: Command Line Editing297554
-Node: Introduction and Notation299225
-Node: Readline Interaction300848
-Node: Readline Bare Essentials302039
-Node: Readline Movement Commands303822
-Node: Readline Killing Commands304782
-Node: Readline Arguments306700
-Node: Searching307744
-Node: Readline Init File309930
-Node: Readline Init File Syntax311077
-Node: Conditional Init Constructs331448
-Node: Sample Init File335644
-Node: Bindable Readline Commands338761
-Node: Commands For Moving339965
-Node: Commands For History341814
-Node: Commands For Text346109
-Node: Commands For Killing349498
-Node: Numeric Arguments351979
-Node: Commands For Completion353118
-Node: Keyboard Macros357309
-Node: Miscellaneous Commands357996
-Node: Readline vi Mode363949
-Node: Programmable Completion364856
-Node: Programmable Completion Builtins372450
-Node: A Programmable Completion Example382336
-Node: Using History Interactively387587
-Node: Bash History Facilities388271
-Node: Bash History Builtins391276
-Node: History Interaction395807
-Node: Event Designators398874
-Node: Word Designators400093
-Node: Modifiers401730
-Node: Installing Bash403132
-Node: Basic Installation404269
-Node: Compilers and Options407527
-Node: Compiling For Multiple Architectures408268
-Node: Installation Names409961
-Node: Specifying the System Type410779
-Node: Sharing Defaults411495
-Node: Operation Controls412168
-Node: Optional Features413126
-Node: Reporting Bugs423652
-Node: Major Differences From The Bourne Shell424846
-Node: GNU Free Documentation License441698
-Node: Indexes466875
-Node: Builtin Index467329
-Node: Reserved Word Index474156
-Node: Variable Index476604
-Node: Function Index492282
-Node: Concept Index505585
+Node: Command Grouping40110
+Node: Coprocesses41589
+Node: GNU Parallel43492
+Node: Shell Functions47550
+Node: Shell Parameters54633
+Node: Positional Parameters59046
+Node: Special Parameters59946
+Node: Shell Expansions63660
+Node: Brace Expansion65783
+Node: Tilde Expansion68507
+Node: Shell Parameter Expansion71124
+Node: Command Substitution85580
+Node: Arithmetic Expansion86935
+Node: Process Substitution87867
+Node: Word Splitting88987
+Node: Filename Expansion90931
+Node: Pattern Matching93461
+Node: Quote Removal97447
+Node: Redirections97742
+Node: Executing Commands107300
+Node: Simple Command Expansion107970
+Node: Command Search and Execution109900
+Node: Command Execution Environment112276
+Node: Environment115260
+Node: Exit Status116919
+Node: Signals118589
+Node: Shell Scripts120556
+Node: Shell Builtin Commands123071
+Node: Bourne Shell Builtins125109
+Node: Bash Builtins145767
+Node: Modifying Shell Behavior174675
+Node: The Set Builtin175020
+Node: The Shopt Builtin185433
+Node: Special Builtins202303
+Node: Shell Variables203282
+Node: Bourne Shell Variables203719
+Node: Bash Variables205823
+Node: Bash Features236283
+Node: Invoking Bash237182
+Node: Bash Startup Files243195
+Node: Interactive Shells248298
+Node: What is an Interactive Shell?248708
+Node: Is this Shell Interactive?249357
+Node: Interactive Shell Behavior250172
+Node: Bash Conditional Expressions253659
+Node: Shell Arithmetic258025
+Node: Aliases260842
+Node: Arrays263390
+Node: The Directory Stack268756
+Node: Directory Stack Builtins269540
+Node: Controlling the Prompt272508
+Node: The Restricted Shell275274
+Node: Bash POSIX Mode277099
+Node: Job Control287514
+Node: Job Control Basics287974
+Node: Job Control Builtins292942
+Node: Job Control Variables297669
+Node: Command Line Editing298825
+Node: Introduction and Notation300496
+Node: Readline Interaction302119
+Node: Readline Bare Essentials303310
+Node: Readline Movement Commands305093
+Node: Readline Killing Commands306053
+Node: Readline Arguments307971
+Node: Searching309015
+Node: Readline Init File311201
+Node: Readline Init File Syntax312348
+Node: Conditional Init Constructs332748
+Node: Sample Init File336944
+Node: Bindable Readline Commands340061
+Node: Commands For Moving341265
+Node: Commands For History343114
+Node: Commands For Text347409
+Node: Commands For Killing350797
+Node: Numeric Arguments353278
+Node: Commands For Completion354417
+Node: Keyboard Macros358608
+Node: Miscellaneous Commands359295
+Node: Readline vi Mode365248
+Node: Programmable Completion366155
+Node: Programmable Completion Builtins373749
+Node: A Programmable Completion Example384442
+Node: Using History Interactively389682
+Node: Bash History Facilities390366
+Node: Bash History Builtins393371
+Node: History Interaction397902
+Node: Event Designators401522
+Node: Word Designators402741
+Node: Modifiers404378
+Node: Installing Bash405780
+Node: Basic Installation406917
+Node: Compilers and Options410175
+Node: Compiling For Multiple Architectures410916
+Node: Installation Names412609
+Node: Specifying the System Type413427
+Node: Sharing Defaults414143
+Node: Operation Controls414816
+Node: Optional Features415774
+Node: Reporting Bugs426292
+Node: Major Differences From The Bourne Shell427486
+Node: GNU Free Documentation License444338
+Node: Indexes469515
+Node: Builtin Index469969
+Node: Reserved Word Index476796
+Node: Variable Index479244
+Node: Function Index494995
+Node: Concept Index508298

End Tag Table
diff --git a/doc/bashref.pdf b/doc/bashref.pdf
index 9686b72e..6bab6122 100644
--- a/doc/bashref.pdf
+++ b/doc/bashref.pdf
Binary files differ
diff --git a/doc/bashref.ps b/doc/bashref.ps
index 7b2de8ce..108332c5 100644
--- a/doc/bashref.ps
+++ b/doc/bashref.ps
@@ -1,8 +1,8 @@
%!PS-Adobe-2.0
-%%Creator: dvips(k) 5.997 Copyright 2017 Radical Eye Software
+%%Creator: dvips(k) 5.998 Copyright 2018 Radical Eye Software
%%Title: bashref.dvi
-%%CreationDate: Mon Mar 19 13:43:29 2018
-%%Pages: 182
+%%CreationDate: Fri Sep 7 20:15:25 2018
+%%Pages: 183
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
%%DocumentFonts: CMBX12 CMR10 CMTT10 CMSL10 CMSY10 CMMI12 CMMI10 CMCSC10
@@ -12,7 +12,7 @@
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -D 600 -t letter -o bashref.ps bashref.dvi
%DVIPSParameters: dpi=600
-%DVIPSSource: TeX output 2018.03.19:0943
+%DVIPSSource: TeX output 2018.09.07:1615
%%BeginProcSet: tex.pro 0 0
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -3453,6 +3453,11 @@ end readonly def
dup 45 /hyphen put
dup 47 /slash put
dup 50 /two put
+dup 73 /I put
+dup 79 /O put
+dup 80 /P put
+dup 83 /S put
+dup 88 /X put
dup 97 /a put
dup 98 /b put
dup 99 /c put
@@ -3655,125 +3660,157 @@ BBBDDBCC34B65A7D17B8BE932148C39084A9C71516582BCE25EBF7C1E0D84314
095B1E04CC60718A2DC2BCD99B34202878786A58AE7C2F43D985874AB8A3F204
4DBD4B9240EE96F0487CB687830972BF302F262C6381B2C79773EEB152B712E9
34E8229E0B59788EB9B9FC1AC1E123751D1FF032610410F0847E6B9B9A575306
-53FC00ED82D0BDA8EB008F2380FDBA06D2F8C0210A261508BA95DD600436E0BF
-5E8A00CE3C92859961557763D413E79CDD37FDB07131FDC420EF525CC0B5377F
-9772D3876DBFDB57FE6275D187832F2B7A635967B201E70B532E85838ED3874B
-82B36AB9EAB7DD4D2B5C4140419CA04E87316E802CC93DE6336C22FEBE80C3A5
-D43A0F808E5E6A17F7BCF812FF5EE5AC1959E07F36B24C9192E375FCA3C0A84C
-1D1DD2093D4F151B9FEFBA90DB4E94A1D68E49DF5A715A5BE04E7B7D8C384D61
-5DDD71F057FEF51DE7D002AB3BFE0096C47EB3AAC7B89EEEB9E2F9CFC6BCDFD9
-A438C1097D5253E49DC0DE5B6E8F976AE8894914BF8CAB5236C8A3BB2A437CE6
-374D96AFC592F1238357817E1F2836EA763A3C0DEA2DD3F7D758BA61307C21F4
-796A18638504797DD9A5131EC48DB0D23FC9A3E069B2FECA5B36A2260C6FED2E
-6EBDE3AED119EDFA96B837C56202ADF7F7747291A43CDDED6EB7DB5B9373CB78
-F6FA0B92BB2C17AD8DA549E878D8DEA681028539E5E2A223E2F9BA4CA09A6FF4
-EA195F1EAE62CC33F2282888962B9032D1C83EC4EDD832866A472426EBA6080A
-75E02F39CE0421C5C06B9D593022C23D675D7BE879FCE0B20A9CBB394F9D3815
-9C847518BB8DDBF3A89D699C1FA84E704B02BC85D61ADA5E548CD8DBE269A3E7
-03626A0FEE75E116F95B5D31C73BC852C5FDCF524542BFD9D05D8EB4B2A114E0
-C2FFCE282CBD87D82C1D4E64772B0492068B139B1795E287899CED7791EF5C8F
-E77391C51552FF08DAA85BC8B9896CB5C792C3E1C4D44E3CAC1EAEC02E4B986F
-E5059463613DD3643F8DCE2264FA66D712A0DACCF86DDAB315393219F5EBD18E
-E220AD61CE3C67664615A5F9734421152382E8EA9CBED8269ACFFC37873BA329
-20649A6F684D31BF37194952496E8B962B75B83CEDE72F0DAAB761120B710677
-F3AECF2A67F512F7C423B1DA012D0D0D44F009346C4953447950F514731830D1
-59D01BFF4511CD0257D5ECC2CC4A859E0ED92627F659547C8F137DC0F49F06D6
-02F624EEBDBC779FBECB1816A88F02B3565A9C3D42E919F755F3D80F6FAB681B
-585B5A49F62581EDE1D1DF1906007A8926932FE74FA2A94B92026DE9D678EA3B
-ABC3C2EE5A3757317AD5F5CD361A511F4019CAF77C46C8FFE4615CD6CFDF7F8C
-8CD06F1A2DDBD3BBA03FBBF8DCC898EE71E7D19CDE66971150359310D0BB68B8
-65F3E41D34C8D063A71C27B6C0F27753A9E35D291477858E5B734D72C40C4573
-203C5529340CB56BC00EA0E02B3DB54173E6480D29D957E6735146163980F0A8
-CA4086192E6095F411939DD3FF19854F8F58B39A23D3ABA22BEAE05C4B6B6845
-98968C08559A037DE955F77359FC39249C1149BC4634D10DAABB086A23D9A37A
-73A61EAB63BE3B1A8D8E76ED94E731169E892B469056757EC885D8AC4FF50E5C
-1D80EFE20E40E26006953C53D765B3BCB4C5396646DB3AEF01F939BD163ADD87
-FEB1E55A73722A0866DEC922EFF8B06AFDF2FC742EB1CA422822BB378310A994
-794062BE62D5BC4D44C25655C902F4FB4FA63CE21E095E4DF3723CFE7D2D961F
-10A715B194ED855942588BDA460A28F1B5D849A34D85756CC8CE874E2384AD9F
-3A1C348996EA94927BCE9715A8B229C0D7FCC2C07592052796D7BAE23DF895DA
-1CF991E912EAC97601FD79F35616A1F23D82647BCB49C360740CF010CA4E8ADF
-97A9CAC032D12919CC167CA4C2E6C60EBB4AB87C8F2BDF71E28E91A9BC96056F
-5D905902AE964E5336CFDACC8C5CFC5607D75CA5F364AB8E9A65FD372BF15FA9
-0CE1519CD7DBF31F92D2A078754E4BF90F3121F6F698DEC238404EDDD4EEA153
-0335941E4EB8F08DE0104FD8633BE277E9ED26FC65D28FC1D604D8504B2F788A
-11E2206ACE8AB33D14CE9D4CFC917008D44AFA2B1877C3D42455593889867784
-7CE696EABDEF95872F065DAFEFAC253F367D47127CE76FCB85BBF0684DD1663C
-876E68EC35B21593A10EA5553311880B8EF744014CD1ACFC067FDFD46978BA23
-C86FBA05CEB66E67621680BEE0ABF82364D4E3235A20033437C6B84A71FB34E6
-F8A160AC477A1302B4F98D00FDDB2A35ED9B315700669D9D8A3D254F786316AF
-882CAC6555A766281A0836CD45D8CD8245CA69729260D54C11DB43032A0FAC0B
-05869ED0A432CEF854FE665BACB0F780C9123B4DA1E1895F8717DDE4A58BD3FD
-D214195066D4587463E839EDF667E475BC04EEDAEC41422AC9BC27C238E88318
-7DFFED5D04AAFB1F63AC651B1A4113B7CE9838ABAF75632EDA8B5EE0C8474678
-58898AD595ACD99029DC34EB4BADE834C04444941C3D8280B93951A9E8554EF9
-5F0FAA218DD8224B94807CE2D8DF7E4A5E2B28C44A551DB0708B5D6D5F000B96
-0422A8E953233296B6E5EA698921F1EEEBDF0C5CC72263663895940B4C1EA28E
-E0E3AF21698D5430D6495E32E0D5F5E538EF835FBCF4A96DAD8F011B145584EF
-1C33809372DF602D1FB3D80A4EAB65897F672642E4317926DF178BAB6F9851C7
-63613B3DB11FF07F9C7582592B620C7767D005D7B0C28AF2D309E6CAC222055F
-2C20A58AC1B407641B483D571B9E959A3AE0DEF316EFF7A4514D5313C47AAFBE
-82CC583BEB32F20E4C3A5650B58812EF357B68F26882D30A6BBEBDE64E2FD910
-AB8D974CE5C968C7D34390529F4714A9F1D2373DB1D912D418225932541FB250
-9C74346749DE9C5662B1C40437E783A78A283AD6EF43B2C111DEFBEECEB17ED7
-3630AE404B310F1148C82F4969A794D945CA5E1C18F39BB6F9C46EDC8BC3C88B
-FAC2116B2338E1AF9C975ECC8474BCA351E3FDF89ED4352FF6A3D6C7EF7A7BDC
-DD4B2DA9E7C77F8A6623B670963D2B9B9A80F8445E17B85194AD45E02FF10484
-85E0A700BDE9F574487F9494B424646D48999EA67D469A22B9CB72123F31EA5E
-51C07370BFB1C5EDB4ADE75E7111A0116C212920F1362353BF58F33D7E8EE680
-DBF8085B46AFC40ED9FFD7AE756CB267D0F321FDB71F2DD35FBD3003E91E2758
-3DED65748BE5CD0D2D244E8FA187749FED44ED0C71056AD954FCF656DE28E70B
-93A79EB4D7BD59E92911EC64EA794732A79B9908B7C6DD42C99BDF07AAA06E07
-5CD6497C489BC56B09E44D22D0FE69521A9BA20ACBFDAB8EE718625711BF479E
-512FEC4A8F9EC7CF66D4CC44E2D0EA1235BF17C3D0AD6859385CECA3D4A640B0
-762D325D3A449BF7115CE8469A493C494721D6636BCB9C55ACF1D0F3489E5534
-4A76A8F3E3AD6252D8CBD3EDFDAC890A7B497286241AFE35B2261B66018A1523
-4B9FD31AE07A6CCA6B91A176BC38BC03F97D71F80270E14B83B012FA5270B7B4
-73F889DED2D4BFB24536E495F96BDF408E3840AF1567E9960A4F22F0B749749B
-C156336BD7F349F2F82CE54B459462CB7C9846CC090E752DCDC871FF0873076E
-8885B0AEF490DB0C9FA98A8FDF84EDFD52AB0F992EEB236A79FB8FB52718EBA6
-E0D586512F81079D468A75336540163B966670B437304F3272CF6E49252662C6
-419E8B2B14D240A1DB0CF6EF14E024F9D8C6882F865D7E007B46DB65E2E6AB1A
-22C5F096B255E91CABA7C441A3149FFB4E19BA97E5D43779C2A80208E279A91E
-8B8A281C079B819BBB6A5B1A62F34D59B7223D9FBB5F5E96F0D9AFEBD3CE3D57
-A4C4D2345776FCA140EA95242C8AF1EE7B93D2676209B750ABFCFC8CAF50F578
-4C364CF8BC46839A4379624D56B7B917743E9D6A284E7B315D461ED66B262413
-A9AE1741C633A92061DF92AAF78A18586CDCA41248C586F7D272378F9CA76980
-202A391CC9FD46794140F06CC75AF2F4986D690939E083CDF9B96D066B1EC8F3
-DE3B68AC8FAB84970B1A199B3F3AA5BE27ED8119F306CC5F26230C16E9D9FB31
-1EE9D3F5175E4D4D7A8A2945000C37BC73816AEDE6F2AC0F09B788C9988BA69B
-82CF336482F490F05725696EB080E460FC03B3E28C1B3613C8E5FE3DEA048D97
-4AC72C9955FDE282FA8C8385B30E3A7EFE247B48B370DCB439FA721BED19AF4C
-FDC3D3543A25A4E0273419B6CDD7209FB336C1542BA56257E5D31B70529C12D7
-524617868F4F3B49799322EDF504750D1BAAE307ABC4843704B64ED8AD4996B7
-5193CEA660390527734BF1448AC09998E70FF15BD70F8B6388B0A987CBC783FC
-990F7A5EA016EBC024F12BC9812C7C4DD6E991DB89415A49D0B265E453732F4D
-2B6BB50E995E719B00DEBE74E7D1E291A739C4EAB39B5A61763DDB65BDA6E1C9
-17C49BF1A76546BE0EDAAA17310AB2D01BDF059B066263C8FFBDA53281C882DA
-E2DA35ECE5B4454C8031DBECD8675B60E54261A7D1F70560C6D8CBAB436EF058
-5A0189426AF00AD7EB43FBD13976D8D769ED2639ACBF613A308C941CDB5A632F
-F76E14224909A8E7E45B9B5A47BDC9B7B3E3616AEC4DEEAF2899A59B6E144802
-534109EB0E3ECD270E417B2E9CD8D27DE637AC798ED5CCF791061297A0B218A6
-1188C03BAC8DD8DD783BBBF8C4C9AE98E8F1EFC4684CA4BEE6D533458BB229ED
-4E31392DC4591DF2D2D07632EBEC0A5FA2C4508C1FD48D56EE871EAF4A84AC07
-A1E34CA2CD81ED369043998A23DD01301D41C582963F07EC3417F09ABF45844E
-A74F386BA813F0AC462FE268407B9D2A8813FFCA604C342CE82493DAF631B2B3
-B6D3E9F3398761C4B958569F0D833D27973B07F9DA9D84AC512C284844C04866
-74A325E4ED894F640B8F802097B7C6C4F04BBBC8A7BC6EAECC60EBBF4E676A30
-4A5D0DE4AB45D0C913CCEEB8032D1946A35928BFB0FD76AE324E7E3CEB5B99C9
-0A0A6EBAA6F6D8E4292F9C5408D3859CFDEBFC9413032FA1A6E194C5F616A3D6
-FB0FEB8966534CCC9E6D67DFCA105E8994810D8EE414DAFC80B8A95CAFA254CA
-CCAA72B84130B5E485529013A35040074072A8A63B2F4384D976BBFA0A743C5A
-0A079A2CD15E598801AD121303CC37A2FD3942776FD1AA0805BED2B646D4D1CD
-9DE65CB859735EDC177C5A4D1A54C3E8BE7A91BCA91AB93A9DACAC90204CC207
-8432E95B2C47654DA02EC1664566E2137860F16F798E0A1EFFC819F4304B0FE2
-AA54AFE0AF6CC26D417B0CC9E3F5F6B9BD6DDDE6A2D7FC4C840E4AEF73452D16
-241FF01413DF2125BA3563B3A49EECC8EC4D0BF06283B3C8242F362A546E71B6
-21F3C6DA63882992A14E295926387D66EA6D9F296455276D4FEF0CDC706FBC25
-57169AAF546A1BC72114A3A6DC3A1A76CE001962D771C267864A987188BF6087
-183573E3E9DED10D7023965D29F19C8950B6B9B83E680010995360E54911AAAB
-44D07524518EE59F58E49485E885F56FF2CF8D30FC5779770685C305AEC4262C
-B8C0C194C26F5E122DF5E4153316C971460C3B3B336C1B72
+53FC00ED82D0BDA8EB008F2380FDBA06D2F8C0210A261508BBB19DFBEC179B30
+7096FFA89BF7951FBACEF0966A91BD315A7E26E57749072B3F38583C06A5F183
+08BFF3CDCD59AC365E3B4C4F34AC30366CF2BD15F19CBCE5F93259A6C4A8CAD5
+0B9186BF146124C758FAEDA8362FE97F209BA5C9FCC5C2A7FC3981F26D28B3A6
+7F1D6C440909613246CF1D25767D45EDC8FE21582D6C4C2C678BB9E98974E303
+402F0394B17CF3F4CCF6940D3ED7668AB6C9DAD83D75B11DD3BBF2619239BED9
+A82B053CDB66086058524A379BA308D5043498471B6B043923A40F6C1BB0B71B
+20D261D529E3FCCE19871D097C7A434CE18673A6BE20C67AFA21F48213B6342E
+4E069367C51173364B697E890FB9E4FA1E8FE0EE6A8E8176F6ECC5DE736D4272
+3B640EBD341D5DA2B2F64F46339F7612D1CD04D5598F2286A87F83220DB31878
+F7E83F90D003AFE46B3B9103BE3E344FA1025DA3F45D309641C3FDFCB8815C36
+A563F017E5EFE9E9F15262C5F676C8602EF3F7AF6F4EFD60CA78847679729FD1
+C3837760E538338DA5F0EB8B24758E4FCDC922904A2740D145935233DDE03DFD
+17610BEE7050CAEEE6C705A22C3BA7FA1EB44D82ECCE837422363147ACE218F2
+DE186AA197D71524186FEB923E2AD093B00AF017AED4BBF997093F5ED44FF286
+124A6256DAB404B36D596739F883F7465E6C0DDDD8970909777818CD73650C3D
+8CE623AD60CF2CDAEEEF25B6FE0C7ACA99C3AEC768A4544E0FC120821BA349C1
+986ECB6F6D69ED8B6B3F77465665BA74AD091397F6BBF6F48A1E0974377D4586
+5C3DA4BE5F33CB86CDFDBF253C4D08382BD6D9D92945136DD376CF76ECA37560
+67729573F060DE73497A3B48229E45E17852459096FE82AAEBCF5DDBE92A7F9D
+8D1B7F8813106BEB2DEDD4E220717F25FCEA468F8E5B975813C48B30734139D7
+F7D65F4ABF157C7E13C16BF304CECBE2367511BF14030602BFDED6D2D0F40AB9
+5FD1EADCB2FF72F2BA0BA7E726E7C21FB9B4E0B094FDD6FD7912BC389C9C3C62
+57616605E5B8064E1DB19FF9805D872840C9B3F7873FD61951E87BB298B525A7
+30F4E7883EFC51B92A60AA1E5D6565E4F2D349E6083500BB8867977E2BBB0CD5
+7FB86FB5FE38E8A066E102E5326502EF581C9CA461E6A75170AD698EC27839F0
+ECA5AC6ACEB4AA6EF4DD71A0FE4154A1043E38D1923036D998A064082C293B41
+3D2440FB88F1CC166DA6BEE7B0BE62441F3D21BAB31CD80788DD1713D4F7D87F
+F130A1DF211A3795A903FEE48EDD3E34F6AB66413AF77418D222B3DC62EC4E9F
+B53937B944ADC8E5A90176FBC7EA949E02FE996A8B2F6879F0B4193A47B6FA15
+6A23805F40ACB43D778A4ECA2529054A2EE6D95495F280DE27D04505A5F3ED46
+3F9B87B8F8F4EBE0FB5A36F3038E16F5773181E6FFDF3230B26B41279BC3E29E
+02B0A4C6671381E680629DD54FA396BEB597E90CC554F3715D599185F787683A
+0C1C1BC30F40205C90398240DF656D5E8E79A4FB9E53ED69E6CCE72A43D675C5
+86EA8939F02CC6359A78314B3662A30F8F48DF1823CD44CB569D3CB9E8F0924B
+15B682E9787827EB92F340E548961011152520DF15CEE47994555961414D80FD
+6FF51E7F4AD38A7FA670CE31210F1D57FC3B06953D2E098B711B0D354793A804
+61D7ABDD46872F370D14F8EEDE07E9DA2F2F6F5A0B6017FC62D6AE57A5C61D2C
+EE55183B80853D1D4D8C08572E9A15F753DBC75A000CFBA6D7B1C04A2FC07E69
+EBF9833C6C76E8DF9345B1C7FB73DA67CF85757621D36EF0D33F392103DE58F3
+C0D7ED8003E2EFDC8383FA42FD054AF7E3025B6CE9A21D7FF94D9E2653498186
+81621CCCF53F7D922007692CFC3E88AADFF7CDDFD85B3A3DF27721B89D0F26CB
+34F987919D2B3F1FDF2400528A426010FD67481F336BFED8C546104CFE0DA536
+7E2056AB878E59CEB3D7B836AA794E98F7DC6B3F00B8B803F1D62E8837A27A9F
+CDEBB3D8C50E71E146FD39D15071674D0D4A1CC2F7D8E050DDEAA9CDE1A60CC8
+BA54B64C6AB7760439573412C781F04CB5E4C143AD7440819B35AD3872E8A07E
+687F96086AB326022E120AE62242CC62982612AF4C7E99C991AF793A24A36E3A
+21D30A9E9C475E97645A9141417FB632EE51258A3F7C52C12A5656C7B3BF2D64
+E6887418B020A6FCEA184FE311DD77F8CAAC3E1E8BCA9473E52236582A3AD1EB
+6DC2725757EB9E348AF2E31AE4035D0B3A17852673C97EA8E105D2426A28D367
+1BFB95DD775FA2E70E571BDDE80AFC982D9AD1F5E6E2671087262D565C0E3BC0
+EE89D0FF1CBFF7095238CB4A031FCEAE085F0BD31CD2B90DED17D8CBCE81FFF4
+4E77C1848E10BBE71B25B5D323139308D7499C0532F956866B8F056C3BF893E3
+9F029CA58F0B7A029FE944F791C0D644FDA80F1497E9FC7319ABBBDE8B47E9DB
+CF6F71E7AB2C8C0AAB6140A5F165F462DB2CF40060DDFF908A52760C9EE72286
+09161743C5F8C342C97CF14F67ED86F2D723FB605BCFC43760B3ABE9C88A549A
+8BB4B01D73821FA191D028E44FB2938417485BF4037170D45D2ED840A3838D6A
+4C514FD4BFC2818EC64C4725E4F1C7D72CC8D3982BC50C5A4ED5995E17DB6E20
+9350D86CC8FAF93F854ADBCC42E26B85CB15343CEA1AA2DC43E40AA823418D1D
+92DD7EBBF041EC62DA9764840D46A414B7EB95B5505147BDC31D40A157FE2B7B
+4C641B398A6039F9EFE1E929301E38805C26D1FB0E32212505B1B954C9CAF259
+E440C327D8239B1FE0BD976DE222C38AF2F3FDFB5DEA74954199CBEAC621D611
+30C13591B9C183BAF93DE896C497E461F4CA33455D4B41FD4C77BE7E7A8968B9
+7602BD7B2989667EB31D56C3169BAD6D48D1CC5DBA8819E88A7339CC92D3DD26
+EC81ED5155345321B9DD8BBC25B3A53D95531098CCAEA8617EED83815AE6DB19
+A2E97160B2226B11665020D19F419A851AF73C19785433AE958B68D48D3EAFA3
+77DD833E47592E39F6C5C159595C32CD08DF326BDEAA4BEBA3587F017AFEA9A3
+A3473BD086862E87B5AFEBF06A4419878BDEC99686D125EE11E76AD881E10D0A
+F5C18041C26CF62F07B89E7DE6D6691127CCF83F7BC7E7AB501324C2D44C05CB
+D0B2754F2AA37FE707C3D2979648BE7FB3C85813E0389FBAB87810BECB5438E2
+9082705FB9BCCC4CC31DACAA5CC95B4876601D8617BC0B0E8F006638DA8545AF
+DA33E5D59C056AACE716466544DC0CFDAD5E5EE60F2A68723FB9DD7C107E6C2F
+4DD97E89BE2EC827052011B1042C724CEB4968ED5DFA9EAAAF88A4C4160143E9
+0EFADC700B31D030E52609ACCD3F5BF346F642B702C298E11DD837B5FF0615E0
+F5E1239C6A6C8964A575533F9B939C17FC99EB384DC725B2CE842C9331A90D31
+3344936CEEFAD1CF2281FFA21110457F21705DAB57B28C24995C73542396D5C3
+927D082DD0B4C220E0680B547A5E3220A6F506A2A94267B32B26004FEFB5AD1D
+7519969EFFDD0540D5BB3F499CBA8ACF8BA23BF054D51271F958CCB03A3E5B46
+E8CA77CE6835B84071916CA149B8BADD510C8226825F3915BE719F1BF30D7640
+4B86BCA2ED6E43CF3DC32861A475B5C555DA7C34B1ACBB71DA16F1D9AC1AC459
+C0A217197561A827F2E625FDE90BE83B718583CB018BAD5A49DFC6FBC573129D
+28B466BF5A889FDCE2F5DE2B413BED566E49CA2374BF587F9B6C87F79A286B0C
+A13A7770DEF8E0CBDB53F20731E870162E3913581AD2F2893D8D4BD1C3AC473F
+66C20BCF90DE4C711D051B6A2D3A5A57C0DE38BC0ABC739E4ACD1E91E156246E
+6776B3EA66C3418144EA76297793E67D7C4A75605F612F832CBDCCBE60279236
+7E5E8D59A9C390D31764FBD10A8671BE3628DD9FA203C90B000D8867D56C13D0
+5123366778DFD71829A064EA9CC3CBE9C7E0493307129F99702BC522211BE363
+F9A19038EC98672E3B467BFCCEDCFE7C89865C832E4A0939CD1701D6B2E7D88E
+0211CB61AF49A4A7142F3C4142489D11CAC418AEC20A706080B7B81425783794
+A68040FD847CC21F70D67A07867AD6384380DB4021AE764EDD2CB3F963399A4A
+81DCBB3488D16096631DC2CB4F419E9049D9A79B4ABD73A8E774A7255B69885E
+47D0CE20B65E837CF0EEAD9D373058A6B2569C55BB949C4C566D4607F01D8428
+FFE577130A2F9D401898847307E445D60B8BD6AEB7ED7385108036FF1F4EAE5D
+52CDA197065FBD2F70749E38E5A90E313F059B24776F9A749F846788C2AD1439
+CACDC874C20C9BF9A6615C7C897600F2E3BF821E1799E40445E29AA9BD63B91F
+61B9AFF3B82634D1454696315961BC8E2D7AE1BE4E5080E721E8DEA53F44B690
+5704CF886FCFC26E2838BE675D1014723E4D56189B5A7E65A3C20A0AC3A0134A
+A44CE1A7441BE18660C783BE5813723D0AACD76CF8F076B58CA069FFB73AD779
+47ED97053C750072022CCA6655BD40FD8C55299505F4185CFB01C7C31761A75C
+3CDC009FDD666D82C15897007321F13C88D316CC39A262A30DF71F417035A0A6
+691BB4CC99ABA64602D8175999CF835AD999550F90699BC6B8195E5C5DFBF12E
+CA83FB05CACA501A66F49E65F5283883EC4827914CB72B9FEF723B010CD58192
+5528BDAA88B52B362B02FB31F32AECF4CBBBD6719187339F8F5A199663F56A26
+A90574A586FEA95BF0A3ED3B4DAA223F5D5FEC7B4782E6DBE7ED76E2575CEE2A
+49FFD60D976E6069F98F933F6CCB517220D05C9343AD7E6153EBFB31FC84D40D
+582274C484B16742CC4EC64E63A8B8D6E9372FC62976456B78F16184086BD180
+08FBCBCFDF94C777F3905BAE198090AB09C85130C07160FD111DCDA5E095247D
+A647ED88D7B75A2265F819D82FDA474FB08C08DB58B6B6B821382BC9A6D5FDF6
+1EFF0CA350A463EF9B651CBF84EDBFE2AC986AF8636D1D9A9963D401CEEEFEBE
+BFEBAD3B9DFE073BDC21933323E704182AC95D3D5C85E6E47800AF01B244267F
+2B5BC626B5CB796D2EC7A0A9C8878C1FE14ECC924D1E791561073DED0F14F7C3
+B64AC2D28F396A4C9B93DACF026619D3F8BDB54FD04BD9CC183FE4CC7474976A
+60320C568E9F3850C21FD2240914E4262B370E6D47367E2B15EC09F377FF2F4C
+D46518B529835A89A8FE1A70E24DB827D7BBBD756A50603099BE248B318E8D32
+96CFD61B9710B3A2D60B5027020807951138ECC206C626C3691589935F681851
+779ACB632AC58641E5B59ED49B72A5B3B3CDB2E5D88FBB113C6C4807AA344EA5
+F1B3AB548C7DEFC57DA52F4BCD41CCB04ABA2570DF9758CD55A622C533826EB3
+43F42A28A5A348FC056E974D1BBB4D7213FED3D8C2F862130F299481091D46E2
+2DAABFA91A9F8115DE79D2CABBB7686CC7571251CE6876D8EBE71C9EB45BEDA6
+1F845F7AAB768498557F45F5B94DE6E59BFF0B336D901D4503A0064F64169DD3
+6BF1D67C73C1365924B876F94C7484C8909D567300AC73AA4246D043A301E80E
+5E38A79B2090D5548B633FBB39509B346D2E7510FF6F70E54EA642BF2765DBE0
+3495C66A2E9F3DBCBBA5851F0D3764780499D416E002237702C32E492EA02909
+5ADDA6E8FC7314ECE22F586A05FBEA7F35D96CB2D1892AC9A78656C2AAD47182
+9029C3145F208608B4508AFF111EAFBCD37690D07E31ED18AA94C10D62A12844
+C3808AC8DA5CA8F2D99394693E190F6C02AEFC60A637AD8ED2DFEBCEF08EC3D8
+86725D3F852A90FA74F9CAFBC12DD0146EF2A741B9491A43BCA08B9D68765233
+247B74F12712204D2E66AD91F44B392002B57E691D541EC46B0692A963C07496
+1B8BE15305139D77C92580FA06D9C809B263029117B82A0A78ABE9C6DC0F61C3
+A8ECD12138927031B9D1CCF9A7BFCB7F37873249A7CEE6E49998420B4466B06A
+448EDC2F4B00C73FEF997171AA4364DC49DD5E3D59F31C9DC29064CBC0503FA4
+0188BAE53D62C5BFAA13835C14536C07547DECFD8DB00B7B9590B69D29733E4C
+27B3D020EC1843ECBFD4F1C74D210F7E886407874F52893D5E4D960C311056E5
+AAB46CE02CDB2D14F5BA22AA8AAC05CAF62CA950D6CC279AD6FB80BA1194EA2C
+B380CE9D6F03613542860AD8A21D35C300FF5881885B73745A87228642D981B9
+A19DBD36CFDA547468F0259715F564807E1BF59FC29D4ED8F8A394AAC4609C24
+FBE3F169EB8BC230B5788BE64846AA1E4A92EF1DBF768AEEB465025CA94DAB15
+5068385CE16A9995FA5B117AE9B7BC9A21A40EDFECB2CF53E48FDBAAC9B73C73
+D1129088EEB0C16CED9F042A1375A6E28586C7CCF7A7798CC4F14FD6AEBE9341
+DA1222BA55114253A32A7DE2FD81A269D801E61694A7A5549FDF6555F064AE3B
+DE3B689D8A89840976988D9AB4E9FA38F6F1F563AD72E769CE32AD3764F86226
+327CF11586E8711493731FCBD0F88A02BDA98D73EBD6AD50BD2E1416E01ED0E4
+618A830F6CA2DA58CA47680F705E026B53063D0DF143C59C06066F4A4F0B4707
+C28414153F1001B54E7C470938B972C249EB2B65782FCD0FE61ECAE1B7459F23
+FD9637BD0DAFBFEC2F1E0C715A21F13B6EAAD1017938169122C459F1BB9B56A9
+6D93C017E2FFCB4F81DBA0933A2F37C42C0673336124F0A696F24A58021D9D77
+AC5E73816149EDD6EA75AC1E485CE60E08B84059CAD12A6D9D4C969F0C9153F7
+DCDDF6DC1D409A14539FF828799AC16339106C783DD589E71274B5CB35A5EA3B
+ACEE350AFF93B457C0659CE844783EC57C26BFB35CD43EF81190B9773280878F
+6AA50BD9833F4D7DB73A8BE384A08C9A45401E6FC9E1E3ADF70FC5A0BBBA001A
+2A5ED51A820ACEF131B5EF9E21EA84945F9D
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -7549,37 +7586,38 @@ TeXDict begin 40258431 52099146 1000 600 600 (bashref.dvi)
/CMBX12 rf /Fl 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 /Fm 135[56 2[56 1[42 55 1[51 58 56 68 47 2[27
-1[58 49 51 57 54 53 56 46[50 2[50 1[34 45[{}20 90.9091
-/CMCSC10 rf /Fn 197[25 58[{}1 90.9091 /CMMI10 rf /Fo
-197[33 58[{}1 119.552 /CMMI12 rf /Fp 134[85 85 1[85 90
-63 64 66 1[90 81 90 134 45 1[49 45 90 81 49 74 90 72
-90 78 10[122 124 112 90 120 3[126 153 97 1[83 60 126
-127 101 106 124 117 115 122 7[81 81 81 81 81 81 81 81
-81 81 35[90 94 11[{}52 143.462 /CMBX12 rf /Fq 200[0 21[91
-17[45 1[91 12[71{}5 90.9091 /CMSY10 rf /Fr 133[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 7[68 68 93 1[68 66 51 67 1[62 71 68
-83 57 71 1[33 68 71 59 62 69 66 64 68 12[45 45 45 45
-3[30 8[45 21[76 1[51 53 11[{}57 90.9091 /CMSL10 rf /Fs
-132[67 1[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 1[37 1[67 5[67 112 1[41 20[75 78 11[{}73
-119.552 /CMBX12 rf /Ft 129[48 48 48 48 48 48 48 48 48
+1[58 49 51 57 54 53 56 8[74 4[56 2[67 77 5[37 22[50 2[50
+1[34 45[{}25 90.9091 /CMCSC10 rf /Fn 197[25 58[{}1 90.9091
+/CMMI10 rf /Fo 197[33 58[{}1 119.552 /CMMI12 rf /Fp 134[85
+85 1[85 90 63 64 66 1[90 81 90 134 45 1[49 45 90 81 49
+74 90 72 90 78 10[122 124 112 90 120 3[126 153 97 1[83
+60 126 127 101 106 124 117 115 122 7[81 81 81 81 81 81
+81 81 81 81 35[90 94 11[{}52 143.462 /CMBX12 rf /Fq 200[0
+21[91 17[45 1[91 12[71{}5 90.9091 /CMSY10 rf /Fr 133[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 7[68 68 93 1[68 66 51 67 1[62 71
+68 83 57 71 1[33 68 71 59 62 69 66 64 68 12[45 45 45
+45 3[30 8[45 21[76 1[51 53 11[{}57 90.9091 /CMSL10 rf
+/Fs 132[67 1[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 1[37 1[67 5[67 112 1[41 20[75 78
+11[{}73 119.552 /CMBX12 rf /Ft 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 1[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 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 /Fu 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 71 43 1[71 1[25 25 45 45
-45 45 45 45 45 45 45 45 45 25 30 25 1[45 35 35 25 71
-76 45 76 45 25 18[76 51 51 53 11[{}91 90.9091 /CMR10
-rf /Fv 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 48 48 48 48 48 48 48 48 48 33[{}93
+90.9091 /CMTT10 rf /Fu 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 71 43 1[71
+1[25 25 45 45 45 45 45 45 45 45 45 45 45 25 30 25 1[45
+35 35 25 71 76 45 76 45 25 18[76 51 51 53 11[{}91 90.9091
+/CMR10 rf /Fv 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
@@ -7596,7 +7634,7 @@ ifelse
TeXDict begin 1 0 bop 150 1318 a Fv(Bash)64 b(Reference)j(Man)-5
b(ual)p 150 1385 3600 34 v 2361 1481 a Fu(Reference)31
b(Do)s(cumen)m(tation)i(for)d(Bash)2428 1589 y(Edition)h(5.0,)g(for)f
-Ft(Bash)g Fu(V)-8 b(ersion)31 b(5.0.)3285 1697 y(Marc)m(h)g(2018)150
+Ft(Bash)g Fu(V)-8 b(ersion)31 b(5.0.)3252 1697 y(August)f(2018)150
4927 y Fs(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
@@ -7604,10 +7642,10 @@ b(oundation)p 150 5141 3600 17 v eop end
%%Page: 2 2
TeXDict begin 2 1 bop 150 4279 a Fu(This)35 b(text)h(is)g(a)g(brief)f
(description)h(of)f(the)h(features)g(that)g(are)g(presen)m(t)g(in)f
-(the)h(Bash)f(shell)h(\(v)m(ersion)150 4389 y(5.0,)c(15)f(Marc)m(h)g
-(2018\).)150 4523 y(This)f(is)h(Edition)f(5.0,)i(last)g(up)s(dated)d
-(15)j(Marc)m(h)f(2018,)i(of)e Fr(The)f(GNU)h(Bash)g(Reference)g(Man)m
-(ual)p Fu(,)h(for)150 4633 y Ft(Bash)p Fu(,)d(V)-8 b(ersion)31
+(the)h(Bash)f(shell)h(\(v)m(ersion)150 4389 y(5.0,)c(7)e(August)h
+(2018\).)150 4523 y(This)g(is)g(Edition)h(5.0,)h(last)f(up)s(dated)e(7)
+i(August)f(2018,)j(of)e Fr(The)e(GNU)j(Bash)e(Reference)h(Man)m(ual)p
+Fu(,)h(for)150 4633 y Ft(Bash)p Fu(,)c(V)-8 b(ersion)31
b(5.0.)150 4767 y(Cop)m(yrigh)m(t)602 4764 y(c)577 4767
y Fq(\015)f Fu(1988{2018)35 b(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F)-8
b(oundation,)31 b(Inc.)390 4902 y(P)m(ermission)21 b(is)f(gran)m(ted)h
@@ -7717,7 +7755,7 @@ h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)38 b
Fu(19)399 3863 y(3.4.1)93 b(P)m(ositional)32 b(P)m(arameters)8
b Fn(:)17 b(:)f(:)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(:)21 b Fu(20)399 3973 y(3.4.2)93 b(Sp)s(ecial)30
+h(:)f(:)h(:)21 b Fu(21)399 3973 y(3.4.2)93 b(Sp)s(ecial)30
b(P)m(arameters)c Fn(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)37 b Fu(21)275 4082
@@ -7728,7 +7766,7 @@ f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
b(Expansion)9 b Fn(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)22 b
-Fu(22)399 4301 y(3.5.2)93 b(Tilde)30 b(Expansion)18 b
+Fu(23)399 4301 y(3.5.2)93 b(Tilde)30 b(Expansion)18 b
Fn(:)d(:)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(:)31 b Fu(23)399 4411 y(3.5.3)93
@@ -7741,27 +7779,27 @@ g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)33 b Fu(30)399 4630
y(3.5.5)93 b(Arithmetic)31 b(Expansion)c Fn(:)15 b(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)40 b
-Fu(30)399 4740 y(3.5.6)93 b(Pro)s(cess)30 b(Substitution)15
+Fu(31)399 4740 y(3.5.6)93 b(Pro)s(cess)30 b(Substitution)15
b Fn(:)g(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)28 b Fu(30)399 4849 y(3.5.7)93 b(W)-8
+(:)f(:)g(:)h(:)28 b Fu(31)399 4849 y(3.5.7)93 b(W)-8
b(ord)31 b(Splitting)d Fn(:)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(:)41
b Fu(31)399 4959 y(3.5.8)93 b(Filename)32 b(Expansion)22
b Fn(:)14 b(:)h(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)35 b Fu(31)524 5068 y(3.5.8.1)93 b(P)m(attern)31
+f(:)h(:)f(:)g(:)35 b Fu(32)524 5068 y(3.5.8.1)93 b(P)m(attern)31
b(Matc)m(hing)14 b Fn(:)k(:)d(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)27 b Fu(32)399 5178 y(3.5.9)93
+h(:)f(:)g(:)h(:)f(:)h(:)27 b Fu(33)399 5178 y(3.5.9)93
b(Quote)31 b(Remo)m(v)-5 b(al)17 b Fn(:)g(:)e(:)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(:)30
-b Fu(33)275 5288 y(3.6)92 b(Redirections)14 b Fn(:)i(:)f(:)g(:)h(:)f(:)
+b Fu(34)275 5288 y(3.6)92 b(Redirections)14 b Fn(:)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(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)27 b Fu(33)p
+h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)27 b Fu(34)p
eop end
%%Page: -2 4
TeXDict begin -2 3 bop 3699 -116 a Fu(ii)399 83 y(3.6.1)93
@@ -7774,9 +7812,9 @@ h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)28 b Fu(35)399 302 y(3.6.3)93 b(App)s(ending)28
b(Redirected)k(Output)20 b Fn(:)14 b(:)h(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)33 b Fu(35)399 412 y(3.6.4)93 b(Redirecting)31 b(Standard)e(Output)h
+(:)33 b Fu(36)399 412 y(3.6.4)93 b(Redirecting)31 b(Standard)e(Output)h
(and)f(Standard)h(Error)16 b Fn(:)e(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)29
-b Fu(35)399 521 y(3.6.5)93 b(App)s(ending)28 b(Standard)i(Output)f(and)
+b Fu(36)399 521 y(3.6.5)93 b(App)s(ending)28 b(Standard)i(Output)f(and)
h(Standard)f(Error)d Fn(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)40
b Fu(36)399 631 y(3.6.6)93 b(Here)31 b(Do)s(cumen)m(ts)15
b Fn(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
@@ -7785,10 +7823,10 @@ h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
b(Here)31 b(Strings)16 b Fn(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)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(:)29
-b Fu(36)399 850 y(3.6.8)93 b(Duplicating)32 b(File)f(Descriptors)25
+b Fu(37)399 850 y(3.6.8)93 b(Duplicating)32 b(File)f(Descriptors)25
b Fn(:)15 b(:)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(:)37
-b Fu(36)399 960 y(3.6.9)93 b(Mo)m(ving)32 b(File)f(Descriptors)d
+b Fu(37)399 960 y(3.6.9)93 b(Mo)m(ving)32 b(File)f(Descriptors)d
Fn(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
40 b Fu(37)399 1069 y(3.6.10)93 b(Op)s(ening)29 b(File)j(Descriptors)f
@@ -7796,26 +7834,26 @@ Fn(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)41 b Fu(37)275 1179 y(3.7)92 b(Executing)31 b(Commands)24
b Fn(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)38 b Fu(37)399 1289 y(3.7.1)93
+g(:)h(:)f(:)h(:)f(:)g(:)h(:)38 b Fu(38)399 1289 y(3.7.1)93
b(Simple)30 b(Command)f(Expansion)11 b Fn(:)k(:)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(:)24 b Fu(37)399 1398 y(3.7.2)93 b(Command)29
+h(:)f(:)g(:)h(:)f(:)24 b Fu(38)399 1398 y(3.7.2)93 b(Command)29
b(Searc)m(h)i(and)f(Execution)15 b Fn(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
28 b Fu(38)399 1508 y(3.7.3)93 b(Command)29 b(Execution)i(En)m
(vironmen)m(t)17 b Fn(:)e(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)30 b Fu(38)399
+(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)30 b Fu(39)399
1617 y(3.7.4)93 b(En)m(vironmen)m(t)26 b Fn(:)16 b(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)39 b Fu(39)399 1727 y(3.7.5)93 b(Exit)31
+(:)f(:)g(:)h(:)39 b Fu(40)399 1727 y(3.7.5)93 b(Exit)31
b(Status)16 b Fn(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)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(:)29
b Fu(40)399 1836 y(3.7.6)93 b(Signals)23 b Fn(:)15 b(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)36 b Fu(40)275
+h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)36 b Fu(41)275
1946 y(3.8)92 b(Shell)30 b(Scripts)12 b Fn(:)i(:)i(:)f(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
@@ -8033,66 +8071,66 @@ h(:)f(:)h(:)f(:)g(:)29 b Fu(144)p eop end
TeXDict begin -4 5 bop 3677 -116 a Fu(iv)150 83 y Fs(10)135
b(Installing)46 b(Bash)16 b Fo(:)j(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)h(:)f(:)29 b Fs(145)275 220 y Fu(10.1)92 b(Basic)32
+f(:)h(:)f(:)29 b Fs(146)275 220 y Fu(10.1)92 b(Basic)32
b(Installation)8 b Fn(:)17 b(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)22
-b Fu(145)275 330 y(10.2)92 b(Compilers)30 b(and)g(Options)17
+b Fu(146)275 330 y(10.2)92 b(Compilers)30 b(and)g(Options)17
b Fn(:)d(:)i(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)30 b Fu(146)275 439 y(10.3)92 b(Compiling)30
+(:)f(:)h(:)f(:)30 b Fu(147)275 439 y(10.3)92 b(Compiling)30
b(F)-8 b(or)32 b(Multiple)f(Arc)m(hitectures)10 b Fn(:)16
b(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)23 b Fu(146)275 549 y(10.4)92
+(:)g(:)h(:)f(:)h(:)f(:)23 b Fu(147)275 549 y(10.4)92
b(Installation)32 b(Names)22 b Fn(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)35
-b Fu(146)275 658 y(10.5)92 b(Sp)s(ecifying)30 b(the)g(System)h(T)m(yp)s
+b Fu(147)275 658 y(10.5)92 b(Sp)s(ecifying)30 b(the)g(System)h(T)m(yp)s
(e)21 b Fn(:)14 b(:)i(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)34 b Fu(147)275 768 y(10.6)92 b(Sharing)30 b(Defaults)24
+h(:)34 b Fu(148)275 768 y(10.6)92 b(Sharing)30 b(Defaults)24
b Fn(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)37 b Fu(147)275
+f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)37 b Fu(148)275
878 y(10.7)92 b(Op)s(eration)30 b(Con)m(trols)12 b Fn(:)k(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)25 b Fu(147)275 987 y(10.8)92 b(Optional)31
+(:)h(:)f(:)25 b Fu(148)275 987 y(10.8)92 b(Optional)31
b(F)-8 b(eatures)19 b Fn(:)d(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)32
-b Fu(148)150 1238 y Fs(App)t(endix)44 b(A)119 b(Rep)t(orting)46
+b Fu(149)150 1238 y Fs(App)t(endix)44 b(A)119 b(Rep)t(orting)46
b(Bugs)21 b Fo(:)f(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)35 b Fs(153)150 1498 y(App)t(endix)44
+(:)f(:)g(:)h(:)f(:)35 b Fs(154)150 1498 y(App)t(endix)44
b(B)125 b(Ma)7 b(jor)46 b(Di\013erences)g(F)-11 b(rom)284
1639 y(The)45 b(Bourne)f(Shell)35 b Fo(:)19 b(:)h(:)f(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)47 b Fs(154)275 1776 y Fu(B.1)92
+f(:)g(:)h(:)f(:)h(:)47 b Fs(155)275 1776 y Fu(B.1)92
b(Implemen)m(tation)31 b(Di\013erences)h(F)-8 b(rom)31
b(The)e(SVR4.2)j(Shell)22 b Fn(:)15 b(:)g(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)35 b Fu(158)150 2027 y Fs(App)t(endix)44 b(C)124 b(GNU)36
+(:)35 b Fu(159)150 2027 y Fs(App)t(endix)44 b(C)124 b(GNU)36
b(F)-11 b(ree)35 b(Do)t(cumen)l(tation)i(License)25 b
-Fo(:)20 b(:)29 b Fs(160)150 2305 y(App)t(endix)44 b(D)118
+Fo(:)20 b(:)29 b Fs(161)150 2305 y(App)t(endix)44 b(D)118
b(Indexes)27 b Fo(:)20 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)40
-b Fs(168)275 2442 y Fu(D.1)92 b(Index)29 b(of)i(Shell)f(Builtin)h
+b Fs(169)275 2442 y Fu(D.1)92 b(Index)29 b(of)i(Shell)f(Builtin)h
(Commands)23 b Fn(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)38
-b Fu(168)275 2552 y(D.2)92 b(Index)29 b(of)i(Shell)f(Reserv)m(ed)h(W)-8
+b Fu(169)275 2552 y(D.2)92 b(Index)29 b(of)i(Shell)f(Reserv)m(ed)h(W)-8
b(ords)20 b Fn(:)c(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)34
-b Fu(169)275 2661 y(D.3)92 b(P)m(arameter)31 b(and)f(V)-8
+b Fu(170)275 2661 y(D.3)92 b(P)m(arameter)31 b(and)f(V)-8
b(ariable)32 b(Index)27 b Fn(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)42 b Fu(170)275 2771 y(D.4)92 b(F)-8 b(unction)31
+h(:)f(:)g(:)42 b Fu(171)275 2771 y(D.4)92 b(F)-8 b(unction)31
b(Index)24 b Fn(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)38
-b Fu(172)275 2880 y(D.5)92 b(Concept)30 b(Index)15 b
+b Fu(173)275 2880 y(D.5)92 b(Concept)30 b(Index)15 b
Fn(:)g(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)29 b
-Fu(174)p eop end
+Fu(175)p eop end
%%Page: 1 7
TeXDict begin 1 6 bop 3705 -116 a Fu(1)150 299 y Fp(1)80
b(In)l(tro)t(duction)150 604 y Fs(1.1)68 b(What)45 b(is)g(Bash?)150
@@ -8241,7 +8279,7 @@ b(and)e(function)h(names.)630 4020 y(Also)31 b(referred)f(to)h(as)f(an)
h Ft(identifier)p Fu(.)150 4186 y Ft(operator)96 b Fu(A)38
b Ft(control)28 b(operator)36 b Fu(or)h(a)i Ft(redirection)27
b(operator)p Fu(.)61 b(See)38 b(Section)g(3.6)h([Redirec-)630
-4295 y(tions],)f(page)f(33,)i(for)d(a)g(list)h(of)f(redirection)h(op)s
+4295 y(tions],)f(page)f(34,)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 Ft(metacharacter)p Fu(.)150
4570 y Ft(process)f(group)630 4680 y Fu(A)i(collection)k(of)c(related)h
@@ -8331,13 +8369,13 @@ 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(22\),)330 4551 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 4661 y(pansion],)30
-b(page)h(31\))h(and)e(commands)g(and)g(argumen)m(ts.)199
+b(page)h(32\))h(and)e(commands)g(and)g(argumen)m(ts.)199
4807 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(33\))g(and)e(re-)330
+(\(see)h(Section)f(3.6)h([Redirections],)i(page)e(34\))g(and)e(re-)330
4916 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(37\).)199 5208 y(7.)61
+([Executing)f(Commands],)f(page)h(38\).)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(40\).)p
@@ -8581,7 +8619,7 @@ b(Basic)32 b(Shell)e(F)-8 b(eatures)2292 b(9)275 299
y(Eac)m(h)29 b(command)g(in)g(a)g(pip)s(eline)g(is)g(executed)h(in)e
(its)i(o)m(wn)f(subshell,)f(whic)m(h)h(is)g(a)g(separate)h(pro)s(cess)
150 408 y(\(see)g(Section)g(3.7.3)h([Command)e(Execution)h(En)m
-(vironmen)m(t],)g(page)g(38\).)41 b(If)29 b(the)g Ft(lastpipe)e
+(vironmen)m(t],)g(page)g(39\).)41 b(If)29 b(the)g Ft(lastpipe)e
Fu(option)j(is)150 518 y(enabled)35 b(using)g(the)g Ft(shopt)f
Fu(builtin)g(\(see)i(Section)g(4.3.2)h([The)e(Shopt)f(Builtin],)j(page)
f(65\),)i(the)d(last)150 628 y(elemen)m(t)d(of)e(a)h(pip)s(eline)f(ma)m
@@ -8652,7 +8690,7 @@ Fu(Comp)s(ound)29 b(commands)h(are)i(the)f(shell)g(programming)f
(op)s(erator)f(and)g(is)g(terminated)g(b)m(y)g(a)g(corresp)s(onding)f
(reserv)m(ed)150 5121 y(w)m(ord)i(or)g(op)s(erator.)40
b(An)m(y)26 b(redirections)g(\(see)i(Section)f(3.6)g([Redirections],)h
-(page)f(33\))h(asso)s(ciated)f(with)150 5230 y(a)k(comp)s(ound)f
+(page)f(34\))h(asso)s(ciated)f(with)150 5230 y(a)k(comp)s(ound)f
(command)h(apply)f(to)i(all)g(commands)f(within)f(that)i(comp)s(ound)d
(command)i(unless)f(ex-)150 5340 y(plicitly)i(o)m(v)m(erridden.)p
eop end
@@ -8759,2440 +8797,2462 @@ 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 2060 y(or)30 b(zero)i(if)e(no)g
(condition)h(tested)g(true.)150 2222 y Ft(case)288 b
Fu(The)30 b(syn)m(tax)h(of)f(the)h Ft(case)e Fu(command)h(is:)870
-2358 y Ft(case)47 b Fj(word)f Ft(in)h([)h([\(])f Fj(pattern)f
-Ft([|)h Fj(pattern)p Ft(]...)m(\))g Fj(command-list)e
-Ft(;;]...)h(esac)630 2494 y(case)20 b Fu(will)i(selectiv)m(ely)j
-(execute)e(the)e Fr(command-list)k Fu(corresp)s(onding)20
-b(to)i(the)g(\014rst)f Fr(pattern)630 2604 y Fu(that)h(matc)m(hes)h
+2358 y Ft(case)47 b Fj(word)f Ft(in)1061 2468 y([)h([\(])g
+Fj(pattern)f Ft([|)h Fj(pattern)p Ft(]...)m(\))h Fj(command-list)c
+Ft(;;]...)870 2577 y(esac)630 2713 y(case)20 b Fu(will)i(selectiv)m
+(ely)j(execute)e(the)e Fr(command-list)k Fu(corresp)s(onding)20
+b(to)i(the)g(\014rst)f Fr(pattern)630 2823 y Fu(that)h(matc)m(hes)h
Fr(w)m(ord)p Fu(.)38 b(The)21 b(matc)m(h)h(is)g(p)s(erformed)e
(according)j(to)f(the)g(rules)g(describ)s(ed)e(b)s(e-)630
-2713 y(lo)m(w)25 b(in)e(Section)i(3.5.8.1)h([P)m(attern)f(Matc)m
-(hing],)i(page)e(32.)39 b(If)23 b(the)h Ft(nocasematch)d
-Fu(shell)j(op-)630 2823 y(tion)j(\(see)g(the)f(description)g(of)g
+2933 y(lo)m(w)25 b(in)e(Section)i(3.5.8.1)h([P)m(attern)f(Matc)m
+(hing],)i(page)e(33.)39 b(If)23 b(the)h Ft(nocasematch)d
+Fu(shell)j(op-)630 3042 y(tion)j(\(see)g(the)f(description)g(of)g
Ft(shopt)f Fu(in)g(Section)i(4.3.2)h([The)e(Shopt)f(Builtin],)j(page)f
-(65\))630 2933 y(is)40 b(enabled,)i(the)e(matc)m(h)h(is)e(p)s(erformed)
+(65\))630 3152 y(is)40 b(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
-3042 y(c)m(haracters.)48 b(The)32 b(`)p Ft(|)p Fu(')g(is)h(used)e(to)i
+3261 y(c)m(haracters.)48 b(The)32 b(`)p Ft(|)p Fu(')g(is)h(used)e(to)i
(separate)h(m)m(ultiple)f(patterns,)g(and)f(the)g(`)p
-Ft(\))p Fu(')h(op)s(erator)630 3152 y(terminates)f(a)f(pattern)g(list.)
+Ft(\))p Fu(')h(op)s(erator)630 3371 y(terminates)f(a)f(pattern)g(list.)
43 b(A)31 b(list)g(of)g(patterns)g(and)f(an)h(asso)s(ciated)h
-(command-list)g(is)630 3261 y(kno)m(wn)e(as)g(a)h Fr(clause)p
-Fu(.)630 3397 y(Eac)m(h)42 b(clause)g(m)m(ust)f(b)s(e)g(terminated)h
+(command-list)g(is)630 3481 y(kno)m(wn)e(as)g(a)h Fr(clause)p
+Fu(.)630 3617 y(Eac)m(h)42 b(clause)g(m)m(ust)f(b)s(e)g(terminated)h
(with)e(`)p Ft(;;)p Fu(',)45 b(`)p Ft(;&)p Fu(',)f(or)d(`)p
Ft(;;&)p Fu('.)73 b(The)41 b Fr(w)m(ord)j Fu(under-)630
-3507 y(go)s(es)35 b(tilde)f(expansion,)h(parameter)g(expansion,)g
-(command)f(substitution,)h(arithmetic)630 3617 y(expansion,)g(and)f
+3726 y(go)s(es)35 b(tilde)f(expansion,)h(parameter)g(expansion,)g
+(command)f(substitution,)h(arithmetic)630 3836 y(expansion,)g(and)f
(quote)g(remo)m(v)-5 b(al)36 b(\(see)f(Section)g(3.5.3)h([Shell)e(P)m
-(arameter)h(Expansion],)630 3726 y(page)22 b(24\))g(b)s(efore)f(matc)m
+(arameter)h(Expansion],)630 3945 y(page)22 b(24\))g(b)s(efore)f(matc)m
(hing)h(is)g(attempted.)38 b(Eac)m(h)22 b Fr(pattern)g
-Fu(undergo)s(es)e(tilde)i(expansion,)630 3836 y(parameter)31
+Fu(undergo)s(es)e(tilde)i(expansion,)630 4055 y(parameter)31
b(expansion,)f(command)g(substitution,)h(and)f(arithmetic)h(expansion.)
-630 3972 y(There)f(ma)m(y)g(b)s(e)f(an)h(arbitrary)g(n)m(um)m(b)s(er)f
+630 4191 y(There)f(ma)m(y)g(b)s(e)f(an)h(arbitrary)g(n)m(um)m(b)s(er)f
(of)h Ft(case)f Fu(clauses,)i(eac)m(h)g(terminated)g(b)m(y)e(a)i(`)p
-Ft(;;)p Fu(',)630 4082 y(`)p Ft(;&)p Fu(',)c(or)e(`)p
+Ft(;;)p Fu(',)630 4301 y(`)p Ft(;&)p Fu(',)c(or)e(`)p
Ft(;;&)p Fu('.)39 b(The)25 b(\014rst)g(pattern)h(that)g(matc)m(hes)h
-(determines)e(the)h(command-list)g(that)630 4191 y(is)35
+(determines)e(the)h(command-list)g(that)630 4410 y(is)35
b(executed.)55 b(It's)35 b(a)g(common)g(idiom)g(to)g(use)g(`)p
Ft(*)p Fu(')g(as)g(the)g(\014nal)f(pattern)h(to)h(de\014ne)e(the)630
-4301 y(default)d(case,)g(since)g(that)g(pattern)f(will)h(alw)m(a)m(ys)h
-(matc)m(h.)630 4437 y(Here)j(is)g(an)g(example)h(using)e
+4520 y(default)d(case,)g(since)g(that)g(pattern)f(will)h(alw)m(a)m(ys)h
+(matc)m(h.)630 4656 y(Here)j(is)g(an)g(example)h(using)e
Ft(case)g Fu(in)g(a)h(script)g(that)h(could)f(b)s(e)f(used)g(to)h
-(describ)s(e)g(one)630 4546 y(in)m(teresting)d(feature)f(of)f(an)g
-(animal:)870 4682 y Ft(echo)47 b(-n)g("Enter)f(the)h(name)f(of)i(an)f
-(animal:)f(")870 4792 y(read)h(ANIMAL)870 4902 y(echo)g(-n)g("The)f
-($ANIMAL)g(has)h(")870 5011 y(case)g($ANIMAL)e(in)965
-5121 y(horse)i(|)g(dog)g(|)h(cat\))e(echo)h(-n)g("four";;)965
-5230 y(man)g(|)h(kangaroo)d(\))j(echo)e(-n)i("two";;)965
-5340 y(*\))g(echo)e(-n)h("an)g(unknown)f(number)g(of";;)p
+(describ)s(e)g(one)630 4766 y(in)m(teresting)d(feature)f(of)f(an)g
+(animal:)870 4902 y Ft(echo)47 b(-n)g("Enter)f(the)h(name)f(of)i(an)f
+(animal:)f(")870 5011 y(read)h(ANIMAL)870 5121 y(echo)g(-n)g("The)f
+($ANIMAL)g(has)h(")870 5230 y(case)g($ANIMAL)e(in)965
+5340 y(horse)i(|)g(dog)g(|)h(cat\))e(echo)h(-n)g("four";;)p
eop end
%%Page: 12 18
TeXDict begin 12 17 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(12)870 299
-y Ft(esac)870 408 y(echo)47 b(")g(legs.")630 560 y Fu(If)25
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(12)965 299
+y Ft(man)47 b(|)h(kangaroo)d(\))j(echo)e(-n)i("two";;)965
+408 y(*\))g(echo)e(-n)h("an)g(unknown)f(number)g(of";;)870
+518 y(esac)870 628 y(echo)h(")g(legs.")630 781 y Fu(If)25
b(the)h(`)p Ft(;;)p Fu(')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
-669 y(pattern)g(matc)m(h.)40 b(Using)26 b(`)p Ft(;&)p
+891 y(pattern)g(matc)m(h.)40 b(Using)26 b(`)p Ft(;&)p
Fu(')f(in)h(place)g(of)g(`)p Ft(;;)p Fu(')g(causes)g(execution)h(to)f
-(con)m(tin)m(ue)h(with)f(the)630 779 y Fr(command-list)39
+(con)m(tin)m(ue)h(with)f(the)630 1000 y Fr(command-list)39
b Fu(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 Ft(;;&)p Fu(')f(in)g(place)h(of)630
-889 y(`)p Ft(;;)p Fu(')30 b(causes)g(the)g(shell)g(to)g(test)h(the)f
+1110 y(`)p Ft(;;)p Fu(')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 998 y(an)m(y)h(asso)s(ciated)h
+b(,)31 b(and)f(execute)630 1219 y(an)m(y)h(asso)s(ciated)h
Fr(command-list)h Fu(on)d(a)h(successful)f(matc)m(h.)630
-1129 y(The)c(return)f(status)h(is)g(zero)h(if)f(no)g
+1351 y(The)c(return)f(status)h(is)g(zero)h(if)f(no)g
Fr(pattern)g Fu(is)g(matc)m(hed.)40 b(Otherwise,)27 b(the)g(return)e
-(status)630 1238 y(is)30 b(the)h(exit)g(status)g(of)f(the)h
-Fr(command-list)i Fu(executed.)150 1390 y Ft(select)630
-1520 y Fu(The)g Ft(select)f Fu(construct)i(allo)m(ws)h(the)f(easy)g
+(status)630 1461 y(is)30 b(the)h(exit)g(status)g(of)f(the)h
+Fr(command-list)i Fu(executed.)150 1614 y Ft(select)630
+1745 y Fu(The)g Ft(select)f Fu(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
-1630 y(same)c(syn)m(tax)g(as)f(the)h Ft(for)e Fu(command:)870
-1760 y Ft(select)46 b Fj(name)h Ft([in)g Fj(words)f Ft(...)o(];)h(do)h
-Fj(commands)p Ft(;)d(done)630 1891 y Fu(The)25 b(list)h(of)f(w)m(ords)g
+1855 y(same)c(syn)m(tax)g(as)f(the)h Ft(for)e Fu(command:)870
+1987 y Ft(select)46 b Fj(name)h Ft([in)g Fj(words)f Ft(...)o(];)h(do)h
+Fj(commands)p Ft(;)d(done)630 2118 y Fu(The)25 b(list)h(of)f(w)m(ords)g
(follo)m(wing)i Ft(in)d Fu(is)h(expanded,)h(generating)h(a)e(list)h(of)
-g(items.)39 b(The)25 b(set)h(of)630 2000 y(expanded)i(w)m(ords)h(is)g
+g(items.)39 b(The)25 b(set)h(of)630 2228 y(expanded)i(w)m(ords)h(is)g
(prin)m(ted)f(on)h(the)g(standard)f(error)h(output)f(stream,)i(eac)m(h)
-g(preceded)630 2110 y(b)m(y)21 b(a)g(n)m(um)m(b)s(er.)37
+g(preceded)630 2337 y(b)m(y)21 b(a)g(n)m(um)m(b)s(er.)37
b(If)20 b(the)i(`)p Ft(in)30 b Fj(words)p Fu(')20 b(is)h(omitted,)j
(the)d(p)s(ositional)h(parameters)g(are)f(prin)m(ted,)630
-2219 y(as)28 b(if)f(`)p Ft(in)j("$@")p Fu(')d(had)f(b)s(een)h(sp)s
+2447 y(as)28 b(if)f(`)p Ft(in)j("$@")p Fu(')d(had)f(b)s(een)h(sp)s
(eci\014ed.)39 b(The)27 b Ft(PS3)g Fu(prompt)f(is)i(then)f(displa)m(y)m
-(ed)h(and)f(a)h(line)630 2329 y(is)h(read)f(from)h(the)f(standard)g
+(ed)h(and)f(a)h(line)630 2556 y(is)h(read)f(from)h(the)f(standard)g
(input.)39 b(If)29 b(the)g(line)g(consists)g(of)g(a)g(n)m(um)m(b)s(er)e
-(corresp)s(onding)630 2438 y(to)36 b(one)f(of)h(the)f(displa)m(y)m(ed)h
+(corresp)s(onding)630 2666 y(to)36 b(one)f(of)h(the)f(displa)m(y)m(ed)h
(w)m(ords,)g(then)f(the)g(v)-5 b(alue)36 b(of)f Fr(name)40
-b Fu(is)35 b(set)h(to)g(that)g(w)m(ord.)54 b(If)630 2548
+b Fu(is)35 b(set)h(to)g(that)g(w)m(ord.)54 b(If)630 2776
y(the)37 b(line)h(is)f(empt)m(y)-8 b(,)39 b(the)e(w)m(ords)g(and)f
(prompt)g(are)i(displa)m(y)m(ed)f(again.)62 b(If)37 b
-Ft(EOF)f Fu(is)h(read,)630 2658 y(the)c Ft(select)e Fu(command)i
+Ft(EOF)f Fu(is)h(read,)630 2885 y(the)c Ft(select)e Fu(command)i
(completes.)50 b(An)m(y)33 b(other)g(v)-5 b(alue)33 b(read)g(causes)g
-Fr(name)38 b Fu(to)c(b)s(e)e(set)630 2767 y(to)f(n)m(ull.)41
+Fr(name)38 b Fu(to)c(b)s(e)e(set)630 2995 y(to)f(n)m(ull.)41
b(The)30 b(line)g(read)h(is)f(sa)m(v)m(ed)h(in)g(the)f(v)-5
-b(ariable)31 b Ft(REPLY)p Fu(.)630 2898 y(The)42 b Fr(commands)j
+b(ariable)31 b Ft(REPLY)p Fu(.)630 3126 y(The)42 b Fr(commands)j
Fu(are)d(executed)h(after)g(eac)m(h)g(selection)h(un)m(til)e(a)h
-Ft(break)d Fu(command)i(is)630 3007 y(executed,)32 b(at)f(whic)m(h)f(p)
+Ft(break)d Fu(command)i(is)630 3236 y(executed,)32 b(at)f(whic)m(h)f(p)
s(oin)m(t)g(the)h Ft(select)d Fu(command)i(completes.)630
-3138 y(Here)39 b(is)g(an)g(example)h(that)f(allo)m(ws)i(the)e(user)f
+3367 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
-3247 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 3378 y Ft(select)46
-b(fname)g(in)i(*;)870 3487 y(do)870 3597 y(echo)f(you)g(picked)f
-($fname)g(\\\($REPLY\\\))870 3707 y(break;)870 3816 y(done)150
-3968 y(\(\(...)o(\)\))870 4098 y(\(\()h Fj(expression)e
-Ft(\)\))630 4228 y Fu(The)33 b(arithmetic)i Fr(expression)f
+3477 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 3608 y Ft(select)46
+b(fname)g(in)i(*;)870 3718 y(do)870 3828 y(echo)f(you)g(picked)f
+($fname)g(\\\($REPLY\\\))870 3937 y(break;)870 4047 y(done)150
+4200 y(\(\(...)o(\)\))870 4332 y(\(\()h Fj(expression)e
+Ft(\)\))630 4463 y Fu(The)33 b(arithmetic)i Fr(expression)f
Fu(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 4338 y(\(see)j(Section)f(6.5)h([Shell)f
+(ed)g(b)s(elo)m(w)630 4573 y(\(see)j(Section)f(6.5)h([Shell)f
(Arithmetic],)i(page)f(91\).)55 b(If)34 b(the)h(v)-5
-b(alue)35 b(of)g(the)g(expression)g(is)630 4448 y(non-zero,)27
+b(alue)35 b(of)g(the)g(expression)g(is)630 4682 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 4557 y(equiv)-5
-b(alen)m(t)32 b(to)870 4688 y Ft(let)47 b(")p Fj(expression)p
-Ft(")630 4818 y Fu(See)25 b(Section)h(4.2)h([Bash)e(Builtins],)i(page)f
+(is)g(1.)39 b(This)25 b(is)g(exactly)630 4792 y(equiv)-5
+b(alen)m(t)32 b(to)870 4924 y Ft(let)47 b(")p Fj(expression)p
+Ft(")630 5055 y Fu(See)25 b(Section)h(4.2)h([Bash)e(Builtins],)i(page)f
(50,)i(for)c(a)i(full)f(description)g(of)g(the)h Ft(let)e
-Fu(builtin.)150 4969 y Ft([[...)o(]])870 5100 y([[)47
-b Fj(expression)e Ft(]])630 5230 y Fu(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 5340 y(sion)j
-Fr(expression)p Fu(.)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)p
-eop end
+Fu(builtin.)150 5208 y Ft([[...)o(]])870 5340 y([[)47
+b Fj(expression)e Ft(]])p eop end
%%Page: 13 19
TeXDict begin 13 18 bop 150 -116 a Fu(Chapter)30 b(3:)41
b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(13)630 299
-y(Section)36 b(6.4)h([Bash)f(Conditional)g(Expressions],)h(page)f(89.)
-57 b(W)-8 b(ord)36 b(splitting)h(and)e(\014le-)630 408
-y(name)d(expansion)g(are)h(not)g(p)s(erformed)d(on)j(the)f(w)m(ords)g
-(b)s(et)m(w)m(een)h(the)f Ft([[)g Fu(and)f Ft(]])p Fu(;)i(tilde)630
-518 y(expansion,)e(parameter)g(and)f(v)-5 b(ariable)31
-b(expansion,)g(arithmetic)g(expansion,)g(command)630
-628 y(substitution,)40 b(pro)s(cess)f(substitution,)h(and)e(quote)h
+y(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
+408 y(sion)j Fr(expression)p Fu(.)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 518 y(Section)36 b(6.4)h([Bash)f(Conditional)g
+(Expressions],)h(page)f(89.)57 b(W)-8 b(ord)36 b(splitting)h(and)e
+(\014le-)630 628 y(name)d(expansion)g(are)h(not)g(p)s(erformed)d(on)j
+(the)f(w)m(ords)g(b)s(et)m(w)m(een)h(the)f Ft([[)g Fu(and)f
+Ft(]])p Fu(;)i(tilde)630 737 y(expansion,)e(parameter)g(and)f(v)-5
+b(ariable)31 b(expansion,)g(arithmetic)g(expansion,)g(command)630
+847 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
-737 y(tional)32 b(op)s(erators)e(suc)m(h)g(as)h(`)p Ft(-f)p
+956 y(tional)32 b(op)s(erators)e(suc)m(h)g(as)h(`)p Ft(-f)p
Fu(')f(m)m(ust)g(b)s(e)g(unquoted)g(to)h(b)s(e)e(recognized)j(as)f
-(primaries.)630 878 y(When)k(used)f(with)h Ft([[)p Fu(,)h(the)f(`)p
+(primaries.)630 1097 y(When)k(used)f(with)h Ft([[)p Fu(,)h(the)f(`)p
Ft(<)p Fu(')g(and)g(`)p Ft(>)p Fu(')g(op)s(erators)g(sort)g
-(lexicographically)j(using)d(the)630 988 y(curren)m(t)30
-b(lo)s(cale.)630 1129 y(When)22 b(the)h(`)p Ft(==)p Fu(')f(and)g(`)p
+(lexicographically)j(using)d(the)630 1207 y(curren)m(t)30
+b(lo)s(cale.)630 1348 y(When)22 b(the)h(`)p Ft(==)p Fu(')f(and)g(`)p
Ft(!=)p Fu(')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 1238 y(is)31 b(considered)g(a)h
+(righ)m(t)h(of)g(the)g(op)s(erator)630 1457 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 1348 y(Section)d(3.5.8.1)h([P)m(attern)f
-(Matc)m(hing],)h(page)f(32,)g(as)f(if)g(the)g Ft(extglob)d
-Fu(shell)j(option)g(w)m(ere)630 1457 y(enabled.)46 b(The)31
+(ed)f(b)s(elo)m(w)h(in)630 1567 y(Section)d(3.5.8.1)h([P)m(attern)f
+(Matc)m(hing],)h(page)f(33,)g(as)f(if)g(the)g Ft(extglob)d
+Fu(shell)j(option)g(w)m(ere)630 1677 y(enabled.)46 b(The)31
b(`)p Ft(=)p Fu(')h(op)s(erator)h(is)f(iden)m(tical)h(to)g(`)p
Ft(==)p Fu('.)46 b(If)31 b(the)h Ft(nocasematch)d Fu(shell)j(option)630
-1567 y(\(see)42 b(the)f(description)g(of)h Ft(shopt)d
+1786 y(\(see)42 b(the)f(description)g(of)h Ft(shopt)d
Fu(in)i(Section)h(4.3.2)h([The)e(Shopt)f(Builtin],)45
-b(page)d(65\))630 1677 y(is)e(enabled,)i(the)e(matc)m(h)h(is)e(p)s
+b(page)d(65\))630 1896 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
-1786 y(c)m(haracters.)h(The)28 b(return)e(v)-5 b(alue)28
+2005 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 Ft(==)p
-Fu('\))f(or)g(do)s(es)f(not)h(matc)m(h)630 1896 y(\(`)p
-Ft(!=)p Fu('\)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 2005 y(force)f(the)g(quoted)f(p)s(ortion)g(to)h(b)s(e)f(matc)m(hed)
-h(as)g(a)f(string.)630 2146 y(An)j(additional)i(binary)e(op)s(erator,)i
+Fu('\))f(or)g(do)s(es)f(not)h(matc)m(h)630 2115 y(\(`)p
+Ft(!=)p Fu('\))j(the)f(pattern,)h(and)e(1)i(otherwise.)41
+b(An)m(y)30 b(part)g(of)h(the)f(pattern)g(ma)m(y)h(b)s(e)f(quoted)g(to)
+630 2225 y(force)h(the)g(quoted)f(p)s(ortion)g(to)h(b)s(e)f(matc)m(hed)
+h(as)g(a)f(string.)630 2365 y(An)j(additional)i(binary)e(op)s(erator,)i
(`)p Ft(=~)p Fu(',)g(is)f(a)m(v)-5 b(ailable,)37 b(with)c(the)h(same)g
-(precedence)h(as)630 2256 y(`)p Ft(==)p Fu(')29 b(and)f(`)p
-Ft(!=)p Fu('.)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
-2365 y(ered)34 b(an)g(extended)g(regular)g(expression)g(and)f(matc)m
-(hed)i(accordingly)g(\(as)f(in)g Fl(r)-5 b(e)g(gex)11
-b Fu(3\)\).)630 2475 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 2585 y(regular)e(expression)g(is)h
-(syn)m(tactically)i(incorrect,)f(the)e(conditional)i(expression's)e
-(return)630 2694 y(v)-5 b(alue)40 b(is)g(2.)68 b(If)39
-b(the)h Ft(nocasematch)c Fu(shell)k(option)g(\(see)g(the)g(description)
-g(of)f Ft(shopt)f Fu(in)630 2804 y(Section)32 b(4.3.2)g([The)f(Shopt)f
-(Builtin],)i(page)g(65\))g(is)f(enabled,)g(the)g(matc)m(h)h(is)e(p)s
-(erformed)630 2913 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 3023 y(ma)m(y)31 b(b)s(e)f(quoted)h(to)g(force)g(the)g
-(quoted)g(p)s(ortion)f(to)h(b)s(e)f(matc)m(hed)h(as)g(a)g(string.)41
-b(Brac)m(k)m(et)630 3133 y(expressions)27 b(in)f(regular)i(expressions)
-e(m)m(ust)h(b)s(e)g(treated)h(carefully)-8 b(,)29 b(since)e(normal)g
-(quot-)630 3242 y(ing)38 b(c)m(haracters)h(lose)f(their)g(meanings)f(b)
-s(et)m(w)m(een)h(brac)m(k)m(ets.)64 b(If)37 b(the)h(pattern)f(is)h
-(stored)630 3352 y(in)33 b(a)i(shell)f(v)-5 b(ariable,)35
-b(quoting)f(the)g(v)-5 b(ariable)35 b(expansion)e(forces)i(the)f(en)m
-(tire)g(pattern)g(to)630 3461 y(b)s(e)h(matc)m(hed)i(as)f(a)g(string.)
-56 b(Substrings)34 b(matc)m(hed)j(b)m(y)f(paren)m(thesized)g(sub)s
-(expressions)630 3571 y(within)k(the)g(regular)g(expression)g(are)g(sa)
-m(v)m(ed)i(in)d(the)i(arra)m(y)f(v)-5 b(ariable)41 b
-Ft(BASH_REMATCH)p Fu(.)630 3680 y(The)30 b(elemen)m(t)i(of)e
-Ft(BASH_REMATCH)d Fu(with)j(index)g(0)h(is)g(the)f(p)s(ortion)g(of)h
-(the)f(string)h(matc)m(h-)630 3790 y(ing)j(the)g(en)m(tire)g(regular)g
-(expression.)50 b(The)34 b(elemen)m(t)h(of)f Ft(BASH_REMATCH)c
-Fu(with)j(index)g Fr(n)630 3900 y Fu(is)d(the)h(p)s(ortion)f(of)g(the)h
-(string)f(matc)m(hing)i(the)e Fr(n)p Fu(th)g(paren)m(thesized)h(sub)s
-(expression.)630 4041 y(F)-8 b(or)28 b(example,)h(the)e(follo)m(wing)i
+(precedence)h(as)630 2475 y(`)p Ft(==)p Fu(')g(and)g(`)p
+Ft(!=)p Fu('.)55 b(When)35 b(it)g(is)h(used,)f(the)h(string)f(to)h(the)
+f(righ)m(t)h(of)f(the)h(op)s(erator)f(is)g(con-)630 2585
+y(sidered)43 b(a)h Fm(POSIX)f Fu(extended)h(regular)g(expression)f(and)
+g(matc)m(hed)i(accordingly)f(\(as)630 2694 y(in)d Fl(r)-5
+b(e)g(gex)11 b Fu(3\)\).)76 b(The)41 b(return)f(v)-5
+b(alue)42 b(is)g(0)f(if)h(the)f(string)h(matc)m(hes)g(the)g(pattern,)j
+(and)c(1)630 2804 y(otherwise.)59 b(If)35 b(the)i(regular)f(expression)
+g(is)g(syn)m(tactically)j(incorrect,)g(the)e(conditional)630
+2913 y(expression's)27 b(return)f(v)-5 b(alue)28 b(is)f(2.)40
+b(If)27 b(the)g Ft(nocasematch)e Fu(shell)i(option)h(\(see)g(the)f
+(descrip-)630 3023 y(tion)41 b(of)g Ft(shopt)f Fu(in)h(Section)g(4.3.2)
+i([The)e(Shopt)f(Builtin],)k(page)e(65\))g(is)f(enabled,)j(the)630
+3133 y(matc)m(h)36 b(is)f(p)s(erformed)e(without)i(regard)g(to)h(the)f
+(case)h(of)f(alphab)s(etic)g(c)m(haracters.)56 b(An)m(y)630
+3242 y(part)25 b(of)h(the)g(pattern)f(ma)m(y)h(b)s(e)f(quoted)h(to)g
+(force)g(the)g(quoted)f(p)s(ortion)g(to)i(b)s(e)d(matc)m(hed)j(as)630
+3352 y(a)34 b(string.)49 b(Brac)m(k)m(et)36 b(expressions)c(in)h
+(regular)h(expressions)f(m)m(ust)g(b)s(e)f(treated)j(carefully)-8
+b(,)630 3461 y(since)37 b(normal)f(quoting)h(c)m(haracters)g(lose)g
+(their)g(meanings)f(b)s(et)m(w)m(een)h(brac)m(k)m(ets.)60
+b(If)36 b(the)630 3571 y(pattern)e(is)g(stored)g(in)f(a)i(shell)f(v)-5
+b(ariable,)36 b(quoting)e(the)g(v)-5 b(ariable)35 b(expansion)e(forces)
+i(the)630 3680 y(en)m(tire)30 b(pattern)e(to)i(b)s(e)e(matc)m(hed)h(as)
+g(a)g(string.)40 b(Substrings)27 b(matc)m(hed)j(b)m(y)e(paren)m
+(thesized)630 3790 y(sub)s(expressions)40 b(within)h(the)g(regular)h
+(expression)f(are)h(sa)m(v)m(ed)h(in)e(the)h(arra)m(y)g(v)-5
+b(ariable)630 3900 y Ft(BASH_REMATCH)p Fu(.)56 b(The)37
+b(elemen)m(t)h(of)f Ft(BASH_REMATCH)c Fu(with)j(index)h(0)g(is)g(the)f
+(p)s(ortion)h(of)630 4009 y(the)22 b(string)f(matc)m(hing)h(the)g(en)m
+(tire)g(regular)g(expression.)37 b(The)21 b(elemen)m(t)i(of)e
+Ft(BASH_REMATCH)630 4119 y Fu(with)26 b(index)h Fr(n)f
+Fu(is)h(the)g(p)s(ortion)f(of)h(the)g(string)g(matc)m(hing)h(the)f
+Fr(n)p Fu(th)f(paren)m(thesized)h(sub)s(ex-)630 4228
+y(pression.)630 4369 y(F)-8 b(or)28 b(example,)h(the)e(follo)m(wing)i
(will)e(matc)m(h)h(a)g(line)f(\(stored)h(in)e(the)i(shell)f(v)-5
-b(ariable)28 b Fr(line)5 b Fu(\))28 b(if)630 4150 y(there)22
+b(ariable)28 b Fr(line)5 b Fu(\))28 b(if)630 4479 y(there)22
b(is)g(a)h(sequence)f(of)h(c)m(haracters)g(in)f(the)g(v)-5
b(alue)23 b(consisting)g(of)f(an)m(y)h(n)m(um)m(b)s(er,)f(including)630
-4260 y(zero,)31 b(of)g(space)g(c)m(haracters,)h(zero)f(or)g(one)f
+4589 y(zero,)31 b(of)g(space)g(c)m(haracters,)h(zero)f(or)g(one)f
(instances)h(of)g(`)p Ft(a)p Fu(',)f(then)g(a)h(`)p Ft(b)p
-Fu(':)870 4401 y Ft([[)47 b($line)g(=~)g([[:space:]]*?\(a\)b)c(]])630
-4542 y Fu(That)24 b(means)g(v)-5 b(alues)24 b(lik)m(e)h(`)p
+Fu(':)870 4729 y Ft([[)47 b($line)g(=~)g([[:space:]]*?\(a\)b)c(]])630
+4870 y Fu(That)24 b(means)g(v)-5 b(alues)24 b(lik)m(e)h(`)p
Ft(aab)p Fu(')e(and)h(`)30 b Ft(aaaaaab)p Fu(')22 b(will)i(matc)m(h,)j
-(as)d(will)g(a)g(line)g(con)m(taining)630 4651 y(a)31
+(as)d(will)g(a)g(line)g(con)m(taining)630 4980 y(a)31
b(`)p Ft(b)p Fu(')f(an)m(ywhere)h(in)f(its)g(v)-5 b(alue.)630
-4792 y(Storing)31 b(the)g(regular)g(expression)f(in)h(a)g(shell)g(v)-5
+5121 y(Storing)31 b(the)g(regular)g(expression)f(in)h(a)g(shell)g(v)-5
b(ariable)31 b(is)g(often)g(a)g(useful)f(w)m(a)m(y)i(to)f(a)m(v)m(oid)
-630 4902 y(problems)f(with)g(quoting)h(c)m(haracters)i(that)e(are)g(sp)
+630 5230 y(problems)f(with)g(quoting)h(c)m(haracters)i(that)e(are)g(sp)
s(ecial)g(to)h(the)f(shell.)41 b(It)31 b(is)g(sometimes)630
-5011 y(di\016cult)24 b(to)h(sp)s(ecify)f(a)h(regular)g(expression)f
-(literally)i(without)f(using)e(quotes,)k(or)d(to)h(k)m(eep)630
-5121 y(trac)m(k)33 b(of)g(the)f(quoting)g(used)g(b)m(y)g(regular)g
+5340 y(di\016cult)24 b(to)h(sp)s(ecify)f(a)h(regular)g(expression)f
+(literally)i(without)f(using)e(quotes,)k(or)d(to)h(k)m(eep)p
+eop end
+%%Page: 14 20
+TeXDict begin 14 19 bop 150 -116 a Fu(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(14)630 299
+y(trac)m(k)33 b(of)g(the)f(quoting)g(used)g(b)m(y)g(regular)g
(expressions)g(while)g(pa)m(ying)h(atten)m(tion)h(to)f(the)630
-5230 y(shell's)25 b(quote)g(remo)m(v)-5 b(al.)40 b(Using)25
+408 y(shell's)25 b(quote)g(remo)m(v)-5 b(al.)40 b(Using)25
b(a)g(shell)g(v)-5 b(ariable)26 b(to)f(store)g(the)g(pattern)g
-(decreases)g(these)630 5340 y(problems.)40 b(F)-8 b(or)31
+(decreases)g(these)630 518 y(problems.)40 b(F)-8 b(or)31
b(example,)g(the)g(follo)m(wing)h(is)e(equiv)-5 b(alen)m(t)32
-b(to)f(the)g(ab)s(o)m(v)m(e:)p eop end
-%%Page: 14 20
-TeXDict begin 14 19 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(14)870 299
-y Ft(pattern='[[:space:]]*?\(a)o(\)b')870 408 y([[)47
-b($line)g(=~)g($pattern)e(]])630 543 y Fu(If)28 b(y)m(ou)h(w)m(an)m(t)g
-(to)g(matc)m(h)h(a)e(c)m(haracter)j(that's)e(sp)s(ecial)g(to)g(the)g
-(regular)f(expression)g(gram-)630 652 y(mar,)g(it)g(has)g(to)g(b)s(e)f
-(quoted)h(to)g(remo)m(v)m(e)h(its)f(sp)s(ecial)g(meaning.)40
-b(This)27 b(means)g(that)h(in)g(the)630 762 y(pattern)e(`)p
-Ft(xxx.txt)p Fu(',)g(the)h(`)p Ft(.)p Fu(')f(matc)m(hes)i(an)m(y)e(c)m
-(haracter)i(in)e(the)h(string)f(\(its)h(usual)f(regular)630
-872 y(expression)g(meaning\),)i(but)e(in)g(the)h(pattern)f(`)p
-Ft("xxx.txt")p Fu(')f(it)i(can)g(only)f(matc)m(h)i(a)e(literal)630
-981 y(`)p Ft(.)p Fu('.)56 b(Shell)35 b(programmers)f(should)h(tak)m(e)i
-(sp)s(ecial)e(care)i(with)e(bac)m(kslashes,)i(since)f(bac)m(k-)630
-1091 y(slashes)27 b(are)g(used)f(b)s(oth)g(b)m(y)h(the)f(shell)h(and)f
-(regular)h(expressions)g(to)g(remo)m(v)m(e)h(the)f(sp)s(ecial)630
-1200 y(meaning)h(from)f(the)h(follo)m(wing)i(c)m(haracter.)41
-b(The)27 b(follo)m(wing)j(t)m(w)m(o)f(sets)f(of)g(commands)g(are)630
-1310 y Fl(not)40 b Fu(equiv)-5 b(alen)m(t:)870 1444 y
-Ft(pattern='\\.')870 1663 y([[)47 b(.)h(=~)f($pattern)e(]])870
-1773 y([[)i(.)h(=~)f(\\.)g(]])870 1992 y([[)g(.)h(=~)f("$pattern")e(]])
-870 2102 y([[)i(.)h(=~)f('\\.')f(]])630 2236 y Fu(The)28
-b(\014rst)h(t)m(w)m(o)h(matc)m(hes)g(will)f(succeed,)h(but)f(the)g
-(second)g(t)m(w)m(o)h(will)f(not,)h(b)s(ecause)f(in)g(the)630
-2346 y(second)39 b(t)m(w)m(o)i(the)e(bac)m(kslash)h(will)f(b)s(e)g
-(part)g(of)g(the)h(pattern)f(to)h(b)s(e)e(matc)m(hed.)68
-b(In)39 b(the)630 2455 y(\014rst)31 b(t)m(w)m(o)h(examples,)h(the)e
+b(to)f(the)g(ab)s(o)m(v)m(e:)870 649 y Ft(pattern='[[:space:]]*?\(a)o
+(\)b')870 758 y([[)47 b($line)g(=~)g($pattern)e(]])630
+889 y Fu(If)28 b(y)m(ou)h(w)m(an)m(t)g(to)g(matc)m(h)h(a)e(c)m
+(haracter)j(that's)e(sp)s(ecial)g(to)g(the)g(regular)f(expression)g
+(gram-)630 999 y(mar,)g(it)g(has)g(to)g(b)s(e)f(quoted)h(to)g(remo)m(v)
+m(e)h(its)f(sp)s(ecial)g(meaning.)40 b(This)27 b(means)g(that)h(in)g
+(the)630 1108 y(pattern)e(`)p Ft(xxx.txt)p Fu(',)g(the)h(`)p
+Ft(.)p Fu(')f(matc)m(hes)i(an)m(y)e(c)m(haracter)i(in)e(the)h(string)f
+(\(its)h(usual)f(regular)630 1218 y(expression)g(meaning\),)i(but)e(in)
+g(the)h(pattern)f(`)p Ft("xxx.txt")p Fu(')f(it)i(can)g(only)f(matc)m(h)
+i(a)e(literal)630 1328 y(`)p Ft(.)p Fu('.)56 b(Shell)35
+b(programmers)f(should)h(tak)m(e)i(sp)s(ecial)e(care)i(with)e(bac)m
+(kslashes,)i(since)f(bac)m(k-)630 1437 y(slashes)27 b(are)g(used)f(b)s
+(oth)g(b)m(y)h(the)f(shell)h(and)f(regular)h(expressions)g(to)g(remo)m
+(v)m(e)h(the)f(sp)s(ecial)630 1547 y(meaning)h(from)f(the)h(follo)m
+(wing)i(c)m(haracter.)41 b(The)27 b(follo)m(wing)j(t)m(w)m(o)f(sets)f
+(of)g(commands)g(are)630 1656 y Fl(not)40 b Fu(equiv)-5
+b(alen)m(t:)870 1787 y Ft(pattern='\\.')870 2006 y([[)47
+b(.)h(=~)f($pattern)e(]])870 2116 y([[)i(.)h(=~)f(\\.)g(]])870
+2335 y([[)g(.)h(=~)f("$pattern")e(]])870 2445 y([[)i(.)h(=~)f('\\.')f
+(]])630 2576 y Fu(The)28 b(\014rst)h(t)m(w)m(o)h(matc)m(hes)g(will)f
+(succeed,)h(but)f(the)g(second)g(t)m(w)m(o)h(will)f(not,)h(b)s(ecause)f
+(in)g(the)630 2685 y(second)39 b(t)m(w)m(o)i(the)e(bac)m(kslash)h(will)
+f(b)s(e)g(part)g(of)g(the)h(pattern)f(to)h(b)s(e)e(matc)m(hed.)68
+b(In)39 b(the)630 2795 y(\014rst)31 b(t)m(w)m(o)h(examples,)h(the)e
(bac)m(kslash)h(remo)m(v)m(es)h(the)f(sp)s(ecial)g(meaning)f(from)g(`)p
-Ft(.)p Fu(',)h(so)g(the)630 2565 y(literal)f(`)p Ft(.)p
+Ft(.)p Fu(',)h(so)g(the)630 2904 y(literal)f(`)p Ft(.)p
Fu(')e(matc)m(hes.)42 b(If)28 b(the)i(string)f(in)g(the)g(\014rst)g
(examples)g(w)m(ere)h(an)m(ything)g(other)f(than)630
-2675 y(`)p Ft(.)p Fu(',)g(sa)m(y)g(`)p Ft(a)p Fu(',)g(the)f(pattern)g
+3014 y(`)p Ft(.)p Fu(',)g(sa)m(y)g(`)p Ft(a)p Fu(',)g(the)f(pattern)g
(w)m(ould)g(not)h(matc)m(h,)h(b)s(ecause)e(the)g(quoted)g(`)p
-Ft(.)p Fu(')h(in)e(the)i(pattern)630 2784 y(loses)i(its)g(sp)s(ecial)g
+Ft(.)p Fu(')h(in)e(the)i(pattern)630 3124 y(loses)i(its)g(sp)s(ecial)g
(meaning)f(of)h(matc)m(hing)g(an)m(y)g(single)g(c)m(haracter.)630
-2919 y(Expressions)23 b(ma)m(y)h(b)s(e)e(com)m(bined)i(using)f(the)h
+3254 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
-3028 y(order)30 b(of)g(precedence:)630 3187 y Ft(\()g
-Fj(expression)e Ft(\))1110 3297 y Fu(Returns)i(the)h(v)-5
+3364 y(order)30 b(of)g(precedence:)630 3516 y Ft(\()g
+Fj(expression)e Ft(\))1110 3626 y Fu(Returns)i(the)h(v)-5
b(alue)31 b(of)g Fr(expression)p Fu(.)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 3406 y(normal)e(precedence)h(of)
-g(op)s(erators.)630 3566 y Ft(!)f Fj(expression)1110
-3675 y Fu(T)-8 b(rue)30 b(if)g Fr(expression)g Fu(is)h(false.)630
-3834 y Fj(expression1)c Ft(&&)j Fj(expression2)1110 3944
+(used)g(to)i(o)m(v)m(erride)g(the)1110 3735 y(normal)e(precedence)h(of)
+g(op)s(erators.)630 3887 y Ft(!)f Fj(expression)1110
+3997 y Fu(T)-8 b(rue)30 b(if)g Fr(expression)g Fu(is)h(false.)630
+4149 y Fj(expression1)c Ft(&&)j Fj(expression2)1110 4259
y Fu(T)-8 b(rue)30 b(if)g(b)s(oth)g Fr(expression1)38
b Fu(and)29 b Fr(expression2)38 b Fu(are)31 b(true.)630
-4103 y Fj(expression1)c Ft(||)j Fj(expression2)1110 4213
+4411 y Fj(expression1)c Ft(||)j Fj(expression2)1110 4520
y Fu(T)-8 b(rue)30 b(if)g(either)h Fr(expression1)38
b Fu(or)30 b Fr(expression2)38 b Fu(is)30 b(true.)630
-4372 y(The)24 b Ft(&&)h Fu(and)f Ft(||)g Fu(op)s(erators)h(do)g(not)g
+4672 y(The)24 b Ft(&&)h Fu(and)f Ft(||)g Fu(op)s(erators)h(do)g(not)g
(ev)-5 b(aluate)27 b Fr(expression2)32 b Fu(if)25 b(the)g(v)-5
-b(alue)25 b(of)g Fr(expression1)630 4481 y Fu(is)30 b(su\016cien)m(t)h
+b(alue)25 b(of)g Fr(expression1)630 4782 y Fu(is)30 b(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 4680 y Fk(3.2.4.3)63
-b(Grouping)43 b(Commands)150 4827 y Fu(Bash)30 b(pro)m(vides)g(t)m(w)m
+g(conditional)h(expression.)150 4974 y Fk(3.2.4.3)63
+b(Grouping)43 b(Commands)150 5121 y Fu(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 4937
+(executed)h(as)g(a)h(unit.)40 b(When)29 b(com-)150 5230
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 5046 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 5206 y Ft(\(\))870 5340 y(\()47 b Fj(list)g Ft(\))p
+b(example,)150 5340 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.)p
eop end
%%Page: 15 21
TeXDict begin 15 20 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(15)630 299
-y(Placing)30 b(a)f(list)g(of)g(commands)f(b)s(et)m(w)m(een)i(paren)m
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(15)150 299
+y Ft(\(\))870 437 y(\()47 b Fj(list)g Ft(\))630 574 y
+Fu(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
-408 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(38\),)630 518
+684 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(39\),)630 793
y(and)d(eac)m(h)h(of)g(the)f(commands)g(in)g Fr(list)j
Fu(to)f(b)s(e)d(executed)j(in)e(that)h(subshell.)38 b(Since)28
-b(the)f Fr(list)630 628 y Fu(is)i(executed)g(in)f(a)h(subshell,)g(v)-5
+b(the)f Fr(list)630 903 y Fu(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 737 y(subshell)g(completes.)150 905
-y Ft({})870 1044 y({)47 b Fj(list)p Ft(;)g(})630 1183
+(after)e(the)630 1013 y(subshell)g(completes.)150 1178
+y Ft({})870 1316 y({)47 b Fj(list)p Ft(;)g(})630 1453
y Fu(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
-1292 y(in)d(the)h(curren)m(t)g(shell)f(con)m(text.)42
+1563 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 1402 y(follo)m(wing)32 b Fr(list)h Fu(is)d(required.)275
-1574 y(In)44 b(addition)h(to)h(the)f(creation)i(of)e(a)g(subshell,)j
+(newline\))630 1673 y(follo)m(wing)32 b Fr(list)h Fu(is)d(required.)275
+1841 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
-1683 y(t)m(w)m(o)c(constructs)e(due)g(to)g(historical)i(reasons.)67
+1951 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 Ft(reserved)28 b(words)p Fu(,)40
-b(so)g(they)f(m)m(ust)150 1793 y(b)s(e)d(separated)h(from)f(the)g
+b(so)g(they)f(m)m(ust)150 2061 y(b)s(e)d(separated)h(from)f(the)g
Fr(list)j Fu(b)m(y)e Ft(blank)p Fu(s)e(or)h(other)h(shell)f(metac)m
-(haracters.)62 b(The)36 b(paren)m(theses)h(are)150 1903
+(haracters.)62 b(The)36 b(paren)m(theses)h(are)150 2170
y Ft(operators)p Fu(,)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 2012 y(from)30 b(the)g Fr(list)j Fu(b)m(y)e(whitespace.)
-275 2155 y(The)e(exit)j(status)e(of)h(b)s(oth)f(of)g(these)h
+(separated)150 2280 y(from)30 b(the)g Fr(list)j Fu(b)m(y)e(whitespace.)
+275 2421 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 Fr(list)p
-Fu(.)150 2363 y Fk(3.2.5)63 b(Copro)s(cesses)150 2510
+Fu(.)150 2626 y Fk(3.2.5)63 b(Copro)s(cesses)150 2773
y Fu(A)37 b Ft(coprocess)c Fu(is)k(a)g(shell)f(command)h(preceded)f(b)m
(y)g(the)h Ft(coproc)d Fu(reserv)m(ed)j(w)m(ord.)59 b(A)36
-b(copro)s(cess)h(is)150 2619 y(executed)g(async)m(hronously)g(in)f(a)h
+b(copro)s(cess)h(is)150 2883 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 2729 y(`)p Ft(&)p Fu(')d(con)m(trol)h(op)s(erator,)g
+(with)g(the)150 2992 y(`)p Ft(&)p Fu(')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 2838 y(copro)s(cess.)275
-2981 y(The)c(format)i(for)f(a)h(copro)s(cess)g(is:)390
-3124 y Ft(coproc)46 b([)p Fj(NAME)p Ft(])g Fj(command)g
-Ft([)p Fj(redirections)p Ft(])150 3267 y Fu(This)39 b(creates)j(a)e
+(een)h(the)f(executing)h(shell)f(and)f(the)150 3102 y(copro)s(cess.)275
+3243 y(The)c(format)i(for)f(a)h(copro)s(cess)g(is:)390
+3383 y Ft(coproc)46 b([)p Fj(NAME)p Ft(])g Fj(command)g
+Ft([)p Fj(redirections)p Ft(])150 3524 y Fu(This)39 b(creates)j(a)e
(copro)s(cess)h(named)f Fr(NAME)p Fu(.)70 b(If)40 b Fr(NAME)46
b Fu(is)40 b(not)g(supplied,)i(the)e(default)h(name)f(is)150
-3377 y Fr(COPR)m(OC)p Fu(.)d Fr(NAME)28 b Fu(m)m(ust)23
+3634 y Fr(COPR)m(OC)p Fu(.)d Fr(NAME)28 b Fu(m)m(ust)23
b(not)g(b)s(e)e(supplied)h(if)g Fr(command)k Fu(is)d(a)g(simple)f
-(command)g(\(see)i(Section)f(3.2.1)150 3486 y([Simple)39
+(command)g(\(see)i(Section)f(3.2.1)150 3743 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
-3596 y(command.)275 3739 y(When)j(the)i(copro)s(cess)f(is)g(executed,)
+3853 y(command.)275 3994 y(When)j(the)i(copro)s(cess)f(is)g(executed,)
48 b(the)43 b(shell)g(creates)i(an)e(arra)m(y)g(v)-5
-b(ariable)44 b(\(see)g(Section)g(6.7)150 3849 y([Arra)m(ys],)32
+b(ariable)44 b(\(see)g(Section)g(6.7)150 4103 y([Arra)m(ys],)32
b(page)g(93\))h(named)e Ft(NAME)f Fu(in)h(the)h(con)m(text)h(of)e(the)h
(executing)g(shell.)44 b(The)31 b(standard)f(output)150
-3958 y(of)39 b Fr(command)j Fu(is)d(connected)g(via)g(a)g(pip)s(e)f(to)
+4213 y(of)39 b Fr(command)j Fu(is)d(connected)g(via)g(a)g(pip)s(e)f(to)
i(a)f(\014le)f(descriptor)h(in)f(the)h(executing)h(shell,)h(and)d(that)
-150 4068 y(\014le)i(descriptor)h(is)f(assigned)h(to)g
+150 4322 y(\014le)i(descriptor)h(is)f(assigned)h(to)g
Ft(NAME)p Fu([0].)70 b(The)40 b(standard)f(input)h(of)g
-Fr(command)k Fu(is)c(connected)h(via)150 4177 y(a)h(pip)s(e)f(to)i(a)f
+Fr(command)k Fu(is)c(connected)h(via)150 4432 y(a)h(pip)s(e)f(to)i(a)f
(\014le)g(descriptor)g(in)f(the)h(executing)i(shell,)h(and)c(that)h
-(\014le)g(descriptor)g(is)g(assigned)g(to)150 4287 y
+(\014le)g(descriptor)g(is)g(assigned)g(to)150 4542 y
Ft(NAME)p Fu([1].)69 b(This)39 b(pip)s(e)g(is)h(established)g(b)s
(efore)f(an)m(y)h(redirections)h(sp)s(eci\014ed)e(b)m(y)g(the)h
-(command)g(\(see)150 4397 y(Section)45 b(3.6)h([Redirections],)k(page)
-45 b(33\).)84 b(The)44 b(\014le)h(descriptors)f(can)h(b)s(e)f(utilized)
-h(as)g(argumen)m(ts)150 4506 y(to)d(shell)g(commands)f(and)g
+(command)g(\(see)150 4651 y(Section)45 b(3.6)h([Redirections],)k(page)
+45 b(34\).)84 b(The)44 b(\014le)h(descriptors)f(can)h(b)s(e)f(utilized)
+h(as)g(argumen)m(ts)150 4761 y(to)d(shell)g(commands)f(and)g
(redirections)h(using)f(standard)g(w)m(ord)g(expansions.)74
-b(Other)41 b(than)g(those)150 4616 y(created)27 b(to)g(execute)g
+b(Other)41 b(than)g(those)150 4870 y(created)27 b(to)g(execute)g
(command)f(and)f(pro)s(cess)h(substitutions,)h(the)f(\014le)g
-(descriptors)g(are)g(not)h(a)m(v)-5 b(ailable)150 4725
-y(in)30 b(subshells.)275 4868 y(The)d(pro)s(cess)h(ID)h(of)f(the)h
+(descriptors)g(are)g(not)h(a)m(v)-5 b(ailable)150 4980
+y(in)30 b(subshells.)275 5121 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 4978
-y(the)k(v)-5 b(ariable)33 b Ft(NAME)p 850 4978 28 4 v
+b(ailable)31 b(as)d(the)h(v)-5 b(alue)29 b(of)150 5230
+y(the)k(v)-5 b(ariable)33 b Ft(NAME)p 850 5230 28 4 v
39 w Fu(PID.)g(The)f Ft(wait)f Fu(builtin)h(command)g(ma)m(y)h(b)s(e)f
-(used)g(to)h(w)m(ait)h(for)e(the)h(copro)s(cess)150 5087
-y(to)e(terminate.)275 5230 y(Since)20 b(the)g(copro)s(cess)h(is)g
-(created)g(as)g(an)f(async)m(hronous)g(command,)i(the)f
-Ft(coproc)d Fu(command)i(alw)m(a)m(ys)150 5340 y(returns)29
-b(success.)41 b(The)30 b(return)f(status)i(of)f(a)h(copro)s(cess)g(is)f
-(the)h(exit)g(status)g(of)f Fr(command)p Fu(.)p eop end
+(used)g(to)h(w)m(ait)h(for)e(the)h(copro)s(cess)150 5340
+y(to)e(terminate.)p eop end
%%Page: 16 22
TeXDict begin 16 21 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(16)150 299
-y Fk(3.2.6)63 b(GNU)41 b(P)m(arallel)150 446 y Fu(There)30
-b(are)h(w)m(a)m(ys)g(to)g(run)f(commands)g(in)g(parallel)h(that)h(are)e
-(not)h(built)g(in)m(to)g(Bash.)41 b(GNU)31 b(P)m(arallel)i(is)150
-555 y(a)e(to)s(ol)g(to)g(do)f(just)g(that.)275 685 y(GNU)e(P)m
-(arallel,)i(as)e(its)g(name)f(suggests,)j(can)d(b)s(e)g(used)g(to)h
-(build)f(and)g(run)f(commands)h(in)h(parallel.)150 795
-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 904 y(usernames,)27 b(hostnames,)h(or)e(lines)h(read)
-f(from)h(\014les.)39 b(GNU)27 b(P)m(arallel)i(pro)m(vides)d(shorthand)g
-(references)150 1014 y(to)38 b(man)m(y)g(of)g(the)g(most)g(common)g(op)
-s(erations)g(\(input)f(lines,)j(v)-5 b(arious)38 b(p)s(ortions)f(of)h
-(the)g(input)e(line,)150 1123 y(di\013eren)m(t)f(w)m(a)m(ys)h(to)f(sp)s
-(ecify)f(the)h(input)f(source,)i(and)e(so)h(on\).)54
-b(P)m(arallel)36 b(can)f(replace)h Ft(xargs)d Fu(or)i(feed)150
-1233 y(commands)30 b(from)g(its)h(input)e(sources)h(to)i(sev)m(eral)f
-(di\013eren)m(t)g(instances)g(of)g(Bash.)275 1363 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
-1472 y(should)d(pro)m(vide)i(a)g(brief)e(in)m(tro)s(duction)i(to)g(its)
-g(use.)275 1602 y(F)-8 b(or)37 b(example,)i(it)e(is)f(easy)h(to)g
-(replace)h Ft(xargs)d Fu(to)i(gzip)g(all)g(h)m(tml)g(\014les)f(in)h
-(the)f(curren)m(t)g(directory)150 1711 y(and)30 b(its)h(sub)s
-(directories:)390 1841 y Ft(find)47 b(.)g(-type)f(f)i(-name)e('*.html')
-g(-print)g(|)h(parallel)f(gzip)150 1971 y Fu(If)30 b(y)m(ou)h(need)f
-(to)h(protect)h(sp)s(ecial)f(c)m(haracters)g(suc)m(h)g(as)f(newlines)h
-(in)f(\014le)g(names,)h(use)f(\014nd's)f Ft(-print0)150
-2080 y Fu(option)i(and)f(parallel's)h Ft(-0)f Fu(option.)275
-2210 y(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 2320 y(is)c(to)s(o)i(large)f(to)g(pro)s
-(cess)f(with)g(one)h Ft(mv)f Fu(in)m(v)m(o)s(cation:)390
-2449 y Ft(ls)47 b(|)h(parallel)d(mv)i({})h(destdir)275
-2579 y Fu(As)28 b(y)m(ou)h(can)g(see,)g(the)g Fi({})g
-Fu(is)g(replaced)g(with)f(eac)m(h)i(line)f(read)f(from)g(standard)g
-(input.)39 b(While)29 b(using)150 2688 y Ft(ls)g Fu(will)h(w)m(ork)g
-(in)f(most)h(instances,)h(it)f(is)g(not)g(su\016cien)m(t)g(to)h(deal)f
-(with)f(all)i(\014lenames.)40 b(If)30 b(y)m(ou)g(need)f(to)150
-2798 y(accommo)s(date)j(sp)s(ecial)f(c)m(haracters)h(in)e(\014lenames,)
-h(y)m(ou)f(can)h(use)390 2928 y Ft(find)47 b(.)g(-depth)f(1)i(\\!)f
-(-name)f('.*')h(-print0)f(|)h(parallel)f(-0)h(mv)g({})g(destdir)150
-3057 y Fu(as)31 b(alluded)f(to)h(ab)s(o)m(v)m(e.)275
-3187 y(This)e(will)i(run)e(as)h(man)m(y)h Ft(mv)e Fu(commands)h(as)h
-(there)f(are)h(\014les)f(in)h(the)f(curren)m(t)g(directory)-8
-b(.)42 b(Y)-8 b(ou)31 b(can)150 3297 y(em)m(ulate)h(a)f(parallel)g
-Ft(xargs)e Fu(b)m(y)h(adding)g(the)h Ft(-X)f Fu(option:)390
-3426 y Ft(find)47 b(.)g(-depth)f(1)i(\\!)f(-name)f('.*')h(-print0)f(|)h
-(parallel)f(-0)h(-X)g(mv)g({})g(destdir)275 3556 y Fu(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 3665
-y(\(in)e(this)h(case,)g(\014lenames)g(listed)g(one)f(p)s(er)g(line\):)
-390 3795 y Ft(while)46 b(IFS=)h(read)g(-r)g(x;)g(do)390
-3905 y(do-something1)d("$x")j("config-$x")390 4014 y(do-something2)d(<)
-k("$x")390 4124 y(done)f(<)g(file)g(|)g(process-output)150
-4253 y Fu(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 4383 y Ft(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 4513 y Fu(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 4622 y(to)i(batc)m(h)g
-(\014le)g(transformations)f(or)g(renaming:)390 4752 y
-Ft(ls)47 b(*.gz)g(|)g(parallel)f(-j+0)g("zcat)h({})g(|)g(bzip2)g
-(>{.}.bz2)e(&&)j(rm)f({}")150 4882 y Fu(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 4991 y(running)37
-b(one)i(job)f(p)s(er)f(CPU)h(\(-j)p Ft(+)p Fu(0\))i(in)e(parallel.)66
-b(\(W)-8 b(e)40 b(use)e Ft(ls)g Fu(for)h(brevit)m(y)g(here;)j(using)c
-Ft(find)g Fu(as)150 5101 y(ab)s(o)m(v)m(e)e(is)g(more)f(robust)f(in)h
-(the)h(face)g(of)f(\014lenames)h(con)m(taining)g(unexp)s(ected)f(c)m
-(haracters.\))57 b(P)m(arallel)150 5210 y(can)31 b(tak)m(e)h(argumen)m
-(ts)e(from)g(the)h(command)f(line;)h(the)f(ab)s(o)m(v)m(e)i(can)f(also)
-g(b)s(e)f(written)g(as)390 5340 y Ft(parallel)46 b("zcat)g({})h(|)h
-(bzip2)e(>{.}.bz2)f(&&)j(rm)f({}")g(:::)g(*.gz)p eop
-end
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(16)275 299
+y(Since)20 b(the)g(copro)s(cess)h(is)g(created)g(as)g(an)f(async)m
+(hronous)g(command,)i(the)f Ft(coproc)d Fu(command)i(alw)m(a)m(ys)150
+408 y(returns)29 b(success.)41 b(The)30 b(return)f(status)i(of)f(a)h
+(copro)s(cess)g(is)f(the)h(exit)g(status)g(of)f Fr(command)p
+Fu(.)150 612 y Fk(3.2.6)63 b(GNU)41 b(P)m(arallel)150
+759 y Fu(There)30 b(are)h(w)m(a)m(ys)g(to)g(run)f(commands)g(in)g
+(parallel)h(that)h(are)e(not)h(built)g(in)m(to)g(Bash.)41
+b(GNU)31 b(P)m(arallel)i(is)150 869 y(a)e(to)s(ol)g(to)g(do)f(just)g
+(that.)275 1007 y(GNU)e(P)m(arallel,)i(as)e(its)g(name)f(suggests,)j
+(can)d(b)s(e)g(used)g(to)h(build)f(and)g(run)f(commands)h(in)h
+(parallel.)150 1117 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 1227 y(usernames,)27
+b(hostnames,)h(or)e(lines)h(read)f(from)h(\014les.)39
+b(GNU)27 b(P)m(arallel)i(pro)m(vides)d(shorthand)g(references)150
+1336 y(to)38 b(man)m(y)g(of)g(the)g(most)g(common)g(op)s(erations)g
+(\(input)f(lines,)j(v)-5 b(arious)38 b(p)s(ortions)f(of)h(the)g(input)e
+(line,)150 1446 y(di\013eren)m(t)f(w)m(a)m(ys)h(to)f(sp)s(ecify)f(the)h
+(input)f(source,)i(and)e(so)h(on\).)54 b(P)m(arallel)36
+b(can)f(replace)h Ft(xargs)d Fu(or)i(feed)150 1555 y(commands)30
+b(from)g(its)h(input)e(sources)h(to)i(sev)m(eral)f(di\013eren)m(t)g
+(instances)g(of)g(Bash.)275 1694 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 1804 y(should)d(pro)m(vide)i(a)
+g(brief)e(in)m(tro)s(duction)i(to)g(its)g(use.)275 1943
+y(F)-8 b(or)37 b(example,)i(it)e(is)f(easy)h(to)g(replace)h
+Ft(xargs)d Fu(to)i(gzip)g(all)g(h)m(tml)g(\014les)f(in)h(the)f(curren)m
+(t)g(directory)150 2052 y(and)30 b(its)h(sub)s(directories:)390
+2191 y Ft(find)47 b(.)g(-type)f(f)i(-name)e('*.html')g(-print)g(|)h
+(parallel)f(gzip)150 2330 y Fu(If)30 b(y)m(ou)h(need)f(to)h(protect)h
+(sp)s(ecial)f(c)m(haracters)g(suc)m(h)g(as)f(newlines)h(in)f(\014le)g
+(names,)h(use)f(\014nd's)f Ft(-print0)150 2439 y Fu(option)i(and)f
+(parallel's)h Ft(-0)f Fu(option.)275 2578 y(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 2688 y(is)c(to)s(o)i(large)f(to)g(pro)s(cess)f(with)g(one)h
+Ft(mv)f Fu(in)m(v)m(o)s(cation:)390 2827 y Ft(ls)47 b(|)h(parallel)d
+(mv)i({})h(destdir)275 2965 y Fu(As)28 b(y)m(ou)h(can)g(see,)g(the)g
+Fi({})g Fu(is)g(replaced)g(with)f(eac)m(h)i(line)f(read)f(from)g
+(standard)g(input.)39 b(While)29 b(using)150 3075 y Ft(ls)g
+Fu(will)h(w)m(ork)g(in)f(most)h(instances,)h(it)f(is)g(not)g
+(su\016cien)m(t)g(to)h(deal)f(with)f(all)i(\014lenames.)40
+b(If)30 b(y)m(ou)g(need)f(to)150 3185 y(accommo)s(date)j(sp)s(ecial)f
+(c)m(haracters)h(in)e(\014lenames,)h(y)m(ou)f(can)h(use)390
+3323 y Ft(find)47 b(.)g(-depth)f(1)i(\\!)f(-name)f('.*')h(-print0)f(|)h
+(parallel)f(-0)h(mv)g({})g(destdir)150 3462 y Fu(as)31
+b(alluded)f(to)h(ab)s(o)m(v)m(e.)275 3601 y(This)e(will)i(run)e(as)h
+(man)m(y)h Ft(mv)e Fu(commands)h(as)h(there)f(are)h(\014les)f(in)h(the)
+f(curren)m(t)g(directory)-8 b(.)42 b(Y)-8 b(ou)31 b(can)150
+3711 y(em)m(ulate)h(a)f(parallel)g Ft(xargs)e Fu(b)m(y)h(adding)g(the)h
+Ft(-X)f Fu(option:)390 3850 y Ft(find)47 b(.)g(-depth)f(1)i(\\!)f
+(-name)f('.*')h(-print0)f(|)h(parallel)f(-0)h(-X)g(mv)g({})g(destdir)
+275 3988 y Fu(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
+4098 y(\(in)e(this)h(case,)g(\014lenames)g(listed)g(one)f(p)s(er)g
+(line\):)390 4237 y Ft(while)46 b(IFS=)h(read)g(-r)g(x;)g(do)390
+4346 y(do-something1)d("$x")j("config-$x")390 4456 y(do-something2)d(<)
+k("$x")390 4566 y(done)f(<)g(file)g(|)g(process-output)150
+4704 y Fu(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 4843 y Ft(cat)47 b(list)g(|)g(parallel)f
+("do-something1)d({})48 b(config-{})d(;)i(do-something2)e(<)i({}")g(|)
+915 4953 y(process-output)275 5092 y Fu(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
+5201 y(to)i(batc)m(h)g(\014le)g(transformations)f(or)g(renaming:)390
+5340 y Ft(ls)47 b(*.gz)g(|)g(parallel)f(-j+0)g("zcat)h({})g(|)g(bzip2)g
+(>{.}.bz2)e(&&)j(rm)f({}")p eop end
%%Page: 17 23
TeXDict begin 17 22 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(17)275 299
-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
-408 y(F)-8 b(or)31 b(instance,)g(the)g(follo)m(wing)h(command)390
-543 y Ft({)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
-677 y Fu(will)31 b(displa)m(y)f(as)h(output)f(the)g(traceroute)i(in)m
-(v)m(o)s(cation)h(that)e(\014nishes)e(\014rst.)40 b(Adding)30
-b(the)g Ft(-k)g Fu(option)390 811 y Ft({)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 945 y Fu(will)31 b(ensure)e(that)i(the)g(output)f
-(of)g Ft(traceroute)e(foss.org.my)f Fu(is)k(displa)m(y)m(ed)g(\014rst.)
-275 1079 y(Finally)-8 b(,)31 b(P)m(arallel)h(can)e(b)s(e)f(used)g(to)i
-(run)d(a)i(sequence)h(of)f(shell)g(commands)f(in)h(parallel,)h(similar)
-f(to)150 1189 y(`)p Ft(cat)g(file)f(|)h(bash)p Fu('.)53
-b(It)35 b(is)g(not)g(uncommon)f(to)i(tak)m(e)g(a)f(list)h(of)f
-(\014lenames,)h(create)g(a)g(series)f(of)g(shell)150
-1298 y(commands)24 b(to)h(op)s(erate)h(on)e(them,)i(and)e(feed)g(that)h
-(list)h(of)e(commands)g(to)i(a)f(shell.)39 b(P)m(arallel)26
-b(can)f(sp)s(eed)150 1408 y(this)30 b(up.)40 b(Assuming)30
-b(that)h Ft(file)e Fu(con)m(tains)i(a)g(list)g(of)g(shell)f(commands,)h
-(one)f(p)s(er)g(line,)390 1542 y Ft(parallel)46 b(-j)h(10)g(<)g(file)
-150 1676 y Fu(will)37 b(ev)-5 b(aluate)38 b(the)f(commands)f(using)g
-(the)h(shell)g(\(since)g(no)f(explicit)i(command)e(is)h(supplied)e(as)i
-(an)150 1786 y(argumen)m(t\),)31 b(in)f(blo)s(c)m(ks)h(of)g(ten)f
-(shell)h(jobs)f(at)h(a)g(time.)150 2026 y Fs(3.3)68 b(Shell)45
-b(F)-11 b(unctions)150 2185 y Fu(Shell)35 b(functions)h(are)g(a)g(w)m
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(17)150 299
+y(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
+408 y(running)37 b(one)i(job)f(p)s(er)f(CPU)h(\(-j)p
+Ft(+)p Fu(0\))i(in)e(parallel.)66 b(\(W)-8 b(e)40 b(use)e
+Ft(ls)g Fu(for)h(brevit)m(y)g(here;)j(using)c Ft(find)g
+Fu(as)150 518 y(ab)s(o)m(v)m(e)e(is)g(more)f(robust)f(in)h(the)h(face)g
+(of)f(\014lenames)h(con)m(taining)g(unexp)s(ected)f(c)m(haracters.\))57
+b(P)m(arallel)150 628 y(can)31 b(tak)m(e)h(argumen)m(ts)e(from)g(the)h
+(command)f(line;)h(the)f(ab)s(o)m(v)m(e)i(can)f(also)g(b)s(e)f(written)
+g(as)390 770 y Ft(parallel)46 b("zcat)g({})h(|)h(bzip2)e(>{.}.bz2)f(&&)
+j(rm)f({}")g(:::)g(*.gz)275 913 y Fu(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 1023 y(F)-8 b(or)31
+b(instance,)g(the)g(follo)m(wing)h(command)390 1165 y
+Ft({)581 1275 y(echo)47 b(foss.org.my)d(;)581 1385 y(echo)j(debian.org)
+e(;)581 1494 y(echo)i(freenetproject.org)42 b(;)390 1604
+y(})47 b(|)h(parallel)d(traceroute)150 1747 y Fu(will)31
+b(displa)m(y)f(as)h(output)f(the)g(traceroute)i(in)m(v)m(o)s(cation)h
+(that)e(\014nishes)e(\014rst.)40 b(Adding)30 b(the)g
+Ft(-k)g Fu(option)390 1889 y Ft({)581 1999 y(echo)47
+b(foss.org.my)d(;)581 2108 y(echo)j(debian.org)e(;)581
+2218 y(echo)i(freenetproject.org)42 b(;)390 2328 y(})47
+b(|)h(parallel)d(-k)j(traceroute)150 2470 y Fu(will)31
+b(ensure)e(that)i(the)g(output)f(of)g Ft(traceroute)e(foss.org.my)f
+Fu(is)k(displa)m(y)m(ed)g(\014rst.)275 2613 y(Finally)-8
+b(,)31 b(P)m(arallel)h(can)e(b)s(e)f(used)g(to)i(run)d(a)i(sequence)h
+(of)f(shell)g(commands)f(in)h(parallel,)h(similar)f(to)150
+2723 y(`)p Ft(cat)g(file)f(|)h(bash)p Fu('.)53 b(It)35
+b(is)g(not)g(uncommon)f(to)i(tak)m(e)g(a)f(list)h(of)f(\014lenames,)h
+(create)g(a)g(series)f(of)g(shell)150 2832 y(commands)24
+b(to)h(op)s(erate)h(on)e(them,)i(and)e(feed)g(that)h(list)h(of)e
+(commands)g(to)i(a)f(shell.)39 b(P)m(arallel)26 b(can)f(sp)s(eed)150
+2942 y(this)30 b(up.)40 b(Assuming)30 b(that)h Ft(file)e
+Fu(con)m(tains)i(a)g(list)g(of)g(shell)f(commands,)h(one)f(p)s(er)g
+(line,)390 3085 y Ft(parallel)46 b(-j)h(10)g(<)g(file)150
+3227 y Fu(will)37 b(ev)-5 b(aluate)38 b(the)f(commands)f(using)g(the)h
+(shell)g(\(since)g(no)f(explicit)i(command)e(is)h(supplied)e(as)i(an)
+150 3337 y(argumen)m(t\),)31 b(in)f(blo)s(c)m(ks)h(of)g(ten)f(shell)h
+(jobs)f(at)h(a)g(time.)150 3590 y Fs(3.3)68 b(Shell)45
+b(F)-11 b(unctions)150 3750 y Fu(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 2295 y(the)f(group.)55 b(They)35
+(single)g(name)g(for)150 3859 y(the)f(group.)55 b(They)35
b(are)g(executed)h(just)f(lik)m(e)h(a)g Ft(")p Fu(regular)p
Ft(")f Fu(command.)54 b(When)35 b(the)h(name)f(of)g(a)h(shell)150
-2404 y(function)j(is)g(used)f(as)h(a)h(simple)f(command)g(name,)i(the)e
+3969 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
-2514 y(function)25 b(name)h(is)g(executed.)40 b(Shell)25
+4078 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 2623 y(pro)s(cess)30 b(is)g(created)i(to)f(in)m
-(terpret)g(them.)275 2757 y(F)-8 b(unctions)30 b(are)h(declared)g
-(using)f(this)g(syn)m(tax:)390 2892 y Fj(name)47 b Ft(\(\))g
+(text;)j(no)c(new)150 4188 y(pro)s(cess)30 b(is)g(created)i(to)f(in)m
+(terpret)g(them.)275 4331 y(F)-8 b(unctions)30 b(are)h(declared)g
+(using)f(this)g(syn)m(tax:)390 4473 y Fj(name)47 b Ft(\(\))g
Fj(compound-command)c Ft([)48 b Fj(redirections)c Ft(])275
-3026 y Fu(or)390 3160 y Ft(function)i Fj(name)g Ft([\(\)])h
+4616 y Fu(or)390 4759 y Ft(function)i Fj(name)g Ft([\(\)])h
Fj(compound-command)c Ft([)48 b Fj(redirections)c Ft(])275
-3294 y Fu(This)31 b(de\014nes)h(a)h(shell)g(function)g(named)f
+4902 y Fu(This)31 b(de\014nes)h(a)h(shell)g(function)g(named)f
Fr(name)p Fu(.)48 b(The)32 b(reserv)m(ed)h(w)m(ord)f
-Ft(function)f Fu(is)h(optional.)49 b(If)150 3403 y(the)39
+Ft(function)f Fu(is)h(optional.)49 b(If)150 5011 y(the)39
b Ft(function)f Fu(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 Fr(b)s(o)s(dy)45
-b Fu(of)40 b(the)150 3513 y(function)h(is)h(the)g(comp)s(ound)e
+b Fu(of)40 b(the)150 5121 y(function)h(is)h(the)g(comp)s(ound)e
(command)h Fr(comp)s(ound-command)j Fu(\(see)e(Section)h(3.2.4)g([Comp)
-s(ound)150 3623 y(Commands],)33 b(page)h(9\).)49 b(That)33
+s(ound)150 5230 y(Commands],)33 b(page)h(9\).)49 b(That)33
b(command)f(is)h(usually)g(a)g Fr(list)j Fu(enclosed)e(b)s(et)m(w)m
(een)f Fi({)h Fu(and)e Fi(})p Fu(,)i(but)e(ma)m(y)150
-3732 y(b)s(e)39 b(an)m(y)h(comp)s(ound)e(command)i(listed)g(ab)s(o)m(v)
+5340 y(b)s(e)39 b(an)m(y)h(comp)s(ound)e(command)i(listed)g(ab)s(o)m(v)
m(e,)j(with)d(one)g(exception:)60 b(If)39 b(the)h Ft(function)e
-Fu(reserv)m(ed)150 3842 y(w)m(ord)g(is)g(used,)h(but)f(the)g(paren)m
-(theses)h(are)f(not)h(supplied,)g(the)f(braces)g(are)h(required.)63
-b Fr(comp)s(ound-)150 3951 y(command)39 b Fu(is)c(executed)h(whenev)m
-(er)f Fr(name)41 b Fu(is)35 b(sp)s(eci\014ed)g(as)g(the)h(name)f(of)h
-(a)f(command.)56 b(When)35 b(the)150 4061 y(shell)d(is)h(in)f
-Fm(posix)f Fu(mo)s(de)h(\(see)h(Section)g(6.11)h([Bash)f(POSIX)e(Mo)s
-(de],)j(page)f(98\),)h Fr(name)j Fu(ma)m(y)c(not)g(b)s(e)150
-4171 y(the)k(same)g(as)g(one)g(of)g(the)f(sp)s(ecial)i(builtins)e
-(\(see)h(Section)h(4.4)g([Sp)s(ecial)f(Builtins],)i(page)e(71\).)61
-b(An)m(y)150 4280 y(redirections)32 b(\(see)g(Section)h(3.6)f
-([Redirections],)i(page)e(33\))h(asso)s(ciated)g(with)e(the)h(shell)f
-(function)h(are)150 4390 y(p)s(erformed)d(when)g(the)i(function)f(is)g
-(executed.)275 4524 y(A)44 b(function)g(de\014nition)h(ma)m(y)g(b)s(e)f
-(deleted)h(using)f(the)h Ft(-f)f Fu(option)h(to)g(the)g
-Ft(unset)e Fu(builtin)h(\(see)150 4633 y(Section)31 b(4.1)h([Bourne)e
-(Shell)g(Builtins],)h(page)h(43\).)275 4768 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
-4877 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
-4987 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 5121 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 5230 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 Ft(blank)p Fu(s)f(or)h(newlines.)62 b(This)150
-5340 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)p eop end
+Fu(reserv)m(ed)p eop end
%%Page: 18 24
TeXDict begin 18 23 bop 150 -116 a Fu(Chapter)30 b(3:)41
b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(18)150 299
-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
-408 y(using)i(the)g(braces,)h(the)g Fr(list)i Fu(m)m(ust)d(b)s(e)g
+y(w)m(ord)38 b(is)g(used,)h(but)f(the)g(paren)m(theses)h(are)f(not)h
+(supplied,)g(the)f(braces)g(are)h(required.)63 b Fr(comp)s(ound-)150
+408 y(command)39 b Fu(is)c(executed)h(whenev)m(er)f Fr(name)41
+b Fu(is)35 b(sp)s(eci\014ed)g(as)g(the)h(name)f(of)h(a)f(command.)56
+b(When)35 b(the)150 518 y(shell)d(is)h(in)f Fm(posix)f
+Fu(mo)s(de)h(\(see)h(Section)g(6.11)h([Bash)f(POSIX)e(Mo)s(de],)j(page)
+f(98\),)h Fr(name)j Fu(ma)m(y)c(not)g(b)s(e)150 628 y(the)k(same)g(as)g
+(one)g(of)g(the)f(sp)s(ecial)i(builtins)e(\(see)h(Section)h(4.4)g([Sp)s
+(ecial)f(Builtins],)i(page)e(71\).)61 b(An)m(y)150 737
+y(redirections)32 b(\(see)g(Section)h(3.6)f([Redirections],)i(page)e
+(34\))h(asso)s(ciated)g(with)e(the)h(shell)f(function)h(are)150
+847 y(p)s(erformed)d(when)g(the)i(function)f(is)g(executed.)275
+981 y(A)44 b(function)g(de\014nition)h(ma)m(y)g(b)s(e)f(deleted)h
+(using)f(the)h Ft(-f)f Fu(option)h(to)g(the)g Ft(unset)e
+Fu(builtin)h(\(see)150 1090 y(Section)31 b(4.1)h([Bourne)e(Shell)g
+(Builtins],)h(page)h(43\).)275 1224 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 1334 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 1443 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 1577 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
+1687 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 Ft(blank)p
+Fu(s)f(or)h(newlines.)62 b(This)150 1797 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 1906 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 2016
+y(using)i(the)g(braces,)h(the)g Fr(list)i Fu(m)m(ust)d(b)s(e)g
(terminated)h(b)m(y)f(a)h(semicolon,)h(a)e(`)p Ft(&)p
-Fu(',)h(or)g(a)f(newline.)275 548 y(When)i(a)i(function)f(is)g
+Fu(',)h(or)g(a)f(newline.)275 2150 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 658 y(rameters)42 b(during)e(its)i
+(the)h(p)s(ositional)g(pa-)150 2259 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(20\).)75 b(The)150 767 y(sp)s(ecial)37
+(arameters],)i(page)c(21\).)75 b(The)150 2369 y(sp)s(ecial)37
b(parameter)f(`)p Ft(#)p Fu(')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
-877 y(re\015ect)h(the)f(c)m(hange.)56 b(Sp)s(ecial)35
+2478 y(re\015ect)h(the)f(c)m(hange.)56 b(Sp)s(ecial)35
b(parameter)h Ft(0)f Fu(is)g(unc)m(hanged.)54 b(The)35
-b(\014rst)f(elemen)m(t)j(of)e(the)g Ft(FUNCNAME)150 986
+b(\014rst)f(elemen)m(t)j(of)e(the)g Ft(FUNCNAME)150 2588
y Fu(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
-1126 y(All)25 b(other)g(asp)s(ects)g(of)g(the)g(shell)g(execution)h(en)
+2722 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 1235 y(its)35 b(caller)i(with)d(these)i(exceptions:)50
+(and)150 2832 y(its)35 b(caller)i(with)d(these)i(exceptions:)50
b(the)36 b Ft(DEBUG)d Fu(and)h Ft(RETURN)g Fu(traps)g(are)i(not)f
-(inherited)f(unless)h(the)150 1345 y(function)26 b(has)g(b)s(een)f(giv)
+(inherited)f(unless)h(the)150 2941 y(function)26 b(has)g(b)s(een)f(giv)
m(en)i(the)g Ft(trace)d Fu(attribute)j(using)f(the)g
Ft(declare)e Fu(builtin)i(or)g(the)h Ft(-o)i(functrace)150
-1455 y Fu(option)f(has)e(b)s(een)h(enabled)g(with)g(the)g
+3051 y Fu(option)f(has)e(b)s(een)h(enabled)g(with)g(the)g
Ft(set)f Fu(builtin,)i(\(in)f(whic)m(h)f(case)j(all)f(functions)e
-(inherit)h(the)g Ft(DEBUG)150 1564 y Fu(and)33 b Ft(RETURN)f
+(inherit)h(the)g Ft(DEBUG)150 3160 y Fu(and)33 b Ft(RETURN)f
Fu(traps\),)j(and)e(the)h Ft(ERR)f Fu(trap)h(is)g(not)g(inherited)f
(unless)g(the)h Ft(-o)c(errtrace)h Fu(shell)j(option)150
-1674 y(has)h(b)s(een)f(enabled.)55 b(See)35 b(Section)h(4.1)g([Bourne)f
+3270 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(43,)i(for)c(the)i(description)f(of)150
-1783 y(the)c Ft(trap)e Fu(builtin.)275 1923 y(The)38
+3380 y(the)c Ft(trap)e Fu(builtin.)275 3513 y(The)38
b Ft(FUNCNEST)f Fu(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
-2032 y(function)24 b(nesting)h(lev)m(el.)40 b(F)-8 b(unction)25
+3623 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 2142 y(to)31 b(ab)s(ort.)275
-2281 y(If)37 b(the)g(builtin)g(command)h Ft(return)d
+(en)m(tire)g(command)150 3733 y(to)31 b(ab)s(ort.)275
+3867 y(If)37 b(the)g(builtin)g(command)h Ft(return)d
Fu(is)j(executed)g(in)g(a)g(function,)h(the)e(function)h(completes)h
-(and)150 2391 y(execution)25 b(resumes)e(with)h(the)g(next)g(command)f
+(and)150 3976 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 2501 y(with)36 b(the)h Ft(RETURN)d Fu(trap)i(is)h(executed)
+(ciated)150 4086 y(with)36 b(the)h Ft(RETURN)d Fu(trap)i(is)h(executed)
g(b)s(efore)f(execution)i(resumes.)57 b(When)37 b(a)f(function)g
-(completes,)150 2610 y(the)h(v)-5 b(alues)38 b(of)f(the)g(p)s
+(completes,)150 4195 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
-Ft(#)p Fu(')g(are)h(restored)f(to)h(the)150 2720 y(v)-5
+Ft(#)p Fu(')g(are)h(restored)f(to)h(the)150 4305 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
-Ft(return)p Fu(,)150 2829 y(that)j(is)g(the)f(function's)h(return)e
+Ft(return)p Fu(,)150 4415 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 2939 y(of)h(the)f(last)h(command)f(executed)i(b)s
-(efore)e(the)g Ft(return)p Fu(.)275 3078 y(V)-8 b(ariables)31
+(exit)h(status)150 4524 y(of)h(the)f(last)h(command)f(executed)i(b)s
+(efore)e(the)g Ft(return)p Fu(.)275 4658 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 Ft(local)f Fu(builtin.)40 b(These)29 b(v)-5 b(ariables)150
-3188 y(are)25 b(visible)h(only)f(to)g(the)g(function)g(and)f(the)i
+4768 y(are)25 b(visible)h(only)f(to)g(the)g(function)g(and)f(the)i
(commands)e(it)i(in)m(v)m(ok)m(es.)40 b(This)24 b(is)h(particularly)h
-(imp)s(ortan)m(t)150 3298 y(when)j(a)i(shell)g(function)f(calls)h
-(other)g(functions.)275 3437 y(Lo)s(cal)41 b(v)-5 b(ariables)42
+(imp)s(ortan)m(t)150 4877 y(when)j(a)i(shell)g(function)f(calls)h
+(other)g(functions.)275 5011 y(Lo)s(cal)41 b(v)-5 b(ariables)42
b Ft(")p Fu(shado)m(w)p Ft(")e Fu(v)-5 b(ariables)42
b(with)f(the)g(same)g(name)g(declared)h(at)f(previous)g(scop)s(es.)150
-3547 y(F)-8 b(or)41 b(instance,)j(a)d(lo)s(cal)h(v)-5
+5121 y(F)-8 b(or)41 b(instance,)j(a)d(lo)s(cal)h(v)-5
b(ariable)41 b(declared)g(in)f(a)h(function)f(hides)g(a)h(global)h(v)-5
-b(ariable)41 b(of)g(the)g(same)150 3656 y(name:)59 b(references)40
+b(ariable)41 b(of)g(the)g(same)150 5230 y(name:)59 b(references)40
b(and)f(assignmen)m(ts)h(refer)f(to)i(the)f(lo)s(cal)g(v)-5
b(ariable,)43 b(lea)m(ving)f(the)d(global)i(v)-5 b(ariable)150
-3766 y(unmo)s(di\014ed.)39 b(When)30 b(the)g(function)g(returns,)g(the)
-g(global)i(v)-5 b(ariable)31 b(is)g(once)g(again)g(visible.)275
-3905 y(The)f(shell)h(uses)g Fr(dynamic)g(scoping)39 b
-Fu(to)32 b(con)m(trol)g(a)f(v)-5 b(ariable's)32 b(visibilit)m(y)h
-(within)d(functions.)42 b(With)150 4015 y(dynamic)31
-b(scoping,)i(visible)e(v)-5 b(ariables)32 b(and)f(their)h(v)-5
-b(alues)32 b(are)f(a)h(result)g(of)f(the)h(sequence)g(of)f(function)150
-4125 y(calls)37 b(that)g(caused)g(execution)g(to)g(reac)m(h)g(the)g
-(curren)m(t)f(function.)58 b(The)36 b(v)-5 b(alue)36
-b(of)h(a)g(v)-5 b(ariable)37 b(that)g(a)150 4234 y(function)24
-b(sees)g(dep)s(ends)f(on)h(its)g(v)-5 b(alue)25 b(within)e(its)i
-(caller,)i(if)d(an)m(y)-8 b(,)26 b(whether)e(that)g(caller)i(is)e(the)g
-Ft(")p Fu(global)p Ft(")150 4344 y Fu(scop)s(e)41 b(or)g(another)g
-(shell)g(function.)73 b(This)40 b(is)h(also)h(the)f(v)-5
-b(alue)41 b(that)h(a)f(lo)s(cal)i(v)-5 b(ariable)41 b(declaration)150
-4453 y Ft(")p Fu(shado)m(ws)p Ft(")p Fu(,)30 b(and)g(the)g(v)-5
-b(alue)31 b(that)g(is)f(restored)h(when)e(the)i(function)f(returns.)275
-4593 y(F)-8 b(or)41 b(example,)j(if)d(a)g(v)-5 b(ariable)41
-b Fr(v)-5 b(ar)48 b Fu(is)40 b(declared)h(as)g(lo)s(cal)h(in)f
-(function)f Fr(func1)p Fu(,)j(and)d Fr(func1)48 b Fu(calls)150
-4702 y(another)33 b(function)g Fr(func2)p Fu(,)g(references)g(to)h
+5340 y(unmo)s(di\014ed.)39 b(When)30 b(the)g(function)g(returns,)g(the)
+g(global)i(v)-5 b(ariable)31 b(is)g(once)g(again)g(visible.)p
+eop end
+%%Page: 19 25
+TeXDict begin 19 24 bop 150 -116 a Fu(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(19)275 299
+y(The)30 b(shell)h(uses)g Fr(dynamic)g(scoping)39 b Fu(to)32
+b(con)m(trol)g(a)f(v)-5 b(ariable's)32 b(visibilit)m(y)h(within)d
+(functions.)42 b(With)150 408 y(dynamic)31 b(scoping,)i(visible)e(v)-5
+b(ariables)32 b(and)f(their)h(v)-5 b(alues)32 b(are)f(a)h(result)g(of)f
+(the)h(sequence)g(of)f(function)150 518 y(calls)37 b(that)g(caused)g
+(execution)g(to)g(reac)m(h)g(the)g(curren)m(t)f(function.)58
+b(The)36 b(v)-5 b(alue)36 b(of)h(a)g(v)-5 b(ariable)37
+b(that)g(a)150 628 y(function)24 b(sees)g(dep)s(ends)f(on)h(its)g(v)-5
+b(alue)25 b(within)e(its)i(caller,)i(if)d(an)m(y)-8 b(,)26
+b(whether)e(that)g(caller)i(is)e(the)g Ft(")p Fu(global)p
+Ft(")150 737 y Fu(scop)s(e)41 b(or)g(another)g(shell)g(function.)73
+b(This)40 b(is)h(also)h(the)f(v)-5 b(alue)41 b(that)h(a)f(lo)s(cal)i(v)
+-5 b(ariable)41 b(declaration)150 847 y Ft(")p Fu(shado)m(ws)p
+Ft(")p Fu(,)30 b(and)g(the)g(v)-5 b(alue)31 b(that)g(is)f(restored)h
+(when)e(the)i(function)f(returns.)275 991 y(F)-8 b(or)41
+b(example,)j(if)d(a)g(v)-5 b(ariable)41 b Fr(v)-5 b(ar)48
+b Fu(is)40 b(declared)h(as)g(lo)s(cal)h(in)f(function)f
+Fr(func1)p Fu(,)j(and)d Fr(func1)48 b Fu(calls)150 1101
+y(another)33 b(function)g Fr(func2)p Fu(,)g(references)g(to)h
Fr(v)-5 b(ar)39 b Fu(made)33 b(from)f(within)h Fr(func2)39
-b Fu(will)34 b(resolv)m(e)g(to)g(the)f(lo)s(cal)150 4812
+b Fu(will)34 b(resolv)m(e)g(to)g(the)f(lo)s(cal)150 1210
y(v)-5 b(ariable)31 b Fr(v)-5 b(ar)37 b Fu(from)30 b
Fr(func1)p Fu(,)g(shado)m(wing)h(an)m(y)f(global)i(v)-5
-b(ariable)31 b(named)f Fr(v)-5 b(ar)p Fu(.)275 4951 y(The)29
+b(ariable)31 b(named)f Fr(v)-5 b(ar)p Fu(.)275 1355 y(The)29
b(follo)m(wing)j(script)f(demonstrates)f(this)h(b)s(eha)m(vior.)40
b(When)31 b(executed,)g(the)g(script)f(displa)m(ys)390
-5091 y Ft(In)47 b(func2,)f(var)h(=)h(func1)e(local)390
-5230 y(func1\(\))390 5340 y({)p eop end
-%%Page: 19 25
-TeXDict begin 19 24 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(19)581 299
-y Ft(local)46 b(var='func1)f(local')581 408 y(func2)390
-518 y(})390 737 y(func2\(\))390 847 y({)581 956 y(echo)i("In)f(func2,)h
-(var)f(=)i($var")390 1066 y(})390 1285 y(var=global)390
-1395 y(func1)275 1526 y Fu(The)32 b Ft(unset)g Fu(builtin)g(also)i
-(acts)g(using)e(the)i(same)f(dynamic)g(scop)s(e:)46 b(if)33
-b(a)g(v)-5 b(ariable)34 b(is)f(lo)s(cal)h(to)g(the)150
-1636 y(curren)m(t)i(scop)s(e,)h Ft(unset)e Fu(will)h(unset)g(it;)j
-(otherwise)e(the)f(unset)f(will)h(refer)g(to)h(the)f(v)-5
-b(ariable)37 b(found)d(in)150 1745 y(an)m(y)j(calling)h(scop)s(e)f(as)g
-(describ)s(ed)f(ab)s(o)m(v)m(e.)61 b(If)36 b(a)h(v)-5
-b(ariable)38 b(at)f(the)g(curren)m(t)g(lo)s(cal)h(scop)s(e)e(is)h
-(unset,)h(it)150 1855 y(will)27 b(remain)h(so)f(un)m(til)g(it)h(is)f
-(reset)h(in)f(that)g(scop)s(e)h(or)f(un)m(til)g(the)h(function)e
-(returns.)39 b(Once)27 b(the)g(function)150 1965 y(returns,)34
-b(an)m(y)h(instance)g(of)f(the)g(v)-5 b(ariable)35 b(at)g(a)g(previous)
-e(scop)s(e)i(will)f(b)s(ecome)h(visible.)52 b(If)34 b(the)g(unset)150
-2074 y(acts)e(on)f(a)h(v)-5 b(ariable)32 b(at)g(a)f(previous)g(scop)s
-(e,)h(an)m(y)f(instance)h(of)f(a)h(v)-5 b(ariable)32
-b(with)f(that)h(name)f(that)h(had)150 2184 y(b)s(een)e(shado)m(w)m(ed)g
-(will)h(b)s(ecome)g(visible.)275 2315 y(F)-8 b(unction)51
-b(names)f(and)g(de\014nitions)g(ma)m(y)i(b)s(e)e(listed)h(with)f(the)h
-Ft(-f)f Fu(option)h(to)g(the)g Ft(declare)150 2425 y
-Fu(\()p Ft(typeset)p Fu(\))35 b(builtin)g(command)h(\(see)h(Section)g
-(4.2)g([Bash)f(Builtins],)i(page)f(50\).)59 b(The)35
-b Ft(-F)h Fu(option)g(to)150 2535 y Ft(declare)e Fu(or)i
-Ft(typeset)e Fu(will)i(list)h(the)f(function)g(names)g(only)g(\(and)g
-(optionally)h(the)f(source)g(\014le)h(and)150 2644 y(line)c(n)m(um)m(b)
-s(er,)g(if)f(the)h Ft(extdebug)e Fu(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
-2754 y(subshells)j(automatically)k(ha)m(v)m(e)f(them)e(de\014ned)f
-(with)h(the)h Ft(-f)e Fu(option)i(to)g(the)g Ft(export)d
-Fu(builtin)i(\(see)150 2863 y(Section)31 b(4.1)h([Bourne)e(Shell)g
-(Builtins],)h(page)h(43\).)275 2995 y(F)-8 b(unctions)33
-b(ma)m(y)g(b)s(e)g(recursiv)m(e.)48 b(The)32 b Ft(FUNCNEST)f
-Fu(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 3104 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 3214
-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 3449 y Fs(3.4)68 b(Shell)45 b(P)l(arameters)150
-3608 y Fu(A)23 b Fr(parameter)31 b Fu(is)23 b(an)g(en)m(tit)m(y)i(that)
+1499 y Ft(In)47 b(func2,)f(var)h(=)h(func1)e(local)390
+1643 y(func1\(\))390 1753 y({)581 1862 y(local)g(var='func1)f(local')
+581 1972 y(func2)390 2081 y(})390 2301 y(func2\(\))390
+2410 y({)581 2520 y(echo)i("In)f(func2,)h(var)f(=)i($var")390
+2629 y(})390 2849 y(var=global)390 2958 y(func1)275 3102
+y Fu(The)32 b Ft(unset)g Fu(builtin)g(also)i(acts)g(using)e(the)i(same)
+f(dynamic)g(scop)s(e:)46 b(if)33 b(a)g(v)-5 b(ariable)34
+b(is)f(lo)s(cal)h(to)g(the)150 3212 y(curren)m(t)i(scop)s(e,)h
+Ft(unset)e Fu(will)h(unset)g(it;)j(otherwise)e(the)f(unset)f(will)h
+(refer)g(to)h(the)f(v)-5 b(ariable)37 b(found)d(in)150
+3322 y(an)m(y)j(calling)h(scop)s(e)f(as)g(describ)s(ed)f(ab)s(o)m(v)m
+(e.)61 b(If)36 b(a)h(v)-5 b(ariable)38 b(at)f(the)g(curren)m(t)g(lo)s
+(cal)h(scop)s(e)e(is)h(unset,)h(it)150 3431 y(will)27
+b(remain)h(so)f(un)m(til)g(it)h(is)f(reset)h(in)f(that)g(scop)s(e)h(or)
+f(un)m(til)g(the)h(function)e(returns.)39 b(Once)27 b(the)g(function)
+150 3541 y(returns,)34 b(an)m(y)h(instance)g(of)f(the)g(v)-5
+b(ariable)35 b(at)g(a)g(previous)e(scop)s(e)i(will)f(b)s(ecome)h
+(visible.)52 b(If)34 b(the)g(unset)150 3650 y(acts)e(on)f(a)h(v)-5
+b(ariable)32 b(at)g(a)f(previous)g(scop)s(e,)h(an)m(y)f(instance)h(of)f
+(a)h(v)-5 b(ariable)32 b(with)f(that)h(name)f(that)h(had)150
+3760 y(b)s(een)e(shado)m(w)m(ed)g(will)h(b)s(ecome)g(visible.)275
+3904 y(F)-8 b(unction)51 b(names)f(and)g(de\014nitions)g(ma)m(y)i(b)s
+(e)e(listed)h(with)f(the)h Ft(-f)f Fu(option)h(to)g(the)g
+Ft(declare)150 4014 y Fu(\()p Ft(typeset)p Fu(\))35 b(builtin)g
+(command)h(\(see)h(Section)g(4.2)g([Bash)f(Builtins],)i(page)f(50\).)59
+b(The)35 b Ft(-F)h Fu(option)g(to)150 4123 y Ft(declare)e
+Fu(or)i Ft(typeset)e Fu(will)i(list)h(the)f(function)g(names)g(only)g
+(\(and)g(optionally)h(the)f(source)g(\014le)h(and)150
+4233 y(line)c(n)m(um)m(b)s(er,)g(if)f(the)h Ft(extdebug)e
+Fu(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 4343 y(subshells)j
+(automatically)k(ha)m(v)m(e)f(them)e(de\014ned)f(with)h(the)h
+Ft(-f)e Fu(option)i(to)g(the)g Ft(export)d Fu(builtin)i(\(see)150
+4452 y(Section)31 b(4.1)h([Bourne)e(Shell)g(Builtins],)h(page)h(43\).)
+275 4596 y(F)-8 b(unctions)33 b(ma)m(y)g(b)s(e)g(recursiv)m(e.)48
+b(The)32 b Ft(FUNCNEST)f Fu(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 4706 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
+4816 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 5071 y Fs(3.4)68 b(Shell)45 b(P)l(arameters)150
+5230 y Fu(A)23 b Fr(parameter)31 b Fu(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
Ft(name)p Fu(,)h(a)g(n)m(um)m(b)s(er,)f(or)h(one)f(of)h(the)f(sp)s
-(ecial)150 3718 y(c)m(haracters)i(listed)e(b)s(elo)m(w.)39
+(ecial)150 5340 y(c)m(haracters)i(listed)e(b)s(elo)m(w.)39
b(A)23 b Fr(v)-5 b(ariable)30 b Fu(is)23 b(a)g(parameter)h(denoted)f(b)
m(y)h(a)f Ft(name)p Fu(.)37 b(A)24 b(v)-5 b(ariable)24
-b(has)f(a)g Fr(v)-5 b(alue)150 3827 y Fu(and)33 b(zero)i(or)f(more)g
-Fr(attributes)p Fu(.)52 b(A)m(ttributes)35 b(are)f(assigned)g(using)g
-(the)g Ft(declare)e Fu(builtin)h(command)150 3937 y(\(see)e(the)g
-(description)f(of)h(the)f Ft(declare)f Fu(builtin)h(in)g(Section)h(4.2)
-g([Bash)g(Builtins],)g(page)g(50\).)275 4069 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 4178 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 Ft(unset)f Fu(builtin)h(command.)275 4310
-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)390 4441 y Fj(name)p
-Ft(=[)p Fj(value)p Ft(])150 4573 y Fu(If)j Fr(v)-5 b(alue)40
+b(has)f(a)g Fr(v)-5 b(alue)p eop end
+%%Page: 20 26
+TeXDict begin 20 25 bop 150 -116 a Fu(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(20)150 299
+y(and)33 b(zero)i(or)f(more)g Fr(attributes)p Fu(.)52
+b(A)m(ttributes)35 b(are)f(assigned)g(using)g(the)g Ft(declare)e
+Fu(builtin)h(command)150 408 y(\(see)e(the)g(description)f(of)h(the)f
+Ft(declare)f Fu(builtin)h(in)g(Section)h(4.2)g([Bash)g(Builtins],)g
+(page)g(50\).)275 542 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 652
+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 Ft(unset)f Fu(builtin)h(command.)275
+786 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)390 920 y Fj(name)p
+Ft(=[)p Fj(value)p Ft(])150 1054 y Fu(If)j Fr(v)-5 b(alue)40
b Fu(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 Fr(v)-5 b(alue)5 b Fu(s)35 b(undergo)f(tilde)h(ex-)150
-4682 y(pansion,)h(parameter)f(and)f(v)-5 b(ariable)36
+1163 y(pansion,)h(parameter)f(and)f(v)-5 b(ariable)36
b(expansion,)f(command)g(substitution,)h(arithmetic)g(expansion,)150
-4792 y(and)k(quote)h(remo)m(v)-5 b(al)42 b(\(detailed)h(b)s(elo)m(w\).)
+1273 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 Ft(integer)e
-Fu(attribute)i(set,)j(then)150 4902 y Fr(v)-5 b(alue)38
+Fu(attribute)i(set,)j(then)150 1383 y Fr(v)-5 b(alue)38
b Fu(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 Ft($\(\(...)o(\)\))f Fu(expansion)h(is)g(not)g
-(used)150 5011 y(\(see)e(Section)g(3.5.5)i([Arithmetic)e(Expansion],)f
-(page)h(30\).)42 b(W)-8 b(ord)31 b(splitting)g(is)g(not)f(p)s
-(erformed,)f(with)150 5121 y(the)35 b(exception)h(of)f
+(used)150 1492 y(\(see)e(Section)g(3.5.5)i([Arithmetic)e(Expansion],)f
+(page)h(31\).)42 b(W)-8 b(ord)31 b(splitting)g(is)g(not)f(p)s
+(erformed,)f(with)150 1602 y(the)35 b(exception)h(of)f
Ft("$@")f Fu(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
-5230 y(men)m(t)33 b(statemen)m(ts)h(ma)m(y)f(also)g(app)s(ear)f(as)g
+1711 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 Ft(alias)p Fu(,)e Ft(declare)p
-Fu(,)g Ft(typeset)p Fu(,)g Ft(export)p Fu(,)150 5340
+Fu(,)g Ft(typeset)p Fu(,)g Ft(export)p Fu(,)150 1821
y Ft(readonly)p Fu(,)38 b(and)g Ft(local)f Fu(builtin)h(commands)g(\()p
Fr(declaration)j Fu(commands\).)64 b(When)39 b(in)f Fm(posix)f
-Fu(mo)s(de)p eop end
-%%Page: 20 26
-TeXDict begin 20 25 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(20)150 299
-y(\(see)33 b(Section)f(6.11)h([Bash)g(POSIX)d(Mo)s(de],)j(page)f(98\),)
-i(these)e(builtins)f(ma)m(y)i(app)s(ear)e(in)g(a)h(command)150
-408 y(after)i(one)g(or)f(more)h(instances)g(of)f(the)h
+Fu(mo)s(de)150 1931 y(\(see)c(Section)f(6.11)h([Bash)g(POSIX)d(Mo)s
+(de],)j(page)f(98\),)i(these)e(builtins)f(ma)m(y)i(app)s(ear)e(in)g(a)h
+(command)150 2040 y(after)i(one)g(or)f(more)h(instances)g(of)f(the)h
Ft(command)d Fu(builtin)i(and)g(retain)h(these)g(assignmen)m(t)g
-(statemen)m(t)150 518 y(prop)s(erties.)275 645 y(In)29
+(statemen)m(t)150 2150 y(prop)s(erties.)275 2284 y(In)29
b(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 755 y(arra)m(y)24 b(index)f(\(see)h(Section)g
+b(ariable)31 b(or)150 2393 y(arra)m(y)24 b(index)f(\(see)h(Section)g
(6.7)g([Arra)m(ys],)i(page)e(93\),)i(the)e(`)p Ft(+=)p
Fu(')f(op)s(erator)g(can)h(b)s(e)f(used)f(to)i(app)s(end)e(to)i(or)150
-865 y(add)k(to)i(the)f(v)-5 b(ariable's)30 b(previous)e(v)-5
+2503 y(add)k(to)i(the)f(v)-5 b(ariable's)30 b(previous)e(v)-5
b(alue.)41 b(This)28 b(includes)g(argumen)m(ts)i(to)f(builtin)g
-(commands)f(suc)m(h)h(as)150 974 y Ft(declare)e Fu(that)i(accept)h
+(commands)f(suc)m(h)h(as)150 2612 y Ft(declare)e Fu(that)i(accept)h
(assignmen)m(t)f(statemen)m(ts)h(\()p Fr(declaration)h
Fu(commands\).)40 b(When)28 b(`)p Ft(+=)p Fu(')h(is)f(applied)150
-1084 y(to)d(a)f(v)-5 b(ariable)24 b(for)g(whic)m(h)f(the)h
+2722 y(to)d(a)f(v)-5 b(ariable)24 b(for)g(whic)m(h)f(the)h
Fr(in)m(teger)32 b Fu(attribute)24 b(has)g(b)s(een)f(set,)j
Fr(v)-5 b(alue)29 b Fu(is)24 b(ev)-5 b(aluated)25 b(as)f(an)g
-(arithmetic)150 1193 y(expression)30 b(and)f(added)g(to)i(the)f(v)-5
+(arithmetic)150 2832 y(expression)30 b(and)f(added)g(to)i(the)f(v)-5
b(ariable's)30 b(curren)m(t)g(v)-5 b(alue,)31 b(whic)m(h)e(is)h(also)h
(ev)-5 b(aluated.)42 b(When)29 b(`)p Ft(+=)p Fu(')h(is)150
-1303 y(applied)25 b(to)h(an)f(arra)m(y)h(v)-5 b(ariable)26
+2941 y(applied)25 b(to)h(an)f(arra)m(y)h(v)-5 b(ariable)26
b(using)f(comp)s(ound)f(assignmen)m(t)i(\(see)g(Section)g(6.7)g([Arra)m
-(ys],)h(page)f(93\),)150 1413 y(the)33 b(v)-5 b(ariable's)33
+(ys],)h(page)f(93\),)150 3051 y(the)33 b(v)-5 b(ariable's)33
b(v)-5 b(alue)33 b(is)g(not)g(unset)f(\(as)h(it)g(is)g(when)e(using)i
(`)p Ft(=)p Fu('\),)g(and)f(new)g(v)-5 b(alues)33 b(are)g(app)s(ended)e
-(to)150 1522 y(the)26 b(arra)m(y)h(b)s(eginning)e(at)i(one)f(greater)h
+(to)150 3160 y(the)26 b(arra)m(y)h(b)s(eginning)e(at)i(one)f(greater)h
(than)f(the)g(arra)m(y's)h(maxim)m(um)f(index)f(\(for)i(indexed)e(arra)
-m(ys\),)j(or)150 1632 y(added)c(as)i(additional)g(k)m(ey-v)-5
+m(ys\),)j(or)150 3270 y(added)c(as)i(additional)g(k)m(ey-v)-5
b(alue)26 b(pairs)f(in)g(an)g(asso)s(ciativ)m(e)j(arra)m(y)-8
b(.)40 b(When)24 b(applied)h(to)h(a)g(string-v)-5 b(alued)150
-1741 y(v)g(ariable,)31 b Fr(v)-5 b(alue)36 b Fu(is)31
+3380 y(v)g(ariable,)31 b Fr(v)-5 b(alue)36 b Fu(is)31
b(expanded)e(and)h(app)s(ended)f(to)i(the)f(v)-5 b(ariable's)32
-b(v)-5 b(alue.)275 1869 y(A)28 b(v)-5 b(ariable)29 b(can)f(b)s(e)f
+b(v)-5 b(alue.)275 3513 y(A)28 b(v)-5 b(ariable)29 b(can)f(b)s(e)f
(assigned)i(the)f Fr(nameref)45 b Fu(attribute)29 b(using)f(the)g
Ft(-n)f Fu(option)i(to)g(the)f Ft(declare)e Fu(or)150
-1978 y Ft(local)f Fu(builtin)h(commands)g(\(see)i(Section)f(4.2)h
+3623 y Ft(local)f Fu(builtin)h(commands)g(\(see)i(Section)f(4.2)h
([Bash)f(Builtins],)h(page)f(50\))h(to)f(create)i(a)e
-Fr(nameref)p Fu(,)g(or)g(a)150 2088 y(reference)f(to)g(another)f(v)-5
+Fr(nameref)p Fu(,)g(or)g(a)150 3733 y(reference)f(to)g(another)f(v)-5
b(ariable.)40 b(This)24 b(allo)m(ws)j(v)-5 b(ariables)26
b(to)g(b)s(e)e(manipulated)h(indirectly)-8 b(.)40 b(Whenev)m(er)150
-2197 y(the)31 b(nameref)g(v)-5 b(ariable)32 b(is)f(referenced,)g
+3842 y(the)31 b(nameref)g(v)-5 b(ariable)32 b(is)f(referenced,)g
(assigned)h(to,)g(unset,)f(or)g(has)f(its)i(attributes)f(mo)s(di\014ed)
-f(\(other)150 2307 y(than)c(using)g(or)h(c)m(hanging)g(the)g(nameref)f
+f(\(other)150 3952 y(than)c(using)g(or)h(c)m(hanging)g(the)g(nameref)f
(attribute)i(itself)7 b(\),)29 b(the)d(op)s(eration)h(is)g(actually)h
-(p)s(erformed)d(on)150 2417 y(the)31 b(v)-5 b(ariable)31
+(p)s(erformed)d(on)150 4061 y(the)31 b(v)-5 b(ariable)31
b(sp)s(eci\014ed)f(b)m(y)g(the)h(nameref)f(v)-5 b(ariable's)31
b(v)-5 b(alue.)42 b(A)30 b(nameref)g(is)h(commonly)g(used)e(within)150
-2526 y(shell)h(functions)g(to)h(refer)f(to)h(a)f(v)-5
+4171 y(shell)h(functions)g(to)h(refer)f(to)h(a)f(v)-5
b(ariable)31 b(whose)f(name)h(is)f(passed)g(as)g(an)g(argumen)m(t)h(to)
-g(the)f(function.)150 2636 y(F)-8 b(or)31 b(instance,)g(if)g(a)g(v)-5
+g(the)f(function.)150 4281 y(F)-8 b(or)31 b(instance,)g(if)g(a)g(v)-5
b(ariable)31 b(name)f(is)h(passed)e(to)j(a)e(shell)h(function)f(as)h
-(its)f(\014rst)g(argumen)m(t,)h(running)390 2763 y Ft(declare)46
-b(-n)h(ref=$1)150 2890 y Fu(inside)31 b(the)h(function)f(creates)i(a)g
+(its)f(\014rst)g(argumen)m(t,)h(running)390 4415 y Ft(declare)46
+b(-n)h(ref=$1)150 4548 y Fu(inside)31 b(the)h(function)f(creates)i(a)g
(nameref)e(v)-5 b(ariable)32 b Fr(ref)49 b Fu(whose)32
b(v)-5 b(alue)32 b(is)g(the)f(v)-5 b(ariable)33 b(name)e(passed)150
-3000 y(as)e(the)h(\014rst)e(argumen)m(t.)41 b(References)30
+4658 y(as)e(the)h(\014rst)e(argumen)m(t.)41 b(References)30
b(and)e(assignmen)m(ts)i(to)g Fr(ref)p Fu(,)f(and)g(c)m(hanges)h(to)g
-(its)f(attributes,)i(are)150 3110 y(treated)g(as)f(references,)g
+(its)f(attributes,)i(are)150 4768 y(treated)g(as)f(references,)g
(assignmen)m(ts,)h(and)e(attribute)i(mo)s(di\014cations)f(to)h(the)f(v)
--5 b(ariable)30 b(whose)g(name)150 3219 y(w)m(as)h(passed)f(as)g
-Ft($1)p Fu(.)275 3347 y(If)h(the)g(con)m(trol)i(v)-5
+-5 b(ariable)30 b(whose)g(name)150 4877 y(w)m(as)h(passed)f(as)g
+Ft($1)p Fu(.)275 5011 y(If)h(the)g(con)m(trol)i(v)-5
b(ariable)32 b(in)g(a)f Ft(for)g Fu(lo)s(op)h(has)f(the)g(nameref)h
(attribute,)g(the)g(list)g(of)g(w)m(ords)f(can)h(b)s(e)150
-3456 y(a)h(list)h(of)f(shell)g(v)-5 b(ariables,)34 b(and)e(a)i(name)f
+5121 y(a)h(list)h(of)f(shell)g(v)-5 b(ariables,)34 b(and)e(a)i(name)f
(reference)g(will)g(b)s(e)f(established)h(for)g(eac)m(h)h(w)m(ord)e(in)
-h(the)g(list,)150 3566 y(in)c(turn,)g(when)g(the)h(lo)s(op)g(is)g
+h(the)g(list,)150 5230 y(in)c(turn,)g(when)g(the)h(lo)s(op)g(is)g
(executed.)41 b(Arra)m(y)30 b(v)-5 b(ariables)30 b(cannot)h(b)s(e)e
-(giv)m(en)h(the)g(nameref)g(attribute.)150 3675 y(Ho)m(w)m(ev)m(er,)39
+(giv)m(en)h(the)g(nameref)g(attribute.)150 5340 y(Ho)m(w)m(ev)m(er,)39
b(nameref)d(v)-5 b(ariables)36 b(can)g(reference)g(arra)m(y)g(v)-5
-b(ariables)37 b(and)e(subscripted)f(arra)m(y)i(v)-5 b(ariables.)150
-3785 y(Namerefs)36 b(can)f(b)s(e)g(unset)g(using)g(the)h
-Ft(-n)e Fu(option)i(to)g(the)g Ft(unset)e Fu(builtin)h(\(see)h(Section)
-g(4.1)h([Bourne)150 3894 y(Shell)43 b(Builtins],)j(page)e(43\).)79
+b(ariables)37 b(and)e(subscripted)f(arra)m(y)i(v)-5 b(ariables.)p
+eop end
+%%Page: 21 27
+TeXDict begin 21 26 bop 150 -116 a Fu(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(21)150 299
+y(Namerefs)36 b(can)f(b)s(e)g(unset)g(using)g(the)h Ft(-n)e
+Fu(option)i(to)g(the)g Ft(unset)e Fu(builtin)h(\(see)h(Section)g(4.1)h
+([Bourne)150 408 y(Shell)43 b(Builtins],)j(page)e(43\).)79
b(Otherwise,)45 b(if)e Ft(unset)e Fu(is)i(executed)h(with)e(the)h(name)
-g(of)g(a)g(nameref)150 4004 y(v)-5 b(ariable)31 b(as)g(an)f(argumen)m
+g(of)g(a)g(nameref)150 518 y(v)-5 b(ariable)31 b(as)g(an)f(argumen)m
(t,)h(the)g(v)-5 b(ariable)31 b(referenced)f(b)m(y)g(the)h(nameref)f(v)
--5 b(ariable)31 b(will)g(b)s(e)f(unset.)150 4189 y Fk(3.4.1)63
-b(P)m(ositional)41 b(P)m(arameters)150 4336 y Fu(A)28
+-5 b(ariable)31 b(will)g(b)s(e)f(unset.)150 741 y Fk(3.4.1)63
+b(P)m(ositional)41 b(P)m(arameters)150 888 y Fu(A)28
b Fr(p)s(ositional)h(parameter)35 b Fu(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
-4446 y(digit)34 b Ft(0)p Fu(.)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 4555 y(and)38 b(ma)m(y)i(b)s(e)e(reassigned)i(using)
-e(the)h Ft(set)g Fu(builtin)f(command.)67 b(P)m(ositional)41
-b(parameter)e Ft(N)g Fu(ma)m(y)h(b)s(e)150 4665 y(referenced)34
+998 y(digit)34 b Ft(0)p Fu(.)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 1107 y(and)38 b(ma)m(y)i(b)s(e)e(reassigned)i(using)e
+(the)h Ft(set)g Fu(builtin)f(command.)67 b(P)m(ositional)41
+b(parameter)e Ft(N)g Fu(ma)m(y)h(b)s(e)150 1217 y(referenced)34
b(as)h Ft(${N})p Fu(,)g(or)f(as)h Ft($N)e Fu(when)h Ft(N)g
Fu(consists)h(of)f(a)h(single)g(digit.)54 b(P)m(ositional)37
-b(parameters)d(ma)m(y)150 4774 y(not)j(b)s(e)f(assigned)h(to)g(with)f
+b(parameters)d(ma)m(y)150 1327 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 Ft(set)g
Fu(and)g Ft(shift)f Fu(builtins)h(are)h(used)f(to)150
-4884 y(set)k(and)f(unset)f(them)i(\(see)g(Chapter)f(4)g([Shell)h
+1436 y(set)k(and)f(unset)f(them)i(\(see)g(Chapter)f(4)g([Shell)h
(Builtin)g(Commands],)h(page)f(43\).)68 b(The)39 b(p)s(ositional)150
-4993 y(parameters)44 b(are)g(temp)s(orarily)g(replaced)h(when)e(a)h
+1546 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
-5103 y([Shell)30 b(F)-8 b(unctions],)32 b(page)f(17\).)275
-5230 y(When)c(a)i(p)s(ositional)g(parameter)g(consisting)f(of)h(more)f
+1655 y([Shell)30 b(F)-8 b(unctions],)32 b(page)f(17\).)275
+1814 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
-5340 y(b)s(e)h(enclosed)h(in)f(braces.)p eop end
-%%Page: 21 27
-TeXDict begin 21 26 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(21)150 299
-y Fk(3.4.2)63 b(Sp)s(ecial)41 b(P)m(arameters)150 446
-y Fu(The)d(shell)g(treats)h(sev)m(eral)g(parameters)f(sp)s(ecially)-8
-b(.)65 b(These)38 b(parameters)h(ma)m(y)f(only)g(b)s(e)g(referenced;)
-150 555 y(assignmen)m(t)31 b(to)g(them)g(is)f(not)h(allo)m(w)m(ed.)150
-722 y Ft(*)432 b Fu(\($*\))38 b(Expands)d(to)i(the)f(p)s(ositional)h
+1923 y(b)s(e)h(enclosed)h(in)f(braces.)150 2146 y Fk(3.4.2)63
+b(Sp)s(ecial)41 b(P)m(arameters)150 2293 y Fu(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
+2403 y(assignmen)m(t)31 b(to)g(them)g(is)f(not)h(allo)m(w)m(ed.)150
+2598 y Ft(*)432 b Fu(\($*\))38 b(Expands)d(to)i(the)f(p)s(ositional)h
(parameters,)h(starting)f(from)f(one.)59 b(When)36 b(the)g(ex-)630
-831 y(pansion)h(is)h(not)g(within)f(double)g(quotes,)j(eac)m(h)f(p)s
-(ositional)f(parameter)g(expands)f(to)i(a)630 941 y(separate)e(w)m
+2708 y(pansion)h(is)h(not)g(within)f(double)g(quotes,)j(eac)m(h)f(p)s
+(ositional)f(parameter)g(expands)f(to)i(a)630 2817 y(separate)e(w)m
(ord.)56 b(In)35 b(con)m(texts)i(where)e(it)h(is)g(p)s(erformed,)g
-(those)g(w)m(ords)f(are)h(sub)5 b(ject)35 b(to)630 1051
+(those)g(w)m(ords)f(are)h(sub)5 b(ject)35 b(to)630 2927
y(further)h(w)m(ord)h(splitting)h(and)f(pathname)g(expansion.)61
-b(When)38 b(the)f(expansion)g(o)s(ccurs)630 1160 y(within)25
+b(When)38 b(the)f(expansion)g(o)s(ccurs)630 3037 y(within)25
b(double)h(quotes,)h(it)f(expands)f(to)i(a)f(single)g(w)m(ord)f(with)h
-(the)g(v)-5 b(alue)26 b(of)g(eac)m(h)h(param-)630 1270
+(the)g(v)-5 b(alue)26 b(of)g(eac)m(h)h(param-)630 3146
y(eter)32 b(separated)h(b)m(y)e(the)h(\014rst)f(c)m(haracter)i(of)f
(the)g Ft(IFS)f Fu(sp)s(ecial)h(v)-5 b(ariable.)45 b(That)32
-b(is,)g Ft("$*")630 1379 y Fu(is)f(equiv)-5 b(alen)m(t)32
+b(is,)g Ft("$*")630 3256 y Fu(is)f(equiv)-5 b(alen)m(t)32
b(to)g Ft("$1)p Fj(c)p Ft($2)p Fj(c)p Ft(...)m(")p Fu(,)f(where)g
Fr(c)37 b Fu(is)31 b(the)g(\014rst)f(c)m(haracter)j(of)e(the)g(v)-5
-b(alue)32 b(of)f(the)630 1489 y Ft(IFS)e Fu(v)-5 b(ariable.)41
+b(alue)32 b(of)f(the)630 3365 y Ft(IFS)e Fu(v)-5 b(ariable.)41
b(If)29 b Ft(IFS)g Fu(is)h(unset,)f(the)h(parameters)g(are)g(separated)
-g(b)m(y)g(spaces.)41 b(If)29 b Ft(IFS)g Fu(is)630 1599
+g(b)m(y)g(spaces.)41 b(If)29 b Ft(IFS)g Fu(is)630 3475
y(n)m(ull,)i(the)f(parameters)h(are)g(joined)f(without)g(in)m(terv)m
-(ening)i(separators.)150 1763 y Ft(@)432 b Fu(\($@\))35
-b(Expands)e(to)i(the)g(p)s(ositional)g(parameters,)h(starting)f(from)f
-(one.)53 b(When)34 b(the)g(ex-)630 1872 y(pansion)41
-b(o)s(ccurs)g(within)f(double)h(quotes,)k(eac)m(h)d(parameter)g
-(expands)e(to)i(a)g(separate)630 1982 y(w)m(ord.)50 b(That)34
-b(is,)g Ft("$@")f Fu(is)g(equiv)-5 b(alen)m(t)35 b(to)g
-Ft("$1")29 b("$2")g(...)o Fu(.)51 b(If)33 b(the)h(double-quoted)f(ex-)
-630 2091 y(pansion)38 b(o)s(ccurs)h(within)f(a)h(w)m(ord,)i(the)e
-(expansion)g(of)g(the)g(\014rst)f(parameter)h(is)g(joined)630
-2201 y(with)i(the)h(b)s(eginning)e(part)i(of)f(the)h(original)g(w)m
-(ord,)i(and)d(the)h(expansion)f(of)g(the)h(last)630 2311
-y(parameter)31 b(is)f(joined)g(with)f(the)i(last)g(part)e(of)i(the)f
-(original)h(w)m(ord.)40 b(When)30 b(there)h(are)f(no)630
-2420 y(p)s(ositional)e(parameters,)h Ft("$@")d Fu(and)h
-Ft($@)f Fu(expand)h(to)h(nothing)f(\(i.e.,)j(they)e(are)f(remo)m(v)m
-(ed\).)150 2584 y Ft(#)432 b Fu(\($#\))31 b(Expands)e(to)i(the)g(n)m
+(ening)i(separators.)150 3658 y Ft(@)432 b Fu(\($@\))43
+b(Expands)f(to)h(the)g(p)s(ositional)g(parameters,)k(starting)c(from)f
+(one.)78 b(In)42 b(con)m(texts)630 3768 y(where)35 b(w)m(ord)h
+(splitting)g(is)g(p)s(erformed,)g(this)g(expands)e(eac)m(h)j(p)s
+(ositional)g(parameter)f(to)630 3877 y(a)d(separate)h(w)m(ord;)g(if)f
+(not)g(within)g(double)f(quotes,)j(these)e(w)m(ords)g(are)g(sub)5
+b(ject)33 b(to)g(w)m(ord)630 3987 y(splitting.)60 b(In)36
+b(con)m(texts)j(where)d(w)m(ord)g(splitting)h(is)g(not)g(p)s(erformed,)
+g(this)f(expands)g(to)630 4097 y(a)c(single)h(w)m(ord)e(with)h(eac)m(h)
+h(p)s(ositional)g(parameter)f(separated)g(b)m(y)g(a)g(space.)46
+b(When)32 b(the)630 4206 y(expansion)i(o)s(ccurs)h(within)e(double)i
+(quotes,)h(and)e(w)m(ord)g(splitting)h(is)g(p)s(erformed,)f(eac)m(h)630
+4316 y(parameter)23 b(expands)f(to)i(a)f(separate)h(w)m(ord.)37
+b(That)23 b(is,)i Ft("$@")c Fu(is)i(equiv)-5 b(alen)m(t)24
+b(to)g Ft("$1")29 b("$2")630 4425 y(...)o Fu(.)39 b(If)26
+b(the)g(double-quoted)g(expansion)f(o)s(ccurs)h(within)f(a)h(w)m(ord,)h
+(the)f(expansion)g(of)g(the)630 4535 y(\014rst)31 b(parameter)h(is)g
+(joined)f(with)g(the)h(b)s(eginning)f(part)h(of)f(the)h(original)h(w)m
+(ord,)f(and)f(the)630 4645 y(expansion)25 b(of)g(the)h(last)g
+(parameter)f(is)h(joined)f(with)g(the)g(last)h(part)f(of)g(the)h
+(original)g(w)m(ord.)630 4754 y(When)i(there)g(are)g(no)g(p)s
+(ositional)g(parameters,)h Ft("$@")e Fu(and)g Ft($@)h
+Fu(expand)f(to)h(nothing)g(\(i.e.,)630 4864 y(they)j(are)f(remo)m(v)m
+(ed\).)150 5047 y Ft(#)432 b Fu(\($#\))31 b(Expands)e(to)i(the)g(n)m
(um)m(b)s(er)e(of)h(p)s(ositional)i(parameters)e(in)g(decimal.)150
-2748 y Ft(?)432 b Fu(\($?\))88 b(Expands)45 b(to)h(the)g(exit)h(status)
+5230 y Ft(?)432 b Fu(\($?\))88 b(Expands)45 b(to)h(the)g(exit)h(status)
f(of)g(the)g(most)h(recen)m(tly)g(executed)g(foreground)630
-2858 y(pip)s(eline.)150 3022 y Ft(-)432 b Fu(\($-,)24
-b(a)e(h)m(yphen.\))37 b(Expands)20 b(to)i(the)f(curren)m(t)h(option)f
-(\015ags)h(as)f(sp)s(eci\014ed)g(up)s(on)f(in)m(v)m(o)s(cation,)630
-3132 y(b)m(y)38 b(the)h Ft(set)f Fu(builtin)g(command,)j(or)d(those)i
-(set)f(b)m(y)f(the)h(shell)g(itself)g(\(suc)m(h)g(as)g(the)g
-Ft(-i)630 3241 y Fu(option\).)150 3405 y Ft($)432 b Fu(\($$\))31
-b(Expands)d(to)j(the)e(pro)s(cess)h Fm(id)f Fu(of)h(the)g(shell.)41
-b(In)28 b(a)i Ft(\(\))f Fu(subshell,)h(it)g(expands)e(to)j(the)630
-3515 y(pro)s(cess)f Fm(id)g Fu(of)h(the)g(in)m(v)m(oking)g(shell,)g
-(not)g(the)f(subshell.)150 3679 y Ft(!)432 b Fu(\($!\))51
-b(Expands)32 b(to)i(the)g(pro)s(cess)f Fm(id)h Fu(of)f(the)h(job)f
-(most)h(recen)m(tly)h(placed)f(in)m(to)g(the)g(bac)m(k-)630
-3789 y(ground,)26 b(whether)g(executed)g(as)h(an)f(async)m(hronous)f
-(command)h(or)g(using)g(the)g Ft(bg)f Fu(builtin)630
-3898 y(\(see)31 b(Section)h(7.2)f([Job)f(Con)m(trol)h(Builtins],)g
-(page)h(103\).)150 4062 y Ft(0)432 b Fu(\($0\))46 b(Expands)d(to)i(the)
-g(name)g(of)f(the)h(shell)g(or)f(shell)h(script.)83 b(This)44
-b(is)g(set)h(at)h(shell)630 4172 y(initialization.)d(If)27
-b(Bash)h(is)g(in)m(v)m(ok)m(ed)h(with)e(a)i(\014le)e(of)h(commands)g
-(\(see)g(Section)h(3.8)g([Shell)630 4281 y(Scripts],)g(page)g(41\),)h
-Ft($0)e Fu(is)h(set)g(to)g(the)f(name)h(of)f(that)h(\014le.)41
-b(If)28 b(Bash)g(is)h(started)g(with)f(the)630 4391 y
-Ft(-c)i Fu(option)h(\(see)h(Section)g(6.1)f([In)m(v)m(oking)h(Bash],)g
-(page)f(84\),)i(then)d Ft($0)g Fu(is)h(set)g(to)h(the)f(\014rst)630
-4501 y(argumen)m(t)g(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
-4610 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 4774
-y Ft(_)432 b Fu(\($)p 716 4774 28 4 v 41 w(,)41 b(an)e(underscore.\))67
-b(A)m(t)40 b(shell)f(startup,)i(set)f(to)g(the)f(absolute)h(pathname)f
-(used)f(to)630 4884 y(in)m(v)m(ok)m(e)43 b(the)e(shell)g(or)g(shell)g
-(script)g(b)s(eing)f(executed)i(as)f(passed)g(in)f(the)h(en)m(vironmen)
-m(t)630 4994 y(or)34 b(argumen)m(t)g(list.)52 b(Subsequen)m(tly)-8
-b(,)34 b(expands)f(to)i(the)f(last)h(argumen)m(t)f(to)g(the)g(previous)
-630 5103 y(command,)g(after)f(expansion.)48 b(Also)34
-b(set)g(to)f(the)g(full)g(pathname)g(used)f(to)i(in)m(v)m(ok)m(e)h(eac)
-m(h)630 5213 y(command)29 b(executed)h(and)f(placed)g(in)g(the)h(en)m
-(vironmen)m(t)f(exp)s(orted)g(to)h(that)g(command.)630
-5322 y(When)g(c)m(hec)m(king)i(mail,)g(this)e(parameter)h(holds)f(the)g
-(name)h(of)f(the)h(mail)g(\014le.)p eop end
+5340 y(pip)s(eline.)p eop end
%%Page: 22 28
TeXDict begin 22 27 bop 150 -116 a Fu(Chapter)30 b(3:)41
b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(22)150 299
-y Fs(3.5)68 b(Shell)45 b(Expansions)150 458 y Fu(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 Ft(token)p Fu(s.)38 b(There)28
-b(are)150 568 y(sev)m(en)j(kinds)e(of)i(expansion)f(p)s(erformed:)225
-701 y Fq(\017)60 b Fu(brace)31 b(expansion)225 834 y
-Fq(\017)60 b Fu(tilde)31 b(expansion)225 967 y Fq(\017)60
-b Fu(parameter)31 b(and)f(v)-5 b(ariable)31 b(expansion)225
-1100 y Fq(\017)60 b Fu(command)30 b(substitution)225
-1233 y Fq(\017)60 b Fu(arithmetic)32 b(expansion)225
-1366 y Fq(\017)60 b Fu(w)m(ord)30 b(splitting)225 1499
-y Fq(\017)60 b Fu(\014lename)31 b(expansion)275 1655
+y Ft(-)432 b Fu(\($-,)24 b(a)e(h)m(yphen.\))37 b(Expands)20
+b(to)i(the)f(curren)m(t)h(option)f(\015ags)h(as)f(sp)s(eci\014ed)g(up)s
+(on)f(in)m(v)m(o)s(cation,)630 408 y(b)m(y)38 b(the)h
+Ft(set)f Fu(builtin)g(command,)j(or)d(those)i(set)f(b)m(y)f(the)h
+(shell)g(itself)g(\(suc)m(h)g(as)g(the)g Ft(-i)630 518
+y Fu(option\).)150 684 y Ft($)432 b Fu(\($$\))31 b(Expands)d(to)j(the)e
+(pro)s(cess)h Fm(id)f Fu(of)h(the)g(shell.)41 b(In)28
+b(a)i Ft(\(\))f Fu(subshell,)h(it)g(expands)e(to)j(the)630
+793 y(pro)s(cess)f Fm(id)g Fu(of)h(the)g(in)m(v)m(oking)g(shell,)g(not)
+g(the)f(subshell.)150 959 y Ft(!)432 b Fu(\($!\))51 b(Expands)32
+b(to)i(the)g(pro)s(cess)f Fm(id)h Fu(of)f(the)h(job)f(most)h(recen)m
+(tly)h(placed)f(in)m(to)g(the)g(bac)m(k-)630 1069 y(ground,)26
+b(whether)g(executed)g(as)h(an)f(async)m(hronous)f(command)h(or)g
+(using)g(the)g Ft(bg)f Fu(builtin)630 1178 y(\(see)31
+b(Section)h(7.2)f([Job)f(Con)m(trol)h(Builtins],)g(page)h(103\).)150
+1344 y Ft(0)432 b Fu(\($0\))46 b(Expands)d(to)i(the)g(name)g(of)f(the)h
+(shell)g(or)f(shell)h(script.)83 b(This)44 b(is)g(set)h(at)h(shell)630
+1453 y(initialization.)d(If)27 b(Bash)h(is)g(in)m(v)m(ok)m(ed)h(with)e
+(a)i(\014le)e(of)h(commands)g(\(see)g(Section)h(3.8)g([Shell)630
+1563 y(Scripts],)g(page)g(41\),)h Ft($0)e Fu(is)h(set)g(to)g(the)f
+(name)h(of)f(that)h(\014le.)41 b(If)28 b(Bash)g(is)h(started)g(with)f
+(the)630 1673 y Ft(-c)i Fu(option)h(\(see)h(Section)g(6.1)f([In)m(v)m
+(oking)h(Bash],)g(page)f(84\),)i(then)d Ft($0)g Fu(is)h(set)g(to)h(the)
+f(\014rst)630 1782 y(argumen)m(t)g(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 1892 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
+2058 y Ft(_)432 b Fu(\($)p 716 2058 28 4 v 41 w(,)41
+b(an)e(underscore.\))67 b(A)m(t)40 b(shell)f(startup,)i(set)f(to)g(the)
+f(absolute)h(pathname)f(used)f(to)630 2167 y(in)m(v)m(ok)m(e)43
+b(the)e(shell)g(or)g(shell)g(script)g(b)s(eing)f(executed)i(as)f
+(passed)g(in)f(the)h(en)m(vironmen)m(t)630 2277 y(or)34
+b(argumen)m(t)g(list.)52 b(Subsequen)m(tly)-8 b(,)34
+b(expands)f(to)i(the)f(last)h(argumen)m(t)f(to)g(the)g(previous)630
+2386 y(command,)g(after)f(expansion.)48 b(Also)34 b(set)g(to)f(the)g
+(full)g(pathname)g(used)f(to)i(in)m(v)m(ok)m(e)h(eac)m(h)630
+2496 y(command)29 b(executed)h(and)f(placed)g(in)g(the)h(en)m(vironmen)
+m(t)f(exp)s(orted)g(to)h(that)g(command.)630 2605 y(When)g(c)m(hec)m
+(king)i(mail,)g(this)e(parameter)h(holds)f(the)g(name)h(of)f(the)h
+(mail)g(\014le.)150 2856 y Fs(3.5)68 b(Shell)45 b(Expansions)150
+3015 y Fu(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 Ft(token)p
+Fu(s.)38 b(There)28 b(are)150 3125 y(sev)m(en)j(kinds)e(of)i(expansion)
+f(p)s(erformed:)225 3265 y Fq(\017)60 b Fu(brace)31 b(expansion)225
+3403 y Fq(\017)60 b Fu(tilde)31 b(expansion)225 3541
+y Fq(\017)60 b Fu(parameter)31 b(and)f(v)-5 b(ariable)31
+b(expansion)225 3678 y Fq(\017)60 b Fu(command)30 b(substitution)225
+3816 y Fq(\017)60 b Fu(arithmetic)32 b(expansion)225
+3954 y Fq(\017)60 b Fu(w)m(ord)30 b(splitting)225 4091
+y Fq(\017)60 b Fu(\014lename)31 b(expansion)275 4260
y(The)24 b(order)h(of)h(expansions)f(is:)39 b(brace)25
b(expansion;)j(tilde)e(expansion,)g(parameter)g(and)f(v)-5
-b(ariable)26 b(ex-)150 1765 y(pansion,)j(arithmetic)i(expansion,)f(and)
+b(ariable)26 b(ex-)150 4370 y(pansion,)j(arithmetic)i(expansion,)f(and)
f(command)g(substitution)g(\(done)g(in)h(a)f(left-to-righ)m(t)k
-(fashion\);)150 1874 y(w)m(ord)d(splitting;)h(and)f(\014lename)h
-(expansion.)275 2007 y(On)42 b(systems)h(that)h(can)g(supp)s(ort)e(it,)
+(fashion\);)150 4479 y(w)m(ord)d(splitting;)h(and)f(\014lename)h
+(expansion.)275 4620 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 Fr(pro)s(cess)150 2117 y(substitution)p
+b(ailable:)69 b Fr(pro)s(cess)150 4730 y(substitution)p
Fu(.)50 b(This)33 b(is)h(p)s(erformed)e(at)j(the)f(same)g(time)g(as)g
(tilde,)i(parameter,)f(v)-5 b(ariable,)35 b(and)f(arith-)150
-2226 y(metic)d(expansion)g(and)e(command)i(substitution.)275
-2359 y(After)f(these)h(expansions)f(are)g(p)s(erformed,)f(quote)i(c)m
+4839 y(metic)d(expansion)g(and)e(command)i(substitution.)275
+4980 y(After)f(these)h(expansions)f(are)g(p)s(erformed,)f(quote)i(c)m
(haracters)h(presen)m(t)e(in)g(the)g(original)i(w)m(ord)e(are)150
-2469 y(remo)m(v)m(ed)h(unless)f(they)h(ha)m(v)m(e)g(b)s(een)f(quoted)g
+5090 y(remo)m(v)m(ed)h(unless)f(they)h(ha)m(v)m(e)g(b)s(een)f(quoted)g
(themselv)m(es)i(\()p Fr(quote)f(remo)m(v)-5 b(al)t Fu(\).)275
-2602 y(Only)31 b(brace)i(expansion,)h(w)m(ord)e(splitting,)i(and)e
+5230 y(Only)31 b(brace)i(expansion,)h(w)m(ord)e(splitting,)i(and)e
(\014lename)h(expansion)f(can)h(increase)g(the)g(n)m(um)m(b)s(er)150
-2711 y(of)24 b(w)m(ords)g(of)g(the)h(expansion;)h(other)e(expansions)g
+5340 y(of)24 b(w)m(ords)g(of)g(the)h(expansion;)h(other)e(expansions)g
(expand)g(a)g(single)h(w)m(ord)f(to)h(a)f(single)h(w)m(ord.)38
-b(The)24 b(only)150 2821 y(exceptions)i(to)f(this)g(are)g(the)g
-(expansions)g(of)g Ft("$@")f Fu(and)g Ft($*)g Fu(\(see)i(Section)f
-(3.4.2)i([Sp)s(ecial)e(P)m(arameters],)150 2931 y(page)31
-b(21\),)h(and)e Ft("${)p Fj(name)p Ft([@]}")d Fu(and)i
-Ft(${)p Fj(name)p Ft([*]})f Fu(\(see)j(Section)h(6.7)f([Arra)m(ys],)g
-(page)g(93\).)275 3064 y(After)41 b(all)i(expansions,)h
-Ft(quote)29 b(removal)40 b Fu(\(see)i(Section)h(3.5.9)g([Quote)f(Remo)m
-(v)-5 b(al],)47 b(page)42 b(33\))h(is)150 3173 y(p)s(erformed.)150
-3369 y Fk(3.5.1)63 b(Brace)40 b(Expansion)150 3516 y
-Fu(Brace)32 b(expansion)f(is)f(a)i(mec)m(hanism)f(b)m(y)f(whic)m(h)h
-(arbitrary)f(strings)h(ma)m(y)g(b)s(e)f(generated.)43
-b(This)30 b(mec)m(h-)150 3626 y(anism)35 b(is)h(similar)f(to)h
-Fr(\014lename)g(expansion)f Fu(\(see)i(Section)f(3.5.8)h([Filename)g
-(Expansion],)f(page)g(31\),)150 3736 y(but)26 b(the)h(\014lenames)g
-(generated)h(need)f(not)g(exist.)40 b(P)m(atterns)28
-b(to)f(b)s(e)g(brace)g(expanded)f(tak)m(e)i(the)f(form)g(of)150
-3845 y(an)j(optional)h Fr(pream)m(ble)p Fu(,)g(follo)m(w)m(ed)g(b)m(y)f
-(either)g(a)h(series)f(of)g(comma-separated)i(strings)d(or)h(a)h
-(sequence)150 3955 y(expression)36 b(b)s(et)m(w)m(een)g(a)h(pair)e(of)i
-(braces,)g(follo)m(w)m(ed)h(b)m(y)e(an)g(optional)h Fr(p)s(ostscript)p
-Fu(.)57 b(The)36 b(pream)m(ble)g(is)150 4064 y(pre\014xed)28
+b(The)24 b(only)p eop end
+%%Page: 23 29
+TeXDict begin 23 28 bop 150 -116 a Fu(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(23)150 299
+y(exceptions)26 b(to)f(this)g(are)g(the)g(expansions)g(of)g
+Ft("$@")f Fu(and)g Ft($*)g Fu(\(see)i(Section)f(3.4.2)i([Sp)s(ecial)e
+(P)m(arameters],)150 408 y(page)31 b(21\),)h(and)e Ft("${)p
+Fj(name)p Ft([@]}")d Fu(and)i Ft(${)p Fj(name)p Ft([*]})f
+Fu(\(see)j(Section)h(6.7)f([Arra)m(ys],)g(page)g(93\).)275
+537 y(After)41 b(all)i(expansions,)h Ft(quote)29 b(removal)40
+b Fu(\(see)i(Section)h(3.5.9)g([Quote)f(Remo)m(v)-5 b(al],)47
+b(page)42 b(34\))h(is)150 647 y(p)s(erformed.)150 834
+y Fk(3.5.1)63 b(Brace)40 b(Expansion)150 981 y Fu(Brace)32
+b(expansion)f(is)f(a)i(mec)m(hanism)f(b)m(y)f(whic)m(h)h(arbitrary)f
+(strings)h(ma)m(y)g(b)s(e)f(generated.)43 b(This)30 b(mec)m(h-)150
+1090 y(anism)35 b(is)h(similar)f(to)h Fr(\014lename)g(expansion)f
+Fu(\(see)i(Section)f(3.5.8)h([Filename)g(Expansion],)f(page)g(32\),)150
+1200 y(but)26 b(the)h(\014lenames)g(generated)h(need)f(not)g(exist.)40
+b(P)m(atterns)28 b(to)f(b)s(e)g(brace)g(expanded)f(tak)m(e)i(the)f
+(form)g(of)150 1310 y(an)j(optional)h Fr(pream)m(ble)p
+Fu(,)g(follo)m(w)m(ed)g(b)m(y)f(either)g(a)h(series)f(of)g
+(comma-separated)i(strings)d(or)h(a)h(sequence)150 1419
+y(expression)36 b(b)s(et)m(w)m(een)g(a)h(pair)e(of)i(braces,)g(follo)m
+(w)m(ed)h(b)m(y)e(an)g(optional)h Fr(p)s(ostscript)p
+Fu(.)57 b(The)36 b(pream)m(ble)g(is)150 1529 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
-4174 y(eac)m(h)32 b(resulting)e(string,)h(expanding)e(left)j(to)f(righ)
-m(t.)275 4307 y(Brace)37 b(expansions)f(ma)m(y)h(b)s(e)f(nested.)59
+1638 y(eac)m(h)32 b(resulting)e(string,)h(expanding)e(left)j(to)f(righ)
+m(t.)275 1767 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 4416 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 4549 y Ft(bash$)46
-b(echo)h(a{d,c,b}e)390 4659 y(ade)g(ace)g(abe)275 4792
+(sorted;)150 1876 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 2005 y Ft(bash$)46
+b(echo)h(a{d,c,b}e)390 2115 y(ade)g(ace)g(abe)275 2243
y Fu(A)23 b(sequence)g(expression)g(tak)m(es)i(the)e(form)g
Ft({)p Fj(x)p Ft(..)p Fj(y)p Ft([..)p Fj(incr)p Ft(]})p
Fu(,)e(where)i Fr(x)29 b Fu(and)23 b Fr(y)30 b Fu(are)24
-b(either)g(in)m(tegers)150 4902 y(or)42 b(single)h(c)m(haracters,)48
+b(either)g(in)m(tegers)150 2353 y(or)42 b(single)h(c)m(haracters,)48
b(and)41 b Fr(incr)p Fu(,)46 b(an)c(optional)i(incremen)m(t,)i(is)c(an)
-h(in)m(teger.)78 b(When)42 b(in)m(tegers)i(are)150 5011
+h(in)m(teger.)78 b(When)42 b(in)m(tegers)i(are)150 2462
y(supplied,)f(the)f(expression)f(expands)f(to)i(eac)m(h)h(n)m(um)m(b)s
(er)d(b)s(et)m(w)m(een)i Fr(x)47 b Fu(and)41 b Fr(y)p
-Fu(,)j(inclusiv)m(e.)75 b(Supplied)150 5121 y(in)m(tegers)33
+Fu(,)j(inclusiv)m(e.)75 b(Supplied)150 2572 y(in)m(tegers)33
b(ma)m(y)e(b)s(e)g(pre\014xed)f(with)h(`)p Ft(0)p Fu(')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 5230 y Fr(x)43 b Fu(or)36 b Fr(y)44
+b(When)31 b(either)150 2681 y Fr(x)43 b Fu(or)36 b Fr(y)44
b Fu(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
-5340 y(same)e(n)m(um)m(b)s(er)e(of)i(digits,)i(zero-padding)d(where)h
+2791 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)
-p eop end
-%%Page: 23 29
-TeXDict begin 23 28 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(23)150 299
-y(expression)24 b(expands)g(to)h(eac)m(h)h(c)m(haracter)g
+150 2901 y(expression)24 b(expands)g(to)h(eac)m(h)h(c)m(haracter)g
(lexicographically)h(b)s(et)m(w)m(een)e Fr(x)30 b Fu(and)24
-b Fr(y)p Fu(,)i(inclusiv)m(e,)h(using)d(the)150 408 y(default)32
-b(C)g(lo)s(cale.)48 b(Note)34 b(that)f(b)s(oth)e Fr(x)39
-b Fu(and)31 b Fr(y)40 b Fu(m)m(ust)32 b(b)s(e)g(of)g(the)h(same)f(t)m
-(yp)s(e.)47 b(When)32 b(the)g(incremen)m(t)150 518 y(is)d(supplied,)g
-(it)h(is)f(used)f(as)i(the)f(di\013erence)h(b)s(et)m(w)m(een)g(eac)m(h)
-g(term.)41 b(The)29 b(default)g(incremen)m(t)h(is)f(1)h(or)f(-1)150
-628 y(as)i(appropriate.)275 764 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 873 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 983
-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.)275 1119 y(A)h(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 Fr(y)p Fu(,)i(inclusiv)m(e,)h(using)d(the)150 3010
+y(default)32 b(C)g(lo)s(cale.)48 b(Note)34 b(that)f(b)s(oth)e
+Fr(x)39 b Fu(and)31 b Fr(y)40 b Fu(m)m(ust)32 b(b)s(e)g(of)g(the)h
+(same)f(t)m(yp)s(e.)47 b(When)32 b(the)g(incremen)m(t)150
+3120 y(is)d(supplied,)g(it)h(is)f(used)f(as)i(the)f(di\013erence)h(b)s
+(et)m(w)m(een)g(eac)m(h)g(term.)41 b(The)29 b(default)g(incremen)m(t)h
+(is)f(1)h(or)f(-1)150 3229 y(as)i(appropriate.)275 3358
+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
+3467 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 3577 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.)275 3706
+y(A)h(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
+3815 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 1338 y(brace)d(expansion)f(is)g(left)h(unc)m(hanged.)275
-1474 y(A)25 b Fi({)h Fu(or)f(`)p Ft(,)p Fu(')g(ma)m(y)h(b)s(e)f(quoted)
+(formed)150 3925 y(brace)d(expansion)f(is)g(left)h(unc)m(hanged.)275
+4053 y(A)25 b Fi({)h Fu(or)f(`)p Ft(,)p Fu(')g(ma)m(y)h(b)s(e)f(quoted)
h(with)f(a)g(bac)m(kslash)h(to)g(prev)m(en)m(t)g(its)g(b)s(eing)f
-(considered)g(part)g(of)h(a)g(brace)150 1583 y(expression.)51
+(considered)g(part)g(of)h(a)g(brace)150 4163 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 Ft(${)p Fu(')g(is)g(not)g(considered)
-150 1693 y(eligible)e(for)e(brace)h(expansion,)f(and)g(inhibits)g
+150 4272 y(eligible)e(for)e(brace)h(expansion,)f(and)g(inhibits)g
(brace)h(expansion)f(un)m(til)g(the)h(closing)h(`)p Ft(})p
-Fu('..)275 1829 y(This)e(construct)h(is)g(t)m(ypically)i(used)d(as)h
+Fu('..)275 4401 y(This)e(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 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 Ft(mkdir)46 b(/usr/local/src/bash/{old,n)o
-(ew,)o(dist)o(,bug)o(s})275 2210 y Fu(or)390 2346 y Ft(chown)g(root)h
+150 4511 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 4639 y Ft(mkdir)46 b(/usr/local/src/bash/{old,n)o
+(ew,)o(dist)o(,bug)o(s})275 4768 y Fu(or)390 4896 y Ft(chown)g(root)h
(/usr/{ucb/{ex,edit},lib/)o({ex?)o(.?*,)o(how)o(_ex})o(})150
-2547 y Fk(3.5.2)63 b(Tilde)41 b(Expansion)150 2694 y
+5083 y Fk(3.5.2)63 b(Tilde)41 b(Expansion)150 5230 y
Fu(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 Ft(~)p Fu('\),)g(all)g(of)f(the)g(c)m(haracters)h(up)
-d(to)j(the)f(\014rst)150 2804 y(unquoted)24 b(slash)g(\(or)h(all)h(c)m
+d(to)j(the)f(\014rst)150 5340 y(unquoted)24 b(slash)g(\(or)h(all)h(c)m
(haracters,)h(if)e(there)g(is)f(no)h(unquoted)e(slash\))i(are)g
-(considered)g(a)g Fr(tilde-pre\014x)p Fu(.)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
-3023 y(follo)m(wing)28 b(the)g(tilde)f(are)h(treated)g(as)f(a)g(p)s
+(considered)g(a)g Fr(tilde-pre\014x)p Fu(.)p eop end
+%%Page: 24 30
+TeXDict begin 24 29 bop 150 -116 a Fu(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(24)150 299
+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
+408 y(follo)m(wing)28 b(the)g(tilde)f(are)h(treated)g(as)f(a)g(p)s
(ossible)g Fr(login)h(name)p Fu(.)39 b(If)27 b(this)g(login)h(name)f
-(is)g(the)g(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
-Ft(HOME)e Fu(shell)i(v)-5 b(ariable.)54 b(If)34 b Ft(HOME)g
-Fu(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
+(is)g(the)g(n)m(ull)g(string,)150 518 y(the)35 b(tilde)g(is)g(replaced)
+g(with)f(the)h(v)-5 b(alue)35 b(of)g(the)g Ft(HOME)e
+Fu(shell)i(v)-5 b(ariable.)54 b(If)34 b Ft(HOME)g Fu(is)h(unset,)g(the)
+g(home)150 628 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 737 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 874 y(If)g(the)h(tilde-pre\014x)f(is)h(`)p
Ft(~+)p Fu(',)g(the)g(v)-5 b(alue)33 b(of)g(the)g(shell)g(v)-5
b(ariable)34 b Ft(PWD)d Fu(replaces)j(the)f(tilde-pre\014x.)47
-b(If)150 3597 y(the)31 b(tilde-pre\014x)f(is)g(`)p Ft(~-)p
+b(If)150 984 y(the)31 b(tilde-pre\014x)f(is)g(`)p Ft(~-)p
Fu(',)h(the)f(v)-5 b(alue)31 b(of)g(the)f(shell)h(v)-5
b(ariable)31 b Ft(OLDPWD)p Fu(,)e(if)h(it)h(is)g(set,)g(is)f
-(substituted.)275 3733 y(If)f(the)h(c)m(haracters)h(follo)m(wing)h(the)
+(substituted.)275 1121 y(If)f(the)h(c)m(haracters)h(follo)m(wing)h(the)
e(tilde)g(in)g(the)g(tilde-pre\014x)g(consist)g(of)g(a)h(n)m(um)m(b)s
-(er)d Fr(N)p Fu(,)j(optionally)150 3843 y(pre\014xed)22
+(er)d Fr(N)p Fu(,)j(optionally)150 1230 y(pre\014xed)22
b(b)m(y)h(a)h(`)p Ft(+)p Fu(')f(or)h(a)f(`)p Ft(-)p Fu(',)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 3952 y(directory)36 b(stac)m(k,)i(as)e(it)
+(elemen)m(t)j(from)e(the)150 1340 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
Ft(dirs)g Fu(builtin)g(in)m(v)m(ok)m(ed)i(with)e(the)g(c)m(haracters)
-150 4062 y(follo)m(wing)40 b(tilde)f(in)g(the)f(tilde-pre\014x)h(as)g
+150 1450 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 4171 y(page)c(95\).)57 b(If)35 b(the)g(tilde-pre\014x,)i(sans)
+(k],)150 1559 y(page)c(95\).)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 Ft(+)p Fu(')g(or)150 4281 y(`)p Ft(-)p
-Fu(',)31 b(`)p Ft(+)p Fu(')f(is)h(assumed.)275 4417 y(If)e(the)i(login)
+(leading)h(`)p Ft(+)p Fu(')g(or)150 1669 y(`)p Ft(-)p
+Fu(',)31 b(`)p Ft(+)p Fu(')f(is)h(assumed.)275 1806 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
-4553 y(Eac)m(h)38 b(v)-5 b(ariable)38 b(assignmen)m(t)h(is)e(c)m(hec)m
+1943 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 4662 y(a)d(`)p Ft(:)p Fu(')g(or)g(the)g(\014rst)f(`)p
+(wing)150 2052 y(a)d(`)p Ft(:)p Fu(')g(or)g(the)g(\014rst)f(`)p
Ft(=)p Fu('.)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 4772 y(ma)m(y)29 b(use)e(\014lenames)h(with)g(tildes)g(in)g
+b(one)150 2162 y(ma)m(y)29 b(use)e(\014lenames)h(with)g(tildes)g(in)g
(assignmen)m(ts)g(to)h Ft(PATH)p Fu(,)f Ft(MAILPATH)p
Fu(,)e(and)h Ft(CDPATH)p Fu(,)g(and)h(the)g(shell)150
-4882 y(assigns)j(the)f(expanded)g(v)-5 b(alue.)275 5018
+2271 y(assigns)j(the)f(expanded)g(v)-5 b(alue.)275 2408
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 Ft(~)432 b Fu(The)30
-b(v)-5 b(alue)31 b(of)f Ft($HOME)150 5340 y(~/foo)240
-b($HOME/foo)p eop end
-%%Page: 24 30
-TeXDict begin 24 29 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(24)150 299
-y Ft(~fred/foo)630 408 y Fu(The)30 b(sub)s(directory)f
-Ft(foo)h Fu(of)g(the)h(home)f(directory)h(of)g(the)f(user)g
-Ft(fred)150 585 y(~+/foo)192 b($PWD/foo)150 762 y(~-/foo)g
-(${OLDPWD-'~-'}/foo)150 939 y(~)p Fj(N)384 b Fu(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
-Ft(dirs)g(+)p Fj(N)p Fu(')150 1115 y Ft(~+)p Fj(N)336
+(unquoted)e(tilde-pre\014xes:)150 2572 y Ft(~)432 b Fu(The)30
+b(v)-5 b(alue)31 b(of)f Ft($HOME)150 2733 y(~/foo)240
+b($HOME/foo)150 2895 y(~fred/foo)630 3005 y Fu(The)30
+b(sub)s(directory)f Ft(foo)h Fu(of)g(the)h(home)f(directory)h(of)g(the)
+f(user)g Ft(fred)150 3167 y(~+/foo)192 b($PWD/foo)150
+3329 y(~-/foo)g(${OLDPWD-'~-'}/foo)150 3491 y(~)p Fj(N)384
b Fu(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 Ft(dirs)g(+)p Fj(N)p Fu(')150 1292 y Ft(~-)p
+(y)f(`)p Ft(dirs)g(+)p Fj(N)p Fu(')150 3653 y Ft(~+)p
Fj(N)336 b Fu(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 Ft(dirs)g(-)p Fj(N)p Fu(')150 1509
-y Fk(3.5.3)63 b(Shell)41 b(P)m(arameter)f(Expansion)150
-1656 y Fu(The)g(`)p Ft($)p Fu(')h(c)m(haracter)i(in)m(tro)s(duces)d
-(parameter)h(expansion,)j(command)d(substitution,)i(or)e(arithmetic)150
-1765 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 1875 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 1984 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 2136
-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 Ft(})p Fu(')g(not)g(escap)s(ed)h(b)m(y)f(a)
-150 2246 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
-2355 y(command)30 b(substitution,)g(or)h(parameter)g(expansion.)275
-2507 y(The)40 b(basic)i(form)f(of)g(parameter)h(expansion)f(is)h($)p
+(ed)h(b)m(y)f(`)p Ft(dirs)g(+)p Fj(N)p Fu(')150 3814
+y Ft(~-)p Fj(N)336 b Fu(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 Ft(dirs)g(-)p Fj(N)p Fu(')275
+3978 y(Bash)40 b(also)h(p)s(erforms)e(tilde)h(expansion)g(on)h(w)m
+(ords)e(satisfying)i(the)f(conditions)h(of)f(v)-5 b(ariable)41
+b(as-)150 4087 y(signmen)m(ts)f(\(see)h(Section)g(3.4)g([Shell)f(P)m
+(arameters],)k(page)d(19\))g(when)e(they)h(app)s(ear)f(as)i(argumen)m
+(ts)150 4197 y(to)c(simple)f(commands.)57 b(Bash)36 b(do)s(es)f(not)h
+(do)g(this,)i(except)f(for)e(the)h Fr(declaration)i Fu(commands)d
+(listed)150 4306 y(ab)s(o)m(v)m(e,)d(when)d(in)h Fm(posix)g
+Fu(mo)s(de.)150 4508 y Fk(3.5.3)63 b(Shell)41 b(P)m(arameter)f
+(Expansion)150 4655 y Fu(The)g(`)p Ft($)p Fu(')h(c)m(haracter)i(in)m
+(tro)s(duces)d(parameter)h(expansion,)j(command)d(substitution,)i(or)e
+(arithmetic)150 4765 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 4874 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 4984 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
+5121 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 Ft(})p Fu(')g(not)g(escap)s(ed)h(b)m
+(y)f(a)150 5230 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 5340 y(command)30 b(substitution,)g(or)h(parameter)g(expansion.)p
+eop end
+%%Page: 25 31
+TeXDict begin 25 30 bop 150 -116 a Fu(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(25)275 299
+y(The)40 b(basic)i(form)f(of)g(parameter)h(expansion)f(is)h($)p
Fi({)p Fr(parameter)7 b Fi(})p Fu(.)74 b(The)41 b(v)-5
-b(alue)42 b(of)g Fr(parameter)48 b Fu(is)150 2617 y(substituted.)43
+b(alue)42 b(of)g Fr(parameter)48 b Fu(is)150 408 y(substituted.)43
b(The)31 b Fr(parameter)39 b Fu(is)31 b(a)h(shell)f(parameter)h(as)g
(describ)s(ed)e(ab)s(o)m(v)m(e)j(\(see)f(Section)g(3.4)h([Shell)150
-2726 y(P)m(arameters],)e(page)f(19\))h(or)e(an)g(arra)m(y)h(reference)f
+518 y(P)m(arameters],)e(page)f(19\))h(or)e(an)g(arra)m(y)h(reference)f
(\(see)i(Section)f(6.7)g([Arra)m(ys],)g(page)g(93\).)42
-b(The)29 b(braces)150 2836 y(are)j(required)g(when)f
-Fr(parameter)39 b Fu(is)32 b(a)h(p)s(ositional)f(parameter)h(with)f
-(more)g(than)g(one)g(digit,)i(or)e(when)150 2946 y Fr(parameter)37
-b Fu(is)31 b(follo)m(w)m(ed)h(b)m(y)e(a)h(c)m(haracter)h(that)f(is)f
-(not)h(to)g(b)s(e)f(in)m(terpreted)g(as)h(part)f(of)h(its)f(name.)275
-3097 y(If)k(the)h(\014rst)f(c)m(haracter)i(of)f Fr(parameter)42
+b(The)29 b(braces)150 628 y(are)j(required)g(when)f Fr(parameter)39
+b Fu(is)32 b(a)h(p)s(ositional)f(parameter)h(with)f(more)g(than)g(one)g
+(digit,)i(or)e(when)150 737 y Fr(parameter)37 b Fu(is)31
+b(follo)m(w)m(ed)h(b)m(y)e(a)h(c)m(haracter)h(that)f(is)f(not)h(to)g(b)
+s(e)f(in)m(terpreted)g(as)h(part)f(of)h(its)f(name.)275
+885 y(If)k(the)h(\014rst)f(c)m(haracter)i(of)f Fr(parameter)42
b Fu(is)35 b(an)g(exclamation)i(p)s(oin)m(t)e(\(!\),)i(and)d
-Fr(parameter)42 b Fu(is)34 b(not)i(a)150 3207 y Fr(nameref)p
-Fu(,)i(it)f(in)m(tro)s(duces)f(a)h(lev)m(el)h(of)f(v)-5
-b(ariable)37 b(indirection.)59 b(Bash)37 b(uses)f(the)g(v)-5
-b(alue)37 b(of)g(the)f(v)-5 b(ariable)150 3317 y(formed)22
-b(from)f(the)h(rest)h(of)f Fr(parameter)29 b Fu(as)22
-b(the)g(name)h(of)f(the)g(v)-5 b(ariable;)26 b(this)c(v)-5
-b(ariable)23 b(is)f(then)g(expanded)150 3426 y(and)34
-b(that)h(v)-5 b(alue)35 b(is)g(used)f(in)g(the)h(rest)g(of)g(the)g
-(substitution,)g(rather)g(than)f(the)h(v)-5 b(alue)35
-b(of)g Fr(parameter)150 3536 y Fu(itself.)74 b(This)41
-b(is)g(kno)m(wn)g(as)g Ft(indirect)28 b(expansion)p Fu(.)71
-b(The)41 b(v)-5 b(alue)42 b(is)f(sub)5 b(ject)41 b(to)h(tilde)g
-(expansion,)150 3645 y(parameter)e(expansion,)i(command)d
-(substitution,)j(and)d(arithmetic)h(expansion.)68 b(If)39
-b Fr(parameter)47 b Fu(is)150 3755 y(a)40 b(nameref,)h(this)e(expands)g
-(to)g(the)h(name)f(of)g(the)h(v)-5 b(ariable)40 b(referenced)f(b)m(y)g
-Fr(parameter)46 b Fu(instead)40 b(of)150 3865 y(p)s(erforming)32
-b(the)i(complete)h(indirect)f(expansion.)51 b(The)33
-b(exceptions)i(to)f(this)g(are)g(the)f(expansions)h(of)150
-3974 y($)p Fi({)p Fu(!)p Fr(pre\014x)6 b Fu(*)p Fi(})39
-b Fu(and)f($)p Fi({)p Fu(!)p Fr(name)5 b Fu([@])p Fi(})40
-b Fu(describ)s(ed)d(b)s(elo)m(w.)64 b(The)37 b(exclamation)k(p)s(oin)m
-(t)d(m)m(ust)g(immediately)150 4084 y(follo)m(w)32 b(the)e(left)h
-(brace)g(in)f(order)g(to)h(in)m(tro)s(duce)f(indirection.)275
-4236 y(In)39 b(eac)m(h)i(of)g(the)f(cases)h(b)s(elo)m(w,)i
-Fr(w)m(ord)h Fu(is)c(sub)5 b(ject)40 b(to)h(tilde)f(expansion,)j
-(parameter)e(expansion,)150 4345 y(command)30 b(substitution,)g(and)g
-(arithmetic)i(expansion.)275 4497 y(When)h(not)h(p)s(erforming)e
+Fr(parameter)42 b Fu(is)34 b(not)i(a)150 995 y Fr(nameref)p
+Fu(,)c(it)f(in)m(tro)s(duces)h(a)f(lev)m(el)i(of)f(indirection.)44
+b(Bash)31 b(uses)g(the)g(v)-5 b(alue)32 b(formed)f(b)m(y)g(expanding)g
+(the)150 1104 y(rest)c(of)f Fr(parameter)33 b Fu(as)27
+b(the)g(new)f Fr(parameter)7 b Fu(;)28 b(this)e(is)g(then)g(expanded)g
+(and)g(that)h(v)-5 b(alue)27 b(is)f(used)g(in)g(the)150
+1214 y(rest)33 b(of)f(the)h(expansion,)g(rather)g(than)f(the)h
+(expansion)f(of)h(the)g(original)g Fr(parameter)p Fu(.)48
+b(This)32 b(is)g(kno)m(wn)150 1324 y(as)42 b Ft(indirect)28
+b(expansion)p Fu(.)71 b(The)41 b(v)-5 b(alue)41 b(is)h(sub)5
+b(ject)41 b(to)h(tilde)g(expansion,)i(parameter)e(expansion,)150
+1433 y(command)31 b(substitution,)g(and)g(arithmetic)h(expansion.)43
+b(If)31 b Fr(parameter)38 b Fu(is)32 b(a)f(nameref,)h(this)f(expands)
+150 1543 y(to)d(the)g(name)g(of)f(the)h(v)-5 b(ariable)28
+b(referenced)g(b)m(y)f Fr(parameter)35 b Fu(instead)27
+b(of)h(p)s(erforming)e(the)i(complete)h(in-)150 1652
+y(direct)e(expansion.)39 b(The)25 b(exceptions)i(to)g(this)f(are)h(the)
+f(expansions)g(of)g($)p Fi({)p Fu(!)p Fr(pre\014x)6 b
+Fu(*)p Fi(})28 b Fu(and)d($)p Fi({)p Fu(!)p Fr(name)5
+b Fu([@])p Fi(})150 1762 y Fu(describ)s(ed)28 b(b)s(elo)m(w.)41
+b(The)28 b(exclamation)j(p)s(oin)m(t)f(m)m(ust)f(immediately)h(follo)m
+(w)g(the)g(left)f(brace)h(in)f(order)f(to)150 1872 y(in)m(tro)s(duce)i
+(indirection.)275 2019 y(In)39 b(eac)m(h)i(of)g(the)f(cases)h(b)s(elo)m
+(w,)i Fr(w)m(ord)h Fu(is)c(sub)5 b(ject)40 b(to)h(tilde)f(expansion,)j
+(parameter)e(expansion,)150 2129 y(command)30 b(substitution,)g(and)g
+(arithmetic)i(expansion.)275 2277 y(When)h(not)h(p)s(erforming)e
(substring)h(expansion,)h(using)g(the)f(form)h(describ)s(ed)e(b)s(elo)m
-(w)i(\(e.g.,)i(`)p Ft(:-)p Fu('\),)150 4607 y(Bash)d(tests)h(for)e(a)i
+(w)i(\(e.g.,)i(`)p Ft(:-)p Fu('\),)150 2387 y(Bash)d(tests)h(for)e(a)i
(parameter)f(that)h(is)e(unset)h(or)g(n)m(ull.)48 b(Omitting)33
-b(the)h(colon)f(results)g(in)g(a)g(test)h(only)150 4716
+b(the)h(colon)f(results)g(in)g(a)g(test)h(only)150 2496
y(for)c(a)i(parameter)f(that)g(is)g(unset.)41 b(Put)31
b(another)f(w)m(a)m(y)-8 b(,)33 b(if)e(the)f(colon)i(is)f(included,)f
-(the)h(op)s(erator)g(tests)150 4826 y(for)36 b(b)s(oth)g
+(the)h(op)s(erator)g(tests)150 2606 y(for)36 b(b)s(oth)g
Fr(parameter)7 b Fu('s)37 b(existence)h(and)e(that)i(its)f(v)-5
b(alue)37 b(is)g(not)f(n)m(ull;)k(if)d(the)g(colon)h(is)e(omitted,)k
-(the)150 4935 y(op)s(erator)31 b(tests)g(only)f(for)g(existence.)150
-5121 y Ft(${)p Fj(parameter)p Ft(:)p Fq(\000)p Fj(word)p
-Ft(})630 5230 y Fu(If)g Fr(parameter)37 b Fu(is)30 b(unset)g(or)h(n)m
+(the)150 2715 y(op)s(erator)31 b(tests)g(only)f(for)g(existence.)150
+2895 y Ft(${)p Fj(parameter)p Ft(:)p Fq(\000)p Fj(word)p
+Ft(})630 3005 y Fu(If)g Fr(parameter)37 b Fu(is)30 b(unset)g(or)h(n)m
(ull,)f(the)h(expansion)f(of)g Fr(w)m(ord)k Fu(is)c(substituted.)40
-b(Otherwise,)630 5340 y(the)31 b(v)-5 b(alue)30 b(of)h
-Fr(parameter)37 b Fu(is)31 b(substituted.)p eop end
-%%Page: 25 31
-TeXDict begin 25 30 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(25)150 299
-y Ft(${)p Fj(parameter)p Ft(:=)p Fj(word)p Ft(})630 408
-y Fu(If)33 b Fr(parameter)40 b Fu(is)33 b(unset)f(or)h(n)m(ull,)h(the)f
+b(Otherwise,)630 3114 y(the)31 b(v)-5 b(alue)30 b(of)h
+Fr(parameter)37 b Fu(is)31 b(substituted.)150 3287 y
+Ft(${)p Fj(parameter)p Ft(:=)p Fj(word)p Ft(})630 3397
+y Fu(If)i Fr(parameter)40 b Fu(is)33 b(unset)f(or)h(n)m(ull,)h(the)f
(expansion)g(of)g Fr(w)m(ord)j Fu(is)d(assigned)g(to)h
-Fr(parameter)p Fu(.)630 518 y(The)c(v)-5 b(alue)32 b(of)f
+Fr(parameter)p Fu(.)630 3506 y(The)c(v)-5 b(alue)32 b(of)f
Fr(parameter)38 b Fu(is)31 b(then)g(substituted.)42 b(P)m(ositional)33
-b(parameters)e(and)f(sp)s(ecial)630 628 y(parameters)h(ma)m(y)g(not)f
+b(parameters)e(and)f(sp)s(ecial)630 3616 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
-786 y Ft(${)p Fj(parameter)p Ft(:?)p Fj(word)p Ft(})630
-896 y Fu(If)26 b Fr(parameter)33 b Fu(is)26 b(n)m(ull)g(or)g(unset,)h
+3789 y Ft(${)p Fj(parameter)p Ft(:?)p Fj(word)p Ft(})630
+3898 y Fu(If)26 b Fr(parameter)33 b Fu(is)26 b(n)m(ull)g(or)g(unset,)h
(the)f(expansion)g(of)g Fr(w)m(ord)k Fu(\(or)c(a)h(message)g(to)g(that)
-f(e\013ect)630 1005 y(if)i Fr(w)m(ord)j Fu(is)d(not)g(presen)m(t\))h
+f(e\013ect)630 4008 y(if)i Fr(w)m(ord)j Fu(is)d(not)g(presen)m(t\))h
(is)f(written)g(to)h(the)f(standard)f(error)h(and)f(the)h(shell,)h(if)f
-(it)h(is)f(not)630 1115 y(in)m(teractiv)m(e,)33 b(exits.)42
+(it)h(is)f(not)630 4118 y(in)m(teractiv)m(e,)33 b(exits.)42
b(Otherwise,)30 b(the)h(v)-5 b(alue)31 b(of)f Fr(parameter)38
-b Fu(is)30 b(substituted.)150 1273 y Ft(${)p Fj(parameter)p
-Ft(:+)p Fj(word)p Ft(})630 1383 y Fu(If)35 b Fr(parameter)42
+b Fu(is)30 b(substituted.)150 4290 y Ft(${)p Fj(parameter)p
+Ft(:+)p Fj(word)p Ft(})630 4400 y Fu(If)35 b Fr(parameter)42
b Fu(is)36 b(n)m(ull)f(or)h(unset,)g(nothing)g(is)f(substituted,)i
-(otherwise)e(the)h(expansion)630 1492 y(of)31 b Fr(w)m(ord)i
-Fu(is)e(substituted.)150 1650 y Ft(${)p Fj(parameter)p
-Ft(:)p Fj(offset)p Ft(})150 1760 y(${)p Fj(parameter)p
-Ft(:)p Fj(offset)p Ft(:)p Fj(lengt)o(h)p Ft(})630 1870
+(otherwise)e(the)h(expansion)630 4510 y(of)31 b Fr(w)m(ord)i
+Fu(is)e(substituted.)150 4682 y Ft(${)p Fj(parameter)p
+Ft(:)p Fj(offset)p Ft(})150 4792 y(${)p Fj(parameter)p
+Ft(:)p Fj(offset)p Ft(:)p Fj(lengt)o(h)p Ft(})630 4902
y Fu(This)f(is)h(referred)f(to)h(as)g(Substring)f(Expansion.)41
b(It)31 b(expands)f(to)h(up)f(to)h Fr(length)g Fu(c)m(harac-)630
-1979 y(ters)k(of)g(the)h(v)-5 b(alue)35 b(of)g Fr(parameter)42
+5011 y(ters)k(of)g(the)h(v)-5 b(alue)35 b(of)g Fr(parameter)42
b Fu(starting)36 b(at)g(the)f(c)m(haracter)i(sp)s(eci\014ed)d(b)m(y)h
-Fr(o\013set)p Fu(.)55 b(If)630 2089 y Fr(parameter)32
+Fr(o\013set)p Fu(.)55 b(If)630 5121 y Fr(parameter)32
b Fu(is)26 b(`)p Ft(@)p Fu(',)g(an)f(indexed)g(arra)m(y)h(subscripted)e
(b)m(y)h(`)p Ft(@)p Fu(')g(or)h(`)p Ft(*)p Fu(',)g(or)g(an)f(asso)s
-(ciativ)m(e)j(ar-)630 2198 y(ra)m(y)g(name,)h(the)f(results)g(di\013er)
+(ciativ)m(e)j(ar-)630 5230 y(ra)m(y)g(name,)h(the)f(results)g(di\013er)
g(as)g(describ)s(ed)f(b)s(elo)m(w.)40 b(If)28 b Fr(length)g
-Fu(is)g(omitted,)i(it)f(expands)630 2308 y(to)e(the)g(substring)f(of)g
+Fu(is)g(omitted,)i(it)f(expands)630 5340 y(to)e(the)g(substring)f(of)g
(the)h(v)-5 b(alue)27 b(of)g Fr(parameter)33 b Fu(starting)28
-b(at)f(the)g(c)m(haracter)h(sp)s(eci\014ed)e(b)m(y)630
-2418 y Fr(o\013set)37 b Fu(and)d(extending)g(to)h(the)f(end)g(of)g(the)
-g(v)-5 b(alue.)53 b Fr(length)34 b Fu(and)g Fr(o\013set)j
-Fu(are)e(arithmetic)630 2527 y(expressions)30 b(\(see)h(Section)g(6.5)h
-([Shell)e(Arithmetic],)i(page)f(91\).)630 2661 y(If)39
+b(at)f(the)g(c)m(haracter)h(sp)s(eci\014ed)e(b)m(y)p
+eop end
+%%Page: 26 32
+TeXDict begin 26 31 bop 150 -116 a Fu(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(26)630 299
+y Fr(o\013set)37 b Fu(and)d(extending)g(to)h(the)f(end)g(of)g(the)g(v)
+-5 b(alue.)53 b Fr(length)34 b Fu(and)g Fr(o\013set)j
+Fu(are)e(arithmetic)630 408 y(expressions)30 b(\(see)h(Section)g(6.5)h
+([Shell)e(Arithmetic],)i(page)f(91\).)630 555 y(If)39
b Fr(o\013set)k Fu(ev)-5 b(aluates)41 b(to)f(a)g(n)m(um)m(b)s(er)f
(less)h(than)f(zero,)k(the)d(v)-5 b(alue)40 b(is)g(used)e(as)i(an)g
-(o\013set)630 2771 y(in)33 b(c)m(haracters)i(from)f(the)f(end)g(of)h
+(o\013set)630 664 y(in)33 b(c)m(haracters)i(from)f(the)f(end)g(of)h
(the)g(v)-5 b(alue)34 b(of)g Fr(parameter)p Fu(.)51 b(If)33
-b Fr(length)h Fu(ev)-5 b(aluates)35 b(to)g(a)630 2880
+b Fr(length)h Fu(ev)-5 b(aluates)35 b(to)g(a)630 774
y(n)m(um)m(b)s(er)23 b(less)h(than)g(zero,)j(it)d(is)h(in)m(terpreted)f
(as)g(an)h(o\013set)g(in)f(c)m(haracters)h(from)f(the)g(end)g(of)630
-2990 y(the)31 b(v)-5 b(alue)31 b(of)g Fr(parameter)38
+883 y(the)31 b(v)-5 b(alue)31 b(of)g Fr(parameter)38
b Fu(rather)30 b(than)h(a)g(n)m(um)m(b)s(er)f(of)g(c)m(haracters,)j
-(and)d(the)h(expansion)630 3099 y(is)39 b(the)g(c)m(haracters)i(b)s(et)
-m(w)m(een)f Fr(o\013set)i Fu(and)c(that)i(result.)67
-b(Note)40 b(that)g(a)g(negativ)m(e)h(o\013set)630 3209
-y(m)m(ust)27 b(b)s(e)g(separated)g(from)g(the)g(colon)i(b)m(y)e(at)h
-(least)g(one)f(space)h(to)g(a)m(v)m(oid)h(b)s(eing)e(confused)630
-3319 y(with)j(the)h(`)p Ft(:-)p Fu(')f(expansion.)630
-3453 y(Here)43 b(are)g(some)f(examples)h(illustrating)g(substring)f
-(expansion)g(on)g(parameters)h(and)630 3562 y(subscripted)29
-b(arra)m(ys:)630 3696 y Ft($)47 b(string=01234567890abcdefgh)630
-3806 y($)g(echo)g(${string:7})630 3915 y(7890abcdefgh)630
-4025 y($)g(echo)g(${string:7:0})630 4244 y($)g(echo)g(${string:7:2})630
-4354 y(78)630 4463 y($)g(echo)g(${string:7:-2})630 4573
-y(7890abcdef)630 4682 y($)g(echo)g(${string:)e(-7})630
-4792 y(bcdefgh)630 4902 y($)i(echo)g(${string:)e(-7:0})630
-5121 y($)i(echo)g(${string:)e(-7:2})630 5230 y(bc)630
-5340 y($)i(echo)g(${string:)e(-7:-2})p eop end
-%%Page: 26 32
-TeXDict begin 26 31 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(26)630 299
-y Ft(bcdef)630 408 y($)47 b(set)g(--)h(01234567890abcdefgh)630
-518 y($)f(echo)g(${1:7})630 628 y(7890abcdefgh)630 737
-y($)g(echo)g(${1:7:0})630 956 y($)g(echo)g(${1:7:2})630
-1066 y(78)630 1176 y($)g(echo)g(${1:7:-2})630 1285 y(7890abcdef)630
-1395 y($)g(echo)g(${1:)g(-7})630 1504 y(bcdefgh)630 1614
-y($)g(echo)g(${1:)g(-7:0})630 1833 y($)g(echo)g(${1:)g(-7:2})630
-1943 y(bc)630 2052 y($)g(echo)g(${1:)g(-7:-2})630 2162
-y(bcdef)630 2271 y($)g(array[0]=01234567890abcdef)o(gh)630
-2381 y($)g(echo)g(${array[0]:7})630 2491 y(7890abcdefgh)630
-2600 y($)g(echo)g(${array[0]:7:0})630 2819 y($)g(echo)g
-(${array[0]:7:2})630 2929 y(78)630 3039 y($)g(echo)g(${array[0]:7:-2})
-630 3148 y(7890abcdef)630 3258 y($)g(echo)g(${array[0]:)e(-7})630
-3367 y(bcdefgh)630 3477 y($)i(echo)g(${array[0]:)e(-7:0})630
-3696 y($)i(echo)g(${array[0]:)e(-7:2})630 3806 y(bc)630
-3915 y($)i(echo)g(${array[0]:)e(-7:-2})630 4025 y(bcdef)630
-4171 y Fu(If)22 b Fr(parameter)30 b Fu(is)23 b(`)p Ft(@)p
+(and)d(the)h(expansion)630 993 y(is)39 b(the)g(c)m(haracters)i(b)s(et)m
+(w)m(een)f Fr(o\013set)i Fu(and)c(that)i(result.)67 b(Note)40
+b(that)g(a)g(negativ)m(e)h(o\013set)630 1103 y(m)m(ust)27
+b(b)s(e)g(separated)g(from)g(the)g(colon)i(b)m(y)e(at)h(least)g(one)f
+(space)h(to)g(a)m(v)m(oid)h(b)s(eing)e(confused)630 1212
+y(with)j(the)h(`)p Ft(:-)p Fu(')f(expansion.)630 1358
+y(Here)43 b(are)g(some)f(examples)h(illustrating)g(substring)f
+(expansion)g(on)g(parameters)h(and)630 1468 y(subscripted)29
+b(arra)m(ys:)630 1614 y Ft($)47 b(string=01234567890abcdefgh)630
+1724 y($)g(echo)g(${string:7})630 1833 y(7890abcdefgh)630
+1943 y($)g(echo)g(${string:7:0})630 2162 y($)g(echo)g(${string:7:2})630
+2271 y(78)630 2381 y($)g(echo)g(${string:7:-2})630 2491
+y(7890abcdef)630 2600 y($)g(echo)g(${string:)e(-7})630
+2710 y(bcdefgh)630 2819 y($)i(echo)g(${string:)e(-7:0})630
+3039 y($)i(echo)g(${string:)e(-7:2})630 3148 y(bc)630
+3258 y($)i(echo)g(${string:)e(-7:-2})630 3367 y(bcdef)630
+3477 y($)i(set)g(--)h(01234567890abcdefgh)630 3587 y($)f(echo)g(${1:7})
+630 3696 y(7890abcdefgh)630 3806 y($)g(echo)g(${1:7:0})630
+4025 y($)g(echo)g(${1:7:2})630 4134 y(78)630 4244 y($)g(echo)g
+(${1:7:-2})630 4354 y(7890abcdef)630 4463 y($)g(echo)g(${1:)g(-7})630
+4573 y(bcdefgh)630 4682 y($)g(echo)g(${1:)g(-7:0})630
+4902 y($)g(echo)g(${1:)g(-7:2})630 5011 y(bc)630 5121
+y($)g(echo)g(${1:)g(-7:-2})630 5230 y(bcdef)630 5340
+y($)g(array[0]=01234567890abcdef)o(gh)p eop end
+%%Page: 27 33
+TeXDict begin 27 32 bop 150 -116 a Fu(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(27)630 299
+y Ft($)47 b(echo)g(${array[0]:7})630 408 y(7890abcdefgh)630
+518 y($)g(echo)g(${array[0]:7:0})630 737 y($)g(echo)g(${array[0]:7:2})
+630 847 y(78)630 956 y($)g(echo)g(${array[0]:7:-2})630
+1066 y(7890abcdef)630 1176 y($)g(echo)g(${array[0]:)e(-7})630
+1285 y(bcdefgh)630 1395 y($)i(echo)g(${array[0]:)e(-7:0})630
+1614 y($)i(echo)g(${array[0]:)e(-7:2})630 1724 y(bc)630
+1833 y($)i(echo)g(${array[0]:)e(-7:-2})630 1943 y(bcdef)630
+2071 y Fu(If)22 b Fr(parameter)30 b Fu(is)23 b(`)p Ft(@)p
Fu(',)i(the)e(result)g(is)g Fr(length)h Fu(p)s(ositional)f(parameters)h
-(b)s(eginning)e(at)i Fr(o\013set)p Fu(.)630 4281 y(A)36
+(b)s(eginning)e(at)i Fr(o\013set)p Fu(.)630 2180 y(A)36
b(negativ)m(e)j Fr(o\013set)g Fu(is)e(tak)m(en)g(relativ)m(e)i(to)e
(one)g(greater)g(than)f(the)h(greatest)h(p)s(ositional)630
-4390 y(parameter,)29 b(so)f(an)g(o\013set)h(of)f(-1)g(ev)-5
+2290 y(parameter,)29 b(so)f(an)g(o\013set)h(of)f(-1)g(ev)-5
b(aluates)30 b(to)e(the)g(last)h(p)s(ositional)g(parameter.)40
-b(It)28 b(is)g(an)630 4500 y(expansion)i(error)g(if)h
+b(It)28 b(is)g(an)630 2399 y(expansion)i(error)g(if)h
Fr(length)f Fu(ev)-5 b(aluates)32 b(to)f(a)g(n)m(um)m(b)s(er)e(less)i
-(than)f(zero.)630 4646 y(The)i(follo)m(wing)i(examples)f(illustrate)h
+(than)f(zero.)630 2527 y(The)i(follo)m(wing)i(examples)f(illustrate)h
(substring)d(expansion)i(using)f(p)s(ositional)h(param-)630
-4755 y(eters:)630 4902 y Ft($)47 b(set)g(--)h(1)f(2)g(3)h(4)f(5)h(6)f
-(7)h(8)f(9)h(0)f(a)h(b)f(c)g(d)h(e)f(f)h(g)f(h)630 5011
-y($)g(echo)g(${@:7})630 5121 y(7)g(8)h(9)f(0)h(a)f(b)h(c)f(d)h(e)f(f)h
-(g)f(h)630 5230 y($)g(echo)g(${@:7:0})p eop end
-%%Page: 27 33
-TeXDict begin 27 32 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(27)630 299
-y Ft($)47 b(echo)g(${@:7:2})630 408 y(7)g(8)630 518 y($)g(echo)g
-(${@:7:-2})630 628 y(bash:)f(-2:)h(substring)f(expression)f(<)i(0)630
-737 y($)g(echo)g(${@:)g(-7:2})630 847 y(b)g(c)630 956
-y($)g(echo)g(${@:0})630 1066 y(./bash)f(1)i(2)f(3)g(4)h(5)f(6)h(7)f(8)h
-(9)f(0)h(a)f(b)h(c)f(d)g(e)h(f)f(g)h(h)630 1176 y($)f(echo)g(${@:0:2})
-630 1285 y(./bash)f(1)630 1395 y($)h(echo)g(${@:)g(-7:0})630
-1677 y Fu(If)36 b Fr(parameter)43 b Fu(is)36 b(an)g(indexed)g(arra)m(y)
+2637 y(eters:)630 2765 y Ft($)47 b(set)g(--)h(1)f(2)g(3)h(4)f(5)h(6)f
+(7)h(8)f(9)h(0)f(a)h(b)f(c)g(d)h(e)f(f)h(g)f(h)630 2874
+y($)g(echo)g(${@:7})630 2984 y(7)g(8)h(9)f(0)h(a)f(b)h(c)f(d)h(e)f(f)h
+(g)f(h)630 3093 y($)g(echo)g(${@:7:0})630 3313 y($)g(echo)g(${@:7:2})
+630 3422 y(7)g(8)630 3532 y($)g(echo)g(${@:7:-2})630
+3641 y(bash:)f(-2:)h(substring)f(expression)f(<)i(0)630
+3751 y($)g(echo)g(${@:)g(-7:2})630 3861 y(b)g(c)630 3970
+y($)g(echo)g(${@:0})630 4080 y(./bash)f(1)i(2)f(3)g(4)h(5)f(6)h(7)f(8)h
+(9)f(0)h(a)f(b)h(c)f(d)g(e)h(f)f(g)h(h)630 4189 y($)f(echo)g(${@:0:2})
+630 4299 y(./bash)f(1)630 4408 y($)h(echo)g(${@:)g(-7:0})630
+4646 y Fu(If)36 b Fr(parameter)43 b Fu(is)36 b(an)g(indexed)g(arra)m(y)
g(name)g(subscripted)f(b)m(y)h(`)p Ft(@)p Fu(')g(or)h(`)p
-Ft(*)p Fu(',)h(the)e(result)g(is)630 1786 y(the)j Fr(length)g
+Ft(*)p Fu(',)h(the)e(result)g(is)630 4755 y(the)j Fr(length)g
Fu(mem)m(b)s(ers)f(of)h(the)f(arra)m(y)i(b)s(eginning)d(with)i
Ft(${)p Fj(parameter)p Ft([)p Fj(offset)p Ft(]})p Fu(.)60
-b(A)630 1896 y(negativ)m(e)33 b Fr(o\013set)g Fu(is)e(tak)m(en)h
+b(A)630 4865 y(negativ)m(e)33 b Fr(o\013set)g Fu(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 2005 y(sp)s(eci\014ed)38 b(arra)m(y)-8
+(of)h(the)630 4975 y(sp)s(eci\014ed)38 b(arra)m(y)-8
b(.)65 b(It)38 b(is)g(an)h(expansion)f(error)f(if)i Fr(length)f
Fu(ev)-5 b(aluates)40 b(to)f(a)g(n)m(um)m(b)s(er)e(less)630
-2115 y(than)30 b(zero.)630 2287 y(These)23 b(examples)i(sho)m(w)e(ho)m
+5084 y(than)30 b(zero.)630 5212 y(These)23 b(examples)i(sho)m(w)e(ho)m
(w)h(y)m(ou)g(can)g(use)f(substring)f(expansion)i(with)f(indexed)g
-(arra)m(ys:)630 2459 y Ft($)47 b(array=\(0)f(1)h(2)h(3)f(4)h(5)f(6)h(7)
-f(8)h(9)f(0)h(a)f(b)g(c)h(d)f(e)h(f)f(g)h(h\))630 2569
-y($)f(echo)g(${array[@]:7})630 2679 y(7)g(8)h(9)f(0)h(a)f(b)h(c)f(d)h
-(e)f(f)h(g)f(h)630 2788 y($)g(echo)g(${array[@]:7:2})630
-2898 y(7)g(8)630 3007 y($)g(echo)g(${array[@]:)e(-7:2})630
-3117 y(b)i(c)630 3226 y($)g(echo)g(${array[@]:)e(-7:-2})630
-3336 y(bash:)h(-2:)h(substring)f(expression)f(<)i(0)630
-3446 y($)g(echo)g(${array[@]:0})630 3555 y(0)g(1)h(2)f(3)h(4)f(5)h(6)f
-(7)h(8)f(9)h(0)f(a)g(b)h(c)f(d)h(e)f(f)h(g)f(h)630 3665
-y($)g(echo)g(${array[@]:0:2})630 3774 y(0)g(1)630 3884
-y($)g(echo)g(${array[@]:)e(-7:0})630 4166 y Fu(Substring)25
+(arra)m(ys:)630 5340 y Ft($)47 b(array=\(0)f(1)h(2)h(3)f(4)h(5)f(6)h(7)
+f(8)h(9)f(0)h(a)f(b)g(c)h(d)f(e)h(f)f(g)h(h\))p eop end
+%%Page: 28 34
+TeXDict begin 28 33 bop 150 -116 a Fu(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(28)630 299
+y Ft($)47 b(echo)g(${array[@]:7})630 408 y(7)g(8)h(9)f(0)h(a)f(b)h(c)f
+(d)h(e)f(f)h(g)f(h)630 518 y($)g(echo)g(${array[@]:7:2})630
+628 y(7)g(8)630 737 y($)g(echo)g(${array[@]:)e(-7:2})630
+847 y(b)i(c)630 956 y($)g(echo)g(${array[@]:)e(-7:-2})630
+1066 y(bash:)h(-2:)h(substring)f(expression)f(<)i(0)630
+1176 y($)g(echo)g(${array[@]:0})630 1285 y(0)g(1)h(2)f(3)h(4)f(5)h(6)f
+(7)h(8)f(9)h(0)f(a)g(b)h(c)f(d)h(e)f(f)h(g)f(h)630 1395
+y($)g(echo)g(${array[@]:0:2})630 1504 y(0)g(1)630 1614
+y($)g(echo)g(${array[@]:)e(-7:0})630 1855 y Fu(Substring)25
b(expansion)g(applied)h(to)h(an)f(asso)s(ciativ)m(e)j(arra)m(y)d(pro)s
-(duces)f(unde\014ned)f(results.)630 4338 y(Substring)32
+(duces)f(unde\014ned)f(results.)630 1987 y(Substring)32
b(indexing)i(is)f(zero-based)i(unless)e(the)h(p)s(ositional)g
-(parameters)g(are)g(used,)g(in)630 4448 y(whic)m(h)29
+(parameters)g(are)g(used,)g(in)630 2096 y(whic)m(h)29
b(case)i(the)f(indexing)g(starts)g(at)g(1)g(b)m(y)g(default.)41
b(If)29 b Fr(o\013set)k Fu(is)d(0,)g(and)f(the)h(p)s(ositional)630
-4557 y(parameters)h(are)f(used,)g Ft($@)g Fu(is)g(pre\014xed)g(to)h
-(the)f(list.)150 4792 y Ft(${!)p Fj(prefix)p Ft(*})150
-4902 y(${!)p Fj(prefix)p Ft(@})630 5011 y Fu(Expands)24
+2206 y(parameters)h(are)f(used,)g Ft($@)g Fu(is)g(pre\014xed)g(to)h
+(the)f(list.)150 2359 y Ft(${!)p Fj(prefix)p Ft(*})150
+2469 y(${!)p Fj(prefix)p Ft(@})630 2578 y Fu(Expands)24
b(to)h(the)g(names)g(of)g(v)-5 b(ariables)26 b(whose)f(names)f(b)s
(egin)h(with)f Fr(pre\014x)p Fu(,)i(separated)f(b)m(y)630
-5121 y(the)k(\014rst)f(c)m(haracter)j(of)e(the)g Ft(IFS)f
+2688 y(the)k(\014rst)f(c)m(haracter)j(of)e(the)g Ft(IFS)f
Fu(sp)s(ecial)i(v)-5 b(ariable.)41 b(When)29 b(`)p Ft(@)p
-Fu(')g(is)g(used)f(and)h(the)g(expan-)630 5230 y(sion)35
+Fu(')g(is)g(used)f(and)h(the)g(expan-)630 2798 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
-5340 y(w)m(ord.)p eop end
-%%Page: 28 34
-TeXDict begin 28 33 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(28)150 299
-y Ft(${!)p Fj(name)p Ft([@]})150 408 y(${!)p Fj(name)p
-Ft([*]})630 518 y Fu(If)26 b Fr(name)32 b Fu(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 628 y(in)c Fr(name)p Fu(.)39
-b(If)24 b Fr(name)30 b Fu(is)24 b(not)h(an)f(arra)m(y)-8
-b(,)27 b(expands)c(to)j(0)f(if)f Fr(name)30 b Fu(is)24
-b(set)h(and)f(n)m(ull)g(otherwise.)630 737 y(When)39
-b(`)p Ft(@)p Fu(')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 847
-y(expands)30 b(to)h(a)f(separate)i(w)m(ord.)150 1011
-y Ft(${#)p Fj(parameter)p Ft(})630 1121 y Fu(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
-Fr(parameter)47 b Fu(is)40 b(substituted.)630 1230 y(If)i
-Fr(parameter)50 b Fu(is)43 b(`)p Ft(*)p Fu(')g(or)g(`)p
+2907 y(w)m(ord.)150 3061 y Ft(${!)p Fj(name)p Ft([@]})150
+3170 y(${!)p Fj(name)p Ft([*]})630 3280 y Fu(If)26 b
+Fr(name)32 b Fu(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 3389 y(in)c Fr(name)p Fu(.)39 b(If)24 b
+Fr(name)30 b Fu(is)24 b(not)h(an)f(arra)m(y)-8 b(,)27
+b(expands)c(to)j(0)f(if)f Fr(name)30 b Fu(is)24 b(set)h(and)f(n)m(ull)g
+(otherwise.)630 3499 y(When)39 b(`)p Ft(@)p Fu(')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 3608 y(expands)30 b(to)h(a)f(separate)i(w)m(ord.)150
+3762 y Ft(${#)p Fj(parameter)p Ft(})630 3871 y Fu(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 Fr(parameter)47 b Fu(is)40 b(substituted.)630
+3981 y(If)i Fr(parameter)50 b Fu(is)43 b(`)p Ft(*)p Fu(')g(or)g(`)p
Ft(@)p Fu(',)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 1340 y(parameters.)i(If)32
+(b)s(er)f(of)h(p)s(ositional)630 4091 y(parameters.)i(If)32
b Fr(parameter)38 b Fu(is)32 b(an)g(arra)m(y)g(name)g(subscripted)f(b)m
(y)g(`)p Ft(*)p Fu(')h(or)g(`)p Ft(@)p Fu(',)g(the)g(v)-5
-b(alue)630 1450 y(substituted)30 b(is)h(the)g(n)m(um)m(b)s(er)e(of)i
+b(alue)630 4200 y(substituted)30 b(is)h(the)g(n)m(um)m(b)s(er)e(of)i
(elemen)m(ts)i(in)d(the)h(arra)m(y)-8 b(.)43 b(If)30
-b Fr(parameter)38 b Fu(is)31 b(an)f(indexed)630 1559
+b Fr(parameter)38 b Fu(is)31 b(an)f(indexed)630 4310
y(arra)m(y)37 b(name)g(subscripted)f(b)m(y)h(a)g(negativ)m(e)i(n)m(um)m
(b)s(er,)f(that)f(n)m(um)m(b)s(er)f(is)g(in)m(terpreted)i(as)630
-1669 y(relativ)m(e)47 b(to)g(one)e(greater)i(than)e(the)h(maxim)m(um)f
+4419 y(relativ)m(e)47 b(to)g(one)e(greater)i(than)e(the)h(maxim)m(um)f
(index)g(of)g Fr(parameter)p Fu(,)50 b(so)c(negativ)m(e)630
-1778 y(indices)30 b(coun)m(t)h(bac)m(k)g(from)f(the)h(end)e(of)i(the)f
+4529 y(indices)30 b(coun)m(t)h(bac)m(k)g(from)f(the)h(end)e(of)i(the)f
(arra)m(y)-8 b(,)32 b(and)e(an)g(index)g(of)g(-1)h(references)g(the)630
-1888 y(last)g(elemen)m(t.)150 2052 y Ft(${)p Fj(parameter)p
-Ft(#)p Fj(word)p Ft(})150 2162 y(${)p Fj(parameter)p
-Ft(##)p Fj(word)p Ft(})630 2271 y Fu(The)43 b Fr(w)m(ord)k
+4639 y(last)g(elemen)m(t.)150 4792 y Ft(${)p Fj(parameter)p
+Ft(#)p Fj(word)p Ft(})150 4902 y(${)p Fj(parameter)p
+Ft(##)p Fj(word)p Ft(})630 5011 y Fu(The)43 b Fr(w)m(ord)k
Fu(is)d(expanded)f(to)h(pro)s(duce)f(a)h(pattern)g(and)f(matc)m(hed)i
-(according)f(to)h(the)630 2381 y(rules)31 b(describ)s(ed)g(b)s(elo)m(w)
+(according)f(to)h(the)630 5121 y(rules)31 b(describ)s(ed)g(b)s(elo)m(w)
h(\(see)h(Section)g(3.5.8.1)h([P)m(attern)g(Matc)m(hing],)g(page)f
-(32\).)46 b(If)32 b(the)630 2491 y(pattern)37 b(matc)m(hes)h(the)f(b)s
+(33\).)46 b(If)32 b(the)630 5230 y(pattern)37 b(matc)m(hes)h(the)f(b)s
(eginning)f(of)h(the)g(expanded)f(v)-5 b(alue)38 b(of)f
-Fr(parameter)p Fu(,)i(then)e(the)630 2600 y(result)f(of)h(the)f
+Fr(parameter)p Fu(,)i(then)e(the)630 5340 y(result)f(of)h(the)f
(expansion)h(is)f(the)h(expanded)e(v)-5 b(alue)37 b(of)g
-Fr(parameter)43 b Fu(with)36 b(the)h(shortest)630 2710
+Fr(parameter)43 b Fu(with)36 b(the)h(shortest)p eop end
+%%Page: 29 35
+TeXDict begin 29 34 bop 150 -116 a Fu(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(29)630 299
y(matc)m(hing)31 b(pattern)e(\(the)h(`)p Ft(#)p Fu(')g(case\))h(or)e
(the)h(longest)h(matc)m(hing)f(pattern)g(\(the)g(`)p
-Ft(##)p Fu(')g(case\))630 2819 y(deleted.)49 b(If)32
-b Fr(parameter)40 b Fu(is)33 b(`)p Ft(@)p Fu(')g(or)g(`)p
+Ft(##)p Fu(')g(case\))630 408 y(deleted.)49 b(If)32 b
+Fr(parameter)40 b Fu(is)33 b(`)p Ft(@)p Fu(')g(or)g(`)p
Ft(*)p Fu(',)h(the)f(pattern)g(remo)m(v)-5 b(al)34 b(op)s(eration)g(is)
-f(applied)f(to)630 2929 y(eac)m(h)38 b(p)s(ositional)g(parameter)g(in)f
+f(applied)f(to)630 518 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 3039 y Fr(parameter)38 b Fu(is)32 b(an)f(arra)m(y)h(v)-5
+b(If)630 628 y Fr(parameter)38 b Fu(is)32 b(an)f(arra)m(y)h(v)-5
b(ariable)32 b(subscripted)e(with)h(`)p Ft(@)p Fu(')g(or)h(`)p
-Ft(*)p Fu(',)g(the)f(pattern)h(remo)m(v)-5 b(al)630 3148
+Ft(*)p Fu(',)g(the)f(pattern)h(remo)m(v)-5 b(al)630 737
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
-3258 y(the)h(resultan)m(t)g(list.)150 3422 y Ft(${)p
-Fj(parameter)p Ft(\045)p Fj(word)p Ft(})150 3532 y(${)p
-Fj(parameter)p Ft(\045\045)p Fj(word)p Ft(})630 3641
-y Fu(The)43 b Fr(w)m(ord)k Fu(is)d(expanded)f(to)h(pro)s(duce)f(a)h
-(pattern)g(and)f(matc)m(hed)i(according)f(to)h(the)630
-3751 y(rules)31 b(describ)s(ed)g(b)s(elo)m(w)h(\(see)h(Section)g
-(3.5.8.1)h([P)m(attern)g(Matc)m(hing],)g(page)f(32\).)46
-b(If)32 b(the)630 3861 y(pattern)25 b(matc)m(hes)h(If)f(the)g(pattern)g
-(matc)m(hes)i(a)e(trailing)h(p)s(ortion)f(of)g(the)g(expanded)f(v)-5
-b(alue)630 3970 y(of)23 b Fr(parameter)p Fu(,)i(then)e(the)g(result)f
-(of)h(the)g(expansion)g(is)g(the)g(v)-5 b(alue)23 b(of)g
-Fr(parameter)30 b Fu(with)23 b(the)630 4080 y(shortest)35
-b(matc)m(hing)h(pattern)f(\(the)g(`)p Ft(\045)p Fu(')g(case\))i(or)d
-(the)h(longest)i(matc)m(hing)e(pattern)g(\(the)630 4189
-y(`)p Ft(\045\045)p Fu(')f(case\))i(deleted.)54 b(If)34
-b Fr(parameter)42 b Fu(is)35 b(`)p Ft(@)p Fu(')f(or)h(`)p
+847 y(the)h(resultan)m(t)g(list.)150 993 y Ft(${)p Fj(parameter)p
+Ft(\045)p Fj(word)p Ft(})150 1103 y(${)p Fj(parameter)p
+Ft(\045\045)p Fj(word)p Ft(})630 1212 y Fu(The)43 b Fr(w)m(ord)k
+Fu(is)d(expanded)f(to)h(pro)s(duce)f(a)h(pattern)g(and)f(matc)m(hed)i
+(according)f(to)h(the)630 1322 y(rules)31 b(describ)s(ed)g(b)s(elo)m(w)
+h(\(see)h(Section)g(3.5.8.1)h([P)m(attern)g(Matc)m(hing],)g(page)f
+(33\).)46 b(If)32 b(the)630 1431 y(pattern)25 b(matc)m(hes)h(If)f(the)g
+(pattern)g(matc)m(hes)i(a)e(trailing)h(p)s(ortion)f(of)g(the)g
+(expanded)f(v)-5 b(alue)630 1541 y(of)23 b Fr(parameter)p
+Fu(,)i(then)e(the)g(result)f(of)h(the)g(expansion)g(is)g(the)g(v)-5
+b(alue)23 b(of)g Fr(parameter)30 b Fu(with)23 b(the)630
+1650 y(shortest)35 b(matc)m(hing)h(pattern)f(\(the)g(`)p
+Ft(\045)p Fu(')g(case\))i(or)d(the)h(longest)i(matc)m(hing)e(pattern)g
+(\(the)630 1760 y(`)p Ft(\045\045)p Fu(')f(case\))i(deleted.)54
+b(If)34 b Fr(parameter)42 b Fu(is)35 b(`)p Ft(@)p Fu(')f(or)h(`)p
Ft(*)p Fu(',)h(the)e(pattern)h(remo)m(v)-5 b(al)36 b(op)s(eration)f(is)
-630 4299 y(applied)26 b(to)g(eac)m(h)h(p)s(ositional)f(parameter)h(in)e
+630 1870 y(applied)26 b(to)g(eac)m(h)h(p)s(ositional)f(parameter)h(in)e
(turn,)h(and)f(the)h(expansion)g(is)f(the)h(resultan)m(t)630
-4408 y(list.)56 b(If)34 b Fr(parameter)42 b Fu(is)35
+1979 y(list.)56 b(If)34 b Fr(parameter)42 b Fu(is)35
b(an)g(arra)m(y)h(v)-5 b(ariable)36 b(subscripted)e(with)g(`)p
Ft(@)p Fu(')i(or)f(`)p Ft(*)p Fu(',)i(the)e(pattern)630
-4518 y(remo)m(v)-5 b(al)44 b(op)s(eration)g(is)e(applied)h(to)h(eac)m
+2089 y(remo)m(v)-5 b(al)44 b(op)s(eration)g(is)e(applied)h(to)h(eac)m
(h)g(mem)m(b)s(er)e(of)h(the)g(arra)m(y)h(in)e(turn,)j(and)e(the)630
-4628 y(expansion)30 b(is)h(the)f(resultan)m(t)h(list.)150
-4792 y Ft(${)p Fj(parameter)p Ft(/)p Fj(pattern)p Ft(/)p
-Fj(stri)o(ng)p Ft(})630 4902 y Fu(The)37 b Fr(pattern)g
+2198 y(expansion)30 b(is)h(the)f(resultan)m(t)h(list.)150
+2345 y Ft(${)p Fj(parameter)p Ft(/)p Fj(pattern)p Ft(/)p
+Fj(stri)o(ng)p Ft(})630 2454 y Fu(The)37 b Fr(pattern)g
Fu(is)g(expanded)g(to)h(pro)s(duce)e(a)h(pattern)g(just)g(as)h(in)e
-(\014lename)i(expansion.)630 5011 y Fr(P)m(arameter)46
+(\014lename)i(expansion.)630 2564 y Fr(P)m(arameter)46
b Fu(is)38 b(expanded)f(and)g(the)i(longest)g(matc)m(h)g(of)f
Fr(pattern)g Fu(against)h(its)f(v)-5 b(alue)39 b(is)630
-5121 y(replaced)31 b(with)g Fr(string)p Fu(.)42 b(The)30
+2673 y(replaced)31 b(with)g Fr(string)p Fu(.)42 b(The)30
b(matc)m(h)h(is)g(p)s(erformed)f(according)h(to)h(the)f(rules)f
-(describ)s(ed)630 5230 y(b)s(elo)m(w)f(\(see)h(Section)g(3.5.8.1)h([P)m
-(attern)g(Matc)m(hing],)g(page)f(32\).)41 b(If)29 b Fr(pattern)g
-Fu(b)s(egins)f(with)630 5340 y(`)p Ft(/)p Fu(',)43 b(all)e(matc)m(hes)g
+(describ)s(ed)630 2783 y(b)s(elo)m(w)f(\(see)h(Section)g(3.5.8.1)h([P)m
+(attern)g(Matc)m(hing],)g(page)f(33\).)41 b(If)29 b Fr(pattern)g
+Fu(b)s(egins)f(with)630 2892 y(`)p Ft(/)p Fu(',)43 b(all)e(matc)m(hes)g
(of)f Fr(pattern)g Fu(are)h(replaced)f(with)g Fr(string)p
-Fu(.)69 b(Normally)41 b(only)f(the)h(\014rst)p eop end
-%%Page: 29 35
-TeXDict begin 29 34 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(29)630 299
+Fu(.)69 b(Normally)41 b(only)f(the)h(\014rst)630 3002
y(matc)m(h)28 b(is)f(replaced.)40 b(If)26 b Fr(pattern)h
Fu(b)s(egins)f(with)h(`)p Ft(#)p Fu(',)h(it)f(m)m(ust)g(matc)m(h)h(at)g
-(the)f(b)s(eginning)f(of)630 408 y(the)32 b(expanded)f(v)-5
+(the)f(b)s(eginning)f(of)630 3112 y(the)32 b(expanded)f(v)-5
b(alue)32 b(of)g Fr(parameter)p Fu(.)45 b(If)31 b Fr(pattern)h
Fu(b)s(egins)f(with)g(`)p Ft(\045)p Fu(',)i(it)f(m)m(ust)g(matc)m(h)g
-(at)630 518 y(the)24 b(end)f(of)h(the)h(expanded)e(v)-5
+(at)630 3221 y(the)24 b(end)f(of)h(the)h(expanded)e(v)-5
b(alue)24 b(of)g Fr(parameter)p Fu(.)39 b(If)24 b Fr(string)31
b Fu(is)24 b(n)m(ull,)i(matc)m(hes)f(of)f Fr(pattern)630
-628 y Fu(are)36 b(deleted)g(and)f(the)g Ft(/)g Fu(follo)m(wing)i
+3331 y Fu(are)36 b(deleted)g(and)f(the)g Ft(/)g Fu(follo)m(wing)i
Fr(pattern)e Fu(ma)m(y)h(b)s(e)f(omitted.)57 b(If)34
-b(the)i Ft(nocasematch)630 737 y Fu(shell)31 b(option)h(\(see)g(the)g
+b(the)i Ft(nocasematch)630 3440 y Fu(shell)31 b(option)h(\(see)g(the)g
(description)f(of)g Ft(shopt)f Fu(in)h(Section)h(4.3.2)h([The)e(Shopt)f
-(Builtin],)630 847 y(page)45 b(65\))h(is)f(enabled,)j(the)d(matc)m(h)g
+(Builtin],)630 3550 y(page)45 b(65\))h(is)f(enabled,)j(the)d(matc)m(h)g
(is)g(p)s(erformed)e(without)i(regard)f(to)h(the)g(case)h(of)630
-956 y(alphab)s(etic)36 b(c)m(haracters.)56 b(If)34 b
+3660 y(alphab)s(etic)36 b(c)m(haracters.)56 b(If)34 b
Fr(parameter)42 b Fu(is)36 b(`)p Ft(@)p Fu(')f(or)g(`)p
Ft(*)p Fu(',)h(the)g(substitution)e(op)s(eration)i(is)630
-1066 y(applied)26 b(to)g(eac)m(h)h(p)s(ositional)f(parameter)h(in)e
+3769 y(applied)26 b(to)g(eac)m(h)h(p)s(ositional)f(parameter)h(in)e
(turn,)h(and)f(the)h(expansion)g(is)f(the)h(resultan)m(t)630
-1176 y(list.)38 b(If)21 b Fr(parameter)28 b Fu(is)22
+3879 y(list.)38 b(If)21 b Fr(parameter)28 b Fu(is)22
b(an)f(arra)m(y)h(v)-5 b(ariable)22 b(subscripted)e(with)h(`)p
Ft(@)p Fu(')g(or)g(`)p Ft(*)p Fu(',)j(the)d(substitution)630
-1285 y(op)s(eration)30 b(is)g(applied)f(to)i(eac)m(h)g(mem)m(b)s(er)e
+3988 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
-1395 y(the)h(resultan)m(t)g(list.)150 1559 y Ft(${)p
-Fj(parameter)p Ft(^)p Fj(pattern)p Ft(})150 1669 y(${)p
-Fj(parameter)p Ft(^^)p Fj(pattern)p Ft(})150 1778 y(${)p
-Fj(parameter)p Ft(,)p Fj(pattern)p Ft(})150 1888 y(${)p
-Fj(parameter)p Ft(,,)p Fj(pattern)p Ft(})630 1998 y Fu(This)36
+4098 y(the)h(resultan)m(t)g(list.)150 4244 y Ft(${)p
+Fj(parameter)p Ft(^)p Fj(pattern)p Ft(})150 4354 y(${)p
+Fj(parameter)p Ft(^^)p Fj(pattern)p Ft(})150 4463 y(${)p
+Fj(parameter)p Ft(,)p Fj(pattern)p Ft(})150 4573 y(${)p
+Fj(parameter)p Ft(,,)p Fj(pattern)p Ft(})630 4682 y Fu(This)36
b(expansion)g(mo)s(di\014es)g(the)g(case)i(of)f(alphab)s(etic)g(c)m
-(haracters)h(in)e Fr(parameter)p Fu(.)59 b(The)630 2107
+(haracters)h(in)e Fr(parameter)p Fu(.)59 b(The)630 4792
y Fr(pattern)33 b Fu(is)g(expanded)e(to)j(pro)s(duce)d(a)j(pattern)e
(just)g(as)h(in)g(\014lename)g(expansion.)47 b(Eac)m(h)630
-2217 y(c)m(haracter)32 b(in)e(the)g(expanded)f(v)-5 b(alue)31
+4902 y(c)m(haracter)32 b(in)e(the)g(expanded)f(v)-5 b(alue)31
b(of)f Fr(parameter)37 b Fu(is)30 b(tested)h(against)h
-Fr(pattern)p Fu(,)e(and,)g(if)630 2326 y(it)j(matc)m(hes)h(the)g
+Fr(pattern)p Fu(,)e(and,)g(if)630 5011 y(it)j(matc)m(hes)h(the)g
(pattern,)f(its)h(case)g(is)f(con)m(v)m(erted.)49 b(The)33
-b(pattern)g(should)f(not)h(attempt)630 2436 y(to)f(matc)m(h)g(more)f
+b(pattern)g(should)f(not)h(attempt)630 5121 y(to)f(matc)m(h)g(more)f
(than)g(one)g(c)m(haracter.)44 b(The)30 b(`)p Ft(^)p
Fu(')i(op)s(erator)f(con)m(v)m(erts)h(lo)m(w)m(ercase)i(letters)630
-2545 y(matc)m(hing)i Fr(pattern)f Fu(to)h(upp)s(ercase;)h(the)e(`)p
+5230 y(matc)m(hing)i Fr(pattern)f Fu(to)h(upp)s(ercase;)h(the)e(`)p
Ft(,)p Fu(')g(op)s(erator)g(con)m(v)m(erts)i(matc)m(hing)f(upp)s
-(ercase)630 2655 y(letters)e(to)f(lo)m(w)m(ercase.)50
+(ercase)630 5340 y(letters)e(to)f(lo)m(w)m(ercase.)50
b(The)32 b(`)p Ft(^^)p Fu(')h(and)f(`)p Ft(,,)p Fu(')g(expansions)h
-(con)m(v)m(ert)h(eac)m(h)g(matc)m(hed)f(c)m(har-)630
-2765 y(acter)c(in)f(the)h(expanded)e(v)-5 b(alue;)30
-b(the)e(`)p Ft(^)p Fu(')g(and)g(`)p Ft(,)p Fu(')g(expansions)g(matc)m
-(h)h(and)f(con)m(v)m(ert)i(only)630 2874 y(the)37 b(\014rst)g(c)m
-(haracter)i(in)e(the)g(expanded)g(v)-5 b(alue.)61 b(If)37
-b Fr(pattern)g Fu(is)h(omitted,)i(it)e(is)f(treated)630
-2984 y(lik)m(e)h(a)f(`)p Ft(?)p Fu(',)i(whic)m(h)d(matc)m(hes)i(ev)m
-(ery)f(c)m(haracter.)61 b(If)37 b Fr(parameter)43 b Fu(is)37
-b(`)p Ft(@)p Fu(')g(or)f(`)p Ft(*)p Fu(',)j(the)e(case)630
-3093 y(mo)s(di\014cation)29 b(op)s(eration)f(is)g(applied)g(to)h(eac)m
-(h)h(p)s(ositional)f(parameter)f(in)g(turn,)g(and)g(the)630
-3203 y(expansion)38 b(is)g(the)g(resultan)m(t)h(list.)65
-b(If)37 b Fr(parameter)46 b Fu(is)38 b(an)g(arra)m(y)g(v)-5
-b(ariable)39 b(subscripted)630 3313 y(with)26 b(`)p Ft(@)p
-Fu(')f(or)h(`)p Ft(*)p Fu(',)h(the)f(case)h(mo)s(di\014cation)f(op)s
-(eration)h(is)e(applied)h(to)h(eac)m(h)g(mem)m(b)s(er)e(of)h(the)630
-3422 y(arra)m(y)31 b(in)f(turn,)f(and)h(the)h(expansion)f(is)g(the)h
-(resultan)m(t)g(list.)150 3587 y Ft(${)p Fj(parameter)p
-Ft(@)p Fj(operator)p Ft(})630 3696 y Fu(The)d(expansion)h(is)f(either)h
-(a)g(transformation)g(of)g(the)g(v)-5 b(alue)29 b(of)g
-Fr(parameter)35 b Fu(or)29 b(informa-)630 3806 y(tion)e(ab)s(out)f
-Fr(parameter)33 b Fu(itself,)28 b(dep)s(ending)c(on)i(the)h(v)-5
-b(alue)26 b(of)h Fr(op)s(erator)p Fu(.)39 b(Eac)m(h)27
-b Fr(op)s(erator)630 3915 y Fu(is)j(a)h(single)g(letter:)630
-4080 y Ft(Q)432 b Fu(The)30 b(expansion)h(is)g(a)g(string)f(that)i(is)f
-(the)g(v)-5 b(alue)31 b(of)g Fr(parameter)37 b Fu(quoted)31
-b(in)1110 4189 y(a)g(format)f(that)h(can)g(b)s(e)f(reused)f(as)i
-(input.)630 4354 y Ft(E)432 b Fu(The)27 b(expansion)g(is)g(a)g(string)h
-(that)f(is)h(the)f(v)-5 b(alue)28 b(of)f Fr(parameter)34
-b Fu(with)27 b(bac)m(k-)1110 4463 y(slash)e(escap)s(e)h(sequences)f
-(expanded)g(as)g(with)g(the)h Ft($'...)o(')e Fu(quoting)i(mec)m(h-)1110
-4573 y(anism.)630 4737 y Ft(P)432 b Fu(The)22 b(expansion)h(is)g(a)g
-(string)g(that)g(is)g(the)g(result)g(of)g(expanding)f(the)h(v)-5
-b(alue)24 b(of)1110 4847 y Fr(parameter)31 b Fu(as)24
-b(if)f(it)h(w)m(ere)g(a)g(prompt)f(string)h(\(see)g(Section)h(6.9)g
-([Con)m(trolling)1110 4956 y(the)31 b(Prompt],)f(page)h(96\).)630
-5121 y Ft(A)432 b Fu(The)24 b(expansion)g(is)g(a)h(string)f(in)g(the)g
-(form)g(of)h(an)f(assignmen)m(t)h(statemen)m(t)h(or)1110
-5230 y Ft(declare)h Fu(command)i(that,)h(if)f(ev)-5 b(aluated,)31
-b(will)e(recreate)i Fr(parameter)36 b Fu(with)1110 5340
-y(its)31 b(attributes)g(and)e(v)-5 b(alue.)p eop end
+(con)m(v)m(ert)h(eac)m(h)g(matc)m(hed)f(c)m(har-)p eop
+end
%%Page: 30 36
TeXDict begin 30 35 bop 150 -116 a Fu(Chapter)30 b(3:)41
b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(30)630 299
-y Ft(a)432 b Fu(The)30 b(expansion)g(is)g(a)h(string)f(consisting)h(of)
-g(\015ag)g(v)-5 b(alues)30 b(represen)m(ting)h Fr(pa-)1110
-408 y(rameter)7 b Fu('s)31 b(attributes.)630 563 y(If)e
+y(acter)29 b(in)f(the)h(expanded)e(v)-5 b(alue;)30 b(the)e(`)p
+Ft(^)p Fu(')g(and)g(`)p Ft(,)p Fu(')g(expansions)g(matc)m(h)h(and)f
+(con)m(v)m(ert)i(only)630 408 y(the)37 b(\014rst)g(c)m(haracter)i(in)e
+(the)g(expanded)g(v)-5 b(alue.)61 b(If)37 b Fr(pattern)g
+Fu(is)h(omitted,)i(it)e(is)f(treated)630 518 y(lik)m(e)h(a)f(`)p
+Ft(?)p Fu(',)i(whic)m(h)d(matc)m(hes)i(ev)m(ery)f(c)m(haracter.)61
+b(If)37 b Fr(parameter)43 b Fu(is)37 b(`)p Ft(@)p Fu(')g(or)f(`)p
+Ft(*)p Fu(',)j(the)e(case)630 628 y(mo)s(di\014cation)29
+b(op)s(eration)f(is)g(applied)g(to)h(eac)m(h)h(p)s(ositional)f
+(parameter)f(in)g(turn,)g(and)g(the)630 737 y(expansion)38
+b(is)g(the)g(resultan)m(t)h(list.)65 b(If)37 b Fr(parameter)46
+b Fu(is)38 b(an)g(arra)m(y)g(v)-5 b(ariable)39 b(subscripted)630
+847 y(with)26 b(`)p Ft(@)p Fu(')f(or)h(`)p Ft(*)p Fu(',)h(the)f(case)h
+(mo)s(di\014cation)f(op)s(eration)h(is)e(applied)h(to)h(eac)m(h)g(mem)m
+(b)s(er)e(of)h(the)630 956 y(arra)m(y)31 b(in)f(turn,)f(and)h(the)h
+(expansion)f(is)g(the)h(resultan)m(t)g(list.)150 1120
+y Ft(${)p Fj(parameter)p Ft(@)p Fj(operator)p Ft(})630
+1230 y Fu(The)d(expansion)h(is)f(either)h(a)g(transformation)g(of)g
+(the)g(v)-5 b(alue)29 b(of)g Fr(parameter)35 b Fu(or)29
+b(informa-)630 1340 y(tion)e(ab)s(out)f Fr(parameter)33
+b Fu(itself,)28 b(dep)s(ending)c(on)i(the)h(v)-5 b(alue)26
+b(of)h Fr(op)s(erator)p Fu(.)39 b(Eac)m(h)27 b Fr(op)s(erator)630
+1449 y Fu(is)j(a)h(single)g(letter:)630 1613 y Ft(Q)432
+b Fu(The)30 b(expansion)h(is)g(a)g(string)f(that)i(is)f(the)g(v)-5
+b(alue)31 b(of)g Fr(parameter)37 b Fu(quoted)31 b(in)1110
+1723 y(a)g(format)f(that)h(can)g(b)s(e)f(reused)f(as)i(input.)630
+1887 y Ft(E)432 b Fu(The)27 b(expansion)g(is)g(a)g(string)h(that)f(is)h
+(the)f(v)-5 b(alue)28 b(of)f Fr(parameter)34 b Fu(with)27
+b(bac)m(k-)1110 1996 y(slash)e(escap)s(e)h(sequences)f(expanded)g(as)g
+(with)g(the)h Ft($'...)o(')e Fu(quoting)i(mec)m(h-)1110
+2106 y(anism.)630 2270 y Ft(P)432 b Fu(The)22 b(expansion)h(is)g(a)g
+(string)g(that)g(is)g(the)g(result)g(of)g(expanding)f(the)h(v)-5
+b(alue)24 b(of)1110 2379 y Fr(parameter)31 b Fu(as)24
+b(if)f(it)h(w)m(ere)g(a)g(prompt)f(string)h(\(see)g(Section)h(6.9)g
+([Con)m(trolling)1110 2489 y(the)31 b(Prompt],)f(page)h(96\).)630
+2653 y Ft(A)432 b Fu(The)24 b(expansion)g(is)g(a)h(string)f(in)g(the)g
+(form)g(of)h(an)f(assignmen)m(t)h(statemen)m(t)h(or)1110
+2763 y Ft(declare)h Fu(command)i(that,)h(if)f(ev)-5 b(aluated,)31
+b(will)e(recreate)i Fr(parameter)36 b Fu(with)1110 2872
+y(its)31 b(attributes)g(and)e(v)-5 b(alue.)630 3036 y
+Ft(a)432 b Fu(The)30 b(expansion)g(is)g(a)h(string)f(consisting)h(of)g
+(\015ag)g(v)-5 b(alues)30 b(represen)m(ting)h Fr(pa-)1110
+3146 y(rameter)7 b Fu('s)31 b(attributes.)630 3310 y(If)e
Fr(parameter)37 b Fu(is)30 b(`)p Ft(@)p Fu(')g(or)g(`)p
Ft(*)p Fu(',)g(the)g(op)s(eration)g(is)g(applied)f(to)i(eac)m(h)g(p)s
-(ositional)f(parameter)630 672 y(in)24 b(turn,)g(and)f(the)h(expansion)
-g(is)g(the)g(resultan)m(t)h(list.)39 b(If)23 b Fr(parameter)31
-b Fu(is)24 b(an)g(arra)m(y)g(v)-5 b(ariable)630 782 y(subscripted)24
-b(with)h(`)p Ft(@)p Fu(')h(or)g(`)p Ft(*)p Fu(',)h(the)e(op)s(eration)h
-(is)g(applied)f(to)h(eac)m(h)h(mem)m(b)s(er)e(of)h(the)f(arra)m(y)630
-892 y(in)30 b(turn,)g(and)f(the)i(expansion)f(is)h(the)f(resultan)m(t)h
-(list.)630 1024 y(The)22 b(result)g(of)g(the)h(expansion)f(is)g(sub)5
+(ositional)f(parameter)630 3419 y(in)24 b(turn,)g(and)f(the)h
+(expansion)g(is)g(the)g(resultan)m(t)h(list.)39 b(If)23
+b Fr(parameter)31 b Fu(is)24 b(an)g(arra)m(y)g(v)-5 b(ariable)630
+3529 y(subscripted)24 b(with)h(`)p Ft(@)p Fu(')h(or)g(`)p
+Ft(*)p Fu(',)h(the)e(op)s(eration)h(is)g(applied)f(to)h(eac)m(h)h(mem)m
+(b)s(er)e(of)h(the)f(arra)m(y)630 3639 y(in)30 b(turn,)g(and)f(the)i
+(expansion)f(is)h(the)f(resultan)m(t)h(list.)630 3775
+y(The)22 b(result)g(of)g(the)h(expansion)f(is)g(sub)5
b(ject)22 b(to)h(w)m(ord)f(splitting)g(and)g(pathname)g(expansion)630
-1133 y(as)31 b(describ)s(ed)e(b)s(elo)m(w.)150 1328 y
-Fk(3.5.4)63 b(Command)41 b(Substitution)150 1474 y Fu(Command)f
+3885 y(as)31 b(describ)s(ed)e(b)s(elo)m(w.)150 4089 y
+Fk(3.5.4)63 b(Command)41 b(Substitution)150 4236 y Fu(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 1584 y(Command)29
+(replace)g(the)g(command)f(itself.)150 4345 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 1716 y Ft($\()p Fj(command)p Ft(\))150
-1848 y Fu(or)390 1980 y Ft(`)p Fj(command)p Ft(`)150
-2112 y Fu(Bash)20 b(p)s(erforms)f(the)i(expansion)f(b)m(y)g(executing)i
+(follo)m(ws:)390 4484 y Ft($\()p Fj(command)p Ft(\))150
+4623 y Fu(or)390 4763 y Ft(`)p Fj(command)p Ft(`)150
+4902 y Fu(Bash)20 b(p)s(erforms)f(the)i(expansion)f(b)m(y)g(executing)i
Fr(command)h Fu(in)d(a)h(subshell)e(en)m(vironmen)m(t)i(and)f
-(replacing)150 2222 y(the)40 b(command)g(substitution)f(with)h(the)g
+(replacing)150 5011 y(the)40 b(command)g(substitution)f(with)h(the)g
(standard)f(output)g(of)h(the)g(command,)i(with)e(an)m(y)g(trailing)150
-2331 y(newlines)e(deleted.)64 b(Em)m(b)s(edded)37 b(newlines)h(are)g
+5121 y(newlines)e(deleted.)64 b(Em)m(b)s(edded)37 b(newlines)h(are)g
(not)g(deleted,)j(but)d(they)g(ma)m(y)h(b)s(e)e(remo)m(v)m(ed)i(during)
-150 2441 y(w)m(ord)30 b(splitting.)42 b(The)30 b(command)g
+150 5230 y(w)m(ord)30 b(splitting.)42 b(The)30 b(command)g
(substitution)h Ft($\(cat)e Fj(file)p Ft(\))g Fu(can)h(b)s(e)g
-(replaced)h(b)m(y)g(the)f(equiv)-5 b(alen)m(t)150 2550
-y(but)30 b(faster)g Ft($\(<)g Fj(file)p Ft(\))p Fu(.)275
-2682 y(When)j(the)i(old-st)m(yle)h(bac)m(kquote)f(form)f(of)g
+(replaced)h(b)m(y)g(the)f(equiv)-5 b(alen)m(t)150 5340
+y(but)30 b(faster)g Ft($\(<)g Fj(file)p Ft(\))p Fu(.)p
+eop end
+%%Page: 31 37
+TeXDict begin 31 36 bop 150 -116 a Fu(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(31)275 299
+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
-2792 y(meaning)k(except)h(when)e(follo)m(w)m(ed)j(b)m(y)e(`)p
+408 y(meaning)k(except)h(when)e(follo)m(w)m(ed)j(b)m(y)e(`)p
Ft($)p Fu(',)j(`)p Ft(`)p Fu(',)f(or)e(`)p Ft(\\)p Fu('.)64
b(The)38 b(\014rst)f(bac)m(kquote)j(not)e(preceded)g(b)m(y)g(a)150
-2902 y(bac)m(kslash)k(terminates)f(the)h(command)e(substitution.)72
+518 y(bac)m(kslash)k(terminates)f(the)h(command)e(substitution.)72
b(When)41 b(using)f(the)i Ft($\()p Fj(command)p Ft(\))c
-Fu(form,)43 b(all)150 3011 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 3143 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 3253 y(the)31 b(inner)e(bac)m(kquotes)j(with)e(bac)m(kslashes.)275
-3385 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
-3494 y(are)i(not)f(p)s(erformed)f(on)h(the)h(results.)150
-3689 y Fk(3.5.5)63 b(Arithmetic)40 b(Expansion)150 3836
-y Fu(Arithmetic)25 b(expansion)g(allo)m(ws)g(the)g(ev)-5
+Fu(form,)43 b(all)150 628 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 762 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 872 y(the)31 b(inner)e(bac)m(kquotes)j
+(with)e(bac)m(kslashes.)275 1007 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 1116 y(are)i(not)f(p)s(erformed)f(on)h(the)
+h(results.)150 1316 y Fk(3.5.5)63 b(Arithmetic)40 b(Expansion)150
+1463 y Fu(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 3945 y(of)31 b(the)f(result.)41 b(The)30
-b(format)g(for)g(arithmetic)i(expansion)e(is:)390 4077
-y Ft($\(\()47 b Fj(expression)e Ft(\)\))275 4209 y Fu(The)33
+(substitution)150 1572 y(of)31 b(the)f(result.)41 b(The)30
+b(format)g(for)g(arithmetic)i(expansion)e(is:)390 1707
+y Ft($\(\()47 b Fj(expression)e Ft(\)\))275 1841 y Fu(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 4319
+h(quotes,)h(but)e(a)h(double)f(quote)h(inside)150 1951
y(the)k(paren)m(theses)g(is)g(not)g(treated)h(sp)s(ecially)-8
b(.)65 b(All)38 b(tok)m(ens)h(in)f(the)g(expression)f(undergo)g
-(parameter)150 4428 y(and)26 b(v)-5 b(ariable)28 b(expansion,)g
+(parameter)150 2061 y(and)26 b(v)-5 b(ariable)28 b(expansion,)g
(command)e(substitution,)i(and)e(quote)i(remo)m(v)-5
-b(al.)41 b(The)26 b(result)h(is)g(treated)h(as)150 4538
+b(al.)41 b(The)26 b(result)h(is)g(treated)h(as)150 2170
y(the)j(arithmetic)g(expression)f(to)h(b)s(e)f(ev)-5
b(aluated.)42 b(Arithmetic)31 b(expansions)g(ma)m(y)g(b)s(e)e(nested.)
-275 4670 y(The)34 b(ev)-5 b(aluation)37 b(is)f(p)s(erformed)e
+275 2305 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 4780 y(Arithmetic],)32 b(page)f(91\).)42
+g(6.5)h([Shell)150 2415 y(Arithmetic],)32 b(page)f(91\).)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
-4889 y(to)f(the)g(standard)e(error)h(and)g(no)g(substitution)g(o)s
-(ccurs.)150 5083 y Fk(3.5.6)63 b(Pro)s(cess)42 b(Substitution)150
-5230 y Fu(Pro)s(cess)33 b(substitution)g(allo)m(ws)i(a)e(pro)s(cess's)g
+2524 y(to)f(the)g(standard)e(error)h(and)g(no)g(substitution)g(o)s
+(ccurs.)150 2724 y Fk(3.5.6)63 b(Pro)s(cess)42 b(Substitution)150
+2870 y Fu(Pro)s(cess)33 b(substitution)g(allo)m(ws)i(a)e(pro)s(cess's)g
(input)f(or)h(output)g(to)h(b)s(e)f(referred)f(to)i(using)f(a)g
-(\014lename.)150 5340 y(It)d(tak)m(es)i(the)f(form)f(of)p
-eop end
-%%Page: 31 37
-TeXDict begin 31 36 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(31)390 299
-y Ft(<\()p Fj(list)p Ft(\))150 447 y Fu(or)390 594 y
-Ft(>\()p Fj(list)p Ft(\))150 742 y Fu(The)28 b(pro)s(cess)h
+(\014lename.)150 2980 y(It)d(tak)m(es)i(the)f(form)f(of)390
+3115 y Ft(<\()p Fj(list)p Ft(\))150 3249 y Fu(or)390
+3384 y Ft(>\()p Fj(list)p Ft(\))150 3519 y Fu(The)e(pro)s(cess)h
Fr(list)j Fu(is)d(run)e(async)m(hronously)-8 b(,)30 b(and)e(its)i
(input)e(or)h(output)f(app)s(ears)h(as)g(a)g(\014lename.)41
-b(This)150 852 y(\014lename)25 b(is)g(passed)g(as)g(an)g(argumen)m(t)h
+b(This)150 3628 y(\014lename)25 b(is)g(passed)g(as)g(an)g(argumen)m(t)h
(to)g(the)f(curren)m(t)g(command)g(as)g(the)g(result)g(of)g(the)h
-(expansion.)38 b(If)150 961 y(the)28 b Ft(>\()p Fj(list)p
+(expansion.)38 b(If)150 3738 y(the)28 b Ft(>\()p Fj(list)p
Ft(\))d Fu(form)i(is)g(used,)h(writing)f(to)h(the)g(\014le)f(will)h
(pro)m(vide)g(input)e(for)h Fr(list)p Fu(.)41 b(If)26
-b(the)i Ft(<\()p Fj(list)p Ft(\))d Fu(form)150 1071 y(is)g(used,)g(the)
+b(the)i Ft(<\()p Fj(list)p Ft(\))d Fu(form)150 3848 y(is)g(used,)g(the)
f(\014le)h(passed)f(as)h(an)f(argumen)m(t)h(should)e(b)s(e)h(read)h(to)
g(obtain)g(the)f(output)g(of)h Fr(list)p Fu(.)40 b(Note)25
-b(that)150 1181 y(no)33 b(space)g(ma)m(y)g(app)s(ear)f(b)s(et)m(w)m
+b(that)150 3957 y(no)33 b(space)g(ma)m(y)g(app)s(ear)f(b)s(et)m(w)m
(een)i(the)f Ft(<)f Fu(or)h Ft(>)f Fu(and)g(the)h(left)h(paren)m
-(thesis,)f(otherwise)h(the)f(construct)150 1290 y(w)m(ould)j(b)s(e)g
+(thesis,)f(otherwise)h(the)f(construct)150 4067 y(w)m(ould)j(b)s(e)g
(in)m(terpreted)g(as)h(a)f(redirection.)59 b(Pro)s(cess)36
b(substitution)g(is)h(supp)s(orted)d(on)i(systems)g(that)150
-1400 y(supp)s(ort)29 b(named)h(pip)s(es)f(\()p Fm(fif)n(o)p
+4176 y(supp)s(ort)29 b(named)h(pip)s(es)f(\()p Fm(fif)n(o)p
Fu(s\))h(or)h(the)f Ft(/dev/fd)f Fu(metho)s(d)h(of)g(naming)g(op)s(en)g
-(\014les.)275 1548 y(When)36 b(a)m(v)-5 b(ailable,)40
+(\014les.)275 4311 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 1657 y(v)-5 b(ariable)31
+(with)g(parameter)g(and)150 4421 y(v)-5 b(ariable)31
b(expansion,)g(command)f(substitution,)g(and)g(arithmetic)i(expansion.)
-150 1870 y Fk(3.5.7)63 b(W)-10 b(ord)41 b(Splitting)150
-2017 y Fu(The)30 b(shell)h(scans)g(the)g(results)f(of)h(parameter)g
+150 4620 y Fk(3.5.7)63 b(W)-10 b(ord)41 b(Splitting)150
+4767 y Fu(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
-2126 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 2274 y(The)e(shell)g(treats)i
+4877 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 5011 y(The)e(shell)g(treats)i
(eac)m(h)g(c)m(haracter)g(of)f Ft($IFS)e Fu(as)i(a)g(delimiter,)h(and)e
-(splits)g(the)h(results)f(of)h(the)g(other)150 2384 y(expansions)22
+(splits)g(the)h(results)f(of)h(the)g(other)150 5121 y(expansions)22
b(in)m(to)i(w)m(ords)e(using)h(these)g(c)m(haracters)h(as)f(\014eld)f
(terminators.)39 b(If)22 b Ft(IFS)g Fu(is)h(unset,)h(or)e(its)h(v)-5
-b(alue)150 2493 y(is)36 b(exactly)j Ft(<space><tab><newline>)p
+b(alue)150 5230 y(is)36 b(exactly)j Ft(<space><tab><newline>)p
Fu(,)32 b(the)37 b(default,)h(then)e(sequences)h(of)67
-b Ft(<space>)p Fu(,)36 b Ft(<tab>)p Fu(,)h(and)150 2603
+b Ft(<space>)p Fu(,)36 b Ft(<tab>)p Fu(,)h(and)150 5340
y Ft(<newline>)28 b Fu(at)k(the)f(b)s(eginning)f(and)h(end)f(of)h(the)g
-(results)g(of)g(the)g(previous)g(expansions)f(are)i(ignored,)150
-2712 y(and)k(an)m(y)h(sequence)h(of)f Ft(IFS)f Fu(c)m(haracters)i(not)f
+(results)g(of)g(the)g(previous)g(expansions)f(are)i(ignored,)p
+eop end
+%%Page: 32 38
+TeXDict begin 32 37 bop 150 -116 a Fu(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(32)150 299
+y(and)36 b(an)m(y)h(sequence)h(of)f Ft(IFS)f Fu(c)m(haracters)i(not)f
(at)h(the)f(b)s(eginning)f(or)h(end)f(serv)m(es)h(to)h(delimit)f(w)m
-(ords.)150 2822 y(If)43 b Ft(IFS)f Fu(has)h(a)h(v)-5
-b(alue)43 b(other)h(than)f(the)g(default,)k(then)c(sequences)h(of)f
-(the)h(whitespace)f(c)m(haracters)150 2932 y Ft(space)p
-Fu(,)29 b Ft(tab)p Fu(,)h(and)g Ft(newline)e Fu(are)j(ignored)g(at)g
-(the)f(b)s(eginning)g(and)g(end)g(of)g(the)h(w)m(ord,)f(as)h(long)g(as)
-g(the)150 3041 y(whitespace)c(c)m(haracter)h(is)f(in)f(the)g(v)-5
+(ords.)150 408 y(If)43 b Ft(IFS)f Fu(has)h(a)h(v)-5 b(alue)43
+b(other)h(than)f(the)g(default,)k(then)c(sequences)h(of)f(the)h
+(whitespace)f(c)m(haracters)150 518 y Ft(space)p Fu(,)29
+b Ft(tab)p Fu(,)h(and)g Ft(newline)e Fu(are)j(ignored)g(at)g(the)f(b)s
+(eginning)g(and)g(end)g(of)g(the)h(w)m(ord,)f(as)h(long)g(as)g(the)150
+628 y(whitespace)c(c)m(haracter)h(is)f(in)f(the)g(v)-5
b(alue)27 b(of)g Ft(IFS)e Fu(\(an)i Ft(IFS)e Fu(whitespace)i(c)m
-(haracter\).)42 b(An)m(y)26 b(c)m(haracter)i(in)150 3151
+(haracter\).)42 b(An)m(y)26 b(c)m(haracter)i(in)150 737
y Ft(IFS)c Fu(that)h(is)g(not)f Ft(IFS)g Fu(whitespace,)j(along)f(with)
e(an)m(y)h(adjacen)m(t)h Ft(IFS)e Fu(whitespace)h(c)m(haracters,)i
-(delimits)150 3260 y(a)k(\014eld.)40 b(A)31 b(sequence)g(of)f
+(delimits)150 847 y(a)k(\014eld.)40 b(A)31 b(sequence)g(of)f
Ft(IFS)g Fu(whitespace)h(c)m(haracters)h(is)e(also)h(treated)h(as)f(a)f
-(delimiter.)42 b(If)30 b(the)g(v)-5 b(alue)150 3370 y(of)31
+(delimiter.)42 b(If)30 b(the)g(v)-5 b(alue)150 956 y(of)31
b Ft(IFS)e Fu(is)h(n)m(ull,)h(no)f(w)m(ord)g(splitting)h(o)s(ccurs.)275
-3518 y(Explicit)21 b(n)m(ull)g(argumen)m(ts)g(\()p Ft("")g
+1114 y(Explicit)21 b(n)m(ull)g(argumen)m(ts)g(\()p Ft("")g
Fu(or)g Ft('')p Fu(\))f(are)h(retained)h(and)e(passed)g(to)i(commands)e
-(as)i(empt)m(y)f(strings.)150 3627 y(Unquoted)37 b(implicit)i(n)m(ull)f
+(as)i(empt)m(y)f(strings.)150 1224 y(Unquoted)37 b(implicit)i(n)m(ull)f
(argumen)m(ts,)i(resulting)d(from)g(the)h(expansion)g(of)g(parameters)f
-(that)i(ha)m(v)m(e)150 3737 y(no)32 b(v)-5 b(alues,)33
+(that)i(ha)m(v)m(e)150 1333 y(no)32 b(v)-5 b(alues,)33
b(are)f(remo)m(v)m(ed.)47 b(If)32 b(a)g(parameter)h(with)e(no)h(v)-5
b(alue)33 b(is)f(expanded)f(within)h(double)f(quotes,)j(a)150
-3846 y(n)m(ull)c(argumen)m(t)g(results)g(and)f(is)h(retained)g(and)f
+1443 y(n)m(ull)c(argumen)m(t)g(results)g(and)f(is)h(retained)g(and)f
(passed)g(to)i(a)f(command)g(as)g(an)f(empt)m(y)i(string.)40
-b(When)150 3956 y(a)f(quoted)f(n)m(ull)g(argumen)m(t)h(app)s(ears)e(as)
+b(When)150 1552 y(a)f(quoted)f(n)m(ull)g(argumen)m(t)h(app)s(ears)e(as)
i(part)f(of)g(a)g(w)m(ord)g(whose)g(expansion)g(is)h(non-n)m(ull,)h
-(the)e(n)m(ull)150 4066 y(argumen)m(t)i(is)f(remo)m(v)m(ed.)69
+(the)e(n)m(ull)150 1662 y(argumen)m(t)i(is)f(remo)m(v)m(ed.)69
b(That)39 b(is,)j(the)e(w)m(ord)f Ft(-d'')f Fu(b)s(ecomes)i
Ft(-d)e Fu(after)i(w)m(ord)f(splitting)h(and)f(n)m(ull)150
-4175 y(argumen)m(t)31 b(remo)m(v)-5 b(al.)275 4323 y(Note)31
+1772 y(argumen)m(t)31 b(remo)m(v)-5 b(al.)275 1929 y(Note)31
b(that)g(if)g(no)f(expansion)g(o)s(ccurs,)g(no)h(splitting)g(is)f(p)s
-(erformed.)150 4535 y Fk(3.5.8)63 b(Filename)41 b(Expansion)150
-4682 y Fu(After)30 b(w)m(ord)f(splitting,)i(unless)d(the)i
+(erformed.)150 2152 y Fk(3.5.8)63 b(Filename)41 b(Expansion)150
+2299 y Fu(After)30 b(w)m(ord)f(splitting,)i(unless)d(the)i
Ft(-f)f Fu(option)h(has)f(b)s(een)g(set)h(\(see)g(Section)h(4.3.1)g
-([The)e(Set)h(Builtin],)150 4792 y(page)d(61\),)i(Bash)d(scans)h(eac)m
+([The)e(Set)h(Builtin],)150 2408 y(page)d(61\),)i(Bash)d(scans)h(eac)m
(h)h(w)m(ord)e(for)g(the)h(c)m(haracters)g(`)p Ft(*)p
Fu(',)h(`)p Ft(?)p Fu(',)g(and)e(`)p Ft([)p Fu('.)39
-b(If)26 b(one)h(of)g(these)f(c)m(haracters)150 4902 y(app)s(ears,)h
+b(If)26 b(one)h(of)g(these)f(c)m(haracters)150 2518 y(app)s(ears,)h
(then)f(the)h(w)m(ord)f(is)h(regarded)g(as)g(a)g Fr(pattern)p
Fu(,)g(and)g(replaced)g(with)f(an)h(alphab)s(etically)h(sorted)150
-5011 y(list)k(of)f(\014lenames)g(matc)m(hing)h(the)f(pattern)g(\(see)h
-(Section)f(3.5.8.1)j([P)m(attern)e(Matc)m(hing],)h(page)f(32\).)43
-b(If)150 5121 y(no)26 b(matc)m(hing)i(\014lenames)e(are)h(found,)f(and)
+2627 y(list)k(of)f(\014lenames)g(matc)m(hing)h(the)f(pattern)g(\(see)h
+(Section)f(3.5.8.1)j([P)m(attern)e(Matc)m(hing],)h(page)f(33\).)43
+b(If)150 2737 y(no)26 b(matc)m(hing)i(\014lenames)e(are)h(found,)f(and)
g(the)h(shell)f(option)h Ft(nullglob)d Fu(is)j(disabled,)g(the)g(w)m
-(ord)f(is)g(left)150 5230 y(unc)m(hanged.)40 b(If)30
+(ord)f(is)g(left)150 2846 y(unc)m(hanged.)40 b(If)30
b(the)g Ft(nullglob)e Fu(option)i(is)h(set,)f(and)g(no)g(matc)m(hes)h
(are)g(found,)e(the)h(w)m(ord)g(is)g(remo)m(v)m(ed.)150
-5340 y(If)i(the)g Ft(failglob)e Fu(shell)i(option)h(is)f(set,)h(and)f
+2956 y(If)i(the)g Ft(failglob)e Fu(shell)i(option)h(is)f(set,)h(and)f
(no)g(matc)m(hes)h(are)g(found,)e(an)h(error)g(message)h(is)f(prin)m
-(ted)p eop end
-%%Page: 32 38
-TeXDict begin 32 37 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(32)150 299
-y(and)30 b(the)g(command)g(is)h(not)f(executed.)42 b(If)30
-b(the)g(shell)h(option)g Ft(nocaseglob)c Fu(is)k(enabled,)f(the)h(matc)
-m(h)g(is)150 408 y(p)s(erformed)e(without)h(regard)h(to)g(the)f(case)i
-(of)e(alphab)s(etic)h(c)m(haracters.)275 544 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 Ft(.)p Fu(')f(at)g(the)g(start)g(of)g(a)g(\014lename)
-150 654 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 Ft(dotglob)150 763 y Fu(is)k(set.)41 b(The)28 b(\014lenames)g(`)p
-Ft(.)p Fu(')g(and)g(`)p Ft(..)p Fu(')g(m)m(ust)g(alw)m(a)m(ys)i(b)s(e)e
-(matc)m(hed)h(explicitly)-8 b(,)30 b(ev)m(en)f(if)g Ft(dotglob)d
-Fu(is)i(set.)150 873 y(In)i(other)g(cases,)i(the)e(`)p
+(ted)150 3066 y(and)e(the)g(command)g(is)h(not)f(executed.)42
+b(If)30 b(the)g(shell)h(option)g Ft(nocaseglob)c Fu(is)k(enabled,)f
+(the)h(matc)m(h)g(is)150 3175 y(p)s(erformed)e(without)h(regard)h(to)g
+(the)f(case)i(of)e(alphab)s(etic)h(c)m(haracters.)275
+3333 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 Ft(.)p Fu(')f(at)g(the)g(start)g
+(of)g(a)g(\014lename)150 3442 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 Ft(dotglob)150
+3552 y Fu(is)k(set.)41 b(The)28 b(\014lenames)g(`)p Ft(.)p
+Fu(')g(and)g(`)p Ft(..)p Fu(')g(m)m(ust)g(alw)m(a)m(ys)i(b)s(e)e(matc)m
+(hed)h(explicitly)-8 b(,)30 b(ev)m(en)f(if)g Ft(dotglob)d
+Fu(is)i(set.)150 3662 y(In)i(other)g(cases,)i(the)e(`)p
Ft(.)p Fu(')h(c)m(haracter)h(is)e(not)h(treated)g(sp)s(ecially)-8
-b(.)275 1009 y(When)30 b(matc)m(hing)i(a)f(\014lename,)h(the)f(slash)f
+b(.)275 3819 y(When)30 b(matc)m(hing)i(a)f(\014lename,)h(the)f(slash)f
(c)m(haracter)j(m)m(ust)d(alw)m(a)m(ys)j(b)s(e)d(matc)m(hed)h
-(explicitly)i(b)m(y)e(a)150 1118 y(slash)d(in)f(the)h(pattern,)h(but)e
+(explicitly)i(b)m(y)e(a)150 3929 y(slash)d(in)f(the)h(pattern,)h(but)e
(in)h(other)g(matc)m(hing)h(con)m(texts)h(it)e(can)g(b)s(e)g(matc)m
-(hed)g(b)m(y)g(a)g(sp)s(ecial)h(pattern)150 1228 y(c)m(haracter)j(as)f
+(hed)g(b)m(y)g(a)g(sp)s(ecial)h(pattern)150 4038 y(c)m(haracter)j(as)f
(describ)s(ed)e(b)s(elo)m(w)h(\(see)i(Section)f(3.5.8.1)i([P)m(attern)e
-(Matc)m(hing],)i(page)e(32\).)275 1364 y(See)d(the)g(description)g(of)g
+(Matc)m(hing],)i(page)e(33\).)275 4196 y(See)d(the)g(description)g(of)g
Ft(shopt)e Fu(in)i(Section)g(4.3.2)i([The)e(Shopt)f(Builtin],)i(page)g
-(65,)g(for)f(a)g(descrip-)150 1473 y(tion)j(of)f(the)h
+(65,)g(for)f(a)g(descrip-)150 4306 y(tion)j(of)f(the)h
Ft(nocaseglob)p Fu(,)d Ft(nullglob)p Fu(,)g Ft(failglob)p
-Fu(,)h(and)g Ft(dotglob)g Fu(options.)275 1609 y(The)36
+Fu(,)h(and)g Ft(dotglob)g Fu(options.)275 4463 y(The)36
b Ft(GLOBIGNORE)d Fu(shell)k(v)-5 b(ariable)37 b(ma)m(y)g(b)s(e)f(used)
g(to)h(restrict)g(the)g(set)g(of)g(\014le)f(names)h(matc)m(hing)150
-1719 y(a)42 b(pattern.)74 b(If)41 b Ft(GLOBIGNORE)e Fu(is)i(set,)k(eac)
+4573 y(a)42 b(pattern.)74 b(If)41 b Ft(GLOBIGNORE)e Fu(is)i(set,)k(eac)
m(h)e(matc)m(hing)f(\014le)g(name)f(that)h(also)h(matc)m(hes)f(one)g
-(of)g(the)150 1828 y(patterns)34 b(in)g Ft(GLOBIGNORE)d
+(of)g(the)150 4682 y(patterns)34 b(in)g Ft(GLOBIGNORE)d
Fu(is)k(remo)m(v)m(ed)g(from)f(the)g(list)h(of)f(matc)m(hes.)54
-b(If)33 b(the)i Ft(nocaseglob)c Fu(option)k(is)150 1938
+b(If)33 b(the)i Ft(nocaseglob)c Fu(option)k(is)150 4792
y(set,)c(the)e(matc)m(hing)i(against)g(the)f(patterns)f(in)h
Ft(GLOBIGNORE)c Fu(is)k(p)s(erformed)e(without)i(regard)f(to)i(case.)
-150 2047 y(The)d(\014lenames)h Ft(.)g Fu(and)f Ft(..)h
+150 4902 y(The)d(\014lenames)h Ft(.)g Fu(and)f Ft(..)h
Fu(are)g(alw)m(a)m(ys)h(ignored)f(when)f Ft(GLOBIGNORE)f
Fu(is)i(set)g(and)f(not)h(n)m(ull.)41 b(Ho)m(w)m(ev)m(er,)150
-2157 y(setting)30 b Ft(GLOBIGNORE)d Fu(to)j(a)f(non-n)m(ull)g(v)-5
+5011 y(setting)30 b Ft(GLOBIGNORE)d Fu(to)j(a)f(non-n)m(ull)g(v)-5
b(alue)30 b(has)f(the)g(e\013ect)i(of)f(enabling)f(the)h
-Ft(dotglob)d Fu(shell)i(option,)150 2267 y(so)j(all)h(other)f
+Ft(dotglob)d Fu(shell)i(option,)150 5121 y(so)j(all)h(other)f
(\014lenames)g(b)s(eginning)f(with)h(a)g(`)p Ft(.)p Fu(')g(will)h(matc)
m(h.)46 b(T)-8 b(o)32 b(get)h(the)f(old)g(b)s(eha)m(vior)g(of)h
-(ignoring)150 2376 y(\014lenames)c(b)s(eginning)f(with)h(a)h(`)p
+(ignoring)150 5230 y(\014lenames)c(b)s(eginning)f(with)h(a)h(`)p
Ft(.)p Fu(',)f(mak)m(e)h(`)p Ft(.*)p Fu(')f(one)h(of)f(the)g(patterns)g
(in)g Ft(GLOBIGNORE)p Fu(.)37 b(The)29 b Ft(dotglob)150
-2486 y Fu(option)i(is)f(disabled)g(when)g Ft(GLOBIGNORE)d
-Fu(is)k(unset.)150 2686 y Fk(3.5.8.1)63 b(P)m(attern)40
-b(Matc)m(hing)150 2833 y Fu(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 2943 y(b)s(elo)m(w,)31
-b(matc)m(hes)g(itself.)42 b(The)29 b Fm(nul)h Fu(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 3052 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 3162 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 3298 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 3459 y Ft(*)432 b Fu(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 Ft(globstar)e Fu(shell)i(option)630
-3568 y(is)37 b(enabled,)h(and)e(`)p Ft(*)p Fu(')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
-Ft(*)p Fu('s)630 3678 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
-3788 y(sub)s(directories.)g(If)25 b(follo)m(w)m(ed)j(b)m(y)e(a)g(`)p
+5340 y Fu(option)i(is)f(disabled)g(when)g Ft(GLOBIGNORE)d
+Fu(is)k(unset.)p eop end
+%%Page: 33 39
+TeXDict begin 33 38 bop 150 -116 a Fu(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(33)150 299
+y Fk(3.5.8.1)63 b(P)m(attern)40 b(Matc)m(hing)150 446
+y Fu(An)m(y)24 b(c)m(haracter)h(that)f(app)s(ears)f(in)g(a)h(pattern,)i
+(other)e(than)f(the)h(sp)s(ecial)g(pattern)g(c)m(haracters)h(describ)s
+(ed)150 555 y(b)s(elo)m(w,)31 b(matc)m(hes)g(itself.)42
+b(The)29 b Fm(nul)h Fu(c)m(haracter)i(ma)m(y)e(not)h(o)s(ccur)f(in)g(a)
+h(pattern.)40 b(A)31 b(bac)m(kslash)g(escap)s(es)150
+665 y(the)38 b(follo)m(wing)g(c)m(haracter;)43 b(the)37
+b(escaping)i(bac)m(kslash)e(is)h(discarded)f(when)f(matc)m(hing.)63
+b(The)36 b(sp)s(ecial)150 775 y(pattern)30 b(c)m(haracters)i(m)m(ust)f
+(b)s(e)e(quoted)i(if)f(they)h(are)f(to)i(b)s(e)d(matc)m(hed)i
+(literally)-8 b(.)275 901 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
+1045 y Ft(*)432 b Fu(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 Ft(globstar)e
+Fu(shell)i(option)630 1155 y(is)37 b(enabled,)h(and)e(`)p
+Ft(*)p Fu(')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 Ft(*)p Fu('s)630
+1264 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
+1374 y(sub)s(directories.)g(If)25 b(follo)m(w)m(ed)j(b)m(y)e(a)g(`)p
Ft(/)p Fu(',)h(t)m(w)m(o)g(adjacen)m(t)h(`)p Ft(*)p Fu('s)e(will)g
-(matc)m(h)h(only)f(directories)630 3897 y(and)k(sub)s(directories.)150
-4058 y Ft(?)432 b Fu(Matc)m(hes)32 b(an)m(y)f(single)g(c)m(haracter.)
-150 4219 y Ft([...)o(])241 b Fu(Matc)m(hes)27 b(an)m(y)e(one)g(of)g
+(matc)m(h)h(only)f(directories)630 1484 y(and)k(sub)s(directories.)150
+1627 y Ft(?)432 b Fu(Matc)m(hes)32 b(an)m(y)f(single)g(c)m(haracter.)
+150 1771 y Ft([...)o(])241 b Fu(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 4328 y(h)m(yphen)k(denotes)i(a)g
+i(separated)e(b)m(y)g(a)630 1881 y(h)m(yphen)k(denotes)i(a)g
Fr(range)g(expression)p Fu(;)f(an)m(y)h(c)m(haracter)h(that)f(falls)g
-(b)s(et)m(w)m(een)g(those)g(t)m(w)m(o)630 4438 y(c)m(haracters,)d
+(b)s(et)m(w)m(een)g(those)g(t)m(w)m(o)630 1990 y(c)m(haracters,)d
(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 4547 y(set,)31 b(is)f(matc)m(hed.)42
+(sequence)e(and)f(c)m(haracter)630 2100 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
Ft([)p Fu(')h(is)f(a)h(`)p Ft(!)p Fu(')f(or)g(a)h(`)p
-Ft(^)p Fu(')g(then)f(an)m(y)630 4657 y(c)m(haracter)c(not)f(enclosed)g
+Ft(^)p Fu(')g(then)f(an)m(y)630 2210 y(c)m(haracter)c(not)f(enclosed)g
(is)g(matc)m(hed.)40 b(A)25 b(`)p Fq(\000)p Fu(')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 4767
+(matc)m(hed)h(b)m(y)f(including)h(it)g(as)g(the)630 2319
y(\014rst)32 b(or)h(last)h(c)m(haracter)h(in)e(the)g(set.)50
b(A)33 b(`)p Ft(])p Fu(')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 4876 y(\014rst)25 b(c)m(haracter)i(in)e
+(including)g(it)g(as)h(the)630 2429 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 4986 y(determined)h(b)m(y)h(the)g(curren)
+(range)g(expressions)f(is)630 2538 y(determined)h(b)m(y)h(the)g(curren)
m(t)f(lo)s(cale)j(and)d(the)h(v)-5 b(alues)27 b(of)g(the)g
-Ft(LC_COLLATE)d Fu(and)i Ft(LC_ALL)630 5095 y Fu(shell)31
-b(v)-5 b(ariables,)31 b(if)f(set.)630 5230 y(F)-8 b(or)34
+Ft(LC_COLLATE)d Fu(and)i Ft(LC_ALL)630 2648 y Fu(shell)31
+b(v)-5 b(ariables,)31 b(if)f(set.)630 2775 y(F)-8 b(or)34
b(example,)g(in)f(the)g(default)g(C)f(lo)s(cale,)k(`)p
Ft([a-dx-z])p Fu(')31 b(is)i(equiv)-5 b(alen)m(t)34 b(to)g(`)p
-Ft([abcdxyz])p Fu('.)630 5340 y(Man)m(y)68 b(lo)s(cales)h(sort)f(c)m
+Ft([abcdxyz])p Fu('.)630 2884 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)p eop end
-%%Page: 33 39
-TeXDict begin 33 38 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(33)630 299
-y(`)p Ft([a-dx-z])p Fu(')36 b(is)i(t)m(ypically)i(not)e(equiv)-5
-b(alen)m(t)39 b(to)g(`)p Ft([abcdxyz])p Fu(';)g(it)g(migh)m(t)f(b)s(e)f
-(equiv)-5 b(alen)m(t)630 408 y(to)34 b(`)p Ft([aBbCcDdxXyYz])p
-Fu(',)c(for)j(example.)49 b(T)-8 b(o)33 b(obtain)h(the)f(traditional)h
-(in)m(terpretation)h(of)630 518 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 628 y(the)c Ft(LC_COLLATE)e
-Fu(or)i Ft(LC_ALL)f Fu(en)m(vironmen)m(t)i(v)-5 b(ariable)30
-b(to)g(the)f(v)-5 b(alue)30 b(`)p Ft(C)p Fu(',)g(or)f(enable)h(the)630
-737 y Ft(globasciiranges)c Fu(shell)31 b(option.)630
-871 y(Within)23 b(`)p Ft([)p Fu(')h(and)e(`)p Ft(])p
-Fu(',)j Fr(c)m(haracter)g(classes)j Fu(can)c(b)s(e)e(sp)s(eci\014ed)h
-(using)f(the)i(syn)m(tax)f Ft([:)p Fr(class)t Ft(:])p
-Fu(,)630 981 y(where)30 b Fr(class)35 b Fu(is)30 b(one)h(of)f(the)h
-(follo)m(wing)h(classes)f(de\014ned)e(in)h(the)h Fm(posix)f
-Fu(standard:)870 1115 y Ft(alnum)142 b(alpha)g(ascii)f(blank)h(cntrl)g
-(digit)g(graph)g(lower)870 1224 y(print)g(punct)g(space)f(upper)h(word)
-190 b(xdigit)630 1358 y Fu(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 Ft(word)630 1468 y Fu(c)m(haracter)32 b(class)f(matc)m(hes)h
+(cales)630 2994 y(`)p Ft([a-dx-z])p Fu(')36 b(is)i(t)m(ypically)i(not)e
+(equiv)-5 b(alen)m(t)39 b(to)g(`)p Ft([abcdxyz])p Fu(';)g(it)g(migh)m
+(t)f(b)s(e)f(equiv)-5 b(alen)m(t)630 3104 y(to)34 b(`)p
+Ft([aBbCcDdxXyYz])p Fu(',)c(for)j(example.)49 b(T)-8
+b(o)33 b(obtain)h(the)f(traditional)h(in)m(terpretation)h(of)630
+3213 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
+3323 y(the)c Ft(LC_COLLATE)e Fu(or)i Ft(LC_ALL)f Fu(en)m(vironmen)m(t)i
+(v)-5 b(ariable)30 b(to)g(the)f(v)-5 b(alue)30 b(`)p
+Ft(C)p Fu(',)g(or)f(enable)h(the)630 3432 y Ft(globasciiranges)c
+Fu(shell)31 b(option.)630 3559 y(Within)23 b(`)p Ft([)p
+Fu(')h(and)e(`)p Ft(])p Fu(',)j Fr(c)m(haracter)g(classes)j
+Fu(can)c(b)s(e)e(sp)s(eci\014ed)h(using)f(the)i(syn)m(tax)f
+Ft([:)p Fr(class)t Ft(:])p Fu(,)630 3669 y(where)30 b
+Fr(class)35 b Fu(is)30 b(one)h(of)f(the)h(follo)m(wing)h(classes)f
+(de\014ned)e(in)h(the)h Fm(posix)f Fu(standard:)870 3795
+y Ft(alnum)142 b(alpha)g(ascii)f(blank)h(cntrl)g(digit)g(graph)g(lower)
+870 3905 y(print)g(punct)g(space)f(upper)h(word)190 b(xdigit)630
+4032 y Fu(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 Ft(word)630 4141 y Fu(c)m(haracter)32 b(class)f(matc)m(hes)h
(letters,)f(digits,)h(and)d(the)i(c)m(haracter)h(`)p
-Ft(_)p Fu('.)630 1602 y(Within)25 b(`)p Ft([)p Fu(')f(and)g(`)p
+Ft(_)p Fu('.)630 4268 y(Within)25 b(`)p Ft([)p Fu(')f(and)g(`)p
Ft(])p Fu(',)i(an)e Fr(equiv)-5 b(alence)26 b(class)j
Fu(can)24 b(b)s(e)g(sp)s(eci\014ed)g(using)g(the)g(syn)m(tax)h
-Ft([=)p Fr(c)6 b Ft(=])p Fu(,)630 1711 y(whic)m(h)29
+Ft([=)p Fr(c)6 b Ft(=])p Fu(,)630 4378 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 1821
+m(eigh)m(t)g(\(as)f(de\014ned)e(b)m(y)i(the)630 4487
y(curren)m(t)g(lo)s(cale\))j(as)d(the)h(c)m(haracter)h
-Fr(c)p Fu(.)630 1955 y(Within)22 b(`)p Ft([)p Fu(')f(and)g(`)p
+Fr(c)p Fu(.)630 4614 y(Within)22 b(`)p Ft([)p Fu(')f(and)g(`)p
Ft(])p Fu(',)j(the)d(syn)m(tax)h Ft([.)p Fr(sym)m(b)s(ol)t
Ft(.])e Fu(matc)m(hes)i(the)g(collating)i(sym)m(b)s(ol)d
-Fr(sym)m(b)s(ol)p Fu(.)275 2113 y(If)29 b(the)g Ft(extglob)f
+Fr(sym)m(b)s(ol)p Fu(.)275 4758 y(If)29 b(the)g Ft(extglob)f
Fu(shell)h(option)h(is)g(enabled)f(using)g(the)h Ft(shopt)e
-Fu(builtin,)h(sev)m(eral)i(extended)f(pattern)150 2222
+Fu(builtin,)h(sev)m(eral)i(extended)f(pattern)150 4867
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 Fr(pattern-list)j
-Fu(is)d(a)g(list)g(of)150 2332 y(one)d(or)f(more)h(patterns)f
+Fu(is)d(a)g(list)g(of)150 4977 y(one)d(or)f(more)h(patterns)f
(separated)h(b)m(y)f(a)h(`)p Ft(|)p Fu('.)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
-2442 y(more)e(of)f(the)h(follo)m(wing)g(sub-patterns:)150
-2600 y Ft(?\()p Fj(pattern-list)p Ft(\))630 2709 y Fu(Matc)m(hes)h
-(zero)f(or)g(one)f(o)s(ccurrence)h(of)f(the)h(giv)m(en)g(patterns.)150
-2867 y Ft(*\()p Fj(pattern-list)p Ft(\))630 2977 y Fu(Matc)m(hes)h
-(zero)f(or)g(more)f(o)s(ccurrences)h(of)f(the)h(giv)m(en)g(patterns.)
-150 3135 y Ft(+\()p Fj(pattern-list)p Ft(\))630 3245
-y Fu(Matc)m(hes)h(one)f(or)f(more)h(o)s(ccurrences)f(of)h(the)f(giv)m
-(en)i(patterns.)150 3403 y Ft(@\()p Fj(pattern-list)p
-Ft(\))630 3513 y Fu(Matc)m(hes)g(one)f(of)f(the)h(giv)m(en)g(patterns.)
-150 3671 y Ft(!\()p Fj(pattern-list)p Ft(\))630 3780
-y Fu(Matc)m(hes)h(an)m(ything)f(except)g(one)g(of)f(the)h(giv)m(en)g
-(patterns.)275 3939 y(Complicated)41 b(extended)f(pattern)g(matc)m
-(hing)h(against)h(long)f(strings)f(is)g(slo)m(w,)k(esp)s(ecially)d
-(when)150 4048 y(the)29 b(patterns)g(con)m(tain)i(alternations)f(and)f
-(the)g(strings)g(con)m(tain)h(m)m(ultiple)g(matc)m(hes.)42
-b(Using)29 b(separate)150 4158 y(matc)m(hes)38 b(against)g(shorter)e
+5087 y(more)e(of)f(the)h(follo)m(wing)g(sub-patterns:)150
+5230 y Ft(?\()p Fj(pattern-list)p Ft(\))630 5340 y Fu(Matc)m(hes)h
+(zero)f(or)g(one)f(o)s(ccurrence)h(of)f(the)h(giv)m(en)g(patterns.)p
+eop end
+%%Page: 34 40
+TeXDict begin 34 39 bop 150 -116 a Fu(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(34)150 299
+y Ft(*\()p Fj(pattern-list)p Ft(\))630 408 y Fu(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 554 y Ft(+\()p Fj(pattern-list)p Ft(\))630 663 y
+Fu(Matc)m(hes)h(one)f(or)f(more)h(o)s(ccurrences)f(of)h(the)f(giv)m(en)
+i(patterns.)150 809 y Ft(@\()p Fj(pattern-list)p Ft(\))630
+918 y Fu(Matc)m(hes)g(one)f(of)f(the)h(giv)m(en)g(patterns.)150
+1064 y Ft(!\()p Fj(pattern-list)p Ft(\))630 1173 y Fu(Matc)m(hes)h(an)m
+(ything)f(except)g(one)g(of)f(the)h(giv)m(en)g(patterns.)275
+1319 y(Complicated)41 b(extended)f(pattern)g(matc)m(hing)h(against)h
+(long)f(strings)f(is)g(slo)m(w,)k(esp)s(ecially)d(when)150
+1428 y(the)29 b(patterns)g(con)m(tain)i(alternations)f(and)f(the)g
+(strings)g(con)m(tain)h(m)m(ultiple)g(matc)m(hes.)42
+b(Using)29 b(separate)150 1538 y(matc)m(hes)38 b(against)g(shorter)e
(strings,)i(or)f(using)f(arra)m(ys)h(of)g(strings)f(instead)h(of)g(a)g
-(single)g(long)h(string,)150 4267 y(ma)m(y)31 b(b)s(e)f(faster.)150
-4465 y Fk(3.5.9)63 b(Quote)41 b(Remo)m(v)-7 b(al)150
-4612 y Fu(After)32 b(the)g(preceding)g(expansions,)h(all)f(unquoted)f
+(single)g(long)h(string,)150 1647 y(ma)m(y)31 b(b)s(e)f(faster.)150
+1833 y Fk(3.5.9)63 b(Quote)41 b(Remo)m(v)-7 b(al)150
+1979 y Fu(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 Ft(\\)p
Fu(',)g(`)p Ft(')p Fu(',)f(and)g(`)p Ft(")p Fu(')150
-4722 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 4961 y Fs(3.6)68
-b(Redirections)150 5121 y Fu(Before)32 b(a)f(command)f(is)h(executed,)h
+2089 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 2316 y Fs(3.6)68
+b(Redirections)150 2475 y Fu(Before)32 b(a)f(command)f(is)h(executed,)h
(its)f(input)e(and)h(output)h(ma)m(y)g(b)s(e)f Fr(redirected)k
-Fu(using)c(a)i(sp)s(ecial)f(no-)150 5230 y(tation)d(in)m(terpreted)f(b)
+Fu(using)c(a)i(sp)s(ecial)f(no-)150 2585 y(tation)d(in)m(terpreted)f(b)
m(y)f(the)h(shell.)40 b(Redirection)27 b(allo)m(ws)h(commands')f
-(\014le)f(handles)g(to)i(b)s(e)e(duplicated,)150 5340
+(\014le)f(handles)g(to)i(b)s(e)e(duplicated,)150 2694
y(op)s(ened,)i(closed,)i(made)e(to)h(refer)f(to)h(di\013eren)m(t)f
(\014les,)h(and)f(can)g(c)m(hange)h(the)g(\014les)f(the)g(command)g
-(reads)p eop end
-%%Page: 34 40
-TeXDict begin 34 39 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(34)150 299
-y(from)39 b(and)g(writes)h(to.)69 b(Redirection)40 b(ma)m(y)g(also)h(b)
-s(e)e(used)g(to)h(mo)s(dify)f(\014le)g(handles)g(in)g(the)h(curren)m(t)
-150 408 y(shell)e(execution)h(en)m(vironmen)m(t.)65 b(The)37
-b(follo)m(wing)j(redirection)f(op)s(erators)f(ma)m(y)g(precede)h(or)f
-(app)s(ear)150 518 y(an)m(ywhere)30 b(within)f(a)h(simple)f(command)h
-(or)f(ma)m(y)i(follo)m(w)g(a)f(command.)40 b(Redirections)30
-b(are)g(pro)s(cessed)150 628 y(in)g(the)h(order)f(they)g(app)s(ear,)g
-(from)g(left)h(to)g(righ)m(t.)275 758 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 868 y(preceded)41
-b(b)m(y)g(a)h(w)m(ord)f(of)g(the)h(form)f Fi({)p Fr(v)-5
-b(arname)5 b Fi(})p Fu(.)74 b(In)41 b(this)g(case,)k(for)c(eac)m(h)i
-(redirection)f(op)s(erator)150 977 y(except)30 b Ft(>)p
-Fu(&-)f(and)f Ft(<)p Fu(&-,)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
-1087 y Fi({)p Fr(v)-5 b(arname)5 b Fi(})p Fu(.)45 b(If)31
-b Ft(>)p Fu(&-)g(or)h Ft(<)p Fu(&-)f(is)h(preceded)f(b)m(y)g
-Fi({)p Fr(v)-5 b(arname)5 b Fi(})p Fu(,)33 b(the)f(v)-5
+(reads)150 2804 y(from)39 b(and)g(writes)h(to.)69 b(Redirection)40
+b(ma)m(y)g(also)h(b)s(e)e(used)g(to)h(mo)s(dify)f(\014le)g(handles)g
+(in)g(the)h(curren)m(t)150 2914 y(shell)e(execution)h(en)m(vironmen)m
+(t.)65 b(The)37 b(follo)m(wing)j(redirection)f(op)s(erators)f(ma)m(y)g
+(precede)h(or)f(app)s(ear)150 3023 y(an)m(ywhere)30 b(within)f(a)h
+(simple)f(command)h(or)f(ma)m(y)i(follo)m(w)g(a)f(command.)40
+b(Redirections)30 b(are)g(pro)s(cessed)150 3133 y(in)g(the)h(order)f
+(they)g(app)s(ear,)g(from)g(left)h(to)g(righ)m(t.)275
+3260 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 3370 y(preceded)41 b(b)m(y)g(a)h(w)m(ord)f(of)g(the)h(form)f
+Fi({)p Fr(v)-5 b(arname)5 b Fi(})p Fu(.)74 b(In)41 b(this)g(case,)k
+(for)c(eac)m(h)i(redirection)f(op)s(erator)150 3479 y(except)30
+b Ft(>)p Fu(&-)f(and)f Ft(<)p Fu(&-,)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 3589 y Fi({)p Fr(v)-5 b(arname)5 b Fi(})p
+Fu(.)45 b(If)31 b Ft(>)p Fu(&-)g(or)h Ft(<)p Fu(&-)f(is)h(preceded)f(b)
+m(y)g Fi({)p Fr(v)-5 b(arname)5 b Fi(})p Fu(,)33 b(the)f(v)-5
b(alue)32 b(of)g Fr(v)-5 b(arname)36 b Fu(de\014nes)31
-b(the)h(\014le)150 1196 y(descriptor)i(to)g(close.)52
+b(the)h(\014le)150 3698 y(descriptor)i(to)g(close.)52
b(If)34 b Fi({)p Fr(v)-5 b(arname)5 b Fi(})34 b Fu(is)g(supplied,)g
(the)g(redirection)g(p)s(ersists)f(b)s(ey)m(ond)g(the)h(scop)s(e)g(of)
-150 1306 y(the)d(command,)f(allo)m(wing)i(the)f(shell)f(programmer)g
+150 3808 y(the)d(command,)f(allo)m(wing)i(the)f(shell)f(programmer)g
(to)h(manage)h(the)e(\014le)h(descriptor)f(himself.)275
-1437 y(In)d(the)i(follo)m(wing)h(descriptions,)g(if)e(the)h(\014le)g
+3936 y(In)d(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 1546 y(acter)42 b(of)f(the)g(redirection)g(op)s(erator)g
+(c)m(har-)150 4045 y(acter)42 b(of)f(the)g(redirection)g(op)s(erator)g
(is)g(`)p Ft(<)p Fu(',)i(the)e(redirection)g(refers)g(to)g(the)g
-(standard)f(input)f(\(\014le)150 1656 y(descriptor)33
+(standard)f(input)f(\(\014le)150 4155 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 Ft(>)p Fu(',)h(the)f(redirection)
-g(refers)150 1765 y(to)e(the)g(standard)e(output)h(\(\014le)h
-(descriptor)f(1\).)275 1896 y(The)h(w)m(ord)h(follo)m(wing)i(the)f
+g(refers)150 4264 y(to)e(the)g(standard)e(output)h(\(\014le)h
+(descriptor)f(1\).)275 4392 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 2005 y(wise)21 b(noted,)i(is)e(sub)5
+(unless)e(other-)150 4501 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 2115 y(substitution,)31 b(arithmetic)h
+e(expansion,)i(command)150 4611 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 2225 y(If)f(it)h(expands)e(to)i(more)g
+(and)f(w)m(ord)h(splitting.)150 4721 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
-2355 y(Note)h(that)g(the)g(order)f(of)g(redirections)h(is)g
+4848 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
-2485 y Ft(ls)47 b(>)h Fj(dirlist)d Ft(2>&1)150 2616 y
+4975 y Ft(ls)47 b(>)h Fj(dirlist)d Ft(2>&1)150 5103 y
Fu(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 2725 y(\014le)h Fr(dirlist)p Fu(,)h(while)f(the)h(command)390
-2856 y Ft(ls)47 b(2>&1)g(>)g Fj(dirlist)150 2986 y Fu(directs)28
-b(only)f(the)h(standard)e(output)i(to)g(\014le)f Fr(dirlist)p
-Fu(,)h(b)s(ecause)g(the)f(standard)g(error)g(w)m(as)h(made)f(a)h(cop)m
-(y)150 3096 y(of)j(the)f(standard)g(output)g(b)s(efore)g(the)g
-(standard)g(output)g(w)m(as)g(redirected)h(to)g Fr(dirlist)p
-Fu(.)275 3226 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 3336 y(in)38 b(the)h(follo)m(wing)h(table.)66
-b(If)38 b(the)h(op)s(erating)g(system)f(on)h(whic)m(h)f(Bash)h(is)f
-(running)f(pro)m(vides)h(these)150 3446 y(sp)s(ecial)27
-b(\014les,)g(bash)e(will)i(use)f(them;)h(otherwise)g(it)f(will)h(em)m
-(ulate)h(them)e(in)m(ternally)h(with)f(the)g(b)s(eha)m(vior)150
-3555 y(describ)s(ed)j(b)s(elo)m(w.)150 3707 y Ft(/dev/fd/)p
-Fj(fd)630 3816 y Fu(If)h Fr(fd)j Fu(is)d(a)h(v)-5 b(alid)31
-b(in)m(teger,)h(\014le)e(descriptor)h Fr(fd)i Fu(is)d(duplicated.)150
-3968 y Ft(/dev/stdin)630 4077 y Fu(File)i(descriptor)e(0)h(is)f
-(duplicated.)150 4228 y Ft(/dev/stdout)630 4338 y Fu(File)i(descriptor)
-e(1)h(is)f(duplicated.)150 4489 y Ft(/dev/stderr)630
-4599 y Fu(File)i(descriptor)e(2)h(is)f(duplicated.)150
-4750 y Ft(/dev/tcp/)p Fj(host)p Ft(/)p Fj(port)630 4860
-y Fu(If)41 b Fr(host)i Fu(is)f(a)g(v)-5 b(alid)41 b(hostname)h(or)f(In)
-m(ternet)h(address,)i(and)c Fr(p)s(ort)j Fu(is)f(an)f(in)m(teger)i(p)s
-(ort)630 4969 y(n)m(um)m(b)s(er)23 b(or)i(service)h(name,)g(Bash)f
-(attempts)h(to)f(op)s(en)f(the)h(corresp)s(onding)f(TCP)g(so)s(c)m(k)m
-(et.)150 5121 y Ft(/dev/udp/)p Fj(host)p Ft(/)p Fj(port)630
-5230 y Fu(If)41 b Fr(host)i Fu(is)f(a)g(v)-5 b(alid)41
-b(hostname)h(or)f(In)m(ternet)h(address,)i(and)c Fr(p)s(ort)j
-Fu(is)f(an)f(in)m(teger)i(p)s(ort)630 5340 y(n)m(um)m(b)s(er)23
-b(or)h(service)h(name,)h(Bash)e(attempts)h(to)g(op)s(en)f(the)g
-(corresp)s(onding)f(UDP)i(so)s(c)m(k)m(et.)p eop end
+150 5213 y(\014le)h Fr(dirlist)p Fu(,)h(while)f(the)h(command)390
+5340 y Ft(ls)47 b(2>&1)g(>)g Fj(dirlist)p eop end
%%Page: 35 41
TeXDict begin 35 40 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(35)275 299
-y(A)30 b(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 439 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 548 y(con\015ict)i(with)f
-(\014le)h(descriptors)f(the)g(shell)h(uses)f(in)m(ternally)-8
-b(.)150 753 y Fk(3.6.1)63 b(Redirecting)40 b(Input)150
-900 y Fu(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 Fr(w)m(ord)k
-Fu(to)d(b)s(e)150 1010 y(op)s(ened)d(for)g(reading)g(on)g(\014le)h
-(descriptor)f Ft(n)p Fu(,)h(or)f(the)g(standard)g(input)f(\(\014le)i
-(descriptor)f(0\))h(if)f Ft(n)g Fu(is)h(not)150 1119
-y(sp)s(eci\014ed.)275 1259 y(The)c(general)j(format)e(for)h
-(redirecting)g(input)e(is:)390 1399 y Ft([)p Fj(n)p Ft(]<)p
-Fj(word)150 1604 y Fk(3.6.2)63 b(Redirecting)40 b(Output)150
-1751 y Fu(Redirection)31 b(of)g(output)f(causes)h(the)f(\014le)h(whose)
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(35)150 299
+y(directs)28 b(only)f(the)h(standard)e(output)i(to)g(\014le)f
+Fr(dirlist)p Fu(,)h(b)s(ecause)g(the)f(standard)g(error)g(w)m(as)h
+(made)f(a)h(cop)m(y)150 408 y(of)j(the)f(standard)g(output)g(b)s(efore)
+g(the)g(standard)g(output)g(w)m(as)g(redirected)h(to)g
+Fr(dirlist)p Fu(.)275 543 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 652 y(in)38 b(the)h(follo)m
+(wing)h(table.)66 b(If)38 b(the)h(op)s(erating)g(system)f(on)h(whic)m
+(h)f(Bash)h(is)f(running)f(pro)m(vides)h(these)150 762
+y(sp)s(ecial)27 b(\014les,)g(bash)e(will)i(use)f(them;)h(otherwise)g
+(it)f(will)h(em)m(ulate)h(them)e(in)m(ternally)h(with)f(the)g(b)s(eha)m
+(vior)150 871 y(describ)s(ed)j(b)s(elo)m(w.)150 1030
+y Ft(/dev/fd/)p Fj(fd)630 1140 y Fu(If)h Fr(fd)j Fu(is)d(a)h(v)-5
+b(alid)31 b(in)m(teger,)h(\014le)e(descriptor)h Fr(fd)i
+Fu(is)d(duplicated.)150 1298 y Ft(/dev/stdin)630 1408
+y Fu(File)i(descriptor)e(0)h(is)f(duplicated.)150 1566
+y Ft(/dev/stdout)630 1676 y Fu(File)i(descriptor)e(1)h(is)f
+(duplicated.)150 1835 y Ft(/dev/stderr)630 1944 y Fu(File)i(descriptor)
+e(2)h(is)f(duplicated.)150 2103 y Ft(/dev/tcp/)p Fj(host)p
+Ft(/)p Fj(port)630 2212 y Fu(If)41 b Fr(host)i Fu(is)f(a)g(v)-5
+b(alid)41 b(hostname)h(or)f(In)m(ternet)h(address,)i(and)c
+Fr(p)s(ort)j Fu(is)f(an)f(in)m(teger)i(p)s(ort)630 2322
+y(n)m(um)m(b)s(er)23 b(or)i(service)h(name,)g(Bash)f(attempts)h(to)f
+(op)s(en)f(the)h(corresp)s(onding)f(TCP)g(so)s(c)m(k)m(et.)150
+2480 y Ft(/dev/udp/)p Fj(host)p Ft(/)p Fj(port)630 2590
+y Fu(If)41 b Fr(host)i Fu(is)f(a)g(v)-5 b(alid)41 b(hostname)h(or)f(In)
+m(ternet)h(address,)i(and)c Fr(p)s(ort)j Fu(is)f(an)f(in)m(teger)i(p)s
+(ort)630 2700 y(n)m(um)m(b)s(er)23 b(or)h(service)h(name,)h(Bash)e
+(attempts)h(to)g(op)s(en)f(the)g(corresp)s(onding)f(UDP)i(so)s(c)m(k)m
+(et.)275 2858 y(A)30 b(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
+2992 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
+3102 y(con\015ict)i(with)f(\014le)h(descriptors)f(the)g(shell)h(uses)f
+(in)m(ternally)-8 b(.)150 3300 y Fk(3.6.1)63 b(Redirecting)40
+b(Input)150 3447 y Fu(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
+Fr(w)m(ord)k Fu(to)d(b)s(e)150 3557 y(op)s(ened)d(for)g(reading)g(on)g
+(\014le)h(descriptor)f Ft(n)p Fu(,)h(or)f(the)g(standard)g(input)f
+(\(\014le)i(descriptor)f(0\))h(if)f Ft(n)g Fu(is)h(not)150
+3667 y(sp)s(eci\014ed.)275 3801 y(The)c(general)j(format)e(for)h
+(redirecting)g(input)e(is:)390 3935 y Ft([)p Fj(n)p Ft(]<)p
+Fj(word)150 4133 y Fk(3.6.2)63 b(Redirecting)40 b(Output)150
+4280 y Fu(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 Fr(w)m(ord)i
-Fu(to)f(b)s(e)150 1861 y(op)s(ened)d(for)g(writing)g(on)g(\014le)h
+Fu(to)f(b)s(e)150 4390 y(op)s(ened)d(for)g(writing)g(on)g(\014le)h
(descriptor)f Fr(n)p Fu(,)g(or)g(the)h(standard)e(output)h(\(\014le)h
-(descriptor)f(1\))h(if)g Fr(n)e Fu(is)i(not)150 1970
+(descriptor)f(1\))h(if)g Fr(n)e Fu(is)i(not)150 4499
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 2110 y(The)e(general)j(format)e(for)h
-(redirecting)g(output)f(is:)390 2250 y Ft([)p Fj(n)p
-Ft(]>[|])p Fj(word)275 2390 y Fu(If)g(the)h(redirection)g(op)s(erator)g
+(to)h(zero)g(size.)275 4633 y(The)e(general)j(format)e(for)h
+(redirecting)g(output)f(is:)390 4768 y Ft([)p Fj(n)p
+Ft(]>[|])p Fj(word)275 4902 y Fu(If)g(the)h(redirection)g(op)s(erator)g
(is)g(`)p Ft(>)p Fu(',)g(and)f(the)h Ft(noclobber)d Fu(option)j(to)g
-(the)g Ft(set)f Fu(builtin)g(has)h(b)s(een)150 2500 y(enabled,)h(the)g
+(the)g Ft(set)f Fu(builtin)g(has)h(b)s(een)150 5011 y(enabled,)h(the)g
(redirection)h(will)f(fail)h(if)e(the)i(\014le)e(whose)h(name)g
(results)g(from)f(the)h(expansion)g(of)g Fr(w)m(ord)150
-2609 y Fu(exists)f(and)f(is)g(a)h(regular)g(\014le.)41
+5121 y Fu(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
Ft(>|)p Fu(',)h(or)f(the)h(redirection)g(op)s(erator)g(is)150
-2719 y(`)p Ft(>)p Fu(')36 b(and)f(the)g Ft(noclobber)e
+5230 y(`)p Ft(>)p Fu(')36 b(and)f(the)g Ft(noclobber)e
Fu(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 2829 y(named)30 b(b)m(y)g
-Fr(w)m(ord)k Fu(exists.)150 3033 y Fk(3.6.3)63 b(App)s(ending)42
-b(Redirected)e(Output)150 3180 y Fu(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 3290 y Fr(w)m(ord)28
-b Fu(to)e(b)s(e)e(op)s(ened)g(for)h(app)s(ending)e(on)i(\014le)g
-(descriptor)g Fr(n)p Fu(,)g(or)g(the)g(standard)f(output)h(\(\014le)g
-(descriptor)150 3399 y(1\))31 b(if)f Fr(n)g Fu(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 3539 y(The)f(general)j(format)e(for)h(app)s(ending)e
-(output)h(is:)390 3679 y Ft([)p Fj(n)p Ft(]>>)p Fj(word)150
-3884 y Fk(3.6.4)63 b(Redirecting)40 b(Standard)h(Output)g(and)g
-(Standard)g(Error)150 4031 y Fu(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 4141 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 Fr(w)m(ord)p Fu(.)275 4281 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 4421 y Ft(&>)p Fj(word)150 4561
-y Fu(and)390 4701 y Ft(>&)p Fj(word)150 4841 y Fu(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
-4981 y Ft(>)p Fj(word)46 b Ft(2>&1)275 5121 y Fu(When)41
-b(using)g(the)h(second)f(form,)k Fr(w)m(ord)f Fu(ma)m(y)e(not)g(expand)
-f(to)h(a)g(n)m(um)m(b)s(er)f(or)g(`)p Ft(-)p Fu('.)75
-b(If)41 b(it)h(do)s(es,)150 5230 y(other)27 b(redirection)g(op)s
-(erators)f(apply)h(\(see)g(Duplicating)h(File)f(Descriptors)h(b)s(elo)m
-(w\))f(for)f(compatibilit)m(y)150 5340 y(reasons.)p eop
-end
+(ev)m(en)h(if)e(the)h(\014le)150 5340 y(named)30 b(b)m(y)g
+Fr(w)m(ord)k Fu(exists.)p eop end
%%Page: 36 42
TeXDict begin 36 41 bop 150 -116 a Fu(Chapter)30 b(3:)41
b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(36)150 299
-y Fk(3.6.5)63 b(App)s(ending)42 b(Standard)f(Output)g(and)g(Standard)g
-(Error)150 446 y Fu(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 Fr(w)m(ord)p Fu(.)275 691 y(The)f(format)i(for)f(app)
-s(ending)f(standard)h(output)g(and)f(standard)h(error)g(is:)390
-828 y Ft(&>>)p Fj(word)150 964 y Fu(This)g(is)g(seman)m(tically)j
-(equiv)-5 b(alen)m(t)32 b(to)390 1100 y Ft(>>)p Fj(word)46
-b Ft(2>&1)275 1236 y Fu(\(see)31 b(Duplicating)h(File)f(Descriptors)g
-(b)s(elo)m(w\).)150 1436 y Fk(3.6.6)63 b(Here)41 b(Do)s(cumen)m(ts)150
-1583 y Fu(This)26 b(t)m(yp)s(e)g(of)h(redirection)g(instructs)f(the)g
+y Fk(3.6.3)63 b(App)s(ending)42 b(Redirected)e(Output)150
+446 y Fu(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 Fr(w)m(ord)28 b Fu(to)e(b)s(e)e(op)s(ened)g(for)h(app)s
+(ending)e(on)i(\014le)g(descriptor)g Fr(n)p Fu(,)g(or)g(the)g(standard)
+f(output)h(\(\014le)g(descriptor)150 665 y(1\))31 b(if)f
+Fr(n)g Fu(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 796 y(The)f(general)j
+(format)e(for)h(app)s(ending)e(output)h(is:)390 928 y
+Ft([)p Fj(n)p Ft(]>>)p Fj(word)150 1120 y Fk(3.6.4)63
+b(Redirecting)40 b(Standard)h(Output)g(and)g(Standard)g(Error)150
+1267 y Fu(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 1377 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 Fr(w)m(ord)p Fu(.)275 1508 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
+1639 y Ft(&>)p Fj(word)150 1771 y Fu(and)390 1902 y Ft(>&)p
+Fj(word)150 2033 y Fu(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 2164 y Ft(>)p Fj(word)46 b Ft(2>&1)275
+2296 y Fu(When)41 b(using)g(the)h(second)f(form,)k Fr(w)m(ord)f
+Fu(ma)m(y)e(not)g(expand)f(to)h(a)g(n)m(um)m(b)s(er)f(or)g(`)p
+Ft(-)p Fu('.)75 b(If)41 b(it)h(do)s(es,)150 2405 y(other)27
+b(redirection)g(op)s(erators)f(apply)h(\(see)g(Duplicating)h(File)f
+(Descriptors)h(b)s(elo)m(w\))f(for)f(compatibilit)m(y)150
+2515 y(reasons.)150 2707 y Fk(3.6.5)63 b(App)s(ending)42
+b(Standard)f(Output)g(and)g(Standard)g(Error)150 2854
+y Fu(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 2964 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
+Fr(w)m(ord)p Fu(.)275 3095 y(The)f(format)i(for)f(app)s(ending)f
+(standard)h(output)g(and)f(standard)h(error)g(is:)390
+3226 y Ft(&>>)p Fj(word)150 3358 y Fu(This)g(is)g(seman)m(tically)j
+(equiv)-5 b(alen)m(t)32 b(to)390 3489 y Ft(>>)p Fj(word)46
+b Ft(2>&1)275 3620 y Fu(\(see)31 b(Duplicating)h(File)f(Descriptors)g
+(b)s(elo)m(w\).)150 3813 y Fk(3.6.6)63 b(Here)41 b(Do)s(cumen)m(ts)150
+3960 y Fu(This)26 b(t)m(yp)s(e)g(of)h(redirection)g(instructs)f(the)g
(shell)h(to)g(read)f(input)g(from)g(the)g(curren)m(t)h(source)f(un)m
-(til)h(a)g(line)150 1693 y(con)m(taining)h(only)e Fr(w)m(ord)k
+(til)h(a)g(line)150 4070 y(con)m(taining)h(only)e Fr(w)m(ord)k
Fu(\(with)c(no)g(trailing)h(blanks\))f(is)g(seen.)40
b(All)27 b(of)f(the)g(lines)h(read)f(up)f(to)i(that)g(p)s(oin)m(t)150
-1803 y(are)k(then)f(used)f(as)i(the)g(standard)e(input)h(\(or)g(\014le)
+4179 y(are)k(then)f(used)f(as)i(the)g(standard)e(input)h(\(or)g(\014le)
h(descriptor)f Fr(n)g Fu(if)g Fr(n)g Fu(is)g(sp)s(eci\014ed\))g(for)h
-(a)f(command.)275 1939 y(The)f(format)i(of)g(here-do)s(cumen)m(ts)f
-(is:)390 2075 y Ft([)p Fj(n)p Ft(]<<[)p Fq(\000)p Ft(])p
-Fj(word)772 2184 y(here-document)390 2294 y(delimiter)275
-2430 y Fu(No)i(parameter)h(and)f(v)-5 b(ariable)32 b(expansion,)h
+(a)f(command.)275 4310 y(The)f(format)i(of)g(here-do)s(cumen)m(ts)f
+(is:)390 4442 y Ft([)p Fj(n)p Ft(]<<[)p Fq(\000)p Ft(])p
+Fj(word)772 4551 y(here-document)390 4661 y(delimiter)275
+4792 y Fu(No)i(parameter)h(and)f(v)-5 b(ariable)32 b(expansion,)h
(command)f(substitution,)h(arithmetic)g(expansion,)g(or)150
-2540 y(\014lename)26 b(expansion)g(is)g(p)s(erformed)e(on)i
+4902 y(\014lename)26 b(expansion)g(is)g(p)s(erformed)e(on)i
Fr(w)m(ord)p Fu(.)39 b(If)25 b(an)m(y)i(part)e(of)h Fr(w)m(ord)j
Fu(is)d(quoted,)i(the)e Fr(delimiter)33 b Fu(is)26 b(the)150
-2649 y(result)33 b(of)g(quote)g(remo)m(v)-5 b(al)34 b(on)f
+5011 y(result)33 b(of)g(quote)g(remo)m(v)-5 b(al)34 b(on)f
Fr(w)m(ord)p Fu(,)g(and)f(the)h(lines)g(in)g(the)g(here-do)s(cumen)m(t)
-g(are)g(not)g(expanded.)47 b(If)150 2759 y Fr(w)m(ord)26
+g(are)g(not)g(expanded.)47 b(If)150 5121 y Fr(w)m(ord)26
b Fu(is)c(unquoted,)h(all)g(lines)g(of)g(the)f(here-do)s(cumen)m(t)g
(are)h(sub)5 b(jected)22 b(to)h(parameter)g(expansion,)h(com-)150
-2868 y(mand)30 b(substitution,)g(and)g(arithmetic)h(expansion,)g(the)f
+5230 y(mand)30 b(substitution,)g(and)g(arithmetic)h(expansion,)g(the)f
(c)m(haracter)i(sequence)f Ft(\\newline)d Fu(is)j(ignored,)150
-2978 y(and)f(`)p Ft(\\)p Fu(')g(m)m(ust)h(b)s(e)e(used)h(to)h(quote)g
+5340 y(and)f(`)p Ft(\\)p Fu(')g(m)m(ust)h(b)s(e)e(used)h(to)h(quote)g
(the)g(c)m(haracters)g(`)p Ft(\\)p Fu(',)g(`)p Ft($)p
-Fu(',)g(and)f(`)p Ft(`)p Fu('.)275 3114 y(If)21 b(the)i(redirection)g
-(op)s(erator)g(is)f(`)p Ft(<<-)p Fu(',)i(then)e(all)h(leading)g(tab)g
-(c)m(haracters)h(are)e(stripp)s(ed)f(from)h(input)150
-3224 y(lines)33 b(and)f(the)h(line)h(con)m(taining)g
-Fr(delimiter)p Fu(.)49 b(This)32 b(allo)m(ws)i(here-do)s(cumen)m(ts)f
-(within)f(shell)i(scripts)e(to)150 3333 y(b)s(e)e(inden)m(ted)g(in)g(a)
-h(natural)f(fashion.)150 3534 y Fk(3.6.7)63 b(Here)41
-b(Strings)150 3681 y Fu(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 3817 y Ft([)p Fj(n)p
-Ft(]<<<)46 b Fj(word)275 3953 y Fu(The)29 b Fr(w)m(ord)k
-Fu(undergo)s(es)c(tilde)i(expansion,)f(parameter)h(and)e(v)-5
-b(ariable)31 b(expansion,)f(command)g(sub-)150 4063 y(stitution,)25
-b(arithmetic)f(expansion,)h(and)d(quote)h(remo)m(v)-5
-b(al.)40 b(P)m(athname)23 b(expansion)g(and)f(w)m(ord)g(splitting)150
-4172 y(are)35 b(not)g(p)s(erformed.)51 b(The)34 b(result)h(is)g
-(supplied)e(as)i(a)f(single)i(string,)f(with)g(a)g(newline)f(app)s
-(ended,)g(to)150 4282 y(the)d(command)f(on)g(its)h(standard)e(input)h
-(\(or)g(\014le)h(descriptor)f Fr(n)g Fu(if)g Fr(n)g Fu(is)h(sp)s
-(eci\014ed\).)150 4483 y Fk(3.6.8)63 b(Duplicating)41
-b(File)g(Descriptors)150 4630 y Fu(The)30 b(redirection)h(op)s(erator)
-390 4766 y Ft([)p Fj(n)p Ft(]<&)p Fj(word)150 4902 y
-Fu(is)k(used)e(to)j(duplicate)f(input)f(\014le)g(descriptors.)53
-b(If)34 b Fr(w)m(ord)k Fu(expands)c(to)h(one)g(or)g(more)g(digits,)h
-(the)f(\014le)150 5011 y(descriptor)e(denoted)h(b)m(y)f
-Fr(n)g Fu(is)g(made)h(to)g(b)s(e)f(a)g(cop)m(y)h(of)g(that)g(\014le)f
-(descriptor.)50 b(If)33 b(the)h(digits)g(in)f Fr(w)m(ord)150
-5121 y Fu(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 Fr(w)m(ord)j Fu(ev)-5 b(aluates)150 5230 y(to)31
-b(`)p Ft(-)p Fu(',)g(\014le)g(descriptor)g Fr(n)f Fu(is)g(closed.)43
-b(If)30 b Fr(n)g Fu(is)g(not)h(sp)s(eci\014ed,)f(the)h(standard)f
-(input)g(\(\014le)h(descriptor)f(0\))150 5340 y(is)g(used.)p
-eop end
+Fu(',)g(and)f(`)p Ft(`)p Fu('.)p eop end
%%Page: 37 43
TeXDict begin 37 42 bop 150 -116 a Fu(Chapter)30 b(3:)41
b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(37)275 299
-y(The)29 b(op)s(erator)390 432 y Ft([)p Fj(n)p Ft(]>&)p
-Fj(word)150 565 y Fu(is)40 b(used)g(similarly)h(to)g(duplicate)f
-(output)g(\014le)h(descriptors.)70 b(If)40 b Fr(n)f Fu(is)i(not)f(sp)s
-(eci\014ed,)i(the)f(standard)150 674 y(output)30 b(\(\014le)g
-(descriptor)g(1\))h(is)f(used.)39 b(If)30 b(the)g(digits)h(in)e
-Fr(w)m(ord)34 b Fu(do)29 b(not)i(sp)s(ecify)e(a)i(\014le)f(descriptor)g
-(op)s(en)150 784 y(for)35 b(output,)h(a)g(redirection)g(error)e(o)s
-(ccurs.)55 b(If)35 b Fr(w)m(ord)j Fu(ev)-5 b(aluates)37
-b(to)f(`)p Ft(-)p Fu(',)h(\014le)e(descriptor)g Fr(n)g
-Fu(is)g(closed.)150 894 y(As)f(a)g(sp)s(ecial)h(case,)h(if)e
-Fr(n)f Fu(is)h(omitted,)i(and)e Fr(w)m(ord)j Fu(do)s(es)d(not)g(expand)
-f(to)i(one)f(or)g(more)g(digits)h(or)f(`)p Ft(-)p Fu(',)150
-1003 y(the)d(standard)e(output)h(and)g(standard)f(error)h(are)h
-(redirected)g(as)g(describ)s(ed)e(previously)-8 b(.)150
-1199 y Fk(3.6.9)63 b(Mo)m(ving)41 b(File)h(Descriptors)150
-1346 y Fu(The)30 b(redirection)h(op)s(erator)390 1479
-y Ft([)p Fj(n)p Ft(]<&)p Fj(digit)p Ft(-)150 1612 y Fu(mo)m(v)m(es)i
-(the)f(\014le)g(descriptor)f Fr(digit)k Fu(to)d(\014le)g(descriptor)g
-Fr(n)p Fu(,)f(or)h(the)g(standard)f(input)f(\(\014le)j(descriptor)e
-(0\))150 1722 y(if)f Fr(n)g Fu(is)h(not)f(sp)s(eci\014ed.)40
-b Fr(digit)33 b Fu(is)e(closed)g(after)g(b)s(eing)f(duplicated)g(to)h
-Fr(n)p Fu(.)275 1855 y(Similarly)-8 b(,)31 b(the)f(redirection)h(op)s
-(erator)390 1988 y Ft([)p Fj(n)p Ft(]>&)p Fj(digit)p
-Ft(-)150 2121 y Fu(mo)m(v)m(es)e(the)g(\014le)f(descriptor)f
+y(If)21 b(the)i(redirection)g(op)s(erator)g(is)f(`)p
+Ft(<<-)p Fu(',)i(then)e(all)h(leading)g(tab)g(c)m(haracters)h(are)e
+(stripp)s(ed)f(from)h(input)150 408 y(lines)33 b(and)f(the)h(line)h
+(con)m(taining)g Fr(delimiter)p Fu(.)49 b(This)32 b(allo)m(ws)i
+(here-do)s(cumen)m(ts)f(within)f(shell)i(scripts)e(to)150
+518 y(b)s(e)e(inden)m(ted)g(in)g(a)h(natural)f(fashion.)150
+709 y Fk(3.6.7)63 b(Here)41 b(Strings)150 856 y Fu(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 987 y Ft([)p Fj(n)p Ft(]<<<)46 b Fj(word)275
+1117 y Fu(The)29 b Fr(w)m(ord)k Fu(undergo)s(es)c(tilde)i(expansion,)f
+(parameter)h(and)e(v)-5 b(ariable)31 b(expansion,)f(command)g(sub-)150
+1227 y(stitution,)25 b(arithmetic)f(expansion,)h(and)d(quote)h(remo)m
+(v)-5 b(al.)40 b(P)m(athname)23 b(expansion)g(and)f(w)m(ord)g
+(splitting)150 1336 y(are)35 b(not)g(p)s(erformed.)51
+b(The)34 b(result)h(is)g(supplied)e(as)i(a)f(single)i(string,)f(with)g
+(a)g(newline)f(app)s(ended,)g(to)150 1446 y(the)d(command)f(on)g(its)h
+(standard)e(input)h(\(or)g(\014le)h(descriptor)f Fr(n)g
+Fu(if)g Fr(n)g Fu(is)h(sp)s(eci\014ed\).)150 1637 y Fk(3.6.8)63
+b(Duplicating)41 b(File)g(Descriptors)150 1784 y Fu(The)30
+b(redirection)h(op)s(erator)390 1914 y Ft([)p Fj(n)p
+Ft(]<&)p Fj(word)150 2045 y Fu(is)k(used)e(to)j(duplicate)f(input)f
+(\014le)g(descriptors.)53 b(If)34 b Fr(w)m(ord)k Fu(expands)c(to)h(one)
+g(or)g(more)g(digits,)h(the)f(\014le)150 2154 y(descriptor)e(denoted)h
+(b)m(y)f Fr(n)g Fu(is)g(made)h(to)g(b)s(e)f(a)g(cop)m(y)h(of)g(that)g
+(\014le)f(descriptor.)50 b(If)33 b(the)h(digits)g(in)f
+Fr(w)m(ord)150 2264 y Fu(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 Fr(w)m(ord)j Fu(ev)-5 b(aluates)150
+2373 y(to)31 b(`)p Ft(-)p Fu(',)g(\014le)g(descriptor)g
+Fr(n)f Fu(is)g(closed.)43 b(If)30 b Fr(n)g Fu(is)g(not)h(sp)s
+(eci\014ed,)f(the)h(standard)f(input)g(\(\014le)h(descriptor)f(0\))150
+2483 y(is)g(used.)275 2613 y(The)f(op)s(erator)390 2744
+y Ft([)p Fj(n)p Ft(]>&)p Fj(word)150 2874 y Fu(is)40
+b(used)g(similarly)h(to)g(duplicate)f(output)g(\014le)h(descriptors.)70
+b(If)40 b Fr(n)f Fu(is)i(not)f(sp)s(eci\014ed,)i(the)f(standard)150
+2984 y(output)30 b(\(\014le)g(descriptor)g(1\))h(is)f(used.)39
+b(If)30 b(the)g(digits)h(in)e Fr(w)m(ord)34 b Fu(do)29
+b(not)i(sp)s(ecify)e(a)i(\014le)f(descriptor)g(op)s(en)150
+3093 y(for)35 b(output,)h(a)g(redirection)g(error)e(o)s(ccurs.)55
+b(If)35 b Fr(w)m(ord)j Fu(ev)-5 b(aluates)37 b(to)f(`)p
+Ft(-)p Fu(',)h(\014le)e(descriptor)g Fr(n)g Fu(is)g(closed.)150
+3203 y(As)f(a)g(sp)s(ecial)h(case,)h(if)e Fr(n)f Fu(is)h(omitted,)i
+(and)e Fr(w)m(ord)j Fu(do)s(es)d(not)g(expand)f(to)i(one)f(or)g(more)g
+(digits)h(or)f(`)p Ft(-)p Fu(',)150 3313 y(the)d(standard)e(output)h
+(and)g(standard)f(error)h(are)h(redirected)g(as)g(describ)s(ed)e
+(previously)-8 b(.)150 3504 y Fk(3.6.9)63 b(Mo)m(ving)41
+b(File)h(Descriptors)150 3651 y Fu(The)30 b(redirection)h(op)s(erator)
+390 3781 y Ft([)p Fj(n)p Ft(]<&)p Fj(digit)p Ft(-)150
+3911 y Fu(mo)m(v)m(es)i(the)f(\014le)g(descriptor)f Fr(digit)k
+Fu(to)d(\014le)g(descriptor)g Fr(n)p Fu(,)f(or)h(the)g(standard)f
+(input)f(\(\014le)j(descriptor)e(0\))150 4021 y(if)f
+Fr(n)g Fu(is)h(not)f(sp)s(eci\014ed.)40 b Fr(digit)33
+b Fu(is)e(closed)g(after)g(b)s(eing)f(duplicated)g(to)h
+Fr(n)p Fu(.)275 4151 y(Similarly)-8 b(,)31 b(the)f(redirection)h(op)s
+(erator)390 4282 y Ft([)p Fj(n)p Ft(]>&)p Fj(digit)p
+Ft(-)150 4412 y Fu(mo)m(v)m(es)e(the)g(\014le)f(descriptor)f
Fr(digit)k Fu(to)e(\014le)f(descriptor)g Fr(n)p Fu(,)g(or)g(the)g
(standard)f(output)h(\(\014le)g(descriptor)g(1\))150
-2230 y(if)i Fr(n)g Fu(is)h(not)f(sp)s(eci\014ed.)150
-2426 y Fk(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 2573 y Fu(The)30
-b(redirection)h(op)s(erator)390 2706 y Ft([)p Fj(n)p
-Ft(]<>)p Fj(word)150 2839 y Fu(causes)39 b(the)g(\014le)g(whose)g(name)
+4522 y(if)i Fr(n)g Fu(is)h(not)f(sp)s(eci\014ed.)150
+4713 y Fk(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 4860 y Fu(The)30
+b(redirection)h(op)s(erator)390 4990 y Ft([)p Fj(n)p
+Ft(]<>)p Fj(word)150 5121 y Fu(causes)39 b(the)g(\014le)g(whose)g(name)
g(is)g(the)g(expansion)g(of)g Fr(w)m(ord)j Fu(to)d(b)s(e)g(op)s(ened)f
-(for)g(b)s(oth)h(reading)g(and)150 2949 y(writing)33
+(for)g(b)s(oth)h(reading)g(and)150 5230 y(writing)33
b(on)f(\014le)h(descriptor)f Fr(n)p Fu(,)h(or)g(on)f(\014le)h
(descriptor)g(0)g(if)f Fr(n)g Fu(is)h(not)g(sp)s(eci\014ed.)47
-b(If)32 b(the)h(\014le)f(do)s(es)h(not)150 3058 y(exist,)e(it)g(is)g
-(created.)150 3296 y Fs(3.7)68 b(Executing)46 b(Commands)150
-3519 y Fk(3.7.1)63 b(Simple)41 b(Command)h(Expansion)150
-3666 y Fu(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
-3775 y(men)m(ts,)e(and)f(redirections,)h(from)f(left)h(to)g(righ)m(t.)
-199 3908 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 4018 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
-4151 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 4260 y(tion)d(3.5)i([Shell)e(Expansions],)h(page)g
-(22\).)61 b(If)37 b(an)m(y)g(w)m(ords)f(remain)h(after)h(expansion,)h
-(the)e(\014rst)330 4370 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 4479 y(men)m(ts.)199 4612 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(33\).)199
-4745 y(4.)61 b(The)25 b(text)h(after)f(the)g(`)p Ft(=)p
-Fu(')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 4855 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 4964 y(b)s(eing)30
-b(assigned)h(to)g(the)f(v)-5 b(ariable.)275 5121 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 5230 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 5340 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)p eop end
+b(If)32 b(the)h(\014le)f(do)s(es)h(not)150 5340 y(exist,)e(it)g(is)g
+(created.)p eop end
%%Page: 38 44
TeXDict begin 38 43 bop 150 -116 a Fu(Chapter)30 b(3:)41
b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(38)150 299
-y(a)39 b(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 408 y(status.)275 538 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 648 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 778 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 887 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 997 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 1107 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 1216 y(zero.)150
-1406 y Fk(3.7.2)63 b(Command)41 b(Searc)m(h)f(and)h(Execution)150
-1553 y Fu(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
-1663 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 1793 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 1902 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
-2012 y(F)-8 b(unctions],)31 b(page)h(17.)199 2142 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
-2251 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 2381 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 2491 y(searc)m(hes)c(eac)m(h)g
-(elemen)m(t)g(of)g Ft($PATH)d Fu(for)i(a)g(directory)h(con)m(taining)g
-(an)f(executable)h(\014le)f(b)m(y)g(that)330 2600 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 2710
-y(a)m(v)m(oid)e(m)m(ultiple)f Ft(PATH)f Fu(searc)m(hes)i(\(see)f(the)g
-(description)g(of)f Ft(hash)g Fu(in)g(Section)i(4.1)f([Bourne)g(Shell)
-330 2819 y(Builtins],)37 b(page)f(43\).)55 b(A)35 b(full)g(searc)m(h)g
-(of)g(the)g(directories)h(in)f Ft($PATH)e Fu(is)i(p)s(erformed)f(only)h
-(if)g(the)330 2929 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 3039 y(for)e(a)h(de\014ned)e(shell)h(function)
-h(named)e Ft(command_not_found_handle)p Fu(.)32 b(If)23
-b(that)h(function)f(exists,)330 3148 y(it)33 b(is)f(in)m(v)m(ok)m(ed)i
-(in)e(a)h(separate)h(execution)f(en)m(vironmen)m(t)g(with)f(the)h
-(original)h(command)e(and)g(the)330 3258 y(original)26
-b(command's)e(argumen)m(ts)h(as)g(its)g(argumen)m(ts,)h(and)e(the)h
-(function's)f(exit)i(status)f(b)s(ecomes)330 3367 y(the)j(exit)g
-(status)g(of)f(that)h(subshell.)39 b(If)27 b(that)h(function)f(is)h
-(not)g(de\014ned,)f(the)g(shell)h(prin)m(ts)f(an)g(error)330
-3477 y(message)k(and)f(returns)f(an)i(exit)g(status)g(of)f(127.)199
-3607 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 3716 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 3826 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 3936 y(argumen)m(ts)g(supplied,)e(if)h(an)m(y)-8
-b(.)199 4065 y(5.)61 b(If)35 b(this)h(execution)h(fails)f(b)s(ecause)g
+y Fs(3.7)68 b(Executing)46 b(Commands)150 523 y Fk(3.7.1)63
+b(Simple)41 b(Command)h(Expansion)150 670 y Fu(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 779 y(men)m(ts,)e(and)f
+(redirections,)h(from)f(left)h(to)g(righ)m(t.)199 913
+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 1023 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 1157 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
+1267 y(tion)d(3.5)i([Shell)e(Expansions],)h(page)g(22\).)61
+b(If)37 b(an)m(y)g(w)m(ords)f(remain)h(after)h(expansion,)h(the)e
+(\014rst)330 1376 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 1486 y(men)m(ts.)199 1620 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(34\).)199 1754
+y(4.)61 b(The)25 b(text)h(after)f(the)g(`)p Ft(=)p Fu(')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 1864 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 1973 y(b)s(eing)30 b(assigned)h(to)g(the)f(v)-5
+b(ariable.)275 2132 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 2242 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 2351 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 2461 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 2570 y(status.)275 2705 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 2814
+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
+2948 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 3058 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 3167 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 3277 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
+3387 y(zero.)150 3585 y Fk(3.7.2)63 b(Command)41 b(Searc)m(h)f(and)h
+(Execution)150 3732 y Fu(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 3842 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 3976 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 4085 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 4195 y(F)-8 b(unctions],)31 b(page)h(17.)199
+4329 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 4439 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 4573 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
+4682 y(searc)m(hes)c(eac)m(h)g(elemen)m(t)g(of)g Ft($PATH)d
+Fu(for)i(a)g(directory)h(con)m(taining)g(an)f(executable)h(\014le)f(b)m
+(y)g(that)330 4792 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 4902 y(a)m(v)m(oid)e(m)m(ultiple)f Ft(PATH)f
+Fu(searc)m(hes)i(\(see)f(the)g(description)g(of)f Ft(hash)g
+Fu(in)g(Section)i(4.1)f([Bourne)g(Shell)330 5011 y(Builtins],)37
+b(page)f(43\).)55 b(A)35 b(full)g(searc)m(h)g(of)g(the)g(directories)h
+(in)f Ft($PATH)e Fu(is)i(p)s(erformed)f(only)h(if)g(the)330
+5121 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 5230 y(for)e(a)h(de\014ned)e(shell)h(function)h(named)e
+Ft(command_not_found_handle)p Fu(.)32 b(If)23 b(that)h(function)f
+(exists,)330 5340 y(it)33 b(is)f(in)m(v)m(ok)m(ed)i(in)e(a)h(separate)h
+(execution)f(en)m(vironmen)m(t)g(with)f(the)h(original)h(command)e(and)
+g(the)p eop end
+%%Page: 39 45
+TeXDict begin 39 44 bop 150 -116 a Fu(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(39)330 299
+y(original)26 b(command's)e(argumen)m(ts)h(as)g(its)g(argumen)m(ts,)h
+(and)e(the)h(function's)f(exit)i(status)f(b)s(ecomes)330
+408 y(the)j(exit)g(status)g(of)f(that)h(subshell.)39
+b(If)27 b(that)h(function)f(is)h(not)g(de\014ned,)f(the)g(shell)h(prin)
+m(ts)f(an)g(error)330 518 y(message)k(and)f(returns)f(an)i(exit)g
+(status)g(of)f(127.)199 654 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 763 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 873 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 983 y(argumen)m(ts)g(supplied,)e(if)h(an)m(y)-8
+b(.)199 1118 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 4175 y(a)d(directory)-8 b(,)34
+(\014le)g(is)g(not)330 1228 y(a)d(directory)-8 b(,)34
b(it)f(is)g(assumed)e(to)j(b)s(e)d(a)i Fr(shell)g(script)h
Fu(and)e(the)h(shell)f(executes)i(it)f(as)g(describ)s(ed)e(in)330
-4285 y(Section)g(3.8)h([Shell)e(Scripts],)g(page)i(41.)199
-4415 y(6.)61 b(If)38 b(the)h(command)f(w)m(as)h(not)g(b)s(egun)e(async)
+1338 y(Section)g(3.8)h([Shell)e(Scripts],)g(page)i(41.)199
+1473 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 4524 y(complete)32 b(and)e(collects)i(its)f(exit)g(status.)150
-4714 y Fk(3.7.3)63 b(Command)41 b(Execution)f(En)m(vironmen)m(t)150
-4861 y Fu(The)30 b(shell)g(has)h(an)f Fr(execution)h(en)m(vironmen)m(t)
+(to)330 1583 y(complete)32 b(and)e(collects)i(its)f(exit)g(status.)150
+1785 y Fk(3.7.3)63 b(Command)41 b(Execution)f(En)m(vironmen)m(t)150
+1932 y Fu(The)30 b(shell)g(has)h(an)f Fr(execution)h(en)m(vironmen)m(t)
p Fu(,)h(whic)m(h)e(consists)h(of)f(the)h(follo)m(wing:)225
-4991 y Fq(\017)60 b Fu(op)s(en)32 b(\014les)g(inherited)g(b)m(y)h(the)f
+2069 y Fq(\017)60 b Fu(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 5101 y(the)g Ft(exec)e
-Fu(builtin)225 5230 y Fq(\017)60 b Fu(the)28 b(curren)m(t)g(w)m(orking)
+(redirections)h(supplied)e(to)330 2178 y(the)g Ft(exec)e
+Fu(builtin)225 2314 y Fq(\017)60 b Fu(the)28 b(curren)m(t)g(w)m(orking)
h(directory)g(as)f(set)h(b)m(y)f Ft(cd)p Fu(,)g Ft(pushd)p
Fu(,)g(or)g Ft(popd)p Fu(,)g(or)g(inherited)g(b)m(y)g(the)h(shell)f(at)
-330 5340 y(in)m(v)m(o)s(cation)p eop end
-%%Page: 39 45
-TeXDict begin 39 44 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(39)225 299
-y Fq(\017)60 b Fu(the)31 b(\014le)f(creation)i(mo)s(de)e(mask)g(as)h
-(set)g(b)m(y)f Ft(umask)f Fu(or)h(inherited)g(from)g(the)h(shell's)f
-(paren)m(t)225 434 y Fq(\017)60 b Fu(curren)m(t)30 b(traps)g(set)h(b)m
-(y)f Ft(trap)225 570 y Fq(\017)60 b Fu(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
-Ft(set)f Fu(or)i(inherited)f(from)g(the)330 680 y(shell's)i(paren)m(t)f
-(in)g(the)h(en)m(vironmen)m(t)225 815 y Fq(\017)60 b
-Fu(shell)44 b(functions)f(de\014ned)f(during)h(execution)i(or)e
+330 2424 y(in)m(v)m(o)s(cation)225 2560 y Fq(\017)60
+b Fu(the)31 b(\014le)f(creation)i(mo)s(de)e(mask)g(as)h(set)g(b)m(y)f
+Ft(umask)f Fu(or)h(inherited)g(from)g(the)h(shell's)f(paren)m(t)225
+2695 y Fq(\017)60 b Fu(curren)m(t)30 b(traps)g(set)h(b)m(y)f
+Ft(trap)225 2831 y Fq(\017)60 b Fu(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
+Ft(set)f Fu(or)i(inherited)f(from)g(the)330 2941 y(shell's)i(paren)m(t)
+f(in)g(the)h(en)m(vironmen)m(t)225 3077 y Fq(\017)60
+b Fu(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
-925 y(en)m(vironmen)m(t)225 1061 y Fq(\017)60 b Fu(options)33
+3186 y(en)m(vironmen)m(t)225 3322 y Fq(\017)60 b Fu(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 1170
-y(b)m(y)c Ft(set)225 1306 y Fq(\017)60 b Fu(options)31
+g(with)g(command-line)g(argumen)m(ts\))h(or)330 3432
+y(b)m(y)c Ft(set)225 3567 y Fq(\017)60 b Fu(options)31
b(enabled)f(b)m(y)g Ft(shopt)f Fu(\(see)j(Section)f(4.3.2)h([The)e
-(Shopt)g(Builtin],)h(page)g(65\))225 1441 y Fq(\017)60
+(Shopt)g(Builtin],)h(page)g(65\))225 3703 y Fq(\017)60
b Fu(shell)31 b(aliases)g(de\014ned)f(with)g Ft(alias)f
Fu(\(see)i(Section)g(6.6)h([Aliases],)g(page)f(92\))225
-1577 y Fq(\017)60 b Fu(v)-5 b(arious)50 b(pro)s(cess)f
+3839 y Fq(\017)60 b Fu(v)-5 b(arious)50 b(pro)s(cess)f
Fm(id)p Fu(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 1687 y(page)31
+(\(see)i(Section)g(3.2.3)g([Lists],)330 3948 y(page)31
b(9\),)g(the)g(v)-5 b(alue)31 b(of)f Ft($$)p Fu(,)g(and)g(the)h(v)-5
-b(alue)31 b(of)f Ft($PPID)275 1849 y Fu(When)k(a)g(simple)h(command)f
+b(alue)31 b(of)f Ft($PPID)275 4112 y Fu(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 1959 y(in)m(v)m(ok)m(ed)25 b(in)f(a)g
+(executed,)i(it)f(is)150 4221 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 2068 y(noted,)31
+f(follo)m(wing.)40 b(Unless)24 b(otherwise)150 4331 y(noted,)31
b(the)f(v)-5 b(alues)31 b(are)g(inherited)f(from)g(the)g(shell.)225
-2205 y Fq(\017)60 b Fu(the)31 b(shell's)h(op)s(en)e(\014les,)i(plus)e
+4468 y Fq(\017)60 b Fu(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 2315 y(the)g(command)225 2450
+(y)g(redirections)g(to)330 4578 y(the)g(command)225 4713
y Fq(\017)60 b Fu(the)31 b(curren)m(t)f(w)m(orking)g(directory)225
-2586 y Fq(\017)60 b Fu(the)31 b(\014le)f(creation)i(mo)s(de)e(mask)225
-2722 y Fq(\017)60 b Fu(shell)32 b(v)-5 b(ariables)33
+4849 y Fq(\017)60 b Fu(the)31 b(\014le)f(creation)i(mo)s(de)e(mask)225
+4985 y Fq(\017)60 b Fu(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 2831 y(command,)e(passed)g
+b(ariables)32 b(exp)s(orted)g(for)g(the)330 5095 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(39\))225 2967 y Fq(\017)60 b
+(vironmen)m(t],)e(page)g(40\))225 5230 y Fq(\017)60 b
Fu(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 3076 y(traps)e(ignored)h(b)m(y)f(the)g(shell)h(are)g(ignored)
-275 3239 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
-3349 y(en)m(vironmen)m(t.)275 3485 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: 40 46
+TeXDict begin 40 45 bop 150 -116 a Fu(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(40)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 3595 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 3705 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
-3814 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 3924 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
-4033 y(a\013ect)32 b(the)f(shell's)f(execution)i(en)m(vironmen)m(t.)275
-4170 y(Subshells)c(spa)m(wned)i(to)h(execute)g(command)f(substitutions)
+1100 y(a\013ect)32 b(the)f(shell's)f(execution)i(en)m(vironmen)m(t.)275
+1244 y(Subshells)c(spa)m(wned)i(to)h(execute)g(command)f(substitutions)
g(inherit)g(the)g(v)-5 b(alue)31 b(of)f(the)h Ft(-e)e
-Fu(option)150 4280 y(from)23 b(the)i(paren)m(t)f(shell.)38
+Fu(option)150 1354 y(from)23 b(the)i(paren)m(t)f(shell.)38
b(When)24 b(not)g(in)g Fm(posix)f Fu(mo)s(de,)i(Bash)f(clears)h(the)f
-Ft(-e)f Fu(option)i(in)e(suc)m(h)h(subshells.)275 4416
+Ft(-e)f Fu(option)i(in)e(suc)m(h)h(subshells.)275 1498
y(If)f(a)h(command)g(is)g(follo)m(w)m(ed)h(b)m(y)f(a)g(`)p
Ft(&)p Fu(')g(and)f(job)h(con)m(trol)h(is)f(not)g(activ)m(e,)k(the)c
-(default)g(standard)f(input)150 4526 y(for)35 b(the)g(command)g(is)g
+(default)g(standard)f(input)150 1607 y(for)35 b(the)g(command)g(is)g
(the)g(empt)m(y)h(\014le)f Ft(/dev/null)p Fu(.)52 b(Otherwise,)37
-b(the)e(in)m(v)m(ok)m(ed)h(command)f(inherits)150 4636
+b(the)e(in)m(v)m(ok)m(ed)h(command)f(inherits)150 1717
y(the)c(\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 4837 y Fk(3.7.4)63
-b(En)m(vironmen)m(t)150 4984 y Fu(When)29 b(a)g(program)f(is)h(in)m(v)m
+(di\014ed)g(b)m(y)g(redirections.)150 1926 y Fk(3.7.4)63
+b(En)m(vironmen)m(t)150 2073 y Fu(When)29 b(a)g(program)f(is)h(in)m(v)m
(ok)m(ed)h(it)g(is)f(giv)m(en)g(an)g(arra)m(y)g(of)g(strings)g(called)h
(the)f Fr(en)m(vironmen)m(t)p Fu(.)41 b(This)28 b(is)h(a)150
-5094 y(list)i(of)g(name-v)-5 b(alue)31 b(pairs,)f(of)h(the)f(form)g
-Ft(name=value)p Fu(.)275 5230 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
+Ft(name=value)p Fu(.)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 5340
+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)p
-eop end
-%%Page: 40 46
-TeXDict begin 40 45 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(40)150 299
-y(marking)26 b(it)g(for)g Fr(exp)s(ort)h Fu(to)g(c)m(hild)f(pro)s
+(parameter)f(for)g(eac)m(h)i(name)e(found,)i(automatically)150
+2545 y(marking)26 b(it)g(for)g Fr(exp)s(ort)h Fu(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 408 y Ft(export)c Fu(and)i(`)p Ft(declare)29
+(t.)39 b(The)150 2655 y Ft(export)c Fu(and)i(`)p Ft(declare)29
b(-x)p Fu(')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 518 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
-628 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 737 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)150 847 y(mo)s(di\014ed)26
+(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 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
+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)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 Ft(unset)e Fu(and)h(`)p Ft(export)j(-n)p Fu(')e(commands,)g
-(plus)150 956 y(an)m(y)k(additions)f(via)h(the)g Ft(export)d
-Fu(and)i(`)p Ft(declare)f(-x)p Fu(')h(commands.)275 1090
+(plus)150 3203 y(an)m(y)k(additions)f(via)h(the)g Ft(export)d
+Fu(and)i(`)p Ft(declare)f(-x)p Fu(')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
-1199 y(b)m(y)c(pre\014xing)e(it)i(with)g(parameter)g(assignmen)m(ts,)h
+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
-1309 y(page)g(19.)41 b(These)29 b(assignmen)m(t)i(statemen)m(ts)g
+3566 y(page)g(19.)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 1442 y(If)g(the)h Ft(-k)g Fu(option)g(is)g(set)h(\(see)g
+(command.)275 3710 y(If)g(the)h Ft(-k)g Fu(option)g(is)g(set)h(\(see)g
(Section)g(4.3.1)g([The)f(Set)g(Builtin],)h(page)g(61\),)h(then)e(all)g
-(parameter)150 1552 y(assignmen)m(ts)f(are)g(placed)h(in)e(the)h(en)m
+(parameter)150 3820 y(assignmen)m(ts)f(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 1661 y(command)g(name.)275 1795 y(When)h(Bash)h(in)m
+(precede)g(the)150 3929 y(command)g(name.)275 4073 y(When)h(Bash)h(in)m
(v)m(ok)m(es)i(an)e(external)h(command,)f(the)g(v)-5
b(ariable)33 b(`)p Ft($_)p Fu(')f(is)g(set)h(to)f(the)g(full)g
-(pathname)150 1904 y(of)f(the)f(command)g(and)g(passed)g(to)h(that)g
-(command)f(in)g(its)h(en)m(vironmen)m(t.)150 2101 y Fk(3.7.5)63
-b(Exit)40 b(Status)150 2248 y Fu(The)26 b(exit)h(status)f(of)g(an)g
+(pathname)150 4183 y(of)f(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 Fk(3.7.5)63
+b(Exit)40 b(Status)150 4538 y Fu(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 Fr(w)m(aitpid)k Fu(system)d(call)g(or)150 2357
+(the)g Fr(w)m(aitpid)k Fu(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 2467 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
-2577 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
-2686 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 2819 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 2929 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 3039 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 3148 y(failure)38 b(mo)s(des.)62 b(When)37
-b(a)h(command)f(terminates)i(on)e(a)h(fatal)h(signal)g(whose)e(n)m(um)m
-(b)s(er)f(is)i Fr(N)p Fu(,)i(Bash)150 3258 y(uses)30
-b(the)g(v)-5 b(alue)31 b(128)p Ft(+)p Fr(N)42 b Fu(as)30
-b(the)h(exit)g(status.)275 3391 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 3501 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
-3634 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
-3743 y(is)c(greater)i(than)e(zero.)275 3877 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 3986
-y(ditional)i(Constructs],)h(page)f(11\))g(and)e(some)i(of)f(the)g(list)
-g(constructs)g(\(see)h(Section)f(3.2.3)i([Lists],)150
-4096 y(page)31 b(9\).)275 4229 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 4339 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 4448 y(return)e(an)i(exit)g
-(status)g(of)f(2)h(to)g(indicate)h(incorrect)f(usage,)h(generally)g(in)
-m(v)-5 b(alid)35 b(options)g(or)f(missing)150 4558 y(argumen)m(ts.)150
-4755 y Fk(3.7.6)63 b(Signals)150 4902 y Fu(When)36 b(Bash)g(is)h(in)m
+b(arious)p eop end
+%%Page: 41 47
+TeXDict begin 41 46 bop 150 -116 a Fu(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(41)150 299
+y(failure)38 b(mo)s(des.)62 b(When)37 b(a)h(command)f(terminates)i(on)e
+(a)h(fatal)h(signal)g(whose)e(n)m(um)m(b)s(er)f(is)i
+Fr(N)p Fu(,)i(Bash)150 408 y(uses)30 b(the)g(v)-5 b(alue)31
+b(128)p Ft(+)p Fr(N)42 b Fu(as)30 b(the)h(exit)g(status.)275
+537 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
+647 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
+776 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
+885 y(is)c(greater)i(than)e(zero.)275 1014 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 1123 y(ditional)i(Constructs],)h(page)f
+(11\))g(and)e(some)i(of)f(the)g(list)g(constructs)g(\(see)h(Section)f
+(3.2.3)i([Lists],)150 1233 y(page)31 b(9\).)275 1362
+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
+1471 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 1581 y(return)e(an)i(exit)g(status)g(of)f(2)h
+(to)g(indicate)h(incorrect)f(usage,)h(generally)g(in)m(v)-5
+b(alid)35 b(options)g(or)f(missing)150 1691 y(argumen)m(ts.)150
+1878 y Fk(3.7.6)63 b(Signals)150 2025 y Fu(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 Ft(SIGTERM)d Fu(\(so)j(that)g(`)p Ft(kill)150
-5011 y(0)p Fu(')c(do)s(es)g(not)g(kill)g(an)g(in)m(teractiv)m(e)j
+2135 y(0)p Fu(')c(do)s(es)g(not)g(kill)g(an)g(in)m(teractiv)m(e)j
(shell\),)f(and)d Ft(SIGINT)f Fu(is)i(caugh)m(t)h(and)f(handled)f(\(so)
-h(that)h(the)f Ft(wait)150 5121 y Fu(builtin)24 b(is)h(in)m
+h(that)h(the)f Ft(wait)150 2244 y Fu(builtin)24 b(is)h(in)m
(terruptible\).)39 b(When)24 b(Bash)g(receiv)m(es)j(a)d
Ft(SIGINT)p Fu(,)h(it)g(breaks)f(out)h(of)f(an)m(y)h(executing)h(lo)s
-(ops.)150 5230 y(In)31 b(all)h(cases,)h(Bash)f(ignores)g
+(ops.)150 2354 y(In)31 b(all)h(cases,)h(Bash)f(ignores)g
Ft(SIGQUIT)p Fu(.)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 5340 y(page)f(102\),)h
+(\(see)f(Chapter)f(7)h([Job)g(Con)m(trol],)150 2464 y(page)f(102\),)h
(Bash)f(ignores)g Ft(SIGTTIN)p Fu(,)d Ft(SIGTTOU)p Fu(,)h(and)h
-Ft(SIGTSTP)p Fu(.)p eop end
-%%Page: 41 47
-TeXDict begin 41 46 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(41)275 299
-y(Non-builtin)31 b(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 408 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 518 y(ignore)f Ft(SIGINT)e Fu(and)h
-Ft(SIGQUIT)e Fu(in)j(addition)f(to)i(these)f(inherited)f(handlers.)55
-b(Commands)35 b(run)f(as)i(a)150 628 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 Ft(SIGTTIN)p Fu(,)150 737 y Ft(SIGTTOU)p
-Fu(,)h(and)g Ft(SIGTSTP)p Fu(.)275 882 y(The)h(shell)i(exits)g(b)m(y)f
-(default)g(up)s(on)f(receipt)i(of)f(a)h Ft(SIGHUP)p Fu(.)42
-b(Before)32 b(exiting,)h(an)e(in)m(teractiv)m(e)j(shell)150
-992 y(resends)41 b(the)i Ft(SIGHUP)e Fu(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
-Ft(SIGCONT)d Fu(to)150 1101 y(ensure)32 b(that)h(they)g(receiv)m(e)i
+Ft(SIGTSTP)p Fu(.)275 2592 y(Non-builtin)h(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 2702 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 2812 y(ignore)f
+Ft(SIGINT)e Fu(and)h Ft(SIGQUIT)e Fu(in)j(addition)f(to)i(these)f
+(inherited)f(handlers.)55 b(Commands)35 b(run)f(as)i(a)150
+2921 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
+Ft(SIGTTIN)p Fu(,)150 3031 y Ft(SIGTTOU)p Fu(,)h(and)g
+Ft(SIGTSTP)p Fu(.)275 3160 y(The)h(shell)i(exits)g(b)m(y)f(default)g
+(up)s(on)f(receipt)i(of)f(a)h Ft(SIGHUP)p Fu(.)42 b(Before)32
+b(exiting,)h(an)e(in)m(teractiv)m(e)j(shell)150 3269
+y(resends)41 b(the)i Ft(SIGHUP)e Fu(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
+Ft(SIGCONT)d Fu(to)150 3379 y(ensure)32 b(that)h(they)g(receiv)m(e)i
(the)e Ft(SIGHUP)p Fu(.)47 b(T)-8 b(o)33 b(prev)m(en)m(t)g(the)g(shell)
-g(from)g(sending)f(the)h Ft(SIGHUP)e Fu(signal)150 1211
+g(from)g(sending)f(the)h Ft(SIGHUP)e Fu(signal)150 3488
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 Ft(disown)e
-Fu(builtin)h(\(see)150 1320 y(Section)c(7.2)g([Job)e(Con)m(trol)i
+Fu(builtin)h(\(see)150 3598 y(Section)c(7.2)g([Job)e(Con)m(trol)i
(Builtins],)g(page)g(103\))h(or)e(mark)m(ed)g(to)g(not)g(receiv)m(e)i
-Ft(SIGHUP)c Fu(using)i Ft(disown)150 1430 y(-h)p Fu(.)275
-1575 y(If)38 b(the)h Ft(huponexit)e Fu(shell)i(option)g(has)g(b)s(een)f
+Ft(SIGHUP)c Fu(using)i Ft(disown)150 3707 y(-h)p Fu(.)275
+3836 y(If)38 b(the)h Ft(huponexit)e Fu(shell)i(option)g(has)g(b)s(een)f
(set)i(with)f Ft(shopt)e Fu(\(see)j(Section)g(4.3.2)h([The)e(Shopt)150
-1684 y(Builtin],)31 b(page)g(65\),)h(Bash)f(sends)e(a)i
+3946 y(Builtin],)31 b(page)g(65\),)h(Bash)f(sends)e(a)i
Ft(SIGHUP)e Fu(to)i(all)g(jobs)f(when)f(an)i(in)m(teractiv)m(e)i(login)
-e(shell)g(exits.)275 1829 y(If)38 b(Bash)h(is)g(w)m(aiting)h(for)f(a)g
+e(shell)g(exits.)275 4075 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 1939 y(has)c(b)s(een)f(set,)i(the)f(trap)g(will)g
+m(h)h(a)g(trap)150 4184 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 2048 y(w)m(aiting)j(for)f(an)g(async)m
+b(When)35 b(Bash)g(is)150 4294 y(w)m(aiting)j(for)f(an)g(async)m
(hronous)g(command)g(via)h(the)f Ft(wait)f Fu(builtin,)i(the)g
-(reception)g(of)f(a)g(signal)h(for)150 2158 y(whic)m(h)d(a)g(trap)g
+(reception)g(of)f(a)g(signal)h(for)150 4403 y(whic)m(h)d(a)g(trap)g
(has)g(b)s(een)f(set)h(will)h(cause)f(the)g Ft(wait)f
Fu(builtin)h(to)g(return)f(immediately)i(with)f(an)g(exit)150
-2267 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 2524 y Fs(3.8)68 b(Shell)45
-b(Scripts)150 2683 y Fu(A)30 b(shell)f(script)h(is)f(a)h(text)h(\014le)
+4513 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 Fs(3.8)68 b(Shell)45
+b(Scripts)150 4902 y Fu(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 2792 y(non-option)c
+(\014le)g(is)f(used)g(as)h(the)g(\014rst)150 5011 y(non-option)c
(argumen)m(t)h(when)e(in)m(v)m(oking)i(Bash,)g(and)f(neither)g(the)g
Ft(-c)g Fu(nor)f Ft(-s)h Fu(option)g(is)g(supplied)f(\(see)150
-2902 y(Section)39 b(6.1)g([In)m(v)m(oking)g(Bash],)h(page)f(84\),)i
+5121 y(Section)39 b(6.1)g([In)m(v)m(oking)g(Bash],)h(page)f(84\),)i
(Bash)d(reads)g(and)f(executes)i(commands)f(from)f(the)i(\014le,)150
-3012 y(then)32 b(exits.)46 b(This)32 b(mo)s(de)f(of)i(op)s(eration)f
+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 3121 y(for)d(the)g(\014le)g(in)g
+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 Ft($PATH)g Fu(if)h(not)g(found)e(there.)275
-3266 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 Ft(0)f Fu(to)h(the)g(name)g(of)g(the)g
-(\014le,)150 3376 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 3485 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 3595 y(parameters)31 b(are)f(unset.)275
-3740 y(A)39 b(shell)h(script)f(ma)m(y)h(b)s(e)f(made)h(executable)h(b)m
+(directories)g(in)e Ft($PATH)g Fu(if)h(not)g(found)e(there.)p
+eop end
+%%Page: 42 48
+TeXDict begin 42 47 bop 150 -116 a Fu(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(42)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 Ft(0)f Fu(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 Ft(chmod)e Fu(command)h(to)h(turn)e(on)i(the)150
-3849 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 Ft($PATH)f Fu(for)h(a)h
-(command,)h(it)150 3959 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 4103
-y Ft(filename)46 b Fj(arguments)150 4248 y Fu(is)30 b(equiv)-5
-b(alen)m(t)32 b(to)f(executing)390 4393 y Ft(bash)47
-b(filename)e Fj(arguments)150 4538 y Fu(if)30 b Ft(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 Ft(filename)46 b Fj(arguments)150 1250 y Fu(is)30 b(equiv)-5
+b(alen)m(t)32 b(to)f(executing)390 1385 y Ft(bash)47
+b(filename)e Fj(arguments)150 1519 y Fu(if)30 b Ft(filename)d
Fu(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
-4647 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 4757 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
-Ft(hash)f Fu(in)h(Section)h(4.1)150 4866 y([Bourne)30
+Ft(hash)f Fu(in)h(Section)h(4.1)150 1848 y([Bourne)30
b(Shell)h(Builtins],)g(page)g(43\))h(are)e(retained)h(b)m(y)f(the)h(c)m
-(hild.)275 5011 y(Most)36 b(v)m(ersions)g(of)g(Unix)f(mak)m(e)h(this)g
+(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 5121 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
-Ft(#!)p Fu(',)f(the)g(remainder)150 5230 y(of)d(the)g(line)h(sp)s
+Ft(#!)p Fu(',)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 Ft(awk)p
-Fu(,)e(P)m(erl,)150 5340 y(or)g(some)h(other)g(in)m(terpreter)g(and)e
+Fu(,)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.)p eop end
-%%Page: 42 48
-TeXDict begin 42 47 bop 150 -116 a Fu(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(42)275 299
-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
-408 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 518 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 628 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 737 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 872 y(Bash)h(scripts)g(often)g(b)s(egin)g(with)g
-Ft(#!)e(/bin/bash)g Fu(\(assuming)i(that)h(Bash)f(has)g(b)s(een)f
-(installed)i(in)150 981 y Ft(/bin)p Fu(\),)26 b(since)h(this)f(ensures)
-f(that)i(Bash)f(will)h(b)s(e)f(used)f(to)i(in)m(terpret)f(the)h
-(script,)g(ev)m(en)g(if)f(it)h(is)f(executed)150 1091
-y(under)j(another)h(shell.)p eop end
+(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 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 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
+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 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 Ft(#!)e(/bin/bash)g Fu(\(assuming)i(that)h
+(Bash)f(has)g(b)s(een)f(installed)i(in)150 3128 y Ft(/bin)p
+Fu(\),)26 b(since)h(this)f(ensures)f(that)i(Bash)f(will)h(b)s(e)f(used)
+f(to)i(in)m(terpret)f(the)h(script,)g(ev)m(en)g(if)f(it)h(is)f
+(executed)150 3238 y(under)j(another)h(shell.)p eop end
%%Page: 43 49
TeXDict begin 43 48 bop 3659 -116 a Fu(43)150 299 y Fp(4)80
b(Shell)53 b(Builtin)f(Commands)150 499 y Fu(Builtin)34
@@ -12202,10 +12262,10 @@ Fj(n)p Ft(])630 940 y Fu(Exit)31 b(a)g(login)g(shell,)g(returning)e(a)i
(status)g(of)f Fr(n)g Fu(to)h(the)g(shell's)f(paren)m(t.)150
1096 y Ft(mapfile)870 1229 y(mapfile)46 b([-d)h Fj(delim)p
Ft(])f([-n)h Fj(count)p Ft(])f([-O)h Fj(origin)p Ft(])f([-s)g
-Fj(count)p Ft(])h([-t])f([-u)h Fj(fd)p Ft(])1061 1338
-y([-C)g Fj(callback)p Ft(])e([-c)i Fj(quantum)p Ft(])f([)p
-Fj(array)p Ft(])630 1471 y Fu(Read)38 b(lines)f(from)g(the)h(standard)e
-(input)g(in)m(to)j(the)e(indexed)g(arra)m(y)h(v)-5 b(ariable)38
+Fj(count)p Ft(])1061 1338 y([-t])h([-u)f Fj(fd)p Ft(])h([-C)g
+Fj(callback)p Ft(])f([-c)g Fj(quantum)p Ft(])g([)p Fj(array)p
+Ft(])630 1471 y Fu(Read)38 b(lines)f(from)g(the)h(standard)e(input)g
+(in)m(to)j(the)e(indexed)g(arra)m(y)h(v)-5 b(ariable)38
b Fr(arra)m(y)p Fu(,)i(or)630 1581 y(from)28 b(\014le)h(descriptor)f
Fr(fd)k Fu(if)c(the)h Ft(-u)f Fu(option)h(is)g(supplied.)39
b(The)28 b(v)-5 b(ariable)29 b Ft(MAPFILE)e Fu(is)i(the)630
@@ -12430,33 +12490,33 @@ Fr(fd)p Fu(.)p eop end
TeXDict begin 59 64 bop 150 -116 a Fu(Chapter)30 b(4:)41
b(Shell)30 b(Builtin)h(Commands)2069 b(59)150 299 y Ft(readarray)870
408 y(readarray)45 b([-d)i Fj(delim)p Ft(])f([-n)h Fj(count)p
-Ft(])f([-O)h Fj(origin)p Ft(])f([-s)h Fj(count)p Ft(])f([-t])h([-u)g
-Fj(fd)p Ft(])1061 518 y([-C)g Fj(callback)p Ft(])e([-c)i
-Fj(quantum)p Ft(])f([)p Fj(array)p Ft(])630 650 y Fu(Read)38
-b(lines)f(from)g(the)h(standard)e(input)g(in)m(to)j(the)e(indexed)g
-(arra)m(y)h(v)-5 b(ariable)38 b Fr(arra)m(y)p Fu(,)i(or)630
-760 y(from)30 b(\014le)g(descriptor)h Fr(fd)i Fu(if)d(the)h
-Ft(-u)e Fu(option)i(is)g(supplied.)630 892 y(A)f(synon)m(ym)g(for)g
-Ft(mapfile)p Fu(.)150 1047 y Ft(source)870 1179 y(source)46
-b Fj(filename)630 1312 y Fu(A)30 b(synon)m(ym)g(for)g
-Ft(.)g Fu(\(see)i(Section)f(4.1)g([Bourne)g(Shell)f(Builtins],)h(page)g
-(43\).)150 1467 y Ft(type)870 1599 y(type)47 b([-afptP])e([)p
-Fj(name)i Ft(...)o(])630 1731 y Fu(F)-8 b(or)42 b(eac)m(h)g
-Fr(name)p Fu(,)i(indicate)e(ho)m(w)g(it)f(w)m(ould)g(b)s(e)g(in)m
-(terpreted)g(if)g(used)f(as)i(a)f(command)630 1841 y(name.)630
-1973 y(If)g(the)g Ft(-t)g Fu(option)h(is)f(used,)j Ft(type)c
-Fu(prin)m(ts)h(a)h(single)g(w)m(ord)f(whic)m(h)g(is)g(one)h(of)g(`)p
-Ft(alias)p Fu(',)630 2083 y(`)p Ft(function)p Fu(',)32
-b(`)p Ft(builtin)p Fu(',)g(`)p Ft(file)p Fu(')g(or)h(`)p
-Ft(keyword)p Fu(',)f(if)h Fr(name)38 b Fu(is)33 b(an)f(alias,)j(shell)e
-(function,)630 2192 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 Fr(name)40 b Fu(is)35 b(not)630 2302
-y(found,)29 b(then)h(nothing)h(is)f(prin)m(ted,)g(and)g
-Ft(type)f Fu(returns)g(a)i(failure)g(status.)630 2434
-y(If)25 b(the)g Ft(-p)g Fu(option)h(is)f(used,)h Ft(type)e
-Fu(either)h(returns)g(the)g(name)g(of)h(the)f(disk)g(\014le)g(that)h(w)
-m(ould)630 2544 y(b)s(e)k(executed,)h(or)g(nothing)f(if)g
+Ft(])f([-O)h Fj(origin)p Ft(])f([-s)h Fj(count)p Ft(])1061
+518 y([-t])g([-u)f Fj(fd)p Ft(])h([-C)g Fj(callback)p
+Ft(])f([-c)g Fj(quantum)p Ft(])g([)p Fj(array)p Ft(])630
+650 y Fu(Read)38 b(lines)f(from)g(the)h(standard)e(input)g(in)m(to)j
+(the)e(indexed)g(arra)m(y)h(v)-5 b(ariable)38 b Fr(arra)m(y)p
+Fu(,)i(or)630 760 y(from)30 b(\014le)g(descriptor)h Fr(fd)i
+Fu(if)d(the)h Ft(-u)e Fu(option)i(is)g(supplied.)630
+892 y(A)f(synon)m(ym)g(for)g Ft(mapfile)p Fu(.)150 1047
+y Ft(source)870 1179 y(source)46 b Fj(filename)630 1312
+y Fu(A)30 b(synon)m(ym)g(for)g Ft(.)g Fu(\(see)i(Section)f(4.1)g
+([Bourne)g(Shell)f(Builtins],)h(page)g(43\).)150 1467
+y Ft(type)870 1599 y(type)47 b([-afptP])e([)p Fj(name)i
+Ft(...)o(])630 1731 y Fu(F)-8 b(or)42 b(eac)m(h)g Fr(name)p
+Fu(,)i(indicate)e(ho)m(w)g(it)f(w)m(ould)g(b)s(e)g(in)m(terpreted)g(if)
+g(used)f(as)i(a)f(command)630 1841 y(name.)630 1973 y(If)g(the)g
+Ft(-t)g Fu(option)h(is)f(used,)j Ft(type)c Fu(prin)m(ts)h(a)h(single)g
+(w)m(ord)f(whic)m(h)g(is)g(one)h(of)g(`)p Ft(alias)p
+Fu(',)630 2083 y(`)p Ft(function)p Fu(',)32 b(`)p Ft(builtin)p
+Fu(',)g(`)p Ft(file)p Fu(')g(or)h(`)p Ft(keyword)p Fu(',)f(if)h
+Fr(name)38 b Fu(is)33 b(an)f(alias,)j(shell)e(function,)630
+2192 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
+Fr(name)40 b Fu(is)35 b(not)630 2302 y(found,)29 b(then)h(nothing)h(is)
+f(prin)m(ted,)g(and)g Ft(type)f Fu(returns)g(a)i(failure)g(status.)630
+2434 y(If)25 b(the)g Ft(-p)g Fu(option)h(is)f(used,)h
+Ft(type)e Fu(either)h(returns)g(the)g(name)g(of)h(the)f(disk)g(\014le)g
+(that)h(w)m(ould)630 2544 y(b)s(e)k(executed,)h(or)g(nothing)f(if)g
Ft(-t)g Fu(w)m(ould)g(not)h(return)e(`)p Ft(file)p Fu('.)630
2676 y(The)h Ft(-P)g Fu(option)h(forces)g(a)g(path)f(searc)m(h)h(for)g
(eac)m(h)g Fr(name)p Fu(,)g(ev)m(en)g(if)g Ft(-t)f Fu(w)m(ould)g(not)h
@@ -12628,7 +12688,7 @@ Ft(-e)f Fu(w)m(as)i(b)s(eing)e(ignored,)j(the)e(shell)g(do)s(es)g(not)
5011 y(This)f(option)h(applies)f(to)h(the)g(shell)g(en)m(vironmen)m(t)g
(and)f(eac)m(h)h(subshell)f(en-)1110 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(38\),)i(and)d(ma)m(y)h(cause)f
+5230 y(vironmen)m(t],)i(page)f(39\),)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: 62 68
@@ -12762,7 +12822,7 @@ 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 1275 y(argumen)m(ts.)630
1435 y Ft(-B)384 b Fu(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 1544
-y(Expansion],)30 b(page)h(22\).)42 b(This)30 b(option)h(is)f(on)g(b)m
+y(Expansion],)30 b(page)h(23\).)42 b(This)30 b(option)h(is)f(on)g(b)m
(y)h(default.)630 1704 y Ft(-C)384 b Fu(Prev)m(en)m(t)25
b(output)e(redirection)h(using)f(`)p Ft(>)p Fu(',)i(`)p
Ft(>&)p Fu(',)g(and)e(`)p Ft(<>)p Fu(')g(from)h(o)m(v)m(erwriting)1110
@@ -13078,7 +13138,7 @@ b(tracing)i(is)f(enabled:)63 b(command)42 b(substitution,)i(shell)f
Ft(ERR)1290 3915 y Fu(trap.)630 4080 y Ft(extglob)144
b Fu(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 4189 y(Section)j(3.5.8.1)i
-([P)m(attern)f(Matc)m(hing],)g(page)f(32\))h(are)f(enabled.)630
+([P)m(attern)f(Matc)m(hing],)g(page)f(33\))h(are)f(enabled.)630
4354 y Ft(extquote)96 b Fu(If)51 b(set,)58 b Ft($')p
Fj(string)p Ft(')49 b Fu(and)i Ft($")p Fj(string)p Ft(")e
Fu(quoting)k(is)e(p)s(erformed)f(within)1110 4463 y Ft(${)p
@@ -13101,7 +13161,7 @@ Ft(FIGNORE)p Fu(.)37 b(This)22 b(option)1110 408 y(is)30
b(enabled)h(b)m(y)f(default.)630 603 y Ft(globasciiranges)1110
713 y Fu(If)j(set,)h(range)f(expressions)g(used)f(in)h(pattern)g(matc)m
(hing)h(brac)m(k)m(et)h(expres-)1110 822 y(sions)28 b(\(see)h(Section)h
-(3.5.8.1)g([P)m(attern)g(Matc)m(hing],)h(page)e(32\))g(b)s(eha)m(v)m(e)
+(3.5.8.1)g([P)m(attern)g(Matc)m(hing],)h(page)e(33\))g(b)s(eha)m(v)m(e)
g(as)g(if)1110 932 y(in)i(the)g(traditional)i(C)d(lo)s(cale)j(when)d(p)
s(erforming)g(comparisons.)44 b(That)31 b(is,)1110 1042
y(the)d(curren)m(t)g(lo)s(cale's)i(collating)h(sequence)d(is)h(not)f
@@ -13141,7 +13201,7 @@ y Ft(hostcomplete)1110 4074 y Fu(If)38 b(set,)j(and)c(Readline)i(is)f
630 4597 y Ft(huponexit)1110 4707 y Fu(If)i(set,)i(Bash)f(will)h(send)d
Ft(SIGHUP)h Fu(to)h(all)h(jobs)e(when)g(an)g(in)m(teractiv)m(e)k(login)
1110 4816 y(shell)31 b(exits)g(\(see)g(Section)g(3.7.6)h([Signals],)g
-(page)f(40\).)630 5011 y Ft(inherit_errexit)1110 5121
+(page)f(41\).)630 5011 y Ft(inherit_errexit)1110 5121
y Fu(If)e(set,)h(command)g(substitution)f(inherits)g(the)g(v)-5
b(alue)30 b(of)g(the)f Ft(errexit)f Fu(op-)1110 5230
y(tion,)33 b(instead)g(of)f(unsetting)g(it)h(in)f(the)g(subshell)f(en)m
@@ -13342,817 +13402,828 @@ 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 1011 y Ft(BASHPID)144 b Fu(Expands)35 b(to)i(the)f(pro)s(cess)f
+b(.)150 1044 y Ft(BASHPID)144 b Fu(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 Ft($$)630 1121 y Fu(under)31 b(certain)j
+b(di\013ers)h(from)g Ft($$)630 1154 y Fu(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 1230 y(re-initialized.)57 b(Assignmen)m(ts)35
+g(Bash)g(to)h(b)s(e)630 1263 y(re-initialized.)57 b(Assignmen)m(ts)35
b(to)h Ft(BASHPID)d Fu(ha)m(v)m(e)j(no)f(e\013ect.)56
-b(If)34 b Ft(BASHPID)f Fu(is)i(unset,)h(it)630 1340 y(loses)31
+b(If)34 b Ft(BASHPID)f Fu(is)i(unset,)h(it)630 1373 y(loses)31
b(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 1504 y Ft(BASH_ALIASES)630
-1614 y Fu(An)40 b(asso)s(ciativ)m(e)j(arra)m(y)d(v)-5
+(subsequen)m(tly)f(reset.)150 1570 y Ft(BASH_ALIASES)630
+1680 y Fu(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 1724 y(of)c(aliases)h(as)f(main)m(tained)g(b)m(y)g
+(ternal)h(list)630 1789 y(of)c(aliases)h(as)f(main)m(tained)g(b)m(y)g
(the)g Ft(alias)e Fu(builtin.)59 b(\(see)37 b(Section)h(4.1)f([Bourne)g
-(Shell)630 1833 y(Builtins],)31 b(page)g(43\).)42 b(Elemen)m(ts)31
+(Shell)630 1899 y(Builtins],)31 b(page)g(43\).)42 b(Elemen)m(ts)31
b(added)e(to)i(this)f(arra)m(y)h(app)s(ear)f(in)g(the)g(alias)h(list;)h
-(ho)m(w-)630 1943 y(ev)m(er,)k(unsetting)f(arra)m(y)g(elemen)m(ts)g
+(ho)m(w-)630 2008 y(ev)m(er,)k(unsetting)f(arra)m(y)g(elemen)m(ts)g
(curren)m(tly)g(do)s(es)f(not)g(cause)h(aliases)h(to)f(b)s(e)f(remo)m
-(v)m(ed)630 2052 y(from)25 b(the)h(alias)h(list.)40 b(If)25
+(v)m(ed)630 2118 y(from)25 b(the)h(alias)h(list.)40 b(If)25
b Ft(BASH_ALIASES)d Fu(is)k(unset,)g(it)g(loses)h(its)f(sp)s(ecial)g
-(prop)s(erties,)g(ev)m(en)630 2162 y(if)k(it)h(is)g(subsequen)m(tly)f
-(reset.)150 2326 y Ft(BASH_ARGC)630 2436 y Fu(An)39 b(arra)m(y)g(v)-5
+(prop)s(erties,)g(ev)m(en)630 2228 y(if)k(it)h(is)g(subsequen)m(tly)f
+(reset.)150 2425 y Ft(BASH_ARGC)630 2534 y Fu(An)39 b(arra)m(y)g(v)-5
b(ariable)40 b(whose)f(v)-5 b(alues)39 b(are)h(the)f(n)m(um)m(b)s(er)f
-(of)h(parameters)g(in)g(eac)m(h)h(frame)630 2545 y(of)i(the)g(curren)m
+(of)h(parameters)g(in)g(eac)m(h)h(frame)630 2644 y(of)i(the)g(curren)m
(t)g(bash)f(execution)i(call)g(stac)m(k.)76 b(The)42
-b(n)m(um)m(b)s(er)e(of)i(parameters)g(to)h(the)630 2655
+b(n)m(um)m(b)s(er)e(of)i(parameters)g(to)h(the)630 2754
y(curren)m(t)38 b(subroutine)f(\(shell)i(function)e(or)i(script)f
(executed)h(with)e Ft(.)h Fu(or)g Ft(source)p Fu(\))f(is)h(at)630
-2765 y(the)27 b(top)g(of)g(the)g(stac)m(k.)41 b(When)27
+2863 y(the)27 b(top)g(of)g(the)g(stac)m(k.)41 b(When)27
b(a)g(subroutine)f(is)h(executed,)i(the)e(n)m(um)m(b)s(er)f(of)h
-(parameters)630 2874 y(passed)44 b(is)h(pushed)e(on)m(to)j
+(parameters)630 2973 y(passed)44 b(is)h(pushed)e(on)m(to)j
Ft(BASH_ARGC)p Fu(.)81 b(The)44 b(shell)h(sets)g Ft(BASH_ARGC)e
-Fu(only)i(when)e(in)630 2984 y(extended)34 b(debugging)f(mo)s(de)g
+Fu(only)i(when)e(in)630 3082 y(extended)34 b(debugging)f(mo)s(de)g
(\(see)i(Section)f(4.3.2)i([The)d(Shopt)g(Builtin],)i(page)g(65,)g(for)
-630 3093 y(a)e(description)g(of)f(the)h Ft(extdebug)d
+630 3192 y(a)e(description)g(of)f(the)h Ft(extdebug)d
Fu(option)j(to)h(the)e Ft(shopt)g Fu(builtin\).)47 b(Setting)33
-b Ft(extdebug)630 3203 y Fu(after)d(the)f(shell)g(has)g(started)h(to)g
-(execute)g(a)g(script)f(ma)m(y)g(result)g(in)g(inconsisten)m(t)h(v)-5
-b(alues.)150 3367 y Ft(BASH_ARGV)630 3477 y Fu(An)24
-b(arra)m(y)g(v)-5 b(ariable)25 b(con)m(taining)h(all)f(of)f(the)h
-(parameters)f(in)g(the)g(curren)m(t)g(bash)g(execution)630
-3587 y(call)35 b(stac)m(k.)53 b(The)34 b(\014nal)g(parameter)g(of)g
-(the)g(last)h(subroutine)e(call)i(is)f(at)h(the)f(top)h(of)f(the)630
-3696 y(stac)m(k;)28 b(the)c(\014rst)f(parameter)i(of)f(the)g(initial)i
-(call)f(is)f(at)h(the)f(b)s(ottom.)39 b(When)24 b(a)g(subroutine)630
-3806 y(is)40 b(executed,)j(the)d(parameters)h(supplied)d(are)i(pushed)f
-(on)m(to)i Ft(BASH_ARGV)p Fu(.)66 b(The)40 b(shell)630
-3915 y(sets)28 b Ft(BASH_ARGV)e Fu(only)i(when)f(in)h(extended)g
-(debugging)g(mo)s(de)g(\(see)h(Section)f(4.3.2)i([The)630
-4025 y(Shopt)g(Builtin],)h(page)g(65,)g(for)g(a)f(description)h(of)f
-(the)h Ft(extdebug)d Fu(option)j(to)g(the)f Ft(shopt)630
-4134 y Fu(builtin\).)51 b(Setting)35 b Ft(extdebug)c
-Fu(after)k(the)f(shell)g(has)f(started)i(to)f(execute)h(a)g(script)e
-(ma)m(y)630 4244 y(result)d(in)g(inconsisten)m(t)i(v)-5
-b(alues.)150 4408 y Ft(BASH_ARGV0)630 4518 y Fu(When)31
+b Ft(extdebug)630 3302 y Fu(after)c(the)g(shell)g(has)g(started)g(to)g
+(execute)i(a)e(script,)g(or)g(referencing)g(this)f(v)-5
+b(ariable)30 b(when)630 3411 y Ft(extdebug)e Fu(is)j(not)f(set,)h(ma)m
+(y)g(result)g(in)f(inconsisten)m(t)h(v)-5 b(alues.)150
+3608 y Ft(BASH_ARGV)630 3718 y Fu(An)24 b(arra)m(y)g(v)-5
+b(ariable)25 b(con)m(taining)h(all)f(of)f(the)h(parameters)f(in)g(the)g
+(curren)m(t)g(bash)g(execution)630 3828 y(call)35 b(stac)m(k.)53
+b(The)34 b(\014nal)g(parameter)g(of)g(the)g(last)h(subroutine)e(call)i
+(is)f(at)h(the)f(top)h(of)f(the)630 3937 y(stac)m(k;)28
+b(the)c(\014rst)f(parameter)i(of)f(the)g(initial)i(call)f(is)f(at)h
+(the)f(b)s(ottom.)39 b(When)24 b(a)g(subroutine)630 4047
+y(is)40 b(executed,)j(the)d(parameters)h(supplied)d(are)i(pushed)f(on)m
+(to)i Ft(BASH_ARGV)p Fu(.)66 b(The)40 b(shell)630 4156
+y(sets)28 b Ft(BASH_ARGV)e Fu(only)i(when)f(in)h(extended)g(debugging)g
+(mo)s(de)g(\(see)h(Section)f(4.3.2)i([The)630 4266 y(Shopt)g(Builtin],)
+h(page)g(65,)g(for)g(a)f(description)h(of)f(the)h Ft(extdebug)d
+Fu(option)j(to)g(the)f Ft(shopt)630 4376 y Fu(builtin\).)64
+b(Setting)38 b Ft(extdebug)e Fu(after)j(the)f(shell)g(has)g(started)g
+(to)h(execute)g(a)g(script,)h(or)630 4485 y(referencing)35
+b(this)f(v)-5 b(ariable)35 b(when)e Ft(extdebug)f Fu(is)j(not)f(set,)j
+(ma)m(y)e(result)f(in)g(inconsisten)m(t)630 4595 y(v)-5
+b(alues.)150 4792 y Ft(BASH_ARGV0)630 4902 y Fu(When)31
b(referenced,)g(this)g(v)-5 b(ariable)32 b(expands)e(to)h(the)h(name)f
-(of)g(the)g(shell)g(or)g(shell)g(script)630 4628 y(\(iden)m(tical)42
+(of)g(the)g(shell)g(or)g(shell)g(script)630 5011 y(\(iden)m(tical)42
b(to)e Ft($0)p Fu(;)j(See)d(Section)g(3.4.2)i([Sp)s(ecial)e(P)m
-(arameters],)j(page)d(21,)j(for)c(the)h(de-)630 4737
+(arameters],)j(page)d(21,)j(for)c(the)h(de-)630 5121
y(scription)32 b(of)g(sp)s(ecial)g(parameter)g(0\).)45
b(Assignmen)m(t)32 b(to)h Ft(BASH_ARGV0)c Fu(causes)j(the)f(v)-5
-b(alue)630 4847 y(assigned)34 b(to)h(also)g(b)s(e)e(assigned)h(to)g
+b(alue)630 5230 y(assigned)34 b(to)h(also)g(b)s(e)e(assigned)h(to)g
Ft($0)p Fu(.)51 b(If)33 b Ft(BASH_ARGV0)f Fu(is)h(unset,)i(it)f(loses)h
-(its)f(sp)s(ecial)630 4956 y(prop)s(erties,)c(ev)m(en)h(if)f(it)h(is)g
-(subsequen)m(tly)f(reset.)150 5121 y Ft(BASH_CMDS)630
-5230 y Fu(An)k(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 5340 y(table)c(of)g(commands)f(as)g(main)m(tained)h(b)m(y)g
-(the)f Ft(hash)f Fu(builtin)h(\(see)h(Section)g(4.1)h([Bourne)p
-eop end
+(its)f(sp)s(ecial)630 5340 y(prop)s(erties,)c(ev)m(en)h(if)f(it)h(is)g
+(subsequen)m(tly)f(reset.)p eop end
%%Page: 74 80
TeXDict begin 74 79 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(74)630 299 y(Shell)42
-b(Builtins],)k(page)d(43\).)77 b(Elemen)m(ts)43 b(added)e(to)i(this)f
-(arra)m(y)h(app)s(ear)f(in)f(the)i(hash)630 408 y(table;)k(ho)m(w)m(ev)
-m(er,)e(unsetting)c(arra)m(y)g(elemen)m(ts)i(curren)m(tly)d(do)s(es)h
-(not)g(cause)g(command)630 518 y(names)36 b(to)g(b)s(e)f(remo)m(v)m(ed)
-i(from)e(the)h(hash)f(table.)58 b(If)36 b Ft(BASH_CMDS)d
-Fu(is)j(unset,)h(it)f(loses)h(its)630 628 y(sp)s(ecial)31
-b(prop)s(erties,)f(ev)m(en)h(if)f(it)h(is)g(subsequen)m(tly)f(reset.)
-150 792 y Ft(BASH_COMMAND)630 902 y Fu(The)39 b(command)h(curren)m(tly)
-g(b)s(eing)f(executed)i(or)e(ab)s(out)h(to)g(b)s(e)f(executed,)44
-b(unless)39 b(the)630 1011 y(shell)g(is)g(executing)g(a)g(command)g(as)
-g(the)f(result)h(of)g(a)g(trap,)i(in)d(whic)m(h)g(case)i(it)f(is)g(the)
-630 1121 y(command)30 b(executing)i(at)f(the)f(time)h(of)g(the)g(trap.)
-150 1285 y Ft(BASH_COMPAT)630 1395 y Fu(The)i(v)-5 b(alue)34
+b(Shell)30 b(V)-8 b(ariables)2459 b(74)150 299 y Ft(BASH_CMDS)630
+408 y Fu(An)34 b(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 518 y(table)c(of)g(commands)f(as)g(main)m(tained)h
+(b)m(y)g(the)f Ft(hash)f Fu(builtin)h(\(see)h(Section)g(4.1)h([Bourne)
+630 628 y(Shell)42 b(Builtins],)k(page)d(43\).)77 b(Elemen)m(ts)43
+b(added)e(to)i(this)f(arra)m(y)h(app)s(ear)f(in)f(the)i(hash)630
+737 y(table;)k(ho)m(w)m(ev)m(er,)e(unsetting)c(arra)m(y)g(elemen)m(ts)i
+(curren)m(tly)d(do)s(es)h(not)g(cause)g(command)630 847
+y(names)36 b(to)g(b)s(e)f(remo)m(v)m(ed)i(from)e(the)h(hash)f(table.)58
+b(If)36 b Ft(BASH_CMDS)d Fu(is)j(unset,)h(it)f(loses)h(its)630
+956 y(sp)s(ecial)31 b(prop)s(erties,)f(ev)m(en)h(if)f(it)h(is)g
+(subsequen)m(tly)f(reset.)150 1129 y Ft(BASH_COMMAND)630
+1238 y Fu(The)39 b(command)h(curren)m(tly)g(b)s(eing)f(executed)i(or)e
+(ab)s(out)h(to)g(b)s(e)f(executed,)44 b(unless)39 b(the)630
+1348 y(shell)g(is)g(executing)g(a)g(command)g(as)g(the)f(result)h(of)g
+(a)g(trap,)i(in)d(whic)m(h)g(case)i(it)f(is)g(the)630
+1457 y(command)30 b(executing)i(at)f(the)f(time)h(of)g(the)g(trap.)150
+1630 y Ft(BASH_COMPAT)630 1739 y Fu(The)i(v)-5 b(alue)34
b(is)f(used)g(to)h(set)f(the)h(shell's)g(compatibilit)m(y)h(lev)m(el.)
-51 b(See)34 b(Section)g(4.3.2)h([The)630 1504 y(Shopt)40
+51 b(See)34 b(Section)g(4.3.2)h([The)630 1849 y(Shopt)40
b(Builtin],)45 b(page)c(65,)k(for)c(a)g(description)g(of)g(the)g(v)-5
-b(arious)41 b(compatibilit)m(y)i(lev)m(els)630 1614 y(and)31
+b(arious)41 b(compatibilit)m(y)i(lev)m(els)630 1958 y(and)31
b(their)g(e\013ects.)45 b(The)31 b(v)-5 b(alue)31 b(ma)m(y)h(b)s(e)f(a)
h(decimal)g(n)m(um)m(b)s(er)e(\(e.g.,)j(4.2\))g(or)e(an)h(in)m(teger)
-630 1724 y(\(e.g.,)39 b(42\))f(corresp)s(onding)d(to)i(the)f(desired)f
+630 2068 y(\(e.g.,)39 b(42\))f(corresp)s(onding)d(to)i(the)f(desired)f
(compatibilit)m(y)k(lev)m(el.)59 b(If)36 b Ft(BASH_COMPAT)d
-Fu(is)630 1833 y(unset)k(or)g(set)h(to)g(the)g(empt)m(y)f(string,)j
+Fu(is)630 2178 y(unset)k(or)g(set)h(to)g(the)g(empt)m(y)f(string,)j
(the)d(compatibilit)m(y)j(lev)m(el)f(is)e(set)h(to)g(the)g(default)630
-1943 y(for)i(the)h(curren)m(t)f(v)m(ersion.)72 b(If)40
+2287 y(for)i(the)h(curren)m(t)f(v)m(ersion.)72 b(If)40
b Ft(BASH_COMPAT)e Fu(is)i(set)h(to)h(a)e(v)-5 b(alue)41
-b(that)h(is)e(not)h(one)g(of)630 2052 y(the)f(v)-5 b(alid)40
+b(that)h(is)e(not)h(one)g(of)630 2397 y(the)f(v)-5 b(alid)40
b(compatibilit)m(y)i(lev)m(els,)i(the)c(shell)g(prin)m(ts)f(an)h(error)
-f(message)i(and)f(sets)g(the)630 2162 y(compatibilit)m(y)23
+f(message)i(and)f(sets)g(the)630 2506 y(compatibilit)m(y)23
b(lev)m(el)f(to)f(the)f(default)h(for)f(the)g(curren)m(t)g(v)m(ersion.)
-38 b(The)20 b(v)-5 b(alid)21 b(compatibilit)m(y)630 2271
+38 b(The)20 b(v)-5 b(alid)21 b(compatibilit)m(y)630 2616
y(lev)m(els)40 b(corresp)s(ond)e(to)h(the)g(compatibilit)m(y)i(options)
e(accepted)h(b)m(y)f(the)g Ft(shopt)e Fu(builtin)630
-2381 y(describ)s(ed)20 b(ab)s(o)m(v)m(e)i(\(for)g(example,)h
+2725 y(describ)s(ed)20 b(ab)s(o)m(v)m(e)i(\(for)g(example,)h
Fr(compat42)31 b Fu(means)21 b(that)g(4.2)i(and)d(42)i(are)g(v)-5
-b(alid)21 b(v)-5 b(alues\).)630 2491 y(The)30 b(curren)m(t)g(v)m
+b(alid)21 b(v)-5 b(alues\).)630 2835 y(The)30 b(curren)m(t)g(v)m
(ersion)h(is)f(also)i(a)e(v)-5 b(alid)31 b(v)-5 b(alue.)150
-2655 y Ft(BASH_ENV)96 b Fu(If)28 b(this)g(v)-5 b(ariable)30
+3007 y Ft(BASH_ENV)96 b Fu(If)28 b(this)g(v)-5 b(ariable)30
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 2765
+(shell)h(script,)g(its)g(v)-5 b(alue)29 b(is)630 3117
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 2874 y(script.)41
+(to)h(read)f(b)s(efore)g(executing)i(the)630 3226 y(script.)41
b(See)30 b(Section)h(6.2)h([Bash)f(Startup)e(Files],)j(page)f(86.)150
-3039 y Ft(BASH_EXECUTION_STRING)630 3148 y Fu(The)f(command)g(argumen)m
+3399 y Ft(BASH_EXECUTION_STRING)630 3508 y Fu(The)f(command)g(argumen)m
(t)h(to)g(the)g Ft(-c)e Fu(in)m(v)m(o)s(cation)k(option.)150
-3313 y Ft(BASH_LINENO)630 3422 y Fu(An)62 b(arra)m(y)i(v)-5
+3680 y Ft(BASH_LINENO)630 3790 y Fu(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 3532 y(where)46 b(eac)m(h)i(corresp)s
+(ers)f(in)g(source)h(\014les)630 3900 y(where)46 b(eac)m(h)i(corresp)s
(onding)d(mem)m(b)s(er)h(of)h Fr(FUNCNAME)53 b Fu(w)m(as)47
-b(in)m(v)m(ok)m(ed.)91 b Ft(${BASH_)630 3641 y(LINENO[$i]})39
+b(in)m(v)m(ok)m(ed.)91 b Ft(${BASH_)630 4009 y(LINENO[$i]})39
b Fu(is)i(the)h(line)g(n)m(um)m(b)s(er)e(in)i(the)f(source)h(\014le)g
-(\()p Ft(${BASH_SOURCE[$i+1]})p Fu(\))630 3751 y(where)d
+(\()p Ft(${BASH_SOURCE[$i+1]})p Fu(\))630 4119 y(where)d
Ft(${FUNCNAME[$i]})c Fu(w)m(as)k(called)i(\(or)e Ft
(${BASH_LINENO[$i-1]})34 b Fu(if)39 b(referenced)630
-3861 y(within)30 b(another)g(shell)h(function\).)41 b(Use)31
+4228 y(within)30 b(another)g(shell)h(function\).)41 b(Use)31
b Ft(LINENO)d Fu(to)j(obtain)g(the)g(curren)m(t)f(line)h(n)m(um)m(b)s
-(er.)150 4025 y Ft(BASH_LOADABLES_PATH)630 4134 y Fu(A)39
+(er.)150 4401 y Ft(BASH_LOADABLES_PATH)630 4510 y Fu(A)39
b(colon-separated)i(list)f(of)f(directories)h(in)f(whic)m(h)g(the)g
-(shell)h(lo)s(oks)f(for)g(dynamically)630 4244 y(loadable)32
+(shell)h(lo)s(oks)f(for)g(dynamically)630 4620 y(loadable)32
b(builtins)d(sp)s(eci\014ed)h(b)m(y)g(the)h Ft(enable)e
-Fu(command.)150 4408 y Ft(BASH_REMATCH)630 4518 y Fu(An)43
+Fu(command.)150 4792 y Ft(BASH_REMATCH)630 4902 y Fu(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 Ft(=~)p Fu(')g(binary)f(op)s(erator)630
-4628 y(to)37 b(the)f Ft([[)g Fu(conditional)i(command)e(\(see)h
+5011 y(to)37 b(the)f Ft([[)g Fu(conditional)i(command)e(\(see)h
(Section)g(3.2.4.2)i([Conditional)e(Constructs],)630
-4737 y(page)e(11\).)52 b(The)33 b(elemen)m(t)j(with)d(index)g(0)i(is)f
+5121 y(page)e(11\).)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
-4847 y(en)m(tire)29 b(regular)f(expression.)40 b(The)27
+5230 y(en)m(tire)29 b(regular)f(expression.)40 b(The)27
b(elemen)m(t)j(with)d(index)h Fr(n)f Fu(is)h(the)g(p)s(ortion)g(of)g
-(the)g(string)630 4956 y(matc)m(hing)j(the)g Fr(n)p Fu(th)f(paren)m
+(the)g(string)630 5340 y(matc)m(hing)j(the)g Fr(n)p Fu(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 5121 y Ft(BASH_SOURCE)630
-5230 y Fu(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
-5340 y(sp)s(onding)27 b(shell)i(function)f(names)g(in)g(the)h
-Ft(FUNCNAME)d Fu(arra)m(y)j(v)-5 b(ariable)30 b(are)f(de\014ned.)38
-b(The)p eop end
+b(is)g(read-only)-8 b(.)p eop end
%%Page: 75 81
TeXDict begin 75 80 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(75)630 299 y(shell)26
-b(function)g Ft(${FUNCNAME[$i]})c Fu(is)k(de\014ned)f(in)g(the)h
-(\014le)h Ft(${BASH_SOURCE[$i]})21 b Fu(and)630 408 y(called)32
-b(from)d Ft(${BASH_SOURCE[$i+1]})150 573 y(BASH_SUBSHELL)630
-682 y Fu(Incremen)m(ted)24 b(b)m(y)f(one)h(within)f(eac)m(h)i(subshell)
-d(or)i(subshell)e(en)m(vironmen)m(t)i(when)f(the)h(shell)630
-792 y(b)s(egins)30 b(executing)h(in)f(that)h(en)m(vironmen)m(t.)42
-b(The)30 b(initial)h(v)-5 b(alue)31 b(is)f(0.)150 956
-y Ft(BASH_VERSINFO)630 1066 y Fu(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(93\))h
-(whose)f(mem)m(b)s(ers)630 1176 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 1285 y(arra)m(y)e(mem)m(b)s(ers)e
-(are)i(as)g(follo)m(ws:)630 1450 y Ft(BASH_VERSINFO[0])1110
-1559 y Fu(The)f(ma)5 b(jor)30 b(v)m(ersion)h(n)m(um)m(b)s(er)e(\(the)i
-Fr(release)5 b Fu(\).)630 1724 y Ft(BASH_VERSINFO[1])1110
-1833 y Fu(The)30 b(minor)g(v)m(ersion)h(n)m(um)m(b)s(er)e(\(the)i
-Fr(v)m(ersion)p Fu(\).)630 1998 y Ft(BASH_VERSINFO[2])1110
-2107 y Fu(The)f(patc)m(h)h(lev)m(el.)630 2271 y Ft(BASH_VERSINFO[3])
-1110 2381 y Fu(The)f(build)f(v)m(ersion.)630 2545 y Ft
-(BASH_VERSINFO[4])1110 2655 y Fu(The)h(release)i(status)e(\(e.g.,)j
-Fr(b)s(eta1)7 b Fu(\).)630 2819 y Ft(BASH_VERSINFO[5])1110
-2929 y Fu(The)30 b(v)-5 b(alue)31 b(of)f Ft(MACHTYPE)p
-Fu(.)150 3093 y Ft(BASH_VERSION)630 3203 y Fu(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
-3367 y Ft(BASH_XTRACEFD)630 3477 y Fu(If)f(set)h(to)h(an)e(in)m(teger)i
+b(Shell)30 b(V)-8 b(ariables)2459 b(75)150 299 y Ft(BASH_SOURCE)630
+408 y Fu(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
+518 y(sp)s(onding)27 b(shell)i(function)f(names)g(in)g(the)h
+Ft(FUNCNAME)d Fu(arra)m(y)j(v)-5 b(ariable)30 b(are)f(de\014ned.)38
+b(The)630 628 y(shell)26 b(function)g Ft(${FUNCNAME[$i]})c
+Fu(is)k(de\014ned)f(in)g(the)h(\014le)h Ft(${BASH_SOURCE[$i]})21
+b Fu(and)630 737 y(called)32 b(from)d Ft(${BASH_SOURCE[$i+1]})150
+892 y(BASH_SUBSHELL)630 1002 y Fu(Incremen)m(ted)24 b(b)m(y)f(one)h
+(within)f(eac)m(h)i(subshell)d(or)i(subshell)e(en)m(vironmen)m(t)i
+(when)f(the)h(shell)630 1112 y(b)s(egins)30 b(executing)h(in)f(that)h
+(en)m(vironmen)m(t.)42 b(The)30 b(initial)h(v)-5 b(alue)31
+b(is)f(0.)150 1267 y Ft(BASH_VERSINFO)630 1377 y Fu(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(93\))h(whose)f(mem)m(b)s(ers)630
+1486 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
+1596 y(arra)m(y)e(mem)m(b)s(ers)e(are)i(as)g(follo)m(ws:)630
+1751 y Ft(BASH_VERSINFO[0])1110 1861 y Fu(The)f(ma)5
+b(jor)30 b(v)m(ersion)h(n)m(um)m(b)s(er)e(\(the)i Fr(release)5
+b Fu(\).)630 2016 y Ft(BASH_VERSINFO[1])1110 2125 y Fu(The)30
+b(minor)g(v)m(ersion)h(n)m(um)m(b)s(er)e(\(the)i Fr(v)m(ersion)p
+Fu(\).)630 2281 y Ft(BASH_VERSINFO[2])1110 2390 y Fu(The)f(patc)m(h)h
+(lev)m(el.)630 2545 y Ft(BASH_VERSINFO[3])1110 2655 y
+Fu(The)f(build)f(v)m(ersion.)630 2810 y Ft(BASH_VERSINFO[4])1110
+2920 y Fu(The)h(release)i(status)e(\(e.g.,)j Fr(b)s(eta1)7
+b Fu(\).)630 3075 y Ft(BASH_VERSINFO[5])1110 3185 y Fu(The)30
+b(v)-5 b(alue)31 b(of)f Ft(MACHTYPE)p Fu(.)150 3340 y
+Ft(BASH_VERSION)630 3450 y Fu(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 3605 y
+Ft(BASH_XTRACEFD)630 3714 y Fu(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 3587 y(trace)37 b(output)f(generated)h
+(Bash)g(will)g(write)g(the)630 3824 y(trace)37 b(output)f(generated)h
(when)f(`)p Ft(set)29 b(-x)p Fu(')36 b(is)g(enabled)h(to)g(that)f
-(\014le)h(descriptor.)58 b(This)630 3696 y(allo)m(ws)29
+(\014le)h(descriptor.)58 b(This)630 3934 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 3806 y(\014le)31 b(descriptor)f(is)h
+(error)f(messages.)41 b(The)630 4043 y(\014le)31 b(descriptor)f(is)h
(closed)g(when)f Ft(BASH_XTRACEFD)d Fu(is)k(unset)f(or)g(assigned)h(a)g
-(new)f(v)-5 b(alue.)630 3915 y(Unsetting)45 b Ft(BASH_XTRACEFD)40
+(new)f(v)-5 b(alue.)630 4153 y(Unsetting)45 b Ft(BASH_XTRACEFD)40
b Fu(or)k(assigning)g(it)g(the)g(empt)m(y)h(string)e(causes)i(the)f
-(trace)630 4025 y(output)33 b(to)i(b)s(e)d(sen)m(t)j(to)f(the)g
+(trace)630 4262 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 Ft(BASH_XTRACEFD)c
-Fu(to)630 4134 y(2)39 b(\(the)h(standard)e(error)g(\014le)h
+Fu(to)630 4372 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 4244 y(standard)30 b(error)g(b)s(eing)f(closed.)150
-4408 y Ft(CHILD_MAX)630 4518 y Fu(Set)35 b(the)h(n)m(um)m(b)s(er)e(of)h
+630 4482 y(standard)30 b(error)g(b)s(eing)f(closed.)150
+4637 y Ft(CHILD_MAX)630 4746 y Fu(Set)35 b(the)h(n)m(um)m(b)s(er)e(of)h
(exited)h(c)m(hild)g(status)f(v)-5 b(alues)36 b(for)f(the)g(shell)g(to)
-h(remem)m(b)s(er.)55 b(Bash)630 4628 y(will)37 b(not)g(allo)m(w)i(this)
+h(remem)m(b)s(er.)55 b(Bash)630 4856 y(will)37 b(not)g(allo)m(w)i(this)
e(v)-5 b(alue)37 b(to)h(b)s(e)e(decreased)i(b)s(elo)m(w)f(a)g
-Fm(posix)p Fu(-mandated)f(minim)m(um,)630 4737 y(and)30
+Fm(posix)p Fu(-mandated)f(minim)m(um,)630 4966 y(and)30
b(there)g(is)g(a)h(maxim)m(um)f(v)-5 b(alue)30 b(\(curren)m(tly)h
(8192\))h(that)f(this)f(ma)m(y)g(not)h(exceed.)41 b(The)630
-4847 y(minim)m(um)30 b(v)-5 b(alue)30 b(is)h(system-dep)s(enden)m(t.)
-150 5011 y Ft(COLUMNS)144 b Fu(Used)32 b(b)m(y)f(the)h
+5075 y(minim)m(um)30 b(v)-5 b(alue)30 b(is)h(system-dep)s(enden)m(t.)
+150 5230 y Ft(COLUMNS)144 b Fu(Used)32 b(b)m(y)f(the)h
Ft(select)e Fu(command)h(to)i(determine)f(the)f(terminal)i(width)d
-(when)h(prin)m(ting)630 5121 y(selection)39 b(lists.)63
+(when)h(prin)m(ting)630 5340 y(selection)39 b(lists.)63
b(Automatically)41 b(set)d(if)f(the)h Ft(checkwinsize)d
-Fu(option)j(is)f(enabled)h(\(see)630 5230 y(Section)44
-b(4.3.2)h([The)e(Shopt)g(Builtin],)k(page)d(65\),)k(or)43
-b(in)g(an)g(in)m(teractiv)m(e)j(shell)e(up)s(on)630 5340
-y(receipt)31 b(of)g(a)g Ft(SIGWINCH)p Fu(.)p eop end
+Fu(option)j(is)f(enabled)h(\(see)p eop end
%%Page: 76 82
TeXDict begin 76 81 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(76)150 299 y Ft(COMP_CWORD)630
-408 y Fu(An)38 b(index)g(in)m(to)h Ft(${COMP_WORDS})c
-Fu(of)k(the)g(w)m(ord)f(con)m(taining)i(the)e(curren)m(t)g(cursor)g(p)s
-(o-)630 518 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 628 y(grammable)36
-b(completion)g(facilities)i(\(see)e(Section)g(8.6)g([Programmable)g
-(Completion],)630 737 y(page)31 b(131\).)150 883 y Ft(COMP_LINE)630
-993 y Fu(The)38 b(curren)m(t)h(command)f(line.)66 b(This)37
-b(v)-5 b(ariable)40 b(is)f(a)m(v)-5 b(ailable)41 b(only)d(in)h(shell)f
-(functions)630 1103 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
-1212 y(Section)k(8.6)h([Programmable)f(Completion],)g(page)g(131\).)150
-1358 y Ft(COMP_POINT)630 1468 y Fu(The)25 b(index)g(of)h(the)g(curren)m
+b(Shell)30 b(V)-8 b(ariables)2459 b(76)630 299 y(Section)44
+b(4.3.2)h([The)e(Shopt)g(Builtin],)k(page)d(65\),)k(or)43
+b(in)g(an)g(in)m(teractiv)m(e)j(shell)e(up)s(on)630 408
+y(receipt)31 b(of)g(a)g Ft(SIGWINCH)p Fu(.)150 555 y
+Ft(COMP_CWORD)630 664 y Fu(An)38 b(index)g(in)m(to)h
+Ft(${COMP_WORDS})c Fu(of)k(the)g(w)m(ord)f(con)m(taining)i(the)e
+(curren)m(t)g(cursor)g(p)s(o-)630 774 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
+883 y(grammable)36 b(completion)g(facilities)i(\(see)e(Section)g(8.6)g
+([Programmable)g(Completion],)630 993 y(page)31 b(131\).)150
+1139 y Ft(COMP_LINE)630 1249 y Fu(The)38 b(curren)m(t)h(command)f
+(line.)66 b(This)37 b(v)-5 b(ariable)40 b(is)f(a)m(v)-5
+b(ailable)41 b(only)d(in)h(shell)f(functions)630 1358
+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 1468
+y(Section)k(8.6)h([Programmable)f(Completion],)g(page)g(131\).)150
+1614 y Ft(COMP_POINT)630 1724 y Fu(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 1577 y(command.)40 b(If)27 b(the)h(curren)m(t)g
+g(the)h(curren)m(t)630 1833 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 1687 y(the)i(v)-5 b(alue)30 b(of)g(this)g(v)-5
+(command,)630 1943 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 Ft(${#COMP_LINE})p Fu(.)37
b(This)29 b(v)-5 b(ariable)31 b(is)f(a)m(v)-5 b(ailable)630
-1797 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 1906
+2052 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 2162
y(completion)c(facilities)g(\(see)g(Section)f(8.6)g([Programmable)g
-(Completion],)h(page)f(131\).)150 2052 y Ft(COMP_TYPE)630
-2162 y Fu(Set)c(to)h(an)f(in)m(teger)h(v)-5 b(alue)28
+(Completion],)h(page)f(131\).)150 2308 y Ft(COMP_TYPE)630
+2418 y Fu(Set)c(to)h(an)f(in)m(teger)h(v)-5 b(alue)28
b(corresp)s(onding)e(to)h(the)h(t)m(yp)s(e)f(of)g(completion)h
-(attempted)g(that)630 2271 y(caused)e(a)h(completion)h(function)e(to)h
+(attempted)g(that)630 2527 y(caused)e(a)h(completion)h(function)e(to)h
(b)s(e)f(called:)40 b Fr(T)-8 b(AB)p Fu(,)27 b(for)g(normal)f
-(completion,)j(`)p Ft(?)p Fu(',)e(for)630 2381 y(listing)35
+(completion,)j(`)p Ft(?)p Fu(',)e(for)630 2637 y(listing)35
b(completions)h(after)f(successiv)m(e)g(tabs,)h(`)p Ft(!)p
Fu(',)g(for)e(listing)h(alternativ)m(es)i(on)d(partial)630
-2491 y(w)m(ord)22 b(completion,)k(`)p Ft(@)p Fu(',)f(to)e(list)g
+2746 y(w)m(ord)22 b(completion,)k(`)p Ft(@)p Fu(',)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 Ft(\045)p Fu(',)h(for)630 2600 y(men)m(u)i(completion.)41
+(`)p Ft(\045)p Fu(',)h(for)630 2856 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
-2710 y(commands)32 b(in)m(v)m(ok)m(ed)i(b)m(y)e(the)g(programmable)h
+2966 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
-2819 y([Programmable)e(Completion],)h(page)f(131\).)150
-2966 y Ft(COMP_KEY)96 b Fu(The)29 b(k)m(ey)i(\(or)g(\014nal)e(k)m(ey)i
+3075 y([Programmable)e(Completion],)h(page)f(131\).)150
+3221 y Ft(COMP_KEY)96 b Fu(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 3075 y(function.)150 3221
-y Ft(COMP_WORDBREAKS)630 3331 y Fu(The)f(set)i(of)e(c)m(haracters)j
+(curren)m(t)g(completion)630 3331 y(function.)150 3477
+y Ft(COMP_WORDBREAKS)630 3587 y Fu(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 3440 y(p)s(erforming)i(w)m(ord)h(completion.)51
+(when)630 3696 y(p)s(erforming)i(w)m(ord)h(completion.)51
b(If)33 b Ft(COMP_WORDBREAKS)c Fu(is)34 b(unset,)g(it)f(loses)i(its)e
-(sp)s(ecial)630 3550 y(prop)s(erties,)d(ev)m(en)h(if)f(it)h(is)g
-(subsequen)m(tly)f(reset.)150 3696 y Ft(COMP_WORDS)630
-3806 y Fu(An)36 b(arra)m(y)g(v)-5 b(ariable)37 b(consisting)g(of)f(the)
+(sp)s(ecial)630 3806 y(prop)s(erties,)d(ev)m(en)h(if)f(it)h(is)g
+(subsequen)m(tly)f(reset.)150 3952 y Ft(COMP_WORDS)630
+4061 y Fu(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
-3915 y(line.)94 b(The)47 b(line)i(is)f(split)g(in)m(to)h(w)m(ords)e(as)
+4171 y(line.)94 b(The)47 b(line)i(is)f(split)g(in)m(to)h(w)m(ords)e(as)
h(Readline)h(w)m(ould)f(split)g(it,)53 b(using)47 b Ft(COMP_)630
-4025 y(WORDBREAKS)34 b Fu(as)i(describ)s(ed)g(ab)s(o)m(v)m(e.)60
+4281 y(WORDBREAKS)34 b Fu(as)i(describ)s(ed)g(ab)s(o)m(v)m(e.)60
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 4134 y(tions)32 b(in)m(v)m(ok)m(ed)i(b)
+b(only)e(in)f(shell)h(func-)630 4390 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 4244 y(grammable)e(Completion],)g(page)g(131\).)150
-4390 y Ft(COMPREPLY)630 4500 y Fu(An)37 b(arra)m(y)h(v)-5
+(8.6)g([Pro-)630 4500 y(grammable)e(Completion],)g(page)g(131\).)150
+4646 y Ft(COMPREPLY)630 4756 y Fu(An)37 b(arra)m(y)h(v)-5
b(ariable)38 b(from)f(whic)m(h)g(Bash)g(reads)g(the)h(p)s(ossible)e
-(completions)j(generated)630 4609 y(b)m(y)33 b(a)g(shell)h(function)f
+(completions)j(generated)630 4865 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 4719 y(tion)g(8.6)g([Programmable)g(Completion],)
+(y)h(\(see)f(Sec-)630 4975 y(tion)g(8.6)g([Programmable)g(Completion],)
h(page)f(131\).)51 b(Eac)m(h)34 b(arra)m(y)g(elemen)m(t)h(con)m(tains)
-630 4829 y(one)c(p)s(ossible)f(completion.)150 4975 y
+630 5084 y(one)c(p)s(ossible)f(completion.)150 5230 y
Ft(COPROC)192 b Fu(An)27 b(arra)m(y)g(v)-5 b(ariable)28
b(created)g(to)f(hold)g(the)g(\014le)g(descriptors)g(for)g(output)f
-(from)h(and)f(input)630 5084 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(15\).)150
-5230 y Ft(DIRSTACK)96 b Fu(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 5340 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 Ft(dirs)e Fu(builtin.)p
+(from)h(and)f(input)630 5340 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(15\).)p
eop end
%%Page: 77 83
TeXDict begin 77 82 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(77)630 299 y(Assigning)30
-b(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
-408 y(already)41 b(in)f(the)h(stac)m(k,)k(but)40 b(the)h
-Ft(pushd)e Fu(and)h Ft(popd)f Fu(builtins)h(m)m(ust)h(b)s(e)e(used)h
-(to)i(add)630 518 y(and)37 b(remo)m(v)m(e)h(directories.)63
+b(Shell)30 b(V)-8 b(ariables)2459 b(77)150 299 y Ft(DIRSTACK)96
+b Fu(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 408 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
+Ft(dirs)e Fu(builtin.)630 518 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 628 y(already)41 b(in)f(the)h(stac)m(k,)k(but)
+40 b(the)h Ft(pushd)e Fu(and)h Ft(popd)f Fu(builtins)h(m)m(ust)h(b)s(e)
+e(used)h(to)i(add)630 737 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 628 y(ren)m(t)c(directory)-8
+(hange)i(the)e(cur-)630 847 y(ren)m(t)c(directory)-8
b(.)47 b(If)32 b Ft(DIRSTACK)e Fu(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
-737 y(subsequen)m(tly)d(reset.)150 896 y Ft(EMACS)240
+956 y(subsequen)m(tly)d(reset.)150 1115 y Ft(EMACS)240
b Fu(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 1005 y(`)p Ft(t)p Fu(',)36 b(it)f(assumes)f(that)h
+(v)-5 b(alue)630 1224 y(`)p Ft(t)p Fu(',)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 1115 y(line)d(editing.)150 1273 y Ft(ENV)336
+h(disables)630 1334 y(line)d(editing.)150 1492 y Ft(ENV)336
b Fu(Similar)35 b(to)g Ft(BASH_ENV)p Fu(;)h(used)e(when)g(the)h(shell)g
(is)g(in)m(v)m(ok)m(ed)h(in)e Fm(posix)h Fu(Mo)s(de)g(\(see)g(Sec-)630
-1383 y(tion)c(6.11)h([Bash)f(POSIX)e(Mo)s(de],)i(page)g(98\).)150
-1541 y Ft(EPOCHREALTIME)630 1650 y Fu(Eac)m(h)38 b(time)f(this)g
+1602 y(tion)c(6.11)h([Bash)f(POSIX)e(Mo)s(de],)i(page)g(98\).)150
+1760 y Ft(EPOCHREALTIME)630 1870 y Fu(Eac)m(h)38 b(time)f(this)g
(parameter)h(is)f(referenced,)i(it)f(expands)e(to)i(the)f(n)m(um)m(b)s
-(er)f(of)h(seconds)630 1760 y(since)f(the)g(Unix)f(Ep)s(o)s(c)m(h)g(as)
+(er)f(of)h(seconds)630 1979 y(since)f(the)g(Unix)f(Ep)s(o)s(c)m(h)g(as)
h(a)g(\015oating)h(p)s(oin)m(t)f(v)-5 b(alue)36 b(with)f(micro-second)i
-(gran)m(ularit)m(y)630 1870 y(\(see)42 b(the)g(do)s(cumen)m(tation)g
+(gran)m(ularit)m(y)630 2089 y(\(see)42 b(the)g(do)s(cumen)m(tation)g
(for)f(the)g(C)g(library)g(function)g Fr(time)47 b Fu(for)41
-b(the)h(de\014nition)f(of)630 1979 y(Ep)s(o)s(c)m(h\).)82
+b(the)h(de\014nition)f(of)630 2198 y(Ep)s(o)s(c)m(h\).)82
b(Assignmen)m(ts)44 b(to)h Ft(EPOCHREALTIME)c Fu(are)j(ignored.)83
-b(If)43 b Ft(EPOCHREALTIME)e Fu(is)630 2089 y(unset,)30
+b(If)43 b Ft(EPOCHREALTIME)e Fu(is)630 2308 y(unset,)30
b(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 2247 y Ft(EPOCHSECONDS)630
-2357 y Fu(Eac)m(h)38 b(time)f(this)g(parameter)h(is)f(referenced,)i(it)
+(is)g(subsequen)m(tly)f(reset.)150 2466 y Ft(EPOCHSECONDS)630
+2576 y Fu(Eac)m(h)38 b(time)f(this)g(parameter)h(is)f(referenced,)i(it)
f(expands)e(to)i(the)f(n)m(um)m(b)s(er)f(of)h(seconds)630
-2466 y(since)e(the)g(Unix)f(Ep)s(o)s(c)m(h)g(\(see)i(the)f(do)s(cumen)m
+2685 y(since)e(the)g(Unix)f(Ep)s(o)s(c)m(h)g(\(see)i(the)f(do)s(cumen)m
(tation)g(for)g(the)f(C)h(library)f(function)g Fr(time)630
-2576 y Fu(for)41 b(the)g(de\014nition)g(of)h(Ep)s(o)s(c)m(h\).)73
+2795 y Fu(for)41 b(the)g(de\014nition)g(of)h(Ep)s(o)s(c)m(h\).)73
b(Assignmen)m(ts)41 b(to)h Ft(EPOCHSECONDS)c Fu(are)k(ignored.)73
-b(If)630 2685 y Ft(EPOCHSECONDS)27 b Fu(is)j(unset,)g(it)g(loses)h(its)
+b(If)630 2905 y Ft(EPOCHSECONDS)27 b Fu(is)j(unset,)g(it)g(loses)h(its)
g(sp)s(ecial)f(prop)s(erties,)g(ev)m(en)h(if)f(it)g(is)g(subsequen)m
-(tly)630 2795 y(reset.)150 2953 y Ft(EUID)288 b Fu(The)30
+(tly)630 3014 y(reset.)150 3173 y Ft(EUID)288 b Fu(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 3112 y Ft(EXECIGNORE)630 3221 y Fu(A)29 b(colon-separated)h
+b(.)150 3331 y Ft(EXECIGNORE)630 3440 y Fu(A)29 b(colon-separated)h
(list)f(of)g(shell)g(patterns)f(\(see)i(Section)f(3.5.8.1)i([P)m
-(attern)f(Matc)m(hing],)630 3331 y(page)j(32\))g(de\014ning)e(the)h
+(attern)f(Matc)m(hing],)630 3550 y(page)j(33\))g(de\014ning)e(the)h
(list)g(of)g(\014lenames)g(to)g(b)s(e)g(ignored)g(b)m(y)f(command)h
-(searc)m(h)g(using)630 3440 y Ft(PATH)p Fu(.)k(Files)22
+(searc)m(h)g(using)630 3660 y Ft(PATH)p Fu(.)k(Files)22
b(whose)f(full)g(pathnames)g(matc)m(h)h(one)f(of)g(these)h(patterns)e
-(are)i(not)f(considered)630 3550 y(executable)j(\014les)e(for)g(the)h
+(are)i(not)f(considered)630 3769 y(executable)j(\014les)e(for)g(the)h
(purp)s(oses)d(of)j(completion)h(and)d(command)i(execution)g(via)g
-Ft(PATH)630 3660 y Fu(lo)s(okup.)56 b(This)35 b(do)s(es)g(not)h
+Ft(PATH)630 3879 y Fu(lo)s(okup.)56 b(This)35 b(do)s(es)g(not)h
(a\013ect)i(the)d(b)s(eha)m(vior)h(of)g(the)g Ft([)p
Fu(,)h Ft(test)p Fu(,)f(and)f Ft([[)g Fu(commands.)630
-3769 y(F)-8 b(ull)42 b(pathnames)e(in)h(the)g(command)g(hash)f(table)i
+3988 y(F)-8 b(ull)42 b(pathnames)e(in)h(the)g(command)g(hash)f(table)i
(are)g(not)f(sub)5 b(ject)41 b(to)g Ft(EXECIGNORE)p Fu(.)630
-3879 y(Use)30 b(this)f(v)-5 b(ariable)30 b(to)g(ignore)g(shared)f
+4098 y(Use)30 b(this)f(v)-5 b(ariable)30 b(to)g(ignore)g(shared)f
(library)g(\014les)g(that)h(ha)m(v)m(e)h(the)f(executable)h(bit)e(set,)
-630 3988 y(but)36 b(are)h(not)g(executable)i(\014les.)60
+630 4208 y(but)36 b(are)h(not)g(executable)i(\014les.)60
b(The)36 b(pattern)h(matc)m(hing)h(honors)e(the)h(setting)h(of)f(the)
-630 4098 y Ft(extglob)28 b Fu(shell)j(option.)150 4256
+630 4317 y Ft(extglob)28 b Fu(shell)j(option.)150 4475
y Ft(FCEDIT)192 b Fu(The)30 b(editor)h(used)e(as)i(a)g(default)f(b)m(y)
h(the)f Ft(-e)g Fu(option)h(to)g(the)f Ft(fc)g Fu(builtin)g(command.)
-150 4415 y Ft(FIGNORE)144 b Fu(A)35 b(colon-separated)i(list)f(of)g
+150 4634 y Ft(FIGNORE)144 b Fu(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 4524 y(tion.)k(A)27 b(\014lename)g(whose)f(su\016x)g(matc)m(hes)i
+630 4743 y(tion.)k(A)27 b(\014lename)g(whose)f(su\016x)g(matc)m(hes)i
(one)f(of)g(the)g(en)m(tries)g(in)g Ft(FIGNORE)d Fu(is)j(excluded)630
-4634 y(from)j(the)g(list)h(of)g(matc)m(hed)g(\014lenames.)41
+4853 y(from)j(the)g(list)h(of)g(matc)m(hed)g(\014lenames.)41
b(A)30 b(sample)h(v)-5 b(alue)31 b(is)f(`)p Ft(.o:~)p
-Fu(')150 4792 y Ft(FUNCNAME)96 b Fu(An)35 b(arra)m(y)i(v)-5
+Fu(')150 5011 y Ft(FUNCNAME)96 b Fu(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 4902 y(execution)g(call)h
+(functions)g(curren)m(tly)f(in)h(the)630 5121 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 5011 y(executing)f(shell)f
+(name)h(of)f(an)m(y)h(curren)m(tly-)630 5230 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 5121 y(index\))e(is)h Ft("main")p
+(with)g(the)g(highest)630 5340 y(index\))e(is)h Ft("main")p
Fu(.)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 5230 y(Assignmen)m(ts)23
-b(to)f Ft(FUNCNAME)e Fu(ha)m(v)m(e)k(no)e(e\013ect.)39
-b(If)22 b Ft(FUNCNAME)e Fu(is)i(unset,)h(it)g(loses)g(its)f(sp)s(ecial)
-630 5340 y(prop)s(erties,)30 b(ev)m(en)h(if)f(it)h(is)g(subsequen)m
-(tly)f(reset.)p eop end
+(shell)f(function)g(is)g(executing.)p eop end
%%Page: 78 84
TeXDict begin 78 83 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(78)630 299 y(This)31
-b(v)-5 b(ariable)32 b(can)f(b)s(e)g(used)g(with)g Ft(BASH_LINENO)d
-Fu(and)j Ft(BASH_SOURCE)p Fu(.)40 b(Eac)m(h)32 b(elemen)m(t)630
-408 y(of)g Ft(FUNCNAME)d Fu(has)j(corresp)s(onding)e(elemen)m(ts)j(in)f
-Ft(BASH_LINENO)c Fu(and)k Ft(BASH_SOURCE)c Fu(to)630
-518 y(describ)s(e)39 b(the)h(call)h(stac)m(k.)70 b(F)-8
-b(or)41 b(instance,)i Ft(${FUNCNAME[$i]})35 b Fu(w)m(as)41
-b(called)f(from)g(the)630 628 y(\014le)27 b Ft(${BASH_SOURCE[$i+1]})21
-b Fu(at)27 b(line)h(n)m(um)m(b)s(er)d Ft(${BASH_LINENO[$i]})p
-Fu(.)34 b(The)27 b Ft(caller)630 737 y Fu(builtin)j(displa)m(ys)g(the)h
-(curren)m(t)f(call)i(stac)m(k)g(using)d(this)i(information.)150
-894 y Ft(FUNCNEST)96 b Fu(If)34 b(set)i(to)f(a)h(n)m(umeric)e(v)-5
+b(Shell)30 b(V)-8 b(ariables)2459 b(78)630 299 y(Assignmen)m(ts)23
+b(to)f Ft(FUNCNAME)e Fu(ha)m(v)m(e)k(no)e(e\013ect.)39
+b(If)22 b Ft(FUNCNAME)e Fu(is)i(unset,)h(it)g(loses)g(its)f(sp)s(ecial)
+630 408 y(prop)s(erties,)30 b(ev)m(en)h(if)f(it)h(is)g(subsequen)m(tly)
+f(reset.)630 543 y(This)h(v)-5 b(ariable)32 b(can)f(b)s(e)g(used)g
+(with)g Ft(BASH_LINENO)d Fu(and)j Ft(BASH_SOURCE)p Fu(.)40
+b(Eac)m(h)32 b(elemen)m(t)630 653 y(of)g Ft(FUNCNAME)d
+Fu(has)j(corresp)s(onding)e(elemen)m(ts)j(in)f Ft(BASH_LINENO)c
+Fu(and)k Ft(BASH_SOURCE)c Fu(to)630 763 y(describ)s(e)39
+b(the)h(call)h(stac)m(k.)70 b(F)-8 b(or)41 b(instance,)i
+Ft(${FUNCNAME[$i]})35 b Fu(w)m(as)41 b(called)f(from)g(the)630
+872 y(\014le)27 b Ft(${BASH_SOURCE[$i+1]})21 b Fu(at)27
+b(line)h(n)m(um)m(b)s(er)d Ft(${BASH_LINENO[$i]})p Fu(.)34
+b(The)27 b Ft(caller)630 982 y Fu(builtin)j(displa)m(ys)g(the)h(curren)
+m(t)f(call)i(stac)m(k)g(using)d(this)i(information.)150
+1142 y Ft(FUNCNEST)96 b Fu(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 1003 y(lev)m(el.)42 b(F)-8 b(unction)29
+(function)g(nesting)630 1251 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 1113 y(command)i(to)h(ab)s(ort.)
-150 1270 y Ft(GLOBIGNORE)630 1379 y Fu(A)k(colon-separated)i(list)f(of)
+(will)f(cause)g(the)f(curren)m(t)630 1361 y(command)i(to)h(ab)s(ort.)
+150 1521 y Ft(GLOBIGNORE)630 1631 y Fu(A)k(colon-separated)i(list)f(of)
f(patterns)g(de\014ning)f(the)i(set)f(of)g(\014le)h(names)f(to)g(b)s(e)
-g(ignored)630 1489 y(b)m(y)28 b(\014lename)h(expansion.)40
+g(ignored)630 1740 y(b)m(y)28 b(\014lename)h(expansion.)40
b(If)28 b(a)h(\014le)g(name)g(matc)m(hed)g(b)m(y)g(a)g(\014lename)f
-(expansion)h(pattern)630 1598 y(also)k(matc)m(hes)g(one)f(of)g(the)g
+(expansion)h(pattern)630 1850 y(also)k(matc)m(hes)g(one)f(of)g(the)g
(patterns)g(in)f Ft(GLOBIGNORE)p Fu(,)f(it)i(is)g(remo)m(v)m(ed)h(from)
-e(the)h(list)h(of)630 1708 y(matc)m(hes.)41 b(The)27
+e(the)h(list)h(of)630 1960 y(matc)m(hes.)41 b(The)27
b(pattern)g(matc)m(hing)h(honors)f(the)g(setting)i(of)e(the)h
-Ft(extglob)d Fu(shell)i(option.)150 1864 y Ft(GROUPS)192
+Ft(extglob)d Fu(shell)i(option.)150 2120 y Ft(GROUPS)192
b Fu(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
-1974 y(mem)m(b)s(er.)41 b(Assignmen)m(ts)30 b(to)i Ft(GROUPS)d
+2229 y(mem)m(b)s(er.)41 b(Assignmen)m(ts)30 b(to)i Ft(GROUPS)d
Fu(ha)m(v)m(e)i(no)g(e\013ect.)42 b(If)30 b Ft(GROUPS)f
-Fu(is)i(unset,)f(it)h(loses)h(its)630 2084 y(sp)s(ecial)f(prop)s
+Fu(is)i(unset,)f(it)h(loses)h(its)630 2339 y(sp)s(ecial)f(prop)s
(erties,)f(ev)m(en)h(if)f(it)h(is)g(subsequen)m(tly)f(reset.)150
-2240 y Ft(histchars)630 2350 y Fu(Up)c(to)g(three)g(c)m(haracters)i
+2499 y Ft(histchars)630 2609 y Fu(Up)c(to)g(three)g(c)m(haracters)i
(whic)m(h)d(con)m(trol)j(history)d(expansion,)i(quic)m(k)g
-(substitution,)g(and)630 2459 y(tok)m(enization)k(\(see)f(Section)f
+(substitution,)g(and)630 2718 y(tok)m(enization)k(\(see)f(Section)f
(9.3)h([History)f(In)m(teraction],)i(page)f(142\).)41
-b(The)29 b(\014rst)e(c)m(harac-)630 2569 y(ter)j(is)f(the)g
+b(The)29 b(\014rst)e(c)m(harac-)630 2828 y(ter)j(is)f(the)g
Fr(history)g(expansion)g Fu(c)m(haracter,)j(that)e(is,)f(the)h(c)m
-(haracter)h(whic)m(h)d(signi\014es)i(the)630 2679 y(start)25
+(haracter)h(whic)m(h)d(signi\014es)i(the)630 2937 y(start)25
b(of)f(a)h(history)f(expansion,)i(normally)e(`)p Ft(!)p
Fu('.)39 b(The)24 b(second)g(c)m(haracter)i(is)e(the)g(c)m(haracter)630
-2788 y(whic)m(h)36 b(signi\014es)g(`quic)m(k)h(substitution')f(when)f
+3047 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
-2898 y(normally)27 b(`)p Ft(^)p Fu('.)39 b(The)26 b(optional)i(third)d
+3157 y(normally)27 b(`)p Ft(^)p Fu('.)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 3007 y(the)34 b(remainder)f(of)h(the)g(line)g(is)f(a)h(commen)m(t)h
+630 3266 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
-3117 y(w)m(ord,)i(usually)f(`)p Ft(#)p Fu('.)55 b(The)34
+3376 y(w)m(ord,)i(usually)f(`)p Ft(#)p Fu('.)55 b(The)34
b(history)h(commen)m(t)h(c)m(haracter)h(causes)e(history)g
-(substitution)630 3226 y(to)27 b(b)s(e)f(skipp)s(ed)f(for)i(the)f
+(substitution)630 3485 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 3336 y(the)k(shell)f(parser)g(to)h(treat)g
+(necessarily)g(cause)630 3595 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
-3493 y Ft(HISTCMD)144 b Fu(The)35 b(history)h(n)m(um)m(b)s(er,)g(or)f
+3755 y Ft(HISTCMD)144 b Fu(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 3602 y Ft(HISTCMD)28 b Fu(is)h(unset,)h(it)g(loses)h(its)f
+56 b(If)630 3865 y Ft(HISTCMD)28 b Fu(is)h(unset,)h(it)g(loses)h(its)f
(sp)s(ecial)g(prop)s(erties,)g(ev)m(en)g(if)g(it)g(is)g(subsequen)m
-(tly)f(reset.)150 3759 y Ft(HISTCONTROL)630 3868 y Fu(A)40
+(tly)f(reset.)150 4025 y Ft(HISTCONTROL)630 4134 y Fu(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 3978
+(w)e(commands)g(are)h(sa)m(v)m(ed)g(on)f(the)630 4244
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 Ft(ignorespace)p Fu(',)f(lines)i(whic)m(h)g
-(b)s(egin)f(with)630 4088 y(a)39 b(space)g(c)m(haracter)i(are)e(not)g
+(b)s(egin)f(with)630 4354 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 Ft(ignoredups)p Fu(')630 4197 y(causes)34
+b(alue)39 b(of)g(`)p Ft(ignoredups)p Fu(')630 4463 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
-4307 y(of)32 b(`)p Ft(ignoreboth)p Fu(')d(is)j(shorthand)e(for)i(`)p
+4573 y(of)32 b(`)p Ft(ignoreboth)p Fu(')d(is)j(shorthand)e(for)i(`)p
Ft(ignorespace)p Fu(')d(and)i(`)p Ft(ignoredups)p Fu('.)42
-b(A)32 b(v)-5 b(alue)32 b(of)630 4416 y(`)p Ft(erasedups)p
+b(A)32 b(v)-5 b(alue)32 b(of)630 4682 y(`)p Ft(erasedups)p
Fu(')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 4526 y(from)42
+(t)g(line)g(to)h(b)s(e)e(remo)m(v)m(ed)630 4792 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
-4635 y(list)35 b(is)g(ignored.)53 b(If)34 b Ft(HISTCONTROL)e
+4902 y(list)35 b(is)g(ignored.)53 b(If)34 b Ft(HISTCONTROL)e
Fu(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 4745 y(lines)30
+b(alid)35 b(v)-5 b(alue,)36 b(all)630 5011 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 4855 y(of)42 b Ft(HISTIGNORE)p Fu(.)73 b(The)42
+b(alue)630 5121 y(of)42 b Ft(HISTIGNORE)p Fu(.)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 4964 y(command)33 b(are)h(not)g(tested,)i(and)d(are)h(added)
+s(ound)630 5230 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
-5074 y(of)31 b Ft(HISTCONTROL)p Fu(.)150 5230 y Ft(HISTFILE)96
-b Fu(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 5340 y(is)30 b Ft(~/.bash_history)p Fu(.)p
-eop end
+5340 y(of)31 b Ft(HISTCONTROL)p Fu(.)p eop end
%%Page: 79 85
TeXDict begin 79 84 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(79)150 299 y Ft(HISTFILESIZE)630
-408 y Fu(The)26 b(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 518 y(is)25 b(assigned)h(a)g(v)-5 b(alue,)27
-b(the)f(history)f(\014le)h(is)f(truncated,)i(if)e(necessary)-8
-b(,)28 b(to)e(con)m(tain)g(no)g(more)630 628 y(than)37
+b(Shell)30 b(V)-8 b(ariables)2459 b(79)150 299 y Ft(HISTFILE)96
+b Fu(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 408 y(is)30 b Ft(~/.bash_history)p Fu(.)150
+569 y Ft(HISTFILESIZE)630 678 y Fu(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 788 y(is)25 b(assigned)h(a)g(v)-5
+b(alue,)27 b(the)f(history)f(\014le)h(is)f(truncated,)i(if)e(necessary)
+-8 b(,)28 b(to)e(con)m(tain)g(no)g(more)630 897 y(than)37
b(that)h(n)m(um)m(b)s(er)d(of)j(lines)f(b)m(y)g(remo)m(ving)h(the)f
(oldest)h(en)m(tries.)62 b(The)37 b(history)g(\014le)g(is)630
-737 y(also)i(truncated)f(to)h(this)e(size)i(after)g(writing)f(it)g
+1007 y(also)i(truncated)f(to)h(this)e(size)i(after)g(writing)f(it)g
(when)f(a)h(shell)h(exits.)64 b(If)37 b(the)h(v)-5 b(alue)39
-b(is)630 847 y(0,)g(the)e(history)f(\014le)h(is)g(truncated)f(to)i
+b(is)630 1117 y(0,)g(the)e(history)f(\014le)h(is)g(truncated)f(to)i
(zero)f(size.)60 b(Non-n)m(umeric)37 b(v)-5 b(alues)37
-b(and)f(n)m(umeric)630 956 y(v)-5 b(alues)31 b(less)f(than)g(zero)h
+b(and)f(n)m(umeric)630 1226 y(v)-5 b(alues)31 b(less)f(than)g(zero)h
(inhibit)f(truncation.)41 b(The)29 b(shell)i(sets)f(the)h(default)f(v)
--5 b(alue)31 b(to)g(the)630 1066 y(v)-5 b(alue)31 b(of)f
+-5 b(alue)31 b(to)g(the)630 1336 y(v)-5 b(alue)31 b(of)f
Ft(HISTSIZE)f Fu(after)h(reading)h(an)m(y)g(startup)f(\014les.)150
-1243 y Ft(HISTIGNORE)630 1353 y Fu(A)j(colon-separated)h(list)f(of)g
+1496 y Ft(HISTIGNORE)630 1606 y Fu(A)j(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 1462 y(b)s(e)f(sa)m(v)m(ed)h(on)g(the)f(history)h(list.)47
+630 1715 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 1572 y(line)43 b(and)e(m)m(ust)h(matc)m(h)h(the)g
+(of)h(the)630 1825 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 Ft(*)p Fu(')f(is)g(app)s
-(ended\).)75 b(Eac)m(h)630 1681 y(pattern)42 b(is)g(tested)g(against)h
+(ended\).)75 b(Eac)m(h)630 1934 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
-Ft(HISTCONTROL)630 1791 y Fu(are)37 b(applied.)59 b(In)36
+Ft(HISTCONTROL)630 2044 y Fu(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 Ft(&)p Fu(')630 1901 y(matc)m(hes)d(the)f(previous)g
+(haracters,)i(`)p Ft(&)p Fu(')630 2153 y(matc)m(hes)d(the)f(previous)g
(history)g(line.)57 b(`)p Ft(&)p Fu(')36 b(ma)m(y)h(b)s(e)e(escap)s(ed)
-h(using)g(a)g(bac)m(kslash;)k(the)630 2010 y(bac)m(kslash)34
+h(using)g(a)g(bac)m(kslash;)k(the)630 2263 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 2120 y(lines)e(of)h(a)g(m)m
+b(The)34 b(second)f(and)h(subsequen)m(t)630 2373 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 2229 y(history)k(regardless)h(of)f(the)g(v)-5
+(added)g(to)h(the)630 2482 y(history)k(regardless)h(of)f(the)g(v)-5
b(alue)38 b(of)f Ft(HISTIGNORE)p Fu(.)58 b(The)37 b(pattern)g(matc)m
-(hing)i(honors)630 2339 y(the)31 b(setting)g(of)g(the)f
-Ft(extglob)f Fu(shell)h(option.)630 2482 y Ft(HISTIGNORE)20
+(hing)i(honors)630 2592 y(the)31 b(setting)g(of)g(the)f
+Ft(extglob)f Fu(shell)h(option.)630 2727 y Ft(HISTIGNORE)20
b Fu(subsumes)g(the)j(function)f(of)h Ft(HISTCONTROL)p
Fu(.)35 b(A)23 b(pattern)f(of)h(`)p Ft(&)p Fu(')g(is)f(iden)m(tical)630
-2592 y(to)k Ft(ignoredups)p Fu(,)e(and)h(a)h(pattern)g(of)f(`)p
+2836 y(to)k Ft(ignoredups)p Fu(,)e(and)h(a)h(pattern)g(of)f(`)p
Ft([)31 b(]*)p Fu(')25 b(is)h(iden)m(tical)h(to)f Ft(ignorespace)p
-Fu(.)36 b(Com)m(bining)630 2701 y(these)30 b(t)m(w)m(o)h(patterns,)f
+Fu(.)36 b(Com)m(bining)630 2946 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 2811 y Ft(ignoreboth)p Fu(.)150
-2988 y Ft(HISTSIZE)96 b Fu(The)37 b(maxim)m(um)g(n)m(um)m(b)s(er)e(of)j
+(functionalit)m(y)h(of)630 3055 y Ft(ignoreboth)p Fu(.)150
+3216 y Ft(HISTSIZE)96 b Fu(The)37 b(maxim)m(um)g(n)m(um)m(b)s(er)e(of)j
(commands)f(to)g(remem)m(b)s(er)g(on)g(the)g(history)g(list.)62
-b(If)37 b(the)630 3098 y(v)-5 b(alue)26 b(is)g(0,)i(commands)d(are)h
+b(If)37 b(the)630 3325 y(v)-5 b(alue)26 b(is)g(0,)i(commands)d(are)h
(not)h(sa)m(v)m(ed)g(in)e(the)h(history)g(list.)40 b(Numeric)26
-b(v)-5 b(alues)26 b(less)g(than)630 3207 y(zero)i(result)e(in)h(ev)m
+b(v)-5 b(alues)26 b(less)g(than)630 3435 y(zero)i(result)e(in)h(ev)m
(ery)g(command)g(b)s(eing)f(sa)m(v)m(ed)i(on)f(the)g(history)f(list)i
-(\(there)f(is)g(no)g(limit\).)630 3317 y(The)j(shell)g(sets)h(the)g
+(\(there)f(is)g(no)g(limit\).)630 3544 y(The)j(shell)g(sets)h(the)g
(default)f(v)-5 b(alue)31 b(to)g(500)h(after)f(reading)f(an)m(y)h
-(startup)f(\014les.)150 3494 y Ft(HISTTIMEFORMAT)630
-3603 y Fu(If)44 b(this)g(v)-5 b(ariable)45 b(is)f(set)g(and)g(not)g(n)m
+(startup)f(\014les.)150 3705 y Ft(HISTTIMEFORMAT)630
+3814 y Fu(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 3713 y Fr(strftime)c Fu(to)35 b(prin)m(t)f(the)h(time)g(stamp)
+(for)630 3924 y Fr(strftime)c Fu(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 3823 y(b)m(y)g(the)f Ft(history)f Fu(builtin.)50
+(ed)630 4033 y(b)m(y)g(the)f Ft(history)f Fu(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 3932 y(history)26 b(\014le)g(so)g(they)g(ma)m
+(written)f(to)i(the)630 4143 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 4042 y(commen)m(t)31
+b(This)25 b(uses)h(the)g(history)630 4253 y(commen)m(t)31
b(c)m(haracter)h(to)f(distinguish)f(timestamps)h(from)f(other)g
-(history)h(lines.)150 4219 y Ft(HOSTFILE)96 b Fu(Con)m(tains)33
+(history)h(lines.)150 4413 y Ft(HOSTFILE)96 b Fu(Con)m(tains)33
b(the)g(name)f(of)h(a)g(\014le)f(in)g(the)h(same)g(format)g(as)f
-Ft(/etc/hosts)e Fu(that)j(should)f(b)s(e)630 4328 y(read)21
+Ft(/etc/hosts)e Fu(that)j(should)f(b)s(e)630 4522 y(read)21
b(when)g(the)g(shell)h(needs)f(to)h(complete)h(a)e(hostname.)38
-b(The)21 b(list)h(of)g(p)s(ossible)f(hostname)630 4438
+b(The)21 b(list)h(of)g(p)s(ossible)f(hostname)630 4632
y(completions)27 b(ma)m(y)f(b)s(e)f(c)m(hanged)h(while)f(the)h(shell)g
-(is)f(running;)h(the)g(next)f(time)i(hostname)630 4548
+(is)f(running;)h(the)g(next)f(time)i(hostname)630 4741
y(completion)33 b(is)g(attempted)g(after)g(the)f(v)-5
b(alue)33 b(is)f(c)m(hanged,)i(Bash)e(adds)f(the)i(con)m(ten)m(ts)h(of)
-630 4657 y(the)h(new)f(\014le)g(to)h(the)g(existing)h(list.)53
+630 4851 y(the)h(new)f(\014le)g(to)h(the)g(existing)h(list.)53
b(If)34 b Ft(HOSTFILE)e Fu(is)j(set,)h(but)e(has)g(no)h(v)-5
-b(alue,)36 b(or)e(do)s(es)630 4767 y(not)d(name)f(a)h(readable)g
+b(alue,)36 b(or)e(do)s(es)630 4961 y(not)d(name)f(a)h(readable)g
(\014le,)g(Bash)f(attempts)i(to)f(read)f Ft(/etc/hosts)e
-Fu(to)j(obtain)g(the)f(list)630 4876 y(of)h(p)s(ossible)f(hostname)h
+Fu(to)j(obtain)g(the)f(list)630 5070 y(of)h(p)s(ossible)f(hostname)h
(completions.)43 b(When)31 b Ft(HOSTFILE)d Fu(is)j(unset,)f(the)h
-(hostname)g(list)630 4986 y(is)f(cleared.)150 5163 y
-Ft(HOSTNAME)96 b Fu(The)30 b(name)g(of)h(the)f(curren)m(t)h(host.)150
-5340 y Ft(HOSTTYPE)96 b Fu(A)30 b(string)h(describing)f(the)g(mac)m
-(hine)h(Bash)g(is)f(running)f(on.)p eop end
+(hostname)g(list)630 5180 y(is)f(cleared.)150 5340 y
+Ft(HOSTNAME)96 b Fu(The)30 b(name)g(of)h(the)f(curren)m(t)h(host.)p
+eop end
%%Page: 80 86
TeXDict begin 80 85 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(80)150 299 y Ft(IGNOREEOF)630
-408 y Fu(Con)m(trols)27 b(the)h(action)g(of)f(the)g(shell)g(on)g
-(receipt)h(of)f(an)g Ft(EOF)f Fu(c)m(haracter)i(as)g(the)f(sole)h
-(input.)630 518 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 Ft(EOF)d Fu(c)m(haracters)i(that)
-f(can)h(b)s(e)630 628 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 737 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 847 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
-Ft(EOF)g Fu(signi\014es)h(the)g(end)f(of)h(input)630
-956 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 1108 y Ft(INPUTRC)144
-b Fu(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 1218 y
-Ft(~/.inputrc)p Fu(.)150 1369 y Ft(LANG)288 b Fu(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 1479
-y(with)i(a)h(v)-5 b(ariable)31 b(starting)g(with)f Ft(LC_)p
-Fu(.)150 1631 y Ft(LC_ALL)192 b Fu(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 Ft(LANG)f
-Fu(and)g(an)m(y)h(other)g Ft(LC_)f Fu(v)-5 b(ariable)29
-b(sp)s(ecifying)630 1740 y(a)i(lo)s(cale)h(category)-8
-b(.)150 1892 y Ft(LC_COLLATE)630 2002 y Fu(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 2111 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 2221 y(alence)e(classes,)h(and)e(collating)i(sequences)e
-(within)f(\014lename)h(expansion)g(and)f(pattern)630
-2330 y(matc)m(hing)d(\(see)h(Section)f(3.5.8)h([Filename)g(Expansion],)
-e(page)h(31\).)150 2482 y Ft(LC_CTYPE)96 b Fu(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 2592
-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 2701 y(tion)31
-b(3.5.8)h([Filename)g(Expansion],)e(page)h(31\).)150
-2853 y Ft(LC_MESSAGES)630 2963 y Fu(This)25 b(v)-5 b(ariable)27
+b(Shell)30 b(V)-8 b(ariables)2459 b(80)150 299 y Ft(HOSTTYPE)96
+b Fu(A)30 b(string)h(describing)f(the)g(mac)m(hine)h(Bash)g(is)f
+(running)f(on.)150 448 y Ft(IGNOREEOF)630 557 y Fu(Con)m(trols)e(the)h
+(action)g(of)f(the)g(shell)g(on)g(receipt)h(of)f(an)g
+Ft(EOF)f Fu(c)m(haracter)i(as)g(the)f(sole)h(input.)630
+667 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 Ft(EOF)d Fu(c)m(haracters)i(that)f(can)h(b)
+s(e)630 776 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 886 y(v)-5 b(ariable)39 b(exists)f(but)g(do)s(es)f
+(not)h(ha)m(v)m(e)h(a)g(n)m(umeric)f(v)-5 b(alue,)40
+b(or)e(has)g(no)g(v)-5 b(alue,)40 b(then)e(the)630 996
+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 Ft(EOF)g Fu(signi\014es)h(the)g(end)f
+(of)h(input)630 1105 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
+1254 y Ft(INPUTRC)144 b Fu(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 1363 y Ft(~/.inputrc)p Fu(.)150 1512 y Ft(INSIDE_EMACS)630
+1622 y Fu(If)29 b(Bash)h(\014nds)e(this)h(v)-5 b(ariable)31
+b(in)e(the)h(en)m(vironmen)m(t)g(when)e(the)i(shell)g(starts,)g(it)g
+(assumes)630 1731 y(that)i(the)g(shell)g(is)f(running)f(in)i(an)f
+(Emacs)h(shell)g(bu\013er)e(and)h(ma)m(y)i(disable)e(line)h(editing)630
+1841 y(dep)s(ending)d(on)h(the)h(v)-5 b(alue)31 b(of)f
+Ft(TERM)p Fu(.)150 1990 y Ft(LANG)288 b Fu(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 2099 y(with)i(a)h(v)-5 b(ariable)31
+b(starting)g(with)f Ft(LC_)p Fu(.)150 2248 y Ft(LC_ALL)192
+b Fu(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 Ft(LANG)f Fu(and)g(an)m(y)h(other)g
+Ft(LC_)f Fu(v)-5 b(ariable)29 b(sp)s(ecifying)630 2358
+y(a)i(lo)s(cale)h(category)-8 b(.)150 2506 y Ft(LC_COLLATE)630
+2616 y Fu(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
+2725 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 2835 y(alence)e
+(classes,)h(and)e(collating)i(sequences)e(within)f(\014lename)h
+(expansion)g(and)f(pattern)630 2945 y(matc)m(hing)d(\(see)h(Section)f
+(3.5.8)h([Filename)g(Expansion],)e(page)h(32\).)150 3093
+y Ft(LC_CTYPE)96 b Fu(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 3203 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
+3313 y(tion)31 b(3.5.8)h([Filename)g(Expansion],)e(page)h(32\).)150
+3461 y Ft(LC_MESSAGES)630 3571 y Fu(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 3072 y(ceded)31 b(b)m(y)f(a)h(`)p
+f(strings)g(pre-)630 3680 y(ceded)31 b(b)m(y)f(a)h(`)p
Ft($)p Fu(')f(\(see)h(Section)h(3.1.2.5)g([Lo)s(cale)g(T)-8
-b(ranslation],)32 b(page)f(7\).)150 3224 y Ft(LC_NUMERIC)630
-3334 y Fu(This)f(v)-5 b(ariable)31 b(determines)f(the)h(lo)s(cale)h
+b(ranslation],)32 b(page)f(7\).)150 3829 y Ft(LC_NUMERIC)630
+3939 y Fu(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
-3485 y Ft(LC_TIME)144 b Fu(This)25 b(v)-5 b(ariable)26
+4088 y Ft(LC_TIME)144 b Fu(This)25 b(v)-5 b(ariable)26
b(determines)g(the)g(lo)s(cale)h(category)h(used)d(for)g(data)h(and)f
-(time)i(formatting.)150 3637 y Ft(LINENO)192 b Fu(The)30
+(time)i(formatting.)150 4236 y Ft(LINENO)192 b Fu(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 3789 y Ft(LINES)240 b
+(curren)m(tly)f(executing.)150 4385 y Ft(LINES)240 b
Fu(Used)43 b(b)m(y)g(the)g Ft(select)e Fu(command)i(to)g(determine)g
-(the)g(column)g(length)g(for)g(prin)m(ting)630 3898 y(selection)c
+(the)g(column)g(length)g(for)g(prin)m(ting)630 4495 y(selection)c
(lists.)63 b(Automatically)41 b(set)d(if)f(the)h Ft(checkwinsize)d
-Fu(option)j(is)f(enabled)h(\(see)630 4008 y(Section)44
+Fu(option)j(is)f(enabled)h(\(see)630 4604 y(Section)44
b(4.3.2)h([The)e(Shopt)g(Builtin],)k(page)d(65\),)k(or)43
-b(in)g(an)g(in)m(teractiv)m(e)j(shell)e(up)s(on)630 4118
-y(receipt)31 b(of)g(a)g Ft(SIGWINCH)p Fu(.)150 4269 y
+b(in)g(an)g(in)m(teractiv)m(e)j(shell)e(up)s(on)630 4714
+y(receipt)31 b(of)g(a)g Ft(SIGWINCH)p Fu(.)150 4862 y
Ft(MACHTYPE)96 b Fu(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 4379 y(standard)k Fm(gnu)g Fr(cpu-compan)m(y-system)h
-Fu(format.)150 4531 y Ft(MAILCHECK)630 4640 y Fu(Ho)m(w)d(often)g(\(in)
+(the)630 4972 y(standard)k Fm(gnu)g Fr(cpu-compan)m(y-system)h
+Fu(format.)150 5121 y Ft(MAILCHECK)630 5230 y Fu(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 4750 y(in)i(the)h
+(in)f(the)h(\014les)g(sp)s(eci\014ed)630 5340 y(in)i(the)h
Ft(MAILPATH)e Fu(or)i Ft(MAIL)e Fu(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 4859 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 4969 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 5079 y(equal)31
-b(to)g(zero,)g(the)g(shell)g(disables)f(mail)h(c)m(hec)m(king.)150
-5230 y Ft(MAPFILE)144 b Fu(An)35 b(arra)m(y)h(v)-5 b(ariable)36
-b(created)g(to)h(hold)e(the)g(text)i(read)e(b)m(y)g(the)h
-Ft(mapfile)d Fu(builtin)i(when)630 5340 y(no)30 b(v)-5
-b(ariable)31 b(name)g(is)f(supplied.)p eop end
+b(it)h(is)g(time)p eop end
%%Page: 81 87
TeXDict begin 81 86 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(81)150 299 y Ft(OLDPWD)192
-b Fu(The)30 b(previous)g(w)m(orking)g(directory)h(as)g(set)g(b)m(y)f
-(the)h Ft(cd)e Fu(builtin.)150 463 y Ft(OPTERR)192 b
-Fu(If)35 b(set)i(to)f(the)h(v)-5 b(alue)36 b(1,)i(Bash)e(displa)m(ys)g
-(error)f(messages)i(generated)g(b)m(y)f(the)g Ft(getopts)630
-573 y Fu(builtin)30 b(command.)150 737 y Ft(OSTYPE)192
-b Fu(A)30 b(string)h(describing)f(the)g(op)s(erating)h(system)g(Bash)f
-(is)h(running)d(on.)150 902 y Ft(PIPESTATUS)630 1011
-y Fu(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(93\))h(con)m(taining)g(a)f(list)g(of)g(exit)g
-(sta-)630 1121 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
-1230 y(\(whic)m(h)30 b(ma)m(y)h(con)m(tain)h(only)f(a)f(single)h
-(command\).)150 1395 y Ft(POSIXLY_CORRECT)630 1504 y
+b(Shell)30 b(V)-8 b(ariables)2459 b(81)630 299 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
+408 y(this)37 b(v)-5 b(ariable)38 b(is)f(unset,)h(or)f(set)h(to)g(a)f
+(v)-5 b(alue)38 b(that)f(is)g(not)h(a)f(n)m(um)m(b)s(er)f(greater)i
+(than)f(or)630 518 y(equal)31 b(to)g(zero,)g(the)g(shell)g(disables)f
+(mail)h(c)m(hec)m(king.)150 682 y Ft(MAPFILE)144 b Fu(An)35
+b(arra)m(y)h(v)-5 b(ariable)36 b(created)g(to)h(hold)e(the)g(text)i
+(read)e(b)m(y)g(the)h Ft(mapfile)d Fu(builtin)i(when)630
+792 y(no)30 b(v)-5 b(ariable)31 b(name)g(is)f(supplied.)150
+956 y Ft(OLDPWD)192 b Fu(The)30 b(previous)g(w)m(orking)g(directory)h
+(as)g(set)g(b)m(y)f(the)h Ft(cd)e Fu(builtin.)150 1121
+y Ft(OPTERR)192 b Fu(If)35 b(set)i(to)f(the)h(v)-5 b(alue)36
+b(1,)i(Bash)e(displa)m(ys)g(error)f(messages)i(generated)g(b)m(y)f(the)
+g Ft(getopts)630 1230 y Fu(builtin)30 b(command.)150
+1395 y Ft(OSTYPE)192 b Fu(A)30 b(string)h(describing)f(the)g(op)s
+(erating)h(system)g(Bash)f(is)h(running)d(on.)150 1559
+y Ft(PIPESTATUS)630 1669 y Fu(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(93\))h
+(con)m(taining)g(a)f(list)g(of)g(exit)g(sta-)630 1778
+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
+1888 y(\(whic)m(h)30 b(ma)m(y)h(con)m(tain)h(only)f(a)f(single)h
+(command\).)150 2052 y Ft(POSIXLY_CORRECT)630 2162 y
Fu(If)h(this)g(v)-5 b(ariable)34 b(is)e(in)g(the)h(en)m(vironmen)m(t)g
(when)e(Bash)i(starts,)g(the)g(shell)g(en)m(ters)g Fm(posix)630
-1614 y Fu(mo)s(de)22 b(\(see)h(Section)g(6.11)h([Bash)e(POSIX)f(Mo)s
+2271 y Fu(mo)s(de)22 b(\(see)h(Section)g(6.11)h([Bash)e(POSIX)f(Mo)s
(de],)k(page)e(98\))g(b)s(efore)f(reading)g(the)g(startup)630
-1724 y(\014les,)36 b(as)e(if)h(the)f Ft(--posix)f Fu(in)m(v)m(o)s
+2381 y(\014les,)36 b(as)e(if)h(the)f Ft(--posix)f Fu(in)m(v)m(o)s
(cation)j(option)f(had)f(b)s(een)g(supplied.)51 b(If)34
-b(it)h(is)g(set)g(while)630 1833 y(the)c(shell)f(is)h(running,)d(Bash)j
+b(it)h(is)g(set)g(while)630 2491 y(the)c(shell)f(is)h(running,)d(Bash)j
(enables)g Fm(posix)e Fu(mo)s(de,)h(as)h(if)f(the)h(command)870
-1970 y Ft(set)47 b(-o)g(posix)630 2107 y Fu(had)30 b(b)s(een)f
-(executed.)150 2271 y Ft(PPID)288 b Fu(The)30 b(pro)s(cess)g
-Fm(id)g Fu(of)h(the)f(shell's)h(paren)m(t)g(pro)s(cess.)40
-b(This)30 b(v)-5 b(ariable)31 b(is)f(readonly)-8 b(.)150
-2436 y Ft(PROMPT_COMMAND)630 2545 y Fu(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 2655 y(eac)m(h)g(primary)d(prompt)g
-(\()p Ft($PS1)p Fu(\).)150 2819 y Ft(PROMPT_DIRTRIM)630
-2929 y Fu(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 3039 y(directory)35 b(comp)s(onen)m(ts)g(to)h(retain)f
-(when)f(expanding)g(the)h Ft(\\w)f Fu(and)g Ft(\\W)g
-Fu(prompt)g(string)630 3148 y(escap)s(es)21 b(\(see)h(Section)f(6.9)h
-([Con)m(trolling)g(the)f(Prompt],)h(page)f(96\).)39 b(Characters)21
-b(remo)m(v)m(ed)630 3258 y(are)31 b(replaced)g(with)f(an)g(ellipsis.)
-150 3422 y Ft(PS0)336 b Fu(The)30 b(v)-5 b(alue)32 b(of)f(this)f
-(parameter)i(is)f(expanded)f(lik)m(e)i Fr(PS1)38 b Fu(and)30
-b(displa)m(y)m(ed)h(b)m(y)g(in)m(teractiv)m(e)630 3532
-y(shells)f(after)h(reading)g(a)g(command)f(and)f(b)s(efore)h(the)h
-(command)f(is)h(executed.)150 3696 y Ft(PS3)336 b Fu(The)34
-b(v)-5 b(alue)35 b(of)f(this)g(v)-5 b(ariable)35 b(is)g(used)e(as)i
-(the)f(prompt)g(for)g(the)g Ft(select)f Fu(command.)52
-b(If)630 3806 y(this)30 b(v)-5 b(ariable)31 b(is)g(not)f(set,)i(the)e
-Ft(select)f Fu(command)h(prompts)f(with)h(`)p Ft(#?)g
-Fu(')150 3970 y Ft(PS4)336 b Fu(The)37 b(v)-5 b(alue)37
-b(of)g(this)g(parameter)h(is)f(expanded)f(lik)m(e)i Fr(PS1)44
-b Fu(and)37 b(the)g(expanded)f(v)-5 b(alue)38 b(is)630
-4080 y(the)d(prompt)f(prin)m(ted)g(b)s(efore)g(the)h(command)f(line)h
-(is)g(ec)m(ho)s(ed)g(when)f(the)h Ft(-x)f Fu(option)h(is)630
-4189 y(set)k(\(see)h(Section)g(4.3.1)g([The)f(Set)g(Builtin],)j(page)e
-(61\).)67 b(The)38 b(\014rst)g(c)m(haracter)j(of)e(the)630
-4299 y(expanded)33 b(v)-5 b(alue)33 b(is)h(replicated)g(m)m(ultiple)g
-(times,)h(as)f(necessary)-8 b(,)35 b(to)f(indicate)g(m)m(ultiple)630
-4408 y(lev)m(els)e(of)e(indirection.)42 b(The)29 b(default)i(is)f(`)p
-Ft(+)h Fu('.)150 4573 y Ft(PWD)336 b Fu(The)30 b(curren)m(t)g(w)m
-(orking)h(directory)g(as)f(set)h(b)m(y)f(the)h Ft(cd)f
-Fu(builtin.)150 4737 y Ft(RANDOM)192 b Fu(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 4847 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
-4956 y(erator.)150 5121 y Ft(READLINE_LINE)630 5230 y
-Fu(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 Ft(bind)j(-x)p Fu(')d(\(see)h(Section)h(4.2)630
-5340 y([Bash)i(Builtins],)g(page)g(50\).)p eop end
+2628 y Ft(set)47 b(-o)g(posix)630 2765 y Fu(had)33 b(b)s(een)g
+(executed.)51 b(When)33 b(the)h(shell)f(en)m(ters)h Fm(posix)f
+Fu(mo)s(de,)h(it)g(sets)g(this)g(v)-5 b(ariable)34 b(if)630
+2874 y(it)d(w)m(as)g(not)f(already)h(set.)150 3039 y
+Ft(PPID)288 b Fu(The)30 b(pro)s(cess)g Fm(id)g Fu(of)h(the)f(shell's)h
+(paren)m(t)g(pro)s(cess.)40 b(This)30 b(v)-5 b(ariable)31
+b(is)f(readonly)-8 b(.)150 3203 y Ft(PROMPT_COMMAND)630
+3313 y Fu(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 3422 y(eac)m(h)g(primary)d(prompt)g(\()p Ft($PS1)p
+Fu(\).)150 3587 y Ft(PROMPT_DIRTRIM)630 3696 y Fu(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
+3806 y(directory)35 b(comp)s(onen)m(ts)g(to)h(retain)f(when)f
+(expanding)g(the)h Ft(\\w)f Fu(and)g Ft(\\W)g Fu(prompt)g(string)630
+3915 y(escap)s(es)21 b(\(see)h(Section)f(6.9)h([Con)m(trolling)g(the)f
+(Prompt],)h(page)f(96\).)39 b(Characters)21 b(remo)m(v)m(ed)630
+4025 y(are)31 b(replaced)g(with)f(an)g(ellipsis.)150
+4189 y Ft(PS0)336 b Fu(The)30 b(v)-5 b(alue)32 b(of)f(this)f(parameter)
+i(is)f(expanded)f(lik)m(e)i Fr(PS1)38 b Fu(and)30 b(displa)m(y)m(ed)h
+(b)m(y)g(in)m(teractiv)m(e)630 4299 y(shells)f(after)h(reading)g(a)g
+(command)f(and)f(b)s(efore)h(the)h(command)f(is)h(executed.)150
+4463 y Ft(PS3)336 b Fu(The)34 b(v)-5 b(alue)35 b(of)f(this)g(v)-5
+b(ariable)35 b(is)g(used)e(as)i(the)f(prompt)g(for)g(the)g
+Ft(select)f Fu(command.)52 b(If)630 4573 y(this)30 b(v)-5
+b(ariable)31 b(is)g(not)f(set,)i(the)e Ft(select)f Fu(command)h
+(prompts)f(with)h(`)p Ft(#?)g Fu(')150 4737 y Ft(PS4)336
+b Fu(The)37 b(v)-5 b(alue)37 b(of)g(this)g(parameter)h(is)f(expanded)f
+(lik)m(e)i Fr(PS1)44 b Fu(and)37 b(the)g(expanded)f(v)-5
+b(alue)38 b(is)630 4847 y(the)d(prompt)f(prin)m(ted)g(b)s(efore)g(the)h
+(command)f(line)h(is)g(ec)m(ho)s(ed)g(when)f(the)h Ft(-x)f
+Fu(option)h(is)630 4956 y(set)k(\(see)h(Section)g(4.3.1)g([The)f(Set)g
+(Builtin],)j(page)e(61\).)67 b(The)38 b(\014rst)g(c)m(haracter)j(of)e
+(the)630 5066 y(expanded)33 b(v)-5 b(alue)33 b(is)h(replicated)g(m)m
+(ultiple)g(times,)h(as)f(necessary)-8 b(,)35 b(to)f(indicate)g(m)m
+(ultiple)630 5176 y(lev)m(els)e(of)e(indirection.)42
+b(The)29 b(default)i(is)f(`)p Ft(+)h Fu('.)150 5340 y
+Ft(PWD)336 b Fu(The)30 b(curren)m(t)g(w)m(orking)h(directory)g(as)f
+(set)h(b)m(y)f(the)h Ft(cd)f Fu(builtin.)p eop end
%%Page: 82 88
TeXDict begin 82 87 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(82)150 299 y Ft(READLINE_POINT)630
-408 y Fu(The)23 b(p)s(osition)g(of)g(the)h(insertion)f(p)s(oin)m(t)g
-(in)g(the)g(Readline)h(line)f(bu\013er,)h(for)f(use)g(with)g(`)p
-Ft(bind)630 518 y(-x)p Fu(')30 b(\(see)h(Section)h(4.2)f([Bash)g
-(Builtins],)g(page)g(50\).)150 667 y Ft(REPLY)240 b Fu(The)30
-b(default)g(v)-5 b(ariable)32 b(for)e(the)g Ft(read)g
-Fu(builtin.)150 816 y Ft(SECONDS)144 b Fu(This)40 b(v)-5
-b(ariable)41 b(expands)f(to)h(the)g(n)m(um)m(b)s(er)e(of)i(seconds)g
-(since)g(the)f(shell)h(w)m(as)g(started.)630 925 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 1035 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
-1144 y(the)31 b(assignmen)m(t.)150 1293 y Ft(SHELL)240
-b Fu(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 1403 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 1512 y(user's)30 b(login)h(shell.)150 1661 y Ft(SHELLOPTS)630
-1771 y Fu(A)g(colon-separated)h(list)f(of)g(enabled)f(shell)h(options.)
+b(Shell)30 b(V)-8 b(ariables)2459 b(82)150 299 y Ft(RANDOM)192
+b Fu(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
+408 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 518 y(erator.)150 675 y Ft(READLINE_LINE)630
+784 y Fu(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 Ft(bind)j(-x)p Fu(')d(\(see)h(Section)h(4.2)
+630 894 y([Bash)i(Builtins],)g(page)g(50\).)150 1050
+y Ft(READLINE_POINT)630 1160 y Fu(The)23 b(p)s(osition)g(of)g(the)h
+(insertion)f(p)s(oin)m(t)g(in)g(the)g(Readline)h(line)f(bu\013er,)h
+(for)f(use)g(with)g(`)p Ft(bind)630 1270 y(-x)p Fu(')30
+b(\(see)h(Section)h(4.2)f([Bash)g(Builtins],)g(page)g(50\).)150
+1426 y Ft(REPLY)240 b Fu(The)30 b(default)g(v)-5 b(ariable)32
+b(for)e(the)g Ft(read)g Fu(builtin.)150 1583 y Ft(SECONDS)144
+b Fu(This)40 b(v)-5 b(ariable)41 b(expands)f(to)h(the)g(n)m(um)m(b)s
+(er)e(of)i(seconds)g(since)g(the)f(shell)h(w)m(as)g(started.)630
+1692 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 1802 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 1911 y(the)31
+b(assignmen)m(t.)150 2068 y Ft(SHELL)240 b Fu(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
+2178 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
+2287 y(user's)30 b(login)h(shell.)150 2444 y Ft(SHELLOPTS)630
+2553 y Fu(A)g(colon-separated)h(list)f(of)g(enabled)f(shell)h(options.)
41 b(Eac)m(h)31 b(w)m(ord)f(in)g(the)h(list)g(is)g(a)g(v)-5
-b(alid)630 1880 y(argumen)m(t)28 b(for)f(the)h Ft(-o)e
+b(alid)630 2663 y(argumen)m(t)28 b(for)f(the)h Ft(-o)e
Fu(option)i(to)g(the)g Ft(set)e Fu(builtin)h(command)g(\(see)i(Section)
-f(4.3.1)h([The)630 1990 y(Set)g(Builtin],)h(page)f(61\).)42
+f(4.3.1)h([The)630 2772 y(Set)g(Builtin],)h(page)f(61\).)42
b(The)28 b(options)h(app)s(earing)f(in)g Ft(SHELLOPTS)e
-Fu(are)j(those)h(rep)s(orted)630 2099 y(as)g(`)p Ft(on)p
+Fu(are)j(those)h(rep)s(orted)630 2882 y(as)g(`)p Ft(on)p
Fu(')f(b)m(y)h(`)p Ft(set)g(-o)p Fu('.)40 b(If)29 b(this)h(v)-5
b(ariable)30 b(is)g(in)f(the)h(en)m(vironmen)m(t)g(when)f(Bash)h
-(starts)g(up,)630 2209 y(eac)m(h)41 b(shell)e(option)h(in)f(the)h(list)
+(starts)g(up,)630 2992 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 2318 y(This)30 b(v)-5 b(ariable)31 b(is)f(readonly)-8
-b(.)150 2467 y Ft(SHLVL)240 b Fu(Incremen)m(ted)21 b(b)m(y)g(one)g(eac)
+(\014les.)630 3101 y(This)30 b(v)-5 b(ariable)31 b(is)f(readonly)-8
+b(.)150 3258 y Ft(SHLVL)240 b Fu(Incremen)m(ted)21 b(b)m(y)g(one)g(eac)
m(h)h(time)f(a)h(new)e(instance)h(of)g(Bash)g(is)g(started.)38
-b(This)20 b(is)h(in)m(tended)630 2577 y(to)31 b(b)s(e)f(a)h(coun)m(t)g
+b(This)20 b(is)h(in)m(tended)630 3367 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
-2725 y Ft(TIMEFORMAT)630 2835 y Fu(The)f(v)-5 b(alue)32
+3524 y Ft(TIMEFORMAT)630 3634 y Fu(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 2945 y(ing)37 b(information)f(for)h
+(ecifying)f(ho)m(w)h(the)g(tim-)630 3743 y(ing)37 b(information)f(for)h
(pip)s(elines)f(pre\014xed)f(with)h(the)h Ft(time)e Fu(reserv)m(ed)i(w)
-m(ord)f(should)g(b)s(e)630 3054 y(displa)m(y)m(ed.)k(The)27
+m(ord)f(should)g(b)s(e)630 3853 y(displa)m(y)m(ed.)k(The)27
b(`)p Ft(\045)p Fu(')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 3164 y(a)37
+(e)g(sequence)g(that)g(is)f(expanded)g(to)630 3962 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
-3273 y(are)31 b(as)f(follo)m(ws;)i(the)f(braces)f(denote)h(optional)h
-(p)s(ortions.)630 3422 y Ft(\045\045)384 b Fu(A)30 b(literal)i(`)p
-Ft(\045)p Fu('.)630 3571 y Ft(\045[)p Fj(p)p Ft(][l]R)96
-b Fu(The)30 b(elapsed)h(time)g(in)f(seconds.)630 3720
+4072 y(are)31 b(as)f(follo)m(ws;)i(the)f(braces)f(denote)h(optional)h
+(p)s(ortions.)630 4228 y Ft(\045\045)384 b Fu(A)30 b(literal)i(`)p
+Ft(\045)p Fu('.)630 4385 y Ft(\045[)p Fj(p)p Ft(][l]R)96
+b Fu(The)30 b(elapsed)h(time)g(in)f(seconds.)630 4542
y Ft(\045[)p Fj(p)p Ft(][l]U)96 b Fu(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
-3868 y Ft(\045[)p Fj(p)p Ft(][l]S)96 b Fu(The)30 b(n)m(um)m(b)s(er)f
+4698 y Ft(\045[)p Fj(p)p Ft(][l]S)96 b Fu(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
-4017 y Ft(\045P)384 b Fu(The)30 b(CPU)g(p)s(ercen)m(tage,)i(computed)e
-(as)h(\(\045U)f Ft(+)g Fu(\045S\))g(/)h(\045R.)630 4166
+4855 y Ft(\045P)384 b Fu(The)30 b(CPU)g(p)s(ercen)m(tage,)i(computed)e
+(as)h(\(\045U)f Ft(+)g Fu(\045S\))g(/)h(\045R.)630 5011
y(The)23 b(optional)j Fr(p)g Fu(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
-4275 y(after)36 b(a)f(decimal)i(p)s(oin)m(t.)55 b(A)35
+5121 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 4385 y(output.)48 b(A)m(t)34
+(fraction)g(to)g(b)s(e)630 5230 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 4495 y(of)31
+h(b)s(e)e(sp)s(eci\014ed;)i(v)-5 b(alues)630 5340 y(of)31
b Fr(p)h Fu(greater)g(than)e(3)h(are)f(c)m(hanged)h(to)g(3.)42
b(If)29 b Fr(p)k Fu(is)d(not)h(sp)s(eci\014ed,)f(the)h(v)-5
-b(alue)30 b(3)h(is)g(used.)630 4624 y(The)54 b(optional)h
-Ft(l)f Fu(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 4733 y Fr(MM)10
-b Fu(m)p Fr(SS)p Fu(.)p Fr(FF)d Fu(s.)103 b(The)50 b(v)-5
-b(alue)52 b(of)f Fr(p)j Fu(determines)d(whether)f(or)h(not)h(the)f
-(fraction)h(is)630 4843 y(included.)630 4972 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 5101 y Ft
-($'\\nreal\\t\0453lR\\nuser\\t\0453)o(lU\\n)o(sys\\)o(t\0453)o(lS')630
-5230 y Fu(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 5340 y(added)30 b(when)f(the)i(format)f(string)h(is)f(displa)m
-(y)m(ed.)p eop end
+b(alue)30 b(3)h(is)g(used.)p eop end
%%Page: 83 89
TeXDict begin 83 88 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(83)150 299 y Ft(TMOUT)240
-b Fu(If)22 b(set)h(to)g(a)g(v)-5 b(alue)23 b(greater)h(than)e(zero,)j
-Ft(TMOUT)d Fu(is)g(treated)i(as)e(the)h(default)g(timeout)g(for)g(the)
-630 408 y Ft(read)31 b Fu(builtin)h(\(see)h(Section)f(4.2)i([Bash)e
-(Builtins],)h(page)g(50\).)47 b(The)32 b Ft(select)e
-Fu(command)630 518 y(\(see)f(Section)h(3.2.4.2)g([Conditional)g
-(Constructs],)e(page)i(11\))f(terminates)g(if)g(input)e(do)s(es)630
-628 y(not)k(arriv)m(e)g(after)g Ft(TMOUT)e Fu(seconds)h(when)f(input)h
-(is)g(coming)h(from)f(a)h(terminal.)630 762 y(In)40 b(an)h(in)m
-(teractiv)m(e)i(shell,)h(the)d(v)-5 b(alue)41 b(is)g(in)m(terpreted)g
-(as)f(the)h(n)m(um)m(b)s(er)f(of)h(seconds)f(to)630 872
-y(w)m(ait)28 b(for)e(a)g(line)h(of)g(input)e(after)i(issuing)f(the)h
-(primary)e(prompt.)39 b(Bash)26 b(terminates)h(after)630
-981 y(w)m(aiting)32 b(for)e(that)h(n)m(um)m(b)s(er)e(of)h(seconds)h(if)
-f(a)h(complete)h(line)e(of)h(input)e(do)s(es)h(not)h(arriv)m(e.)150
-1141 y Ft(TMPDIR)192 b Fu(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 1250 y(temp)s(orary)30 b(\014les)g(for)g(the)h
-(shell's)g(use.)150 1410 y Ft(UID)336 b Fu(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
+b(Shell)30 b(V)-8 b(ariables)2459 b(83)630 299 y(The)54
+b(optional)h Ft(l)f Fu(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
+408 y Fr(MM)10 b Fu(m)p Fr(SS)p Fu(.)p Fr(FF)d Fu(s.)103
+b(The)50 b(v)-5 b(alue)52 b(of)f Fr(p)j Fu(determines)d(whether)f(or)h
+(not)h(the)f(fraction)h(is)630 518 y(included.)630 653
+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 787 y Ft
+($'\\nreal\\t\0453lR\\nuser\\t\0453)o(lU\\n)o(sys\\)o(t\0453)o(lS')630
+922 y Fu(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 1031 y(added)30 b(when)f(the)i(format)f(string)h(is)f(displa)m
+(y)m(ed.)150 1191 y Ft(TMOUT)240 b Fu(If)22 b(set)h(to)g(a)g(v)-5
+b(alue)23 b(greater)h(than)e(zero,)j Ft(TMOUT)d Fu(is)g(treated)i(as)e
+(the)h(default)g(timeout)g(for)g(the)630 1300 y Ft(read)31
+b Fu(builtin)h(\(see)h(Section)f(4.2)i([Bash)e(Builtins],)h(page)g
+(50\).)47 b(The)32 b Ft(select)e Fu(command)630 1410
+y(\(see)f(Section)h(3.2.4.2)g([Conditional)g(Constructs],)e(page)i
+(11\))f(terminates)g(if)g(input)e(do)s(es)630 1519 y(not)k(arriv)m(e)g
+(after)g Ft(TMOUT)e Fu(seconds)h(when)f(input)h(is)g(coming)h(from)f(a)
+h(terminal.)630 1654 y(In)40 b(an)h(in)m(teractiv)m(e)i(shell,)h(the)d
+(v)-5 b(alue)41 b(is)g(in)m(terpreted)g(as)f(the)h(n)m(um)m(b)s(er)f
+(of)h(seconds)f(to)630 1763 y(w)m(ait)28 b(for)e(a)g(line)h(of)g(input)
+e(after)i(issuing)f(the)h(primary)e(prompt.)39 b(Bash)26
+b(terminates)h(after)630 1873 y(w)m(aiting)32 b(for)e(that)h(n)m(um)m
+(b)s(er)e(of)h(seconds)h(if)f(a)h(complete)h(line)e(of)h(input)e(do)s
+(es)h(not)h(arriv)m(e.)150 2032 y Ft(TMPDIR)192 b Fu(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 2142
+y(temp)s(orary)30 b(\014les)g(for)g(the)h(shell's)g(use.)150
+2301 y Ft(UID)336 b Fu(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: 84 90
TeXDict begin 84 89 bop 3659 -116 a Fu(84)150 299 y Fp(6)80
b(Bash)54 b(F)-13 b(eatures)150 502 y Fu(This)30 b(c)m(hapter)h
(describ)s(es)e(features)i(unique)e(to)i(Bash.)150 731
y Fs(6.1)68 b(In)l(v)l(oking)46 b(Bash)390 890 y Ft(bash)h([long-opt])e
([-ir])h([-abefhkmnptuvxdBCDHP])c([-o)47 b Fj(option)p
-Ft(])e([-O)i Fj(shopt_option)p Ft(])e([)p Fj(ar-)390
-1000 y(gument)h Ft(...)o(])390 1110 y(bash)h([long-opt])e
-([-abefhkmnptuvxdBCDHP])c([-o)47 b Fj(option)p Ft(])f([-O)h
-Fj(shopt_option)p Ft(])d(-c)j Fj(string)f Ft([)p Fj(ar-)390
-1219 y(gument)g Ft(...)o(])390 1329 y(bash)h([long-opt])e(-s)i
-([-abefhkmnptuvxdBCDHP])42 b([-o)k Fj(option)p Ft(])g([-O)h
-Fj(shopt_option)p Ft(])d([)p Fj(ar-)390 1438 y(gument)i
-Ft(...)o(])275 1567 y Fu(All)31 b(of)g(the)f(single-c)m(haracter)k
-(options)d(used)f(with)g(the)h Ft(set)f Fu(builtin)g(\(see)h(Section)h
-(4.3.1)g([The)f(Set)150 1676 y(Builtin],)45 b(page)c(61\))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 1786 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
-1896 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 2043 y Ft(--debugger)630
-2152 y Fu(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 2262 y(on)35 b(extended)g(debugging)f(mo)s(de)h(\(see)g
-(Section)h(4.3.2)h([The)d(Shopt)g(Builtin],)j(page)f(65,)630
-2371 y(for)30 b(a)h(description)f(of)h(the)f Ft(extdebug)f
-Fu(option)h(to)h(the)g Ft(shopt)e Fu(builtin\).)150 2519
-y Ft(--dump-po-strings)630 2628 y Fu(A)37 b(list)g(of)f(all)i
+Ft(])581 1000 y([-O)g Fj(shopt_option)p Ft(])d([)p Fj(argument)h
+Ft(...)o(])390 1110 y(bash)i([long-opt])e([-abefhkmnptuvxdBCDHP])c([-o)
+47 b Fj(option)p Ft(])581 1219 y([-O)g Fj(shopt_option)p
+Ft(])d(-c)j Fj(string)f Ft([)p Fj(argument)g Ft(...)o(])390
+1329 y(bash)h([long-opt])e(-s)i([-abefhkmnptuvxdBCDHP])42
+b([-o)k Fj(option)p Ft(])581 1438 y([-O)h Fj(shopt_option)p
+Ft(])d([)p Fj(argument)h Ft(...)o(])275 1567 y Fu(All)31
+b(of)g(the)f(single-c)m(haracter)k(options)d(used)f(with)g(the)h
+Ft(set)f Fu(builtin)g(\(see)h(Section)h(4.3.1)g([The)f(Set)150
+1676 y(Builtin],)45 b(page)c(61\))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 1786 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 1896 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 2043 y Ft(--debugger)630 2152 y Fu(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 2262 y(on)35 b(extended)g
+(debugging)f(mo)s(de)h(\(see)g(Section)h(4.3.2)h([The)d(Shopt)g
+(Builtin],)j(page)f(65,)630 2371 y(for)30 b(a)h(description)f(of)h(the)
+f Ft(extdebug)f Fu(option)h(to)h(the)g Ft(shopt)e Fu(builtin\).)150
+2519 y Ft(--dump-po-strings)630 2628 y Fu(A)37 b(list)g(of)f(all)i
(double-quoted)e(strings)g(preceded)g(b)m(y)h(`)p Ft($)p
Fu(')f(is)h(prin)m(ted)f(on)g(the)h(standard)630 2738
y(output)29 b(in)g(the)g Fm(gnu)g Ft(gettext)f Fu(PO)g(\(p)s(ortable)i
@@ -14503,15 +14574,15 @@ b(will)g(sa)m(v)m(e)h(the)f(command)f(history)h(to)g(the)g(\014le)g
b(expansion)g(\(see)g(Section)g(6.6)g([Aliases],)i(page)e(92\))h(is)e
(p)s(erformed)f(b)m(y)h(default.)199 685 y(9.)61 b(In)24
b(the)g(absence)h(of)f(an)m(y)h(traps,)g(Bash)g(ignores)f
-Ft(SIGTERM)f Fu(\(see)i(Section)g(3.7.6)h([Signals],)g(page)f(40\).)154
-823 y(10.)61 b(In)26 b(the)h(absence)h(of)f(an)m(y)g(traps,)g
-Ft(SIGINT)e Fu(is)i(caugh)m(t)h(and)f(handled)e(\(\(see)k(Section)e
-(3.7.6)i([Signals],)330 933 y(page)i(40\).)42 b Ft(SIGINT)29
+Ft(SIGTERM)f Fu(\(see)i(Section)g(3.7.6)h([Signals],)g(page)f(41\).)154
+823 y(10.)61 b(In)29 b(the)g(absence)h(of)g(an)m(y)g(traps,)f
+Ft(SIGINT)f Fu(is)h(caugh)m(t)i(and)e(handled)f(\(see)j(Section)f
+(3.7.6)h([Signals],)330 933 y(page)g(41\).)42 b Ft(SIGINT)29
b Fu(will)h(in)m(terrupt)g(some)h(shell)g(builtins.)154
1071 y(11.)61 b(An)40 b(in)m(teractiv)m(e)j(login)e(shell)g(sends)e(a)i
Ft(SIGHUP)d Fu(to)j(all)g(jobs)f(on)g(exit)h(if)g(the)f
Ft(huponexit)e Fu(shell)330 1180 y(option)31 b(has)f(b)s(een)g(enabled)
-g(\(see)h(Section)g(3.7.6)i([Signals],)e(page)g(40\).)154
+g(\(see)h(Section)g(3.7.6)i([Signals],)e(page)g(41\).)154
1319 y(12.)61 b(The)29 b Ft(-n)g Fu(in)m(v)m(o)s(cation)j(option)e(is)g
(ignored,)g(and)f(`)p Ft(set)h(-n)p Fu(')f(has)h(no)f(e\013ect)j(\(see)
e(Section)h(4.3.1)g([The)330 1428 y(Set)g(Builtin],)g(page)g(61\).)154
@@ -15160,8 +15231,8 @@ f(shell)150 3708 y(session.)275 3844 y(After)35 b(the)g(string)g(is)g
(command)d(substi-)150 3954 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 Ft(promptvars)150 4064 y Fu(shell)31
-b(option)f(\(see)i(Section)f(4.2)g([Bash)g(Builtins],)g(page)g(50\).)
-150 4308 y Fs(6.10)68 b(The)45 b(Restricted)h(Shell)150
+b(option)f(\(see)i(Section)f(4.3.2)h([The)e(Shopt)g(Builtin],)h(page)g
+(65\).)150 4308 y Fs(6.10)68 b(The)45 b(Restricted)h(Shell)150
4467 y Fu(If)34 b(Bash)g(is)g(started)g(with)g(the)g(name)h
Ft(rbash)p Fu(,)e(or)h(the)h Ft(--restricted)30 b Fu(or)k
Ft(-r)g Fu(option)g(is)g(supplied)f(at)150 4577 y(in)m(v)m(o)s(cation,)
@@ -15185,303 +15256,305 @@ TeXDict begin 98 103 bop 150 -116 a Fu(Chapter)30 b(6:)41
b(Bash)30 b(F)-8 b(eatures)2484 b(98)225 299 y Fq(\017)60
b Fu(Sp)s(ecifying)32 b(a)g(\014lename)h(con)m(taining)h(a)e(slash)g
(as)h(an)f(argumen)m(t)h(to)g(the)f Ft(-p)g Fu(option)h(to)g(the)f
-Ft(hash)330 408 y Fu(builtin)e(command.)225 538 y Fq(\017)60
+Ft(hash)330 408 y Fu(builtin)e(command.)225 545 y Fq(\017)60
b Fu(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 667 y Fq(\017)60
+(en)m(vironmen)m(t)g(at)g(startup.)225 682 y Fq(\017)60
b Fu(P)m(arsing)31 b(the)f(v)-5 b(alue)31 b(of)g Ft(SHELLOPTS)d
Fu(from)h(the)i(shell)g(en)m(vironmen)m(t)g(at)g(startup.)225
-796 y Fq(\017)60 b Fu(Redirecting)31 b(output)f(using)g(the)h(`)p
+819 y Fq(\017)60 b Fu(Redirecting)31 b(output)f(using)g(the)h(`)p
Ft(>)p Fu(',)g(`)p Ft(>|)p Fu(',)f(`)p Ft(<>)p Fu(',)h(`)p
Ft(>&)p Fu(',)f(`)p Ft(&>)p Fu(',)h(and)e(`)p Ft(>>)p
-Fu(')i(redirection)g(op)s(erators.)225 925 y Fq(\017)60
+Fu(')i(redirection)g(op)s(erators.)225 955 y Fq(\017)60
b Fu(Using)31 b(the)f Ft(exec)f Fu(builtin)h(to)h(replace)h(the)e
-(shell)h(with)f(another)h(command.)225 1054 y Fq(\017)60
+(shell)h(with)f(another)h(command.)225 1092 y Fq(\017)60
b Fu(Adding)24 b(or)g(deleting)i(builtin)e(commands)g(with)h(the)f
Ft(-f)g Fu(and)g Ft(-d)g Fu(options)h(to)h(the)e Ft(enable)f
-Fu(builtin.)225 1183 y Fq(\017)60 b Fu(Using)31 b(the)f
+Fu(builtin.)225 1229 y Fq(\017)60 b Fu(Using)31 b(the)f
Ft(enable)f Fu(builtin)h(command)g(to)h(enable)g(disabled)f(shell)g
-(builtins.)225 1312 y Fq(\017)60 b Fu(Sp)s(ecifying)30
+(builtins.)225 1365 y Fq(\017)60 b Fu(Sp)s(ecifying)30
b(the)g Ft(-p)g Fu(option)h(to)g(the)g Ft(command)d Fu(builtin.)225
-1441 y Fq(\017)60 b Fu(T)-8 b(urning)29 b(o\013)i(restricted)g(mo)s(de)
+1502 y Fq(\017)60 b Fu(T)-8 b(urning)29 b(o\013)i(restricted)g(mo)s(de)
f(with)g(`)p Ft(set)g(+r)p Fu(')g(or)g(`)p Ft(set)g(+o)g(restricted)p
-Fu('.)275 1590 y(These)g(restrictions)h(are)g(enforced)f(after)h(an)m
-(y)g(startup)f(\014les)g(are)h(read.)275 1719 y(When)j(a)i(command)e
+Fu('.)275 1668 y(These)g(restrictions)h(are)g(enforced)f(after)h(an)m
+(y)g(startup)f(\014les)g(are)h(read.)275 1807 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 1828 y(Scripts],)25
+(\(see)g(Section)g(3.8)g([Shell)150 1917 y(Scripts],)25
b(page)e(41\),)j Ft(rbash)c Fu(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
-2058 y Fs(6.11)68 b(Bash)45 b(POSIX)f(Mo)t(de)150 2218
+2164 y Fs(6.11)68 b(Bash)45 b(POSIX)f(Mo)t(de)150 2324
y Fu(Starting)39 b(Bash)f(with)g(the)h Ft(--posix)d Fu(command-line)j
(option)g(or)f(executing)h(`)p Ft(set)30 b(-o)g(posix)p
-Fu(')37 b(while)150 2327 y(Bash)26 b(is)g(running)e(will)j(cause)f
+Fu(')37 b(while)150 2433 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 Fm(posix)f
-Fu(standard)g(b)m(y)h(c)m(hanging)150 2437 y(the)31 b(b)s(eha)m(vior)f
+Fu(standard)g(b)m(y)h(c)m(hanging)150 2543 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 Fm(posix)g
Fu(in)g(areas)h(where)f(the)h(Bash)f(default)h(di\013ers.)275
-2566 y(When)f(in)m(v)m(ok)m(ed)h(as)g Ft(sh)p Fu(,)f(Bash)h(en)m(ters)g
+2682 y(When)f(in)m(v)m(ok)m(ed)h(as)g Ft(sh)p Fu(,)f(Bash)h(en)m(ters)g
Fm(posix)e Fu(mo)s(de)h(after)h(reading)g(the)f(startup)g(\014les.)275
-2695 y(The)f(follo)m(wing)j(list)f(is)g(what's)f(c)m(hanged)h(when)e(`)
-p Fm(posix)h Fu(mo)s(de')h(is)f(in)g(e\013ect:)199 2824
-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 Ft($PATH)d
-Fu(to)i(\014nd)330 2934 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
-Ft(shopt)f(-s)h(checkhash)p Fu('.)199 3063 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
-3172 y(non-zero)31 b(status)g(is)f(`Done\(status\)'.)199
-3302 y(3.)61 b(The)40 b(message)h(prin)m(ted)f(b)m(y)g(the)h(job)f(con)
+2821 y(The)f(follo)m(wing)j(list)f(is)g(what's)f(c)m(hanged)h(when)e(`)
+p Fm(posix)h Fu(mo)s(de')h(is)f(in)g(e\013ect:)199 2959
+y(1.)61 b(Bash)31 b(ensures)e(that)i(the)f Ft(POSIXLY_CORRECT)d
+Fu(v)-5 b(ariable)31 b(is)f(set.)199 3096 y(2.)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 Ft($PATH)d Fu(to)i(\014nd)330
+3206 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 Ft(shopt)f(-s)h(checkhash)p
+Fu('.)199 3342 y(3.)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 3452 y(non-zero)31 b(status)g(is)f(`Done\(status\)'.)199
+3589 y(4.)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 3411 y(`Stopp)s(ed\()p Fr(signame)5 b Fu(\)',)31
+(is)330 3698 y(`Stopp)s(ed\()p Fr(signame)5 b Fu(\)',)31
b(where)f Fr(signame)36 b Fu(is,)31 b(for)f(example,)h
-Ft(SIGTSTP)p Fu(.)199 3540 y(4.)61 b(Alias)31 b(expansion)g(is)f(alw)m
+Ft(SIGTSTP)p Fu(.)199 3835 y(5.)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.)199
-3669 y(5.)61 b(Reserv)m(ed)40 b(w)m(ords)g(app)s(earing)f(in)h(a)g(con)
+3972 y(6.)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 3779 y(undergo)30 b(alias)h(expansion.)199 3908 y(6.)61
+330 4081 y(undergo)30 b(alias)h(expansion.)199 4218 y(7.)61
b(The)38 b Fm(posix)h Ft(PS1)f Fu(and)g Ft(PS2)g Fu(expansions)g(of)i
(`)p Ft(!)p Fu(')f(to)g(the)g(history)g(n)m(um)m(b)s(er)f(and)g(`)p
-Ft(!!)p Fu(')h(to)g(`)p Ft(!)p Fu(')h(are)330 4018 y(enabled,)26
+Ft(!!)p Fu(')h(to)g(`)p Ft(!)p Fu(')h(are)330 4328 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 Ft(PS1)f Fu(and)h Ft(PS2)f Fu(regardless)330
-4127 y(of)31 b(the)f(setting)i(of)e(the)h Ft(promptvars)c
-Fu(option.)199 4256 y(7.)61 b(The)30 b Fm(posix)g Fu(startup)f(\014les)
+4437 y(of)31 b(the)f(setting)i(of)e(the)h Ft(promptvars)c
+Fu(option.)199 4574 y(8.)61 b(The)30 b Fm(posix)g Fu(startup)f(\014les)
i(are)g(executed)g(\()p Ft($ENV)p Fu(\))f(rather)g(than)g(the)h(normal)
-f(Bash)g(\014les.)199 4385 y(8.)61 b(Tilde)30 b(expansion)g(is)f(only)h
+f(Bash)g(\014les.)199 4711 y(9.)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 4495 y(than)g(on)g(all)i(assignmen)m(t)f(statemen)m(ts)h
-(on)e(the)h(line.)199 4624 y(9.)61 b(The)30 b(default)g(history)h
+(rather)330 4820 y(than)g(on)g(all)i(assignmen)m(t)f(statemen)m(ts)h
+(on)e(the)h(line.)154 4957 y(10.)61 b(The)30 b(default)g(history)h
(\014le)f(is)h Ft(~/.sh_history)26 b Fu(\(this)31 b(is)f(the)h(default)
-g(v)-5 b(alue)30 b(of)h Ft($HISTFILE)p Fu(\).)154 4753
-y(10.)61 b(Redirection)25 b(op)s(erators)f(do)g(not)g(p)s(erform)f
+g(v)-5 b(alue)30 b(of)h Ft($HISTFILE)p Fu(\).)154 5094
+y(11.)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 4863 y(unless)30 b(the)g(shell)h(is)f(in)m(teractiv)m(e.)154
-4992 y(11.)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
-5121 y(12.)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 Ft(name)p Fu(s.)52 b(That)34 b(is,)i(they)f(ma)m(y)
-g(not)g(con)m(tain)g(c)m(haracters)330 5230 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 5340 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.)p eop end
+330 5203 y(unless)30 b(the)g(shell)h(is)f(in)m(teractiv)m(e.)154
+5340 y(12.)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.)p
+eop end
%%Page: 99 105
TeXDict begin 99 104 bop 150 -116 a Fu(Chapter)30 b(6:)41
b(Bash)30 b(F)-8 b(eatures)2484 b(99)154 299 y(13.)61
-b(F)-8 b(unction)31 b(names)f(ma)m(y)h(not)g(b)s(e)f(the)g(same)h(as)g
-(one)f(of)h(the)f Fm(posix)g Fu(sp)s(ecial)h(builtins.)154
-437 y(14.)61 b Fm(posix)30 b Fu(sp)s(ecial)h(builtins)e(are)i(found)e
+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 Ft(name)p Fu(s.)52 b(That)34 b(is,)i(they)f(ma)m(y)
+g(not)g(con)m(tain)g(c)m(haracters)330 408 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 518 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 651 y(14.)61 b(F)-8
+b(unction)31 b(names)f(ma)m(y)h(not)g(b)s(e)f(the)g(same)h(as)g(one)f
+(of)h(the)f Fm(posix)g Fu(sp)s(ecial)h(builtins.)154
+783 y(15.)61 b Fm(posix)30 b Fu(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
-576 y(15.)61 b(When)48 b(prin)m(ting)g(shell)h(function)f
+916 y(16.)61 b(When)48 b(prin)m(ting)g(shell)h(function)f
(de\014nitions)g(\(e.g.,)55 b(b)m(y)48 b Ft(type)p Fu(\),)k(Bash)d(do)s
-(es)f(not)h(prin)m(t)f(the)330 685 y Ft(function)28 b
-Fu(k)m(eyw)m(ord.)154 824 y(16.)61 b(Literal)28 b(tildes)g(that)f(app)s
-(ear)f(as)i(the)f(\014rst)f(c)m(haracter)j(in)d(elemen)m(ts)j(of)e(the)
-g Ft(PATH)f Fu(v)-5 b(ariable)27 b(are)h(not)330 933
-y(expanded)i(as)g(describ)s(ed)f(ab)s(o)m(v)m(e)j(under)d(Section)i
-(3.5.2)h([Tilde)f(Expansion],)f(page)h(23.)154 1072 y(17.)61
-b(The)29 b Ft(time)g Fu(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 1181 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 Ft(TIMEFORMAT)330 1291 y Fu(v)-5 b(ariable)31
-b(con)m(trols)h(the)e(format)h(of)g(the)f(timing)h(information.)154
-1429 y(18.)61 b(When)33 b(parsing)g(and)f(expanding)h(a)h($)p
-Fi({)6 b Fu(.)22 b(.)h(.)11 b Fi(})33 b Fu(expansion)g(that)h(app)s
-(ears)f(within)f(double)h(quotes,)330 1539 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 1649
-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
-1758 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
-1897 y(19.)61 b(The)29 b(parser)g(do)s(es)g(not)h(recognize)h
+(es)f(not)h(prin)m(t)f(the)330 1026 y Ft(function)28
+b Fu(k)m(eyw)m(ord.)154 1158 y(17.)61 b(Literal)28 b(tildes)g(that)f
+(app)s(ear)f(as)i(the)f(\014rst)f(c)m(haracter)j(in)d(elemen)m(ts)j(of)
+e(the)g Ft(PATH)f Fu(v)-5 b(ariable)27 b(are)h(not)330
+1268 y(expanded)i(as)g(describ)s(ed)f(ab)s(o)m(v)m(e)j(under)d(Section)
+i(3.5.2)h([Tilde)f(Expansion],)f(page)h(23.)154 1401
+y(18.)61 b(The)29 b Ft(time)g Fu(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 1510 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 Ft(TIMEFORMAT)330
+1620 y Fu(v)-5 b(ariable)31 b(con)m(trols)h(the)e(format)h(of)g(the)f
+(timing)h(information.)154 1752 y(19.)61 b(When)33 b(parsing)g(and)f
+(expanding)h(a)h($)p Fi({)6 b Fu(.)22 b(.)h(.)11 b Fi(})33
+b Fu(expansion)g(that)h(app)s(ears)f(within)f(double)h(quotes,)330
+1862 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
+1972 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 2081 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
+2214 y(20.)61 b(The)29 b(parser)g(do)s(es)g(not)h(recognize)h
Ft(time)d Fu(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 2006 y(`)p Ft(-)p Fu('.)154
-2145 y(20.)61 b(The)30 b(`)p Ft(!)p Fu(')h(c)m(haracter)h(do)s(es)e
+(en)h(b)s(egins)d(with)i(a)330 2323 y(`)p Ft(-)p Fu('.)154
+2456 y(21.)61 b(The)30 b(`)p Ft(!)p Fu(')h(c)m(haracter)h(do)s(es)e
(not)h(in)m(tro)s(duce)g(history)f(expansion)h(within)f(a)h
-(double-quoted)g(string,)330 2254 y(ev)m(en)g(if)f(the)h
-Ft(histexpand)d Fu(option)i(is)h(enabled.)154 2393 y(21.)61
+(double-quoted)g(string,)330 2566 y(ev)m(en)g(if)f(the)h
+Ft(histexpand)d Fu(option)i(is)h(enabled.)154 2698 y(22.)61
b(If)24 b(a)g Fm(posix)g Fu(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 2502 y(errors)30 b(are)h(those)f(listed)h(in)f
+b(The)24 b(fatal)330 2808 y(errors)30 b(are)h(those)f(listed)h(in)f
(the)h Fm(posix)e Fu(standard,)h(and)g(include)g(things)g(lik)m(e)i
-(passing)e(incorrect)330 2612 y(options,)43 b(redirection)d(errors,)i
+(passing)e(incorrect)330 2917 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 2721 y(command)30 b(name,)h(and)f(so)g(on.)154
-2860 y(22.)61 b(A)31 b(non-in)m(teractiv)m(e)j(shell)d(exits)h(with)e
+(preceding)f(the)330 3027 y(command)30 b(name,)h(and)f(so)g(on.)154
+3160 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 2969 y(when)38 b(no)h(command)g(name)g(follo)m
+(error)e(o)s(ccurs)330 3269 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 3079 y(error)30
+b(v)-5 b(ariable)40 b(assignmen)m(t)330 3379 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 3217
-y(23.)61 b(A)31 b(non-in)m(teractiv)m(e)j(shell)d(exits)h(with)e(an)h
+b(alue)31 b(to)g(a)g(readonly)f(v)-5 b(ariable.)154 3512
+y(24.)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 3327 y(in)g(an)g(assignmen)m(t)i(statemen)m(t)g
+(o)s(ccurs)330 3621 y(in)g(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 3437 y(command.)154 3575 y(24.)61
+(other)h(simple)330 3731 y(command.)154 3863 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
-Ft(for)330 3685 y Fu(statemen)m(t)32 b(or)f(the)f(selection)i(v)-5
+Ft(for)330 3973 y Fu(statemen)m(t)32 b(or)f(the)f(selection)i(v)-5
b(ariable)32 b(in)e(a)g Ft(select)f Fu(statemen)m(t)j(is)f(a)f
-(readonly)h(v)-5 b(ariable.)154 3823 y(25.)61 b(Non-in)m(teractiv)m(e)
+(readonly)h(v)-5 b(ariable.)154 4106 y(26.)61 b(Non-in)m(teractiv)m(e)
34 b(shells)c(exit)h(if)g Fr(\014lename)k Fu(in)30 b
Ft(.)g Fr(\014lename)36 b Fu(is)31 b(not)f(found.)154
-3961 y(26.)61 b(Non-in)m(teractiv)m(e)41 b(shells)d(exit)h(if)f(a)g
+4238 y(27.)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 4071 y(in)m(v)-5 b(alid)31 b(expression.)154
-4209 y(27.)61 b(Non-in)m(teractiv)m(e)34 b(shells)c(exit)h(if)g(a)f
-(parameter)h(expansion)g(error)f(o)s(ccurs.)154 4348
-y(28.)61 b(Non-in)m(teractiv)m(e)27 b(shells)c(exit)i(if)e(there)h(is)f
+(an)330 4348 y(in)m(v)-5 b(alid)31 b(expression.)154
+4481 y(28.)61 b(Non-in)m(teractiv)m(e)34 b(shells)c(exit)h(if)g(a)f
+(parameter)h(expansion)g(error)f(o)s(ccurs.)154 4613
+y(29.)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
-Ft(.)g Fu(or)h Ft(source)330 4457 y Fu(builtins,)30 b(or)g(in)g(a)h
+Ft(.)g Fu(or)h Ft(source)330 4723 y Fu(builtins,)30 b(or)g(in)g(a)h
(string)g(pro)s(cessed)e(b)m(y)i(the)f Ft(eval)f Fu(builtin.)154
-4596 y(29.)61 b(Pro)s(cess)30 b(substitution)g(is)h(not)f(a)m(v)-5
-b(ailable.)154 4734 y(30.)61 b(While)32 b(v)-5 b(ariable)32
+4855 y(30.)61 b(Pro)s(cess)30 b(substitution)g(is)h(not)f(a)m(v)-5
+b(ailable.)154 4988 y(31.)61 b(While)32 b(v)-5 b(ariable)32
b(indirection)f(is)g(a)m(v)-5 b(ailable,)34 b(it)d(ma)m(y)h(not)f(b)s
(e)g(applied)g(to)g(the)h(`)p Ft(#)p Fu(')f(and)f(`)p
-Ft(?)p Fu(')h(sp)s(ecial)330 4844 y(parameters.)154 4982
-y(31.)61 b(When)28 b(expanding)g(the)g(`)p Ft(*)p Fu(')g(sp)s(ecial)h
+Ft(?)p Fu(')h(sp)s(ecial)330 5098 y(parameters.)154 5230
+y(32.)61 b(When)28 b(expanding)g(the)g(`)p Ft(*)p Fu(')g(sp)s(ecial)h
(parameter)f(in)g(a)h(pattern)f(con)m(text)i(where)e(the)g(expansion)g
-(is)330 5092 y(double-quoted)i(do)s(es)g(not)h(treat)h(the)e
-Ft($*)g Fu(as)h(if)f(it)h(w)m(ere)g(double-quoted.)154
-5230 y(32.)61 b(Assignmen)m(t)23 b(statemen)m(ts)h(preceding)e
-Fm(posix)f Fu(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
+(is)330 5340 y(double-quoted)i(do)s(es)g(not)h(treat)h(the)e
+Ft($*)g Fu(as)h(if)f(it)h(w)m(ere)g(double-quoted.)p
eop end
%%Page: 100 106
TeXDict begin 100 105 bop 150 -116 a Fu(Chapter)30 b(6:)41
b(Bash)30 b(F)-8 b(eatures)2439 b(100)154 299 y(33.)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
+b(Assignmen)m(t)23 b(statemen)m(ts)h(preceding)e Fm(posix)f
+Fu(sp)s(ecial)i(builtins)f(p)s(ersist)g(in)f(the)i(shell)f(en)m
+(vironmen)m(t)330 408 y(after)31 b(the)f(builtin)g(completes.)154
+536 y(34.)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 646 y(after)d(the)f(function)h(returns,)e(as)i(if)f(a)h
Fm(posix)e Fu(sp)s(ecial)i(builtin)f(command)g(had)g(b)s(een)g
-(executed.)154 536 y(34.)61 b(The)31 b Ft(command)e Fu(builtin)i(do)s
+(executed.)154 774 y(35.)61 b(The)31 b Ft(command)e Fu(builtin)i(do)s
(es)g(not)h(prev)m(en)m(t)f(builtins)g(that)h(tak)m(e)h(assignmen)m(t)f
-(statemen)m(ts)h(as)f(ar-)330 646 y(gumen)m(ts)40 b(from)e(expanding)h
+(statemen)m(ts)h(as)f(ar-)330 883 y(gumen)m(ts)40 b(from)e(expanding)h
(them)g(as)h(assignmen)m(t)g(statemen)m(ts;)46 b(when)38
-b(not)i(in)f Fm(posix)f Fu(mo)s(de,)330 756 y(assignmen)m(t)k(builtins)
+b(not)i(in)f Fm(posix)f Fu(mo)s(de,)330 993 y(assignmen)m(t)k(builtins)
e(lose)h(their)g(assignmen)m(t)h(statemen)m(t)h(expansion)d(prop)s
-(erties)g(when)g(pre-)330 865 y(ceded)31 b(b)m(y)f Ft(command)p
-Fu(.)154 993 y(35.)61 b(The)27 b Ft(bg)g Fu(builtin)g(uses)g(the)h
+(erties)g(when)g(pre-)330 1103 y(ceded)31 b(b)m(y)f Ft(command)p
+Fu(.)154 1230 y(36.)61 b(The)27 b Ft(bg)g Fu(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 1103 y(whic)m(h)h(do)s(es)g(not)g(include)g
+(the)h(bac)m(kground,)330 1340 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.)154 1230 y(36.)61 b(The)23 b(output)f(of)i(`)p
+(or)h(previous)g(job.)154 1468 y(37.)61 b(The)23 b(output)f(of)i(`)p
Ft(kill)29 b(-l)p Fu(')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
-1340 y(without)30 b(the)h(`)p Ft(SIG)p Fu(')f(pre\014x.)154
-1468 y(37.)61 b(The)30 b Ft(kill)f Fu(builtin)h(do)s(es)g(not)h(accept)
+1577 y(without)30 b(the)h(`)p Ft(SIG)p Fu(')f(pre\014x.)154
+1705 y(38.)61 b(The)30 b Ft(kill)f Fu(builtin)h(do)s(es)g(not)h(accept)
h(signal)f(names)f(with)g(a)h(`)p Ft(SIG)p Fu(')f(pre\014x.)154
-1596 y(38.)61 b(The)38 b Ft(export)f Fu(and)g Ft(readonly)f
+1833 y(39.)61 b(The)38 b Ft(export)f Fu(and)g Ft(readonly)f
Fu(builtin)i(commands)g(displa)m(y)h(their)f(output)g(in)g(the)h
-(format)g(re-)330 1705 y(quired)30 b(b)m(y)g Fm(posix)p
-Fu(.)154 1833 y(39.)61 b(The)30 b Ft(trap)f Fu(builtin)h(displa)m(ys)g
+(format)g(re-)330 1943 y(quired)30 b(b)m(y)g Fm(posix)p
+Fu(.)154 2071 y(40.)61 b(The)30 b Ft(trap)f Fu(builtin)h(displa)m(ys)g
(signal)i(names)e(without)g(the)h(leading)g Ft(SIG)p
-Fu(.)154 1961 y(40.)61 b(The)39 b Ft(trap)e Fu(builtin)i(do)s(esn't)g
+Fu(.)154 2198 y(41.)61 b(The)39 b Ft(trap)e Fu(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 2071 y(and)30 b(rev)m(ert)i(the)e
+(signal)i(sp)s(eci\014cation)330 2308 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 2180 y(consists)e(solely)g(of)g
+(is,)g(unless)f(that)h(argumen)m(t)330 2418 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
-2290 y(for)h(a)g(giv)m(en)h(signal)g(to)f(the)h(original)g(disp)s
+2527 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 Ft(-)p Fu(')g(as)g(the)g(\014rst)
-f(argumen)m(t.)154 2418 y(41.)61 b(The)21 b Ft(.)h Fu(and)f
+f(argumen)m(t.)154 2655 y(42.)61 b(The)21 b Ft(.)h Fu(and)f
Ft(source)f Fu(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
-2527 y(if)30 b(it)h(is)g(not)f(found)f(b)m(y)i(searc)m(hing)g
-Ft(PATH)p Fu(.)154 2655 y(42.)61 b(Enabling)21 b Fm(posix)g
+2765 y(if)30 b(it)h(is)g(not)f(found)f(b)m(y)i(searc)m(hing)g
+Ft(PATH)p Fu(.)154 2892 y(43.)61 b(Enabling)21 b Fm(posix)g
Fu(mo)s(de)g(has)g(the)g(e\013ect)i(of)e(setting)i(the)e
Ft(inherit_errexit)d Fu(option,)23 b(so)f(subshells)330
-2765 y(spa)m(wned)27 b(to)i(execute)g(command)e(substitutions)h
+3002 y(spa)m(wned)27 b(to)i(execute)g(command)e(substitutions)h
(inherit)f(the)h(v)-5 b(alue)28 b(of)g(the)g Ft(-e)f
-Fu(option)h(from)g(the)330 2874 y(paren)m(t)37 b(shell.)62
+Fu(option)h(from)g(the)330 3112 y(paren)m(t)37 b(shell.)62
b(When)37 b(the)g Ft(inherit_errexit)c Fu(option)38 b(is)f(not)h
-(enabled,)h(Bash)e(clears)h(the)g Ft(-e)330 2984 y Fu(option)31
-b(in)f(suc)m(h)g(subshells.)154 3112 y(43.)61 b(When)43
+(enabled,)h(Bash)e(clears)h(the)g Ft(-e)330 3221 y Fu(option)31
+b(in)f(suc)m(h)g(subshells.)154 3349 y(44.)61 b(When)43
b(the)g Ft(alias)f Fu(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
-3221 y(leading)31 b(`)p Ft(alias)e Fu(')i(unless)f(the)g
-Ft(-p)g Fu(option)h(is)f(supplied.)154 3349 y(44.)61
+3459 y(leading)31 b(`)p Ft(alias)e Fu(')i(unless)f(the)g
+Ft(-p)g Fu(option)h(is)f(supplied.)154 3587 y(45.)61
b(When)40 b(the)g Ft(set)f Fu(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 3459 y(names)30 b(and)g(de\014nitions.)154
-3587 y(45.)61 b(When)36 b(the)g Ft(set)g Fu(builtin)g(is)g(in)m(v)m(ok)
+(function)330 3696 y(names)30 b(and)g(de\014nitions.)154
+3824 y(46.)61 b(When)36 b(the)g Ft(set)g Fu(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 3696 y(quotes,)26 b(unless)d(they)i
+b(v)-5 b(alues)37 b(without)330 3934 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 3806 y(c)m(haracters.)154
-3934 y(46.)61 b(When)35 b(the)g Ft(cd)f Fu(builtin)h(is)g(in)m(v)m(ok)m
+g(con)m(tains)i(nonprin)m(ting)330 4043 y(c)m(haracters.)154
+4171 y(47.)61 b(When)35 b(the)g Ft(cd)f Fu(builtin)h(is)g(in)m(v)m(ok)m
(ed)i(in)d Fr(logical)41 b Fu(mo)s(de,)36 b(and)f(the)g(pathname)g
-(constructed)g(from)330 4043 y Ft($PWD)i Fu(and)h(the)h(directory)f
+(constructed)g(from)330 4281 y Ft($PWD)i Fu(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 4153 y(directory)-8 b(,)32 b Ft(cd)d
+(an)f(existing)330 4390 y(directory)-8 b(,)32 b Ft(cd)d
Fu(will)i(fail)g(instead)g(of)f(falling)h(bac)m(k)h(to)f
-Fr(ph)m(ysical)j Fu(mo)s(de.)154 4281 y(47.)61 b(The)36
+Fr(ph)m(ysical)j Fu(mo)s(de.)154 4518 y(48.)61 b(The)36
b Ft(pwd)f Fu(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 4390 y(ev)m(en)31 b(if)f(it)h(is)g(not)f(ask)m
+(directory)-8 b(,)330 4628 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
-Ft(-P)e Fu(option.)154 4518 y(48.)61 b(When)35 b(listing)g(the)g
+Ft(-P)e Fu(option.)154 4756 y(49.)61 b(When)35 b(listing)g(the)g
(history)-8 b(,)36 b(the)f Ft(fc)g Fu(builtin)f(do)s(es)g(not)h
-(include)g(an)f(indication)i(of)f(whether)f(or)330 4628
+(include)g(an)f(indication)i(of)f(whether)f(or)330 4865
y(not)d(a)f(history)h(en)m(try)f(has)g(b)s(een)g(mo)s(di\014ed.)154
-4756 y(49.)61 b(The)30 b(default)g(editor)h(used)f(b)m(y)g
-Ft(fc)g Fu(is)g Ft(ed)p Fu(.)154 4883 y(50.)61 b(The)37
+4993 y(50.)61 b(The)30 b(default)g(editor)h(used)f(b)m(y)g
+Ft(fc)g Fu(is)g Ft(ed)p Fu(.)154 5121 y(51.)61 b(The)37
b Ft(type)g Fu(and)g Ft(command)f Fu(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
-4993 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 5103 y(found)i(in)h Ft($PATH)p Fu(.)154
-5230 y(51.)61 b(The)33 b Ft(vi)f Fu(editing)i(mo)s(de)f(will)g(in)m(v)m
-(ok)m(e)i(the)e Ft(vi)g Fu(editor)h(directly)f(when)f(the)i(`)p
-Ft(v)p Fu(')f(command)g(is)g(run,)330 5340 y(instead)e(of)f(c)m(hec)m
-(king)i Ft($VISUAL)d Fu(and)g Ft($EDITOR)p Fu(.)p eop
+g(\014le)330 5340 y(found)i(in)h Ft($PATH)p Fu(.)p eop
end
%%Page: 101 107
TeXDict begin 101 106 bop 150 -116 a Fu(Chapter)30 b(6:)41
b(Bash)30 b(F)-8 b(eatures)2439 b(101)154 299 y(52.)61
+b(The)33 b Ft(vi)f Fu(editing)i(mo)s(de)f(will)g(in)m(v)m(ok)m(e)i(the)
+e Ft(vi)g Fu(editor)h(directly)f(when)f(the)i(`)p Ft(v)p
+Fu(')f(command)g(is)g(run,)330 408 y(instead)e(of)f(c)m(hec)m(king)i
+Ft($VISUAL)d Fu(and)g Ft($EDITOR)p Fu(.)154 543 y(53.)61
b(When)41 b(the)g Ft(xpg_echo)e Fu(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
-408 y(gumen)m(ts)35 b(to)g Ft(echo)e Fu(as)i(options.)54
+653 y(gumen)m(ts)35 b(to)g Ft(echo)e Fu(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 518 y(con)m(v)m(erted.)154
-653 y(53.)61 b(The)30 b Ft(ulimit)f Fu(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(54.)61 b(The)30 b Ft(ulimit)f Fu(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 Ft(-c)f
-Fu(and)g Ft(-f)f Fu(options.)154 787 y(54.)61 b(The)39
+Fu(and)g Ft(-f)f Fu(options.)154 1031 y(55.)61 b(The)39
b(arriv)-5 b(al)41 b(of)f Ft(SIGCHLD)e Fu(when)h(a)h(trap)g(is)g(set)h
(on)f Ft(SIGCHLD)e Fu(do)s(es)h(not)h(in)m(terrupt)g(the)g
-Ft(wait)330 897 y Fu(builtin)c(and)h(cause)g(it)h(to)f(return)f
+Ft(wait)330 1141 y Fu(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 1006 y(c)m(hild)31 b(that)g(exits.)154
-1141 y(55.)61 b(The)27 b Ft(read)f Fu(builtin)g(ma)m(y)i(b)s(e)e(in)m
+(for)f(eac)m(h)330 1250 y(c)m(hild)31 b(that)g(exits.)154
+1385 y(56.)61 b(The)27 b Ft(read)f Fu(builtin)g(ma)m(y)i(b)s(e)e(in)m
(terrupted)h(b)m(y)g(a)h(signal)f(for)g(whic)m(h)g(a)h(trap)f(has)g(b)s
-(een)f(set.)40 b(If)27 b(Bash)330 1250 y(receiv)m(es)41
+(een)f(set.)40 b(If)27 b(Bash)330 1494 y(receiv)m(es)41
b(a)f(trapp)s(ed)e(signal)i(while)f(executing)h Ft(read)p
Fu(,)h(the)e(trap)h(handler)e(executes)i(and)f Ft(read)330
-1360 y Fu(returns)29 b(an)h(exit)i(status)e(greater)i(than)e(128.)154
-1494 y(56.)61 b(Bash)27 b(remo)m(v)m(es)h(an)e(exited)i(bac)m(kground)e
+1604 y Fu(returns)29 b(an)h(exit)i(status)e(greater)i(than)e(128.)154
+1738 y(57.)61 b(Bash)27 b(remo)m(v)m(es)h(an)e(exited)i(bac)m(kground)e
(pro)s(cess's)h(status)g(from)f(the)h(list)g(of)g(suc)m(h)f(statuses)h
-(after)330 1604 y(the)k Ft(wait)e Fu(builtin)h(is)g(used)g(to)h(obtain)
-g(it.)275 1763 y(There)j(is)g(other)h Fm(posix)f Fu(b)s(eha)m(vior)h
+(after)330 1848 y(the)k Ft(wait)e Fu(builtin)h(is)g(used)g(to)h(obtain)
+g(it.)275 2007 y(There)j(is)g(other)h Fm(posix)f Fu(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 1873 y Fm(posix)d Fu(mo)s(de.)40
-b(Sp)s(eci\014cally:)199 2007 y(1.)61 b(The)30 b Ft(fc)f
+(en)i(when)d(in)150 2117 y Fm(posix)d Fu(mo)s(de.)40
+b(Sp)s(eci\014cally:)199 2252 y(1.)61 b(The)30 b Ft(fc)f
Fu(builtin)h(c)m(hec)m(ks)i Ft($EDITOR)c Fu(as)j(a)f(program)g(to)h
(edit)g(history)f(en)m(tries)h(if)f Ft(FCEDIT)f Fu(is)h(unset,)330
-2117 y(rather)g(than)g(defaulting)h(directly)g(to)g Ft(ed)p
+2361 y(rather)g(than)g(defaulting)h(directly)g(to)g Ft(ed)p
Fu(.)40 b Ft(fc)30 b Fu(uses)g Ft(ed)g Fu(if)g Ft(EDITOR)f
-Fu(is)h(unset.)199 2252 y(2.)61 b(As)29 b(noted)g(ab)s(o)m(v)m(e,)i
+Fu(is)h(unset.)199 2496 y(2.)61 b(As)29 b(noted)g(ab)s(o)m(v)m(e,)i
(Bash)e(requires)g(the)g Ft(xpg_echo)e Fu(option)j(to)g(b)s(e)e
-(enabled)h(for)g(the)g Ft(echo)f Fu(builtin)330 2361
-y(to)j(b)s(e)f(fully)g(conforman)m(t.)275 2521 y(Bash)c(can)g(b)s(e)f
+(enabled)h(for)g(the)g Ft(echo)f Fu(builtin)330 2605
+y(to)j(b)s(e)f(fully)g(conforman)m(t.)275 2765 y(Bash)c(can)g(b)s(e)f
(con\014gured)h(to)g(b)s(e)g Fm(posix)p Fu(-conforman)m(t)g(b)m(y)g
(default,)h(b)m(y)f(sp)s(ecifying)g(the)g Ft(--enable-)150
-2630 y(strict-posix-default)c Fu(to)27 b Ft(configure)e
+2874 y(strict-posix-default)c Fu(to)27 b Ft(configure)e
Fu(when)h(building)h(\(see)h(Section)g(10.8)g([Optional)g(F)-8
-b(eatures],)150 2740 y(page)31 b(148\).)p eop end
+b(eatures],)150 2984 y(page)31 b(149\).)p eop end
%%Page: 102 108
TeXDict begin 102 107 bop 3614 -116 a Fu(102)150 299
y Fp(7)80 b(Job)54 b(Con)l(trol)150 518 y Fu(This)25
@@ -16176,545 +16249,545 @@ b(Command)29 b(Line)i(Editing)2062 b(111)630 299 y Ft
Ft(on)p Fu(',)g(Readline)g(p)s(erforms)e(\014lename)h(matc)m(hing)i
(and)e(completion)1110 518 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 Ft(off)p
-Fu('.)630 669 y Ft(completion-map-case)1110 778 y Fu(If)22
+Fu('.)630 682 y Ft(completion-map-case)1110 792 y Fu(If)22
b(set)g(to)h(`)p Ft(on)p Fu(',)h(and)e Fr(completion-ignore-case)31
-b Fu(is)22 b(enabled,)i(Readline)f(treats)1110 888 y(h)m(yphens)29
+b Fu(is)22 b(enabled,)i(Readline)f(treats)1110 902 y(h)m(yphens)29
b(\(`)p Ft(-)p Fu('\))j(and)e(underscores)g(\(`)p Ft(_)p
Fu('\))i(as)f(equiv)-5 b(alen)m(t)32 b(when)e(p)s(erforming)1110
-998 y(case-insensitiv)m(e)j(\014lename)d(matc)m(hing)i(and)e
-(completion.)630 1148 y Ft(completion-prefix-displa)o(y-le)o(ngth)1110
-1258 y Fu(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 1367
-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 1477
+1011 y(case-insensitiv)m(e)47 b(\014lename)e(matc)m(hing)g(and)f
+(completion.)85 b(The)44 b(default)1110 1121 y(v)-5 b(alue)31
+b(is)f(`)p Ft(off)p Fu('.)630 1285 y Ft(completion-prefix-displa)o
+(y-le)o(ngth)1110 1395 y Fu(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
+1504 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 1614
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 1587
+(longer)j(than)e(this)g(v)-5 b(alue)27 b(are)1110 1724
y(replaced)k(with)f(an)g(ellipsis)h(when)e(displa)m(ying)i(p)s(ossible)
-f(completions.)630 1737 y Ft(completion-query-items)1110
-1847 y Fu(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 1956 y(is)i(ask)m(ed)h
+f(completions.)630 1888 y Ft(completion-query-items)1110
+1998 y Fu(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 2107 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 2066 y(n)m(um)m(b)s(er)d(of)h
+(displa)m(y)m(ed.)41 b(If)29 b(the)1110 2217 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 2176 y(will)f(ask)g(the)f(user)g(whether)g
+b(alue,)28 b(Readline)1110 2326 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
-2285 y(they)d(are)f(simply)g(listed.)40 b(This)23 b(v)-5
+2436 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 2395 y(greater)26 b(than)f(or)f(equal)i(to)f(0.)40
+b(alue)1110 2545 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
-2504 y(nev)m(er)31 b(ask.)41 b(The)29 b(default)i(limit)g(is)g
-Ft(100)p Fu(.)630 2655 y Ft(convert-meta)1110 2765 y
+2655 y(nev)m(er)31 b(ask.)41 b(The)29 b(default)i(limit)g(is)g
+Ft(100)p Fu(.)630 2819 y Ft(convert-meta)1110 2929 y
Fu(If)22 b(set)g(to)h(`)p Ft(on)p Fu(',)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
-2874 y(to)33 b(an)e Fm(asci)r(i)h Fu(k)m(ey)h(sequence)f(b)m(y)g
+3039 y(to)33 b(an)e Fm(asci)r(i)h Fu(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
-2984 y(an)24 b Ft(ESC)g Fu(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 3093
+3148 y(an)24 b Ft(ESC)g Fu(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 3258
y(The)i(default)h(v)-5 b(alue)28 b(is)f(`)p Ft(on)p Fu(',)i(but)d(will)
i(b)s(e)f(set)h(to)g(`)p Ft(off)p Fu(')g(if)f(the)h(lo)s(cale)h(is)f
-(one)1110 3203 y(that)j(con)m(tains)h(eigh)m(t-bit)g(c)m(haracters.)630
-3354 y Ft(disable-completion)1110 3463 y Fu(If)k(set)h(to)h(`)p
+(one)1110 3367 y(that)j(con)m(tains)h(eigh)m(t-bit)g(c)m(haracters.)630
+3532 y Ft(disable-completion)1110 3641 y Fu(If)k(set)h(to)h(`)p
Ft(On)p Fu(',)g(Readline)f(will)g(inhibit)f(w)m(ord)h(completion.)60
-b(Completion)1110 3573 y(c)m(haracters)28 b(will)e(b)s(e)f(inserted)h
+b(Completion)1110 3751 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
-3682 y(to)31 b Ft(self-insert)p Fu(.)38 b(The)30 b(default)g(is)h(`)p
-Ft(off)p Fu('.)630 3833 y Ft(echo-control-characters)1110
-3943 y Fu(When)f(set)h(to)g(`)p Ft(on)p Fu(',)f(on)g(op)s(erating)h
-(systems)f(that)h(indicate)g(they)g(supp)s(ort)1110 4052
+3861 y(to)31 b Ft(self-insert)p Fu(.)38 b(The)30 b(default)g(is)h(`)p
+Ft(off)p Fu('.)630 4025 y Ft(echo-control-characters)1110
+4134 y Fu(When)f(set)h(to)g(`)p Ft(on)p Fu(',)f(on)g(op)s(erating)h
+(systems)f(that)h(indicate)g(they)g(supp)s(ort)1110 4244
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 4162 y(from)e(the)g(k)m(eyb)s(oard.)
-41 b(The)30 b(default)g(is)h(`)p Ft(on)p Fu('.)630 4313
-y Ft(editing-mode)1110 4422 y Fu(The)d Ft(editing-mode)e
+(to)j(a)f(signal)g(generated)1110 4354 y(from)e(the)g(k)m(eyb)s(oard.)
+41 b(The)30 b(default)g(is)h(`)p Ft(on)p Fu('.)630 4518
+y Ft(editing-mode)1110 4628 y Fu(The)d Ft(editing-mode)e
Fu(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 4532 y(ings)25 b(is)g(used.)38 b(By)26
+m(ey)i(bind-)1110 4737 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 4641 y(where)j(the)g(k)m(eystrok)m(es)i(are)e(most)h(similar)f(to)
+1110 4847 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
-4751 y(b)s(e)g(set)h(to)g(either)g(`)p Ft(emacs)p Fu(')e(or)h(`)p
-Ft(vi)p Fu('.)630 4902 y Ft(emacs-mode-string)1110 5011
+4956 y(b)s(e)g(set)h(to)g(either)g(`)p Ft(emacs)p Fu(')e(or)h(`)p
+Ft(vi)p Fu('.)630 5121 y Ft(emacs-mode-string)1110 5230
y Fu(If)j(the)h Fr(sho)m(w-mo)s(de-in-prompt)h Fu(v)-5
b(ariable)35 b(is)e(enabled,)i(this)f(string)f(is)h(dis-)1110
-5121 y(pla)m(y)m(ed)24 b(immediately)g(b)s(efore)f(the)g(last)h(line)f
-(of)h(the)f(primary)f(prompt)g(when)1110 5230 y(emacs)g(editing)h(mo)s
-(de)e(is)h(activ)m(e.)40 b(The)21 b(v)-5 b(alue)22 b(is)g(expanded)f
-(lik)m(e)h(a)h(k)m(ey)f(bind-)1110 5340 y(ing,)27 b(so)f(the)f
-(standard)g(set)h(of)f(meta-)i(and)e(con)m(trol)i(pre\014xes)d(and)h
-(bac)m(kslash)p eop end
+5340 y(pla)m(y)m(ed)24 b(immediately)g(b)s(efore)f(the)g(last)h(line)f
+(of)h(the)f(primary)f(prompt)g(when)p eop end
%%Page: 112 118
TeXDict begin 112 117 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(112)1110 299 y(escap)s(e)24
-b(sequences)h(is)e(a)m(v)-5 b(ailable.)41 b(Use)25 b(the)f(`)p
+b(Command)29 b(Line)i(Editing)2062 b(112)1110 299 y(emacs)22
+b(editing)h(mo)s(de)e(is)h(activ)m(e.)40 b(The)21 b(v)-5
+b(alue)22 b(is)g(expanded)f(lik)m(e)h(a)h(k)m(ey)f(bind-)1110
+408 y(ing,)27 b(so)f(the)f(standard)g(set)h(of)f(meta-)i(and)e(con)m
+(trol)i(pre\014xes)d(and)h(bac)m(kslash)1110 518 y(escap)s(e)f
+(sequences)h(is)e(a)m(v)-5 b(ailable.)41 b(Use)25 b(the)f(`)p
Ft(\\1)p Fu(')f(and)h(`)p Ft(\\2)p Fu(')g(escap)s(es)g(to)g(b)s(egin)
-1110 408 y(and)37 b(end)g(sequences)h(of)f(non-prin)m(ting)h(c)m
-(haracters,)j(whic)m(h)c(can)h(b)s(e)f(used)1110 518
+1110 628 y(and)37 b(end)g(sequences)h(of)f(non-prin)m(ting)h(c)m
+(haracters,)j(whic)m(h)c(can)h(b)s(e)f(used)1110 737
y(to)h(em)m(b)s(ed)f(a)g(terminal)h(con)m(trol)h(sequence)f(in)m(to)g
-(the)f(mo)s(de)g(string.)61 b(The)1110 628 y(default)31
-b(is)f(`)p Ft(@)p Fu('.)630 778 y Ft(enable-bracketed-paste)1110
-888 y Fu(When)24 b(set)h(to)h(`)p Ft(On)p Fu(',)g(Readline)f(will)g
+(the)f(mo)s(de)g(string.)61 b(The)1110 847 y(default)31
+b(is)f(`)p Ft(@)p Fu('.)630 1019 y Ft(enable-bracketed-paste)1110
+1129 y Fu(When)24 b(set)h(to)h(`)p Ft(On)p Fu(',)g(Readline)f(will)g
(con\014gure)f(the)h(terminal)g(in)f(a)h(w)m(a)m(y)g(that)1110
-998 y(will)k(enable)f(it)h(to)g(insert)g(eac)m(h)g(paste)g(in)m(to)g
-(the)g(editing)g(bu\013er)e(as)i(a)f(single)1110 1107
+1238 y(will)k(enable)f(it)h(to)g(insert)g(eac)m(h)g(paste)g(in)m(to)g
+(the)g(editing)g(bu\013er)e(as)i(a)f(single)1110 1348
y(string)33 b(of)f(c)m(haracters,)j(instead)e(of)g(treating)h(eac)m(h)g
-(c)m(haracter)g(as)f(if)f(it)i(had)1110 1217 y(b)s(een)e(read)i(from)e
+(c)m(haracter)g(as)f(if)f(it)i(had)1110 1457 y(b)s(een)e(read)i(from)e
(the)i(k)m(eyb)s(oard.)49 b(This)32 b(can)h(prev)m(en)m(t)h(pasted)f(c)
-m(haracters)1110 1326 y(from)d(b)s(eing)g(in)m(terpreted)h(as)f
+m(haracters)1110 1567 y(from)d(b)s(eing)g(in)m(terpreted)h(as)f
(editing)h(commands.)41 b(The)29 b(default)i(is)f(`)p
-Ft(off)p Fu('.)630 1477 y Ft(enable-keypad)1110 1587
+Ft(off)p Fu('.)630 1739 y Ft(enable-keypad)1110 1849
y Fu(When)23 b(set)h(to)g(`)p Ft(on)p Fu(',)h(Readline)f(will)g(try)f
-(to)h(enable)g(the)f(application)i(k)m(eypad)1110 1696
+(to)h(enable)g(the)f(application)i(k)m(eypad)1110 1958
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 1806 y(The)j(default)g(is)h(`)
-p Ft(off)p Fu('.)630 1956 y Ft(enable-meta-key)1110 2066
+(enable)g(the)g(arro)m(w)g(k)m(eys.)1110 2068 y(The)j(default)g(is)h(`)
+p Ft(off)p Fu('.)630 2240 y Ft(enable-meta-key)1110 2350
y Fu(When)40 b(set)g(to)g(`)p Ft(on)p Fu(',)j(Readline)d(will)g(try)g
-(to)g(enable)g(an)m(y)g(meta)h(mo)s(di\014er)1110 2176
+(to)g(enable)g(an)m(y)g(meta)h(mo)s(di\014er)1110 2459
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 2285 y(terminals,)c(the)e(meta)h(k)m
+(called.)76 b(On)41 b(man)m(y)1110 2569 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 2395 y(default)31 b(is)f(`)p Ft(on)p Fu('.)630
-2545 y Ft(expand-tilde)1110 2655 y Fu(If)d(set)h(to)h(`)p
+b(The)1110 2679 y(default)31 b(is)f(`)p Ft(on)p Fu('.)630
+2851 y Ft(expand-tilde)1110 2960 y Fu(If)d(set)h(to)h(`)p
Ft(on)p Fu(',)f(tilde)g(expansion)g(is)f(p)s(erformed)f(when)h
-(Readline)h(attempts)1110 2765 y(w)m(ord)i(completion.)42
-b(The)30 b(default)g(is)h(`)p Ft(off)p Fu('.)630 2915
-y Ft(history-preserve-point)1110 3025 y Fu(If)41 b(set)h(to)h(`)p
+(Readline)h(attempts)1110 3070 y(w)m(ord)i(completion.)42
+b(The)30 b(default)g(is)h(`)p Ft(off)p Fu('.)630 3242
+y Ft(history-preserve-point)1110 3352 y Fu(If)41 b(set)h(to)h(`)p
Ft(on)p Fu(',)i(the)c(history)h(co)s(de)g(attempts)h(to)f(place)h(the)f
-(p)s(oin)m(t)f(\(the)1110 3134 y(curren)m(t)35 b(cursor)g(p)s
+(p)s(oin)m(t)f(\(the)1110 3461 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 3244 y(retriev)m(ed)h(with)f Ft(previous-history)c
+(line)1110 3571 y(retriev)m(ed)h(with)f Ft(previous-history)c
Fu(or)37 b Ft(next-history)p Fu(.)55 b(The)36 b(default)1110
-3354 y(is)30 b(`)p Ft(off)p Fu('.)630 3504 y Ft(history-size)1110
-3614 y Fu(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 3724
+3680 y(is)30 b(`)p Ft(off)p Fu('.)630 3853 y Ft(history-size)1110
+3962 y Fu(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 4072
y(list.)51 b(If)34 b(set)g(to)h(zero,)g(an)m(y)f(existing)h(history)f
-(en)m(tries)g(are)g(deleted)h(and)e(no)1110 3833 y(new)e(en)m(tries)i
+(en)m(tries)g(are)g(deleted)h(and)e(no)1110 4181 y(new)e(en)m(tries)i
(are)f(sa)m(v)m(ed.)46 b(If)31 b(set)h(to)h(a)f(v)-5
b(alue)32 b(less)g(than)f(zero,)i(the)f(n)m(um)m(b)s(er)1110
-3943 y(of)f(history)f(en)m(tries)h(is)g(not)g(limited.)42
+4291 y(of)f(history)f(en)m(tries)h(is)g(not)g(limited.)42
b(By)30 b(default,)h(the)g(n)m(um)m(b)s(er)e(of)i(history)1110
-4052 y(en)m(tries)j(is)f(not)g(limited.)49 b(If)32 b(an)h(attempt)h(is)
-f(made)g(to)h(set)f Fr(history-size)39 b Fu(to)1110 4162
+4401 y(en)m(tries)j(is)f(not)g(limited.)49 b(If)32 b(an)h(attempt)h(is)
+f(made)g(to)h(set)f Fr(history-size)39 b Fu(to)1110 4510
y(a)34 b(non-n)m(umeric)f(v)-5 b(alue,)34 b(the)g(maxim)m(um)f(n)m(um)m
-(b)s(er)f(of)h(history)h(en)m(tries)g(will)1110 4271
-y(b)s(e)c(set)h(to)g(500.)630 4422 y Ft(horizontal-scroll-mode)1110
-4532 y Fu(This)k(v)-5 b(ariable)37 b(can)f(b)s(e)f(set)h(to)h(either)f
+(b)s(er)f(of)h(history)h(en)m(tries)g(will)1110 4620
+y(b)s(e)c(set)h(to)g(500.)630 4792 y Ft(horizontal-scroll-mode)1110
+4902 y Fu(This)k(v)-5 b(ariable)37 b(can)f(b)s(e)f(set)h(to)h(either)f
(`)p Ft(on)p Fu(')g(or)g(`)p Ft(off)p Fu('.)57 b(Setting)36
-b(it)g(to)h(`)p Ft(on)p Fu(')1110 4641 y(means)26 b(that)h(the)f(text)h
+b(it)g(to)h(`)p Ft(on)p Fu(')1110 5011 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 4751 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 4861
+(tally)1110 5121 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 5230
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 4970 y(v)-5
-b(ariable)31 b(is)g(set)f(to)i(`)p Ft(off)p Fu('.)630
-5121 y Ft(input-meta)1110 5230 y Fu(If)f(set)g(to)h(`)p
-Ft(on)p Fu(',)g(Readline)g(will)f(enable)h(eigh)m(t-bit)h(input)d(\(it)
-i(will)f(not)h(clear)1110 5340 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)p
-eop end
+(line.)39 b(By)27 b(default,)g(this)1110 5340 y(v)-5
+b(ariable)31 b(is)g(set)f(to)i(`)p Ft(off)p Fu('.)p eop
+end
%%Page: 113 119
TeXDict begin 113 118 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(113)1110 299 y(terminal)44
-b(claims)h(it)f(can)g(supp)s(ort.)79 b(The)44 b(default)g(v)-5
-b(alue)44 b(is)g(`)p Ft(off)p Fu(',)j(but)1110 408 y(Readline)24
+b(Command)29 b(Line)i(Editing)2062 b(113)630 299 y Ft(input-meta)1110
+408 y Fu(If)31 b(set)g(to)h(`)p Ft(on)p Fu(',)g(Readline)g(will)f
+(enable)h(eigh)m(t-bit)h(input)d(\(it)i(will)f(not)h(clear)1110
+518 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 628 y(terminal)k(claims)h
+(it)f(can)g(supp)s(ort.)79 b(The)44 b(default)g(v)-5
+b(alue)44 b(is)g(`)p Ft(off)p Fu(',)j(but)1110 737 y(Readline)24
b(will)h(set)f(it)g(to)h(`)p Ft(on)p Fu(')e(if)h(the)g(lo)s(cale)i(con)
-m(tains)f(eigh)m(t-bit)g(c)m(haracters.)1110 518 y(The)30
+m(tains)f(eigh)m(t-bit)g(c)m(haracters.)1110 847 y(The)30
b(name)g Ft(meta-flag)e Fu(is)j(a)f(synon)m(ym)g(for)g(this)h(v)-5
-b(ariable.)630 675 y Ft(isearch-terminators)1110 784
+b(ariable.)630 1029 y Ft(isearch-terminators)1110 1139
y Fu(The)51 b(string)h(of)g(c)m(haracters)h(that)f(should)e(terminate)j
-(an)f(incremen)m(tal)1110 894 y(searc)m(h)25 b(without)g(subsequen)m
+(an)f(incremen)m(tal)1110 1249 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
-1003 y(\(see)38 b(Section)g(8.2.5)h([Searc)m(hing],)h(page)e(108\).)62
-b(If)37 b(this)g(v)-5 b(ariable)38 b(has)f(not)1110 1113
+1358 y(\(see)38 b(Section)g(8.2.5)h([Searc)m(hing],)h(page)e(108\).)62
+b(If)37 b(this)g(v)-5 b(ariable)38 b(has)f(not)1110 1468
y(b)s(een)e(giv)m(en)h(a)g(v)-5 b(alue,)37 b(the)f(c)m(haracters)h
Ft(ESC)d Fu(and)h Fj(C-J)g Fu(will)h(terminate)g(an)1110
-1223 y(incremen)m(tal)c(searc)m(h.)630 1379 y Ft(keymap)192
+1577 y(incremen)m(tal)c(searc)m(h.)630 1760 y Ft(keymap)192
b Fu(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 1489 y(mands.)81
+(for)g(k)m(ey)g(binding)f(com-)1110 1870 y(mands.)81
b(Acceptable)47 b Ft(keymap)42 b Fu(names)i(are)h Ft(emacs)p
-Fu(,)i Ft(emacs-standard)p Fu(,)1110 1598 y Ft(emacs-meta)p
+Fu(,)i Ft(emacs-standard)p Fu(,)1110 1979 y Ft(emacs-meta)p
Fu(,)99 b Ft(emacs-ctlx)p Fu(,)f Ft(vi)p Fu(,)j Ft(vi-move)p
-Fu(,)f Ft(vi-command)p Fu(,)f(and)1110 1708 y Ft(vi-insert)p
+Fu(,)f Ft(vi-command)p Fu(,)f(and)1110 2089 y Ft(vi-insert)p
Fu(.)81 b Ft(vi)44 b Fu(is)h(equiv)-5 b(alen)m(t)46 b(to)g
Ft(vi-command)c Fu(\()p Ft(vi-move)h Fu(is)i(also)h(a)1110
-1817 y(synon)m(ym\);)g Ft(emacs)39 b Fu(is)i(equiv)-5
+2198 y(synon)m(ym\);)g Ft(emacs)39 b Fu(is)i(equiv)-5
b(alen)m(t)42 b(to)g Ft(emacs-standard)p Fu(.)68 b(The)40
-b(default)1110 1927 y(v)-5 b(alue)52 b(is)f Ft(emacs)p
+b(default)1110 2308 y(v)-5 b(alue)52 b(is)f Ft(emacs)p
Fu(.)103 b(The)51 b(v)-5 b(alue)52 b(of)f(the)h Ft(editing-mode)c
-Fu(v)-5 b(ariable)52 b(also)1110 2037 y(a\013ects)32
-b(the)e(default)h(k)m(eymap.)630 2193 y Ft(keyseq-timeout)1110
-2303 y Fu(Sp)s(eci\014es)25 b(the)g(duration)g(Readline)h(will)g(w)m
-(ait)g(for)g(a)f(c)m(haracter)i(when)e(read-)1110 2412
+Fu(v)-5 b(ariable)52 b(also)1110 2418 y(a\013ects)32
+b(the)e(default)h(k)m(eymap.)630 2600 y Ft(keyseq-timeout)1110
+2710 y Fu(Sp)s(eci\014es)25 b(the)g(duration)g(Readline)h(will)g(w)m
+(ait)g(for)g(a)f(c)m(haracter)i(when)e(read-)1110 2819
y(ing)30 b(an)g(am)m(biguous)g(k)m(ey)h(sequence)f(\(one)g(that)h(can)f
-(form)g(a)g(complete)h(k)m(ey)1110 2522 y(sequence)j(using)e(the)i
+(form)g(a)g(complete)h(k)m(ey)1110 2929 y(sequence)j(using)e(the)i
(input)e(read)h(so)g(far,)h(or)g(can)f(tak)m(e)i(additional)f(input)
-1110 2632 y(to)g(complete)g(a)f(longer)h(k)m(ey)f(sequence\).)49
+1110 3039 y(to)g(complete)g(a)f(longer)h(k)m(ey)f(sequence\).)49
b(If)33 b(no)f(input)g(is)h(receiv)m(ed)h(within)1110
-2741 y(the)43 b(timeout,)48 b(Readline)43 b(will)g(use)g(the)g(shorter)
-g(but)f(complete)j(k)m(ey)e(se-)1110 2851 y(quence.)c(Readline)26
+3148 y(the)43 b(timeout,)48 b(Readline)43 b(will)g(use)g(the)g(shorter)
+g(but)f(complete)j(k)m(ey)e(se-)1110 3258 y(quence.)c(Readline)26
b(uses)f(this)h(v)-5 b(alue)26 b(to)g(determine)g(whether)f(or)g(not)h
-(input)1110 2960 y(is)31 b(a)m(v)-5 b(ailable)33 b(on)d(the)h(curren)m
+(input)1110 3367 y(is)31 b(a)m(v)-5 b(ailable)33 b(on)d(the)h(curren)m
(t)f(input)g(source)h(\()p Ft(rl_instream)d Fu(b)m(y)i(default\).)1110
-3070 y(The)25 b(v)-5 b(alue)26 b(is)f(sp)s(eci\014ed)f(in)h
+3477 y(The)25 b(v)-5 b(alue)26 b(is)f(sp)s(eci\014ed)f(in)h
(milliseconds,)j(so)d(a)h(v)-5 b(alue)26 b(of)f(1000)i(means)e(that)
-1110 3180 y(Readline)e(will)g(w)m(ait)g(one)g(second)f(for)g
+1110 3587 y(Readline)e(will)g(w)m(ait)g(one)g(second)f(for)g
(additional)i(input.)37 b(If)22 b(this)g(v)-5 b(ariable)23
-b(is)1110 3289 y(set)28 b(to)h(a)f(v)-5 b(alue)29 b(less)f(than)g(or)f
+b(is)1110 3696 y(set)28 b(to)h(a)f(v)-5 b(alue)29 b(less)f(than)g(or)f
(equal)i(to)f(zero,)i(or)e(to)g(a)h(non-n)m(umeric)e(v)-5
-b(alue,)1110 3399 y(Readline)30 b(will)f(w)m(ait)i(un)m(til)e(another)h
+b(alue,)1110 3806 y(Readline)30 b(will)f(w)m(ait)i(un)m(til)e(another)h
(k)m(ey)g(is)f(pressed)g(to)h(decide)f(whic)m(h)g(k)m(ey)1110
-3508 y(sequence)i(to)g(complete.)42 b(The)30 b(default)g(v)-5
-b(alue)31 b(is)g Ft(500)p Fu(.)630 3665 y Ft(mark-directories)1110
-3774 y Fu(If)38 b(set)g(to)h(`)p Ft(on)p Fu(',)i(completed)e(directory)
+3915 y(sequence)i(to)g(complete.)42 b(The)30 b(default)g(v)-5
+b(alue)31 b(is)g Ft(500)p Fu(.)630 4098 y Ft(mark-directories)1110
+4208 y Fu(If)38 b(set)g(to)h(`)p Ft(on)p Fu(',)i(completed)e(directory)
f(names)g(ha)m(v)m(e)i(a)e(slash)g(app)s(ended.)1110
-3884 y(The)30 b(default)g(is)h(`)p Ft(on)p Fu('.)630
-4041 y Ft(mark-modified-lines)1110 4150 y Fu(This)k(v)-5
+4317 y(The)30 b(default)g(is)h(`)p Ft(on)p Fu('.)630
+4500 y Ft(mark-modified-lines)1110 4609 y Fu(This)k(v)-5
b(ariable,)38 b(when)d(set)h(to)h(`)p Ft(on)p Fu(',)g(causes)g
-(Readline)f(to)h(displa)m(y)f(an)f(as-)1110 4260 y(terisk)f(\(`)p
+(Readline)f(to)h(displa)m(y)f(an)f(as-)1110 4719 y(terisk)f(\(`)p
Ft(*)p Fu('\))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 4369 y(This)d(v)-5
+(ha)m(v)m(e)i(b)s(een)e(mo)s(di\014ed.)1110 4829 y(This)d(v)-5
b(ariable)31 b(is)f(`)p Ft(off)p Fu(')g(b)m(y)g(default.)630
-4526 y Ft(mark-symlinked-directori)o(es)1110 4635 y Fu(If)59
+5011 y Ft(mark-symlinked-directori)o(es)1110 5121 y Fu(If)59
b(set)h(to)g(`)p Ft(on)p Fu(',)67 b(completed)60 b(names)f(whic)m(h)g
-(are)h(sym)m(b)s(olic)g(links)f(to)1110 4745 y(directories)71
+(are)h(sym)m(b)s(olic)g(links)f(to)1110 5230 y(directories)71
b(ha)m(v)m(e)f(a)g(slash)f(app)s(ended)f(\(sub)5 b(ject)70
-b(to)g(the)g(v)-5 b(alue)70 b(of)1110 4855 y Ft(mark-directories)p
-Fu(\).)37 b(The)30 b(default)g(is)g(`)p Ft(off)p Fu('.)630
-5011 y Ft(match-hidden-files)1110 5121 y Fu(This)21 b(v)-5
-b(ariable,)25 b(when)d(set)g(to)h(`)p Ft(on)p Fu(',)h(causes)f
-(Readline)g(to)g(matc)m(h)g(\014les)f(whose)1110 5230
-y(names)44 b(b)s(egin)g(with)g(a)g(`)p Ft(.)p Fu(')g(\(hidden)f
-(\014les\))i(when)e(p)s(erforming)g(\014lename)1110 5340
-y(completion.)75 b(If)41 b(set)g(to)h(`)p Ft(off)p Fu(',)i(the)e
-(leading)g(`)p Ft(.)p Fu(')f(m)m(ust)g(b)s(e)g(supplied)f(b)m(y)p
+b(to)g(the)g(v)-5 b(alue)70 b(of)1110 5340 y Ft(mark-directories)p
+Fu(\).)37 b(The)30 b(default)g(is)g(`)p Ft(off)p Fu('.)p
eop end
%%Page: 114 120
TeXDict begin 114 119 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(114)1110 299 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 Ft(on)p Fu(')g(b)m(y)1110
-408 y(default.)630 555 y Ft(menu-complete-display-pr)o(efix)1110
-664 y Fu(If)f(set)h(to)g(`)p Ft(on)p Fu(',)h(men)m(u)e(completion)i
-(displa)m(ys)e(the)h(common)g(pre\014x)e(of)i(the)1110
-774 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 883 y(through)30
-b(the)g(list.)42 b(The)29 b(default)i(is)f(`)p Ft(off)p
-Fu('.)630 1029 y Ft(output-meta)1110 1139 y Fu(If)35
-b(set)h(to)g(`)p Ft(on)p Fu(',)h(Readline)f(will)g(displa)m(y)f(c)m
-(haracters)i(with)e(the)h(eigh)m(th)g(bit)1110 1249 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 1358 y(default)26 b(is)f(`)p Ft(off)p Fu(',)i(but)e
-(Readline)h(will)g(set)g(it)g(to)h(`)p Ft(on)p Fu(')e(if)h(the)f(lo)s
-(cale)j(con)m(tains)1110 1468 y(eigh)m(t-bit)k(c)m(haracters.)630
-1614 y Ft(page-completions)1110 1724 y Fu(If)h(set)i(to)f(`)p
-Ft(on)p Fu(',)h(Readline)g(uses)e(an)h(in)m(ternal)h
-Ft(more)p Fu(-lik)m(e)f(pager)g(to)h(displa)m(y)1110
-1833 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 Ft(on)p Fu(')1110
-1943 y(b)m(y)e(default.)630 2089 y Ft(print-completions-horizo)o(ntal)o
-(ly)1110 2198 y Fu(If)23 b(set)i(to)g(`)p Ft(on)p Fu(',)g(Readline)g
-(will)f(displa)m(y)g(completions)h(with)f(matc)m(hes)h(sorted)1110
-2308 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 2418 y(The)30 b(default)g(is)h(`)p
-Ft(off)p Fu('.)630 2564 y Ft(revert-all-at-newline)1110
-2673 y Fu(If)e(set)h(to)g(`)p Ft(on)p Fu(',)g(Readline)g(will)g(undo)f
-(all)h(c)m(hanges)h(to)f(history)g(lines)f(b)s(efore)1110
-2783 y(returning)f(when)f Ft(accept-line)f Fu(is)j(executed.)41
-b(By)29 b(default,)g(history)g(lines)1110 2892 y(ma)m(y)42
+b(Command)29 b(Line)i(Editing)2062 b(114)630 299 y Ft
+(match-hidden-files)1110 408 y Fu(This)21 b(v)-5 b(ariable,)25
+b(when)d(set)g(to)h(`)p Ft(on)p Fu(',)h(causes)f(Readline)g(to)g(matc)m
+(h)g(\014les)f(whose)1110 518 y(names)44 b(b)s(egin)g(with)g(a)g(`)p
+Ft(.)p Fu(')g(\(hidden)f(\014les\))i(when)e(p)s(erforming)g(\014lename)
+1110 628 y(completion.)75 b(If)41 b(set)g(to)h(`)p Ft(off)p
+Fu(',)i(the)e(leading)g(`)p Ft(.)p Fu(')f(m)m(ust)g(b)s(e)g(supplied)f
+(b)m(y)1110 737 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
+Ft(on)p Fu(')g(b)m(y)1110 847 y(default.)630 1011 y Ft
+(menu-complete-display-pr)o(efix)1110 1121 y Fu(If)f(set)h(to)g(`)p
+Ft(on)p Fu(',)h(men)m(u)e(completion)i(displa)m(ys)e(the)h(common)g
+(pre\014x)e(of)i(the)1110 1230 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
+1340 y(through)30 b(the)g(list.)42 b(The)29 b(default)i(is)f(`)p
+Ft(off)p Fu('.)630 1504 y Ft(output-meta)1110 1614 y
+Fu(If)35 b(set)h(to)g(`)p Ft(on)p Fu(',)h(Readline)f(will)g(displa)m(y)
+f(c)m(haracters)i(with)e(the)h(eigh)m(th)g(bit)1110 1724
+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 1833 y(default)26 b(is)f(`)p
+Ft(off)p Fu(',)i(but)e(Readline)h(will)g(set)g(it)g(to)h(`)p
+Ft(on)p Fu(')e(if)h(the)f(lo)s(cale)j(con)m(tains)1110
+1943 y(eigh)m(t-bit)k(c)m(haracters.)630 2107 y Ft(page-completions)
+1110 2217 y Fu(If)h(set)i(to)f(`)p Ft(on)p Fu(',)h(Readline)g(uses)e
+(an)h(in)m(ternal)h Ft(more)p Fu(-lik)m(e)f(pager)g(to)h(displa)m(y)
+1110 2326 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 Ft(on)p
+Fu(')1110 2436 y(b)m(y)e(default.)630 2600 y Ft
+(print-completions-horizo)o(ntal)o(ly)1110 2710 y Fu(If)23
+b(set)i(to)g(`)p Ft(on)p Fu(',)g(Readline)g(will)f(displa)m(y)g
+(completions)h(with)f(matc)m(hes)h(sorted)1110 2819 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 2929 y(The)30 b(default)g(is)h(`)p Ft(off)p
+Fu('.)630 3093 y Ft(revert-all-at-newline)1110 3203 y
+Fu(If)e(set)h(to)g(`)p Ft(on)p Fu(',)g(Readline)g(will)g(undo)f(all)h
+(c)m(hanges)h(to)f(history)g(lines)f(b)s(efore)1110 3313
+y(returning)f(when)f Ft(accept-line)f Fu(is)j(executed.)41
+b(By)29 b(default,)g(history)g(lines)1110 3422 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 3002 y Ft(readline)p Fu(.)38
-b(The)30 b(default)h(is)f(`)p Ft(off)p Fu('.)630 3148
-y Ft(show-all-if-ambiguous)1110 3258 y Fu(This)f(alters)i(the)f
+(across)g(calls)h(to)1110 3532 y Ft(readline)p Fu(.)38
+b(The)30 b(default)h(is)f(`)p Ft(off)p Fu('.)630 3696
+y Ft(show-all-if-ambiguous)1110 3806 y Fu(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 3367 y(to)f(`)p Ft(on)p Fu(',)g(w)m(ords)f(whic)m(h)
+b(If)29 b(set)1110 3915 y(to)f(`)p Ft(on)p Fu(',)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 3477 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 3587 y(The)30
+1110 4025 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 4134 y(The)30
b(default)g(v)-5 b(alue)31 b(is)g(`)p Ft(off)p Fu('.)630
-3733 y Ft(show-all-if-unmodified)1110 3842 y Fu(This)38
+4299 y Ft(show-all-if-unmodified)1110 4408 y Fu(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 3952 y(fashion)25 b(similar)h(to)g
+(functions)e(in)h(a)1110 4518 y(fashion)25 b(similar)h(to)g
Fr(sho)m(w-all-if-am)m(biguous)p Fu(.)41 b(If)25 b(set)h(to)h(`)p
-Ft(on)p Fu(',)f(w)m(ords)f(whic)m(h)1110 4061 y(ha)m(v)m(e)32
+Ft(on)p Fu(',)f(w)m(ords)f(whic)m(h)1110 4628 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 4171 y(tial)43 b(completion)h(\(the)f(p)s(ossible)
-f(completions)h(don't)f(share)g(a)h(common)1110 4281
+(ossible)f(par-)1110 4737 y(tial)43 b(completion)h(\(the)f(p)s(ossible)
+f(completions)h(don't)f(share)g(a)h(common)1110 4847
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 4390 y(ing)g(the)f(b)s(ell.)41
+(immediately)i(instead)e(of)h(ring-)1110 4956 y(ing)g(the)f(b)s(ell.)41
b(The)30 b(default)g(v)-5 b(alue)31 b(is)f(`)p Ft(off)p
-Fu('.)630 4536 y Ft(show-mode-in-prompt)1110 4646 y Fu(If)24
+Fu('.)630 5121 y Ft(show-mode-in-prompt)1110 5230 y Fu(If)24
b(set)h(to)g(`)p Ft(on)p Fu(',)g(add)f(a)h(string)f(to)h(the)f(b)s
-(eginning)g(of)g(the)h(prompt)e(indicating)1110 4756
+(eginning)g(of)g(the)h(prompt)e(indicating)1110 5340
y(the)33 b(editing)h(mo)s(de:)46 b(emacs,)35 b(vi)e(command,)h(or)f(vi)
-h(insertion.)49 b(The)32 b(mo)s(de)1110 4865 y(strings)45
-b(are)h(user-settable)g(\(e.g.,)51 b Fr(emacs-mo)s(de-string)8
-b Fu(\).)87 b(The)45 b(default)1110 4975 y(v)-5 b(alue)31
-b(is)f(`)p Ft(off)p Fu('.)630 5121 y Ft(skip-completed-text)1110
-5230 y Fu(If)i(set)i(to)f(`)p Ft(on)p Fu(',)h(this)f(alters)g(the)g
-(default)g(completion)h(b)s(eha)m(vior)f(when)f(in-)1110
-5340 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-)p eop
-end
+h(insertion.)49 b(The)32 b(mo)s(de)p eop end
%%Page: 115 121
TeXDict begin 115 120 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(115)1110 299 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 408 y(not)41
+b(Command)29 b(Line)i(Editing)2062 b(115)1110 299 y(strings)45
+b(are)h(user-settable)g(\(e.g.,)51 b Fr(emacs-mo)s(de-string)8
+b Fu(\).)87 b(The)45 b(default)1110 408 y(v)-5 b(alue)31
+b(is)f(`)p Ft(off)p Fu('.)630 558 y Ft(skip-completed-text)1110
+667 y Fu(If)i(set)i(to)f(`)p Ft(on)p Fu(',)h(this)f(alters)g(the)g
+(default)g(completion)h(b)s(eha)m(vior)f(when)f(in-)1110
+777 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
+887 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 996 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 518 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
-628 y(follo)m(wing)c(the)f(cursor)f(are)h(not)g(duplicated.)45
+(c)m(haracters)1110 1106 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
+1215 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
-737 y(abled,)43 b(attempting)f(completion)g(when)d(the)i(cursor)f(is)g
-(after)h(the)g(`)p Ft(e)p Fu(')f(in)1110 847 y(`)p Ft(Makefile)p
+1325 y(abled,)43 b(attempting)f(completion)g(when)d(the)i(cursor)f(is)g
+(after)h(the)g(`)p Ft(e)p Fu(')f(in)1110 1435 y(`)p Ft(Makefile)p
Fu(')c(will)i(result)f(in)g(`)p Ft(Makefile)p Fu(')f(rather)h(than)h(`)
-p Ft(Makefilefile)p Fu(',)1110 956 y(assuming)d(there)g(is)h(a)f
+p Ft(Makefilefile)p Fu(',)1110 1544 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 1066 y(is)30 b(`)p Ft(off)p Fu('.)630 1215
-y Ft(vi-cmd-mode-string)1110 1325 y Fu(If)j(the)h Fr(sho)m(w-mo)s
+b(alue)1110 1654 y(is)30 b(`)p Ft(off)p Fu('.)630 1803
+y Ft(vi-cmd-mode-string)1110 1913 y Fu(If)j(the)h Fr(sho)m(w-mo)s
(de-in-prompt)h Fu(v)-5 b(ariable)35 b(is)e(enabled,)i(this)f(string)f
-(is)h(dis-)1110 1435 y(pla)m(y)m(ed)24 b(immediately)g(b)s(efore)f(the)
+(is)h(dis-)1110 2022 y(pla)m(y)m(ed)24 b(immediately)g(b)s(efore)f(the)
g(last)h(line)f(of)h(the)f(primary)f(prompt)g(when)1110
-1544 y(vi)32 b(editing)h(mo)s(de)f(is)g(activ)m(e)j(and)c(in)h(command)
+2132 y(vi)32 b(editing)h(mo)s(de)f(is)g(activ)m(e)j(and)c(in)h(command)
g(mo)s(de.)46 b(The)31 b(v)-5 b(alue)33 b(is)f(ex-)1110
-1654 y(panded)26 b(lik)m(e)i(a)f(k)m(ey)h(binding,)e(so)i(the)f
+2242 y(panded)26 b(lik)m(e)i(a)f(k)m(ey)h(binding,)e(so)i(the)f
(standard)f(set)h(of)g(meta-)h(and)e(con)m(trol)1110
-1763 y(pre\014xes)34 b(and)g(bac)m(kslash)i(escap)s(e)g(sequences)f(is)
+2351 y(pre\014xes)34 b(and)g(bac)m(kslash)i(escap)s(e)g(sequences)f(is)
g(a)m(v)-5 b(ailable.)57 b(Use)35 b(the)g(`)p Ft(\\1)p
-Fu(')1110 1873 y(and)23 b(`)p Ft(\\2)p Fu(')h(escap)s(es)h(to)f(b)s
+Fu(')1110 2461 y(and)23 b(`)p Ft(\\2)p Fu(')h(escap)s(es)h(to)f(b)s
(egin)g(and)f(end)g(sequences)i(of)f(non-prin)m(ting)f(c)m(harac-)1110
-1983 y(ters,)31 b(whic)m(h)g(can)g(b)s(e)f(used)g(to)h(em)m(b)s(ed)f(a)
-h(terminal)h(con)m(trol)g(sequence)f(in)m(to)1110 2092
+2570 y(ters,)31 b(whic)m(h)g(can)g(b)s(e)f(used)g(to)h(em)m(b)s(ed)f(a)
+h(terminal)h(con)m(trol)g(sequence)f(in)m(to)1110 2680
y(the)g(mo)s(de)f(string.)40 b(The)30 b(default)h(is)f(`)p
-Ft(\(cmd\))p Fu('.)630 2242 y Ft(vi-ins-mode-string)1110
-2351 y Fu(If)j(the)h Fr(sho)m(w-mo)s(de-in-prompt)h Fu(v)-5
+Ft(\(cmd\))p Fu('.)630 2829 y Ft(vi-ins-mode-string)1110
+2939 y Fu(If)j(the)h Fr(sho)m(w-mo)s(de-in-prompt)h Fu(v)-5
b(ariable)35 b(is)e(enabled,)i(this)f(string)f(is)h(dis-)1110
-2461 y(pla)m(y)m(ed)24 b(immediately)g(b)s(efore)f(the)g(last)h(line)f
-(of)h(the)f(primary)f(prompt)g(when)1110 2570 y(vi)35
+3049 y(pla)m(y)m(ed)24 b(immediately)g(b)s(efore)f(the)g(last)h(line)f
+(of)h(the)f(primary)f(prompt)g(when)1110 3158 y(vi)35
b(editing)h(mo)s(de)e(is)i(activ)m(e)h(and)d(in)h(insertion)g(mo)s(de.)
-54 b(The)35 b(v)-5 b(alue)35 b(is)g(ex-)1110 2680 y(panded)26
+54 b(The)35 b(v)-5 b(alue)35 b(is)g(ex-)1110 3268 y(panded)26
b(lik)m(e)i(a)f(k)m(ey)h(binding,)e(so)i(the)f(standard)f(set)h(of)g
-(meta-)h(and)e(con)m(trol)1110 2790 y(pre\014xes)34 b(and)g(bac)m
+(meta-)h(and)e(con)m(trol)1110 3377 y(pre\014xes)34 b(and)g(bac)m
(kslash)i(escap)s(e)g(sequences)f(is)g(a)m(v)-5 b(ailable.)57
-b(Use)35 b(the)g(`)p Ft(\\1)p Fu(')1110 2899 y(and)23
+b(Use)35 b(the)g(`)p Ft(\\1)p Fu(')1110 3487 y(and)23
b(`)p Ft(\\2)p Fu(')h(escap)s(es)h(to)f(b)s(egin)g(and)f(end)g
-(sequences)i(of)f(non-prin)m(ting)f(c)m(harac-)1110 3009
+(sequences)i(of)f(non-prin)m(ting)f(c)m(harac-)1110 3597
y(ters,)31 b(whic)m(h)g(can)g(b)s(e)f(used)g(to)h(em)m(b)s(ed)f(a)h
-(terminal)h(con)m(trol)g(sequence)f(in)m(to)1110 3118
+(terminal)h(con)m(trol)g(sequence)f(in)m(to)1110 3706
y(the)g(mo)s(de)f(string.)40 b(The)30 b(default)h(is)f(`)p
-Ft(\(ins\))p Fu('.)630 3268 y Ft(visible-stats)1110 3377
+Ft(\(ins\))p Fu('.)630 3856 y Ft(visible-stats)1110 3965
y Fu(If)h(set)i(to)f(`)p Ft(on)p Fu(',)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
-3487 y(\014lename)e(when)e(listing)i(p)s(ossible)f(completions.)42
-b(The)30 b(default)g(is)h(`)p Ft(off)p Fu('.)150 3636
-y(Key)f(Bindings)630 3746 y(The)41 b(syn)m(tax)i(for)f(con)m(trolling)h
+4075 y(\014lename)e(when)e(listing)i(p)s(ossible)f(completions.)42
+b(The)30 b(default)g(is)h(`)p Ft(off)p Fu('.)150 4224
+y(Key)f(Bindings)630 4334 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 3856 y(need)27 b(to)i(\014nd)d(the)i(name)f(of)
+b(First)43 b(y)m(ou)630 4443 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 3965 y(sections)37 b(con)m(tain)g(tables)g
+b(The)27 b(follo)m(wing)630 4553 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 4075 y(and)30 b(a)h(short)f(description)g(of)h(what)f
-(the)g(command)h(do)s(es.)630 4204 y(Once)36 b(y)m(ou)g(kno)m(w)g(the)g
+m(y)-8 b(,)630 4663 y(and)30 b(a)h(short)f(description)g(of)h(what)f
+(the)g(command)h(do)s(es.)630 4792 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 4314 y(\014le)e(the)g(name)f(of)h(the)g(k)m(ey)g(y)m
+(the)g(init)630 4902 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 4423 y(the)f(name)h(of)f(the)g(command.)46 b(There)32
+630 5011 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 4533 y(the)41 b(colon)h({)f(that)g(will)g(b)s(e)g(in)m
+(and)630 5121 y(the)41 b(colon)h({)f(that)g(will)g(b)s(e)g(in)m
(terpreted)g(as)g(part)f(of)h(the)g(k)m(ey)h(name.)72
-b(The)40 b(name)h(of)630 4643 y(the)35 b(k)m(ey)g(can)g(b)s(e)f
+b(The)40 b(name)h(of)630 5230 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 4752 y(comfortable.)630
-4882 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
-4991 y(that)31 b(is)f(inserted)h(when)e(the)i(k)m(ey)g(is)f(pressed)g
-(\(a)h Fr(macro)5 b Fu(\).)630 5121 y(The)42 b Ft(bind)30
-b(-p)42 b Fu(command)h(displa)m(ys)g(Readline)g(function)g(names)g(and)
-f(bindings)g(in)h(a)630 5230 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 5340 y(Builtins],)31 b(page)g(50.)p
+(what)h(y)m(ou)g(\014nd)e(most)630 5340 y(comfortable.)p
eop end
%%Page: 116 122
TeXDict begin 116 121 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(116)630 299 y Fr(k)m(eyname)5
-b Fu(:)42 b Fr(function-name)35 b Fu(or)c Fr(macro)1110
-408 y(k)m(eyname)k Fu(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
-543 y Ft(Control-u:)45 b(universal-argument)1350 652
-y(Meta-Rubout:)f(backward-kill-word)1350 762 y(Control-o:)h(">)i
-(output")1110 896 y Fu(In)94 b(the)g(ab)s(o)m(v)m(e)i(example,)111
-b Fj(C-u)94 b Fu(is)g(b)s(ound)f(to)i(the)f(function)1110
-1006 y Ft(universal-argument)p Fu(,)124 b Fj(M-DEL)107
-b Fu(is)i(b)s(ound)e(to)j(the)f(function)1110 1115 y
-Ft(backward-kill-word)p Fu(,)75 b(and)69 b Fj(C-o)g Fu(is)h(b)s(ound)e
-(to)j(run)d(the)i(macro)1110 1225 y(expressed)45 b(on)h(the)g(righ)m(t)
-g(hand)e(side)i(\(that)h(is,)i(to)e(insert)e(the)h(text)h(`)p
-Ft(>)1110 1335 y(output)p Fu(')29 b(in)m(to)i(the)g(line\).)1110
-1469 y(A)62 b(n)m(um)m(b)s(er)e(of)i(sym)m(b)s(olic)h(c)m(haracter)g
-(names)f(are)g(recognized)h(while)1110 1579 y(pro)s(cessing)40
-b(this)f(k)m(ey)i(binding)e(syn)m(tax:)60 b Fr(DEL)p
-Fu(,)42 b Fr(ESC)p Fu(,)g Fr(ESCAPE)p Fu(,)f Fr(LFD)p
-Fu(,)1110 1688 y Fr(NEWLINE)p Fu(,)31 b Fr(RET)p Fu(,)f
-Fr(RETURN)p Fu(,)g Fr(R)m(UBOUT)p Fu(,)h Fr(SP)-8 b(A)m(CE)p
-Fu(,)31 b Fr(SPC)p Fu(,)e(and)h Fr(T)-8 b(AB)p Fu(.)630
-1847 y Ft(")p Fr(k)m(eyseq)r Ft(")p Fu(:)41 b Fr(function-name)36
-b Fu(or)30 b Fr(macro)1110 1957 y(k)m(eyseq)k Fu(di\013ers)d(from)f
-Fr(k)m(eyname)37 b Fu(ab)s(o)m(v)m(e)32 b(in)f(that)h(strings)f
-(denoting)g(an)g(en-)1110 2066 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 2176 y(double)29 b(quotes.)41 b(Some)29 b Fm(gnu)h
-Fu(Emacs)f(st)m(yle)i(k)m(ey)f(escap)s(es)g(can)g(b)s(e)f(used,)g(as)
-1110 2286 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 2395 y(recognized.)1350
-2530 y Ft("\\C-u":)46 b(universal-argument)1350 2639
-y("\\C-x\\C-r":)f(re-read-init-file)1350 2749 y("\\e[11~":)g("Function)
-h(Key)g(1")1110 2883 y Fu(In)64 b(the)g(ab)s(o)m(v)m(e)i(example,)74
+b(Command)29 b(Line)i(Editing)2062 b(116)630 299 y(In)35
+b(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 408 y(that)31
+b(is)f(inserted)h(when)e(the)i(k)m(ey)g(is)f(pressed)g(\(a)h
+Fr(macro)5 b Fu(\).)630 538 y(The)42 b Ft(bind)30 b(-p)42
+b Fu(command)h(displa)m(ys)g(Readline)g(function)g(names)g(and)f
+(bindings)g(in)h(a)630 647 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 757 y(Builtins],)31 b(page)g(50.)630
+906 y Fr(k)m(eyname)5 b Fu(:)42 b Fr(function-name)35
+b Fu(or)c Fr(macro)1110 1015 y(k)m(eyname)k Fu(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 1144 y Ft(Control-u:)45
+b(universal-argument)1350 1254 y(Meta-Rubout:)f(backward-kill-word)1350
+1363 y(Control-o:)h(">)i(output")1110 1493 y Fu(In)94
+b(the)g(example)h(ab)s(o)m(v)m(e,)112 b Fj(C-u)94 b Fu(is)g(b)s(ound)f
+(to)i(the)f(function)1110 1602 y Ft(universal-argument)p
+Fu(,)124 b Fj(M-DEL)107 b Fu(is)i(b)s(ound)e(to)j(the)f(function)1110
+1712 y Ft(backward-kill-word)p Fu(,)75 b(and)69 b Fj(C-o)g
+Fu(is)h(b)s(ound)e(to)j(run)d(the)i(macro)1110 1821 y(expressed)45
+b(on)h(the)g(righ)m(t)g(hand)e(side)i(\(that)h(is,)i(to)e(insert)e(the)
+h(text)h(`)p Ft(>)1110 1931 y(output)p Fu(')29 b(in)m(to)i(the)g
+(line\).)1110 2060 y(A)62 b(n)m(um)m(b)s(er)e(of)i(sym)m(b)s(olic)h(c)m
+(haracter)g(names)f(are)g(recognized)h(while)1110 2170
+y(pro)s(cessing)40 b(this)f(k)m(ey)i(binding)e(syn)m(tax:)60
+b Fr(DEL)p Fu(,)42 b Fr(ESC)p Fu(,)g Fr(ESCAPE)p Fu(,)f
+Fr(LFD)p Fu(,)1110 2279 y Fr(NEWLINE)p Fu(,)31 b Fr(RET)p
+Fu(,)f Fr(RETURN)p Fu(,)g Fr(R)m(UBOUT)p Fu(,)h Fr(SP)-8
+b(A)m(CE)p Fu(,)31 b Fr(SPC)p Fu(,)e(and)h Fr(T)-8 b(AB)p
+Fu(.)630 2428 y Ft(")p Fr(k)m(eyseq)r Ft(")p Fu(:)41
+b Fr(function-name)36 b Fu(or)30 b Fr(macro)1110 2538
+y(k)m(eyseq)k Fu(di\013ers)d(from)f Fr(k)m(eyname)37
+b Fu(ab)s(o)m(v)m(e)32 b(in)f(that)h(strings)f(denoting)g(an)g(en-)1110
+2647 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 2757
+y(double)29 b(quotes.)41 b(Some)29 b Fm(gnu)h Fu(Emacs)f(st)m(yle)i(k)m
+(ey)f(escap)s(es)g(can)g(b)s(e)f(used,)g(as)1110 2866
+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 2976 y(recognized.)1350
+3105 y Ft("\\C-u":)46 b(universal-argument)1350 3215
+y("\\C-x\\C-r":)f(re-read-init-file)1350 3324 y("\\e[11~":)g("Function)
+h(Key)g(1")1110 3453 y Fu(In)64 b(the)g(ab)s(o)m(v)m(e)i(example,)74
b Fj(C-u)64 b Fu(is)g(again)i(b)s(ound)c(to)k(the)e(function)1110
-2993 y Ft(universal-argument)39 b Fu(\(just)k(as)h(it)g(w)m(as)g(in)g
-(the)f(\014rst)g(example\),)49 b(`)p Fj(C-x)1110 3102
+3563 y Ft(universal-argument)39 b Fu(\(just)k(as)h(it)g(w)m(as)g(in)g
+(the)f(\014rst)g(example\),)49 b(`)p Fj(C-x)1110 3673
y(C-r)p Fu(')30 b(is)g(b)s(ound)e(to)j(the)g(function)f
Ft(re-read-init-file)p Fu(,)c(and)j(`)p Ft(ESC)h([)g(1)g(1)1110
-3212 y(~)p Fu(')g(is)h(b)s(ound)d(to)j(insert)f(the)h(text)g(`)p
-Ft(Function)e(Key)g(1)p Fu('.)630 3371 y(The)g(follo)m(wing)i
+3782 y(~)p Fu(')g(is)h(b)s(ound)d(to)j(insert)f(the)h(text)g(`)p
+Ft(Function)e(Key)g(1)p Fu('.)630 3931 y(The)g(follo)m(wing)i
Fm(gnu)f Fu(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 3480 y(k)m(ey)i(sequences:)630
-3640 y Fj(\\C-)336 b Fu(con)m(trol)32 b(pre\014x)630
-3799 y Fj(\\M-)336 b Fu(meta)31 b(pre\014x)630 3958 y
+b(ailable)32 b(when)d(sp)s(ecifying)630 4041 y(k)m(ey)i(sequences:)630
+4189 y Fj(\\C-)336 b Fu(con)m(trol)32 b(pre\014x)630
+4338 y Fj(\\M-)336 b Fu(meta)31 b(pre\014x)630 4487 y
Fj(\\e)384 b Fu(an)30 b(escap)s(e)h(c)m(haracter)630
-4117 y Fj(\\\\)384 b Fu(bac)m(kslash)630 4276 y Fj(\\)p
+4635 y Fj(\\\\)384 b Fu(bac)m(kslash)630 4784 y Fj(\\)p
Ft(")g(")p Fu(,)30 b(a)h(double)f(quotation)i(mark)630
-4435 y Fj(\\')384 b Ft(')p Fu(,)30 b(a)h(single)g(quote)g(or)f(ap)s
-(ostrophe)630 4594 y(In)d(addition)h(to)g(the)g Fm(gnu)f
+4933 y Fj(\\')384 b Ft(')p Fu(,)30 b(a)h(single)g(quote)g(or)f(ap)s
+(ostrophe)630 5082 y(In)d(addition)h(to)g(the)g Fm(gnu)f
Fu(Emacs)h(st)m(yle)h(escap)s(e)f(sequences,)h(a)f(second)f(set)h(of)g
-(bac)m(kslash)630 4704 y(escap)s(es)j(is)f(a)m(v)-5 b(ailable:)630
-4863 y Ft(\\a)384 b Fu(alert)31 b(\(b)s(ell\))630 5022
-y Ft(\\b)384 b Fu(bac)m(kspace)630 5181 y Ft(\\d)g Fu(delete)630
-5340 y Ft(\\f)g Fu(form)30 b(feed)p eop end
+(bac)m(kslash)630 5191 y(escap)s(es)j(is)f(a)m(v)-5 b(ailable:)630
+5340 y Ft(\\a)384 b Fu(alert)31 b(\(b)s(ell\))p eop end
%%Page: 117 123
TeXDict begin 117 122 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(117)630 299 y Ft(\\n)384
-b Fu(newline)630 459 y Ft(\\r)g Fu(carriage)32 b(return)630
-619 y Ft(\\t)384 b Fu(horizon)m(tal)32 b(tab)630 779
-y Ft(\\v)384 b Fu(v)m(ertical)32 b(tab)630 939 y Ft(\\)p
-Fj(nnn)288 b Fu(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 Fr(nnn)e
-Fu(\(one)i(to)1110 1049 y(three)c(digits\))630 1209 y
-Ft(\\x)p Fj(HH)288 b Fu(the)38 b(eigh)m(t-bit)i(c)m(haracter)g(whose)e
-(v)-5 b(alue)39 b(is)f(the)h(hexadecimal)g(v)-5 b(alue)39
-b Fr(HH)1110 1318 y Fu(\(one)31 b(or)f(t)m(w)m(o)i(hex)e(digits\))630
-1478 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
-1588 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 1697 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 1807 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(Command)29 b(Line)i(Editing)2062 b(117)630 299 y Ft(\\b)384
+b Fu(bac)m(kspace)630 456 y Ft(\\d)g Fu(delete)630 613
+y Ft(\\f)g Fu(form)30 b(feed)630 770 y Ft(\\n)384 b Fu(newline)630
+928 y Ft(\\r)g Fu(carriage)32 b(return)630 1085 y Ft(\\t)384
+b Fu(horizon)m(tal)32 b(tab)630 1242 y Ft(\\v)384 b Fu(v)m(ertical)32
+b(tab)630 1399 y Ft(\\)p Fj(nnn)288 b Fu(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 Fr(nnn)e Fu(\(one)i(to)1110 1509 y(three)c(digits\))630
+1666 y Ft(\\x)p Fj(HH)288 b Fu(the)38 b(eigh)m(t-bit)i(c)m(haracter)g
+(whose)e(v)-5 b(alue)39 b(is)f(the)h(hexadecimal)g(v)-5
+b(alue)39 b Fr(HH)1110 1775 y Fu(\(one)31 b(or)f(t)m(w)m(o)i(hex)e
+(digits\))630 1933 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 2042 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 2152 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 2261 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 Ft(")p Fu(')h(and)g(`)p Ft(')p Fu('.)69 b(F)-8
-b(or)630 1917 y(example,)28 b(the)e(follo)m(wing)h(binding)d(will)i
+b(or)630 2371 y(example,)28 b(the)e(follo)m(wing)h(binding)d(will)i
(mak)m(e)h(`)p Fj(C-x)j Ft(\\)p Fu(')c(insert)f(a)h(single)h(`)p
-Ft(\\)p Fu(')f(in)m(to)g(the)g(line:)870 2051 y Ft("\\C-x\\\\":)45
-b("\\\\")150 2251 y Fk(8.3.2)63 b(Conditional)41 b(Init)g(Constructs)
-150 2398 y Fu(Readline)c(implemen)m(ts)g(a)h(facilit)m(y)g(similar)f
+Ft(\\)p Fu(')f(in)m(to)g(the)g(line:)870 2504 y Ft("\\C-x\\\\":)45
+b("\\\\")150 2701 y Fk(8.3.2)63 b(Conditional)41 b(Init)g(Constructs)
+150 2848 y Fu(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
-2508 y(the)31 b(C)f(prepro)s(cessor)g(whic)m(h)g(allo)m(ws)i(k)m(ey)g
+2958 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 2617 y(result)f(of)h(tests.)41
+(erformed)f(as)i(the)150 3067 y(result)f(of)h(tests.)41
b(There)30 b(are)h(four)f(parser)f(directiv)m(es)j(used.)150
-2778 y Ft($if)336 b Fu(The)31 b Ft($if)f Fu(construct)i(allo)m(ws)h
+3225 y Ft($if)336 b Fu(The)31 b Ft($if)f Fu(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 2887 y(terminal)37 b(b)s(eing)f(used,)h(or)f(the)h
+(the)630 3334 y(terminal)37 b(b)s(eing)f(used,)h(or)f(the)h
(application)g(using)f(Readline.)59 b(The)36 b(text)h(of)f(the)h(test,)
-630 2997 y(after)30 b(an)m(y)g(comparison)g(op)s(erator,)g(extends)f
+630 3444 y(after)30 b(an)m(y)g(comparison)g(op)s(erator,)g(extends)f
(to)h(the)g(end)f(of)h(the)f(line;)i(unless)e(otherwise)630
-3106 y(noted,)i(no)f(c)m(haracters)i(are)f(required)e(to)i(isolate)i
-(it.)630 3267 y Ft(mode)288 b Fu(The)30 b Ft(mode=)e
+3553 y(noted,)i(no)f(c)m(haracters)i(are)f(required)e(to)i(isolate)i
+(it.)630 3711 y Ft(mode)288 b Fu(The)30 b Ft(mode=)e
Fu(form)i(of)g(the)h Ft($if)e Fu(directiv)m(e)j(is)e(used)f(to)i(test)g
-(whether)e(Read-)1110 3376 y(line)44 b(is)f(in)g Ft(emacs)f
+(whether)e(Read-)1110 3820 y(line)44 b(is)f(in)g Ft(emacs)f
Fu(or)h Ft(vi)g Fu(mo)s(de.)79 b(This)42 b(ma)m(y)i(b)s(e)e(used)h(in)g
-(conjunction)1110 3486 y(with)c(the)h(`)p Ft(set)29 b(keymap)p
+(conjunction)1110 3930 y(with)c(the)h(`)p Ft(set)29 b(keymap)p
Fu(')38 b(command,)k(for)d(instance,)j(to)e(set)g(bindings)e(in)1110
-3595 y(the)32 b Ft(emacs-standard)c Fu(and)j Ft(emacs-ctlx)d
-Fu(k)m(eymaps)k(only)g(if)g(Readline)g(is)1110 3705 y(starting)f(out)g
-(in)f Ft(emacs)f Fu(mo)s(de.)630 3865 y Ft(term)288 b
+4039 y(the)32 b Ft(emacs-standard)c Fu(and)j Ft(emacs-ctlx)d
+Fu(k)m(eymaps)k(only)g(if)g(Readline)g(is)1110 4149 y(starting)f(out)g
+(in)f Ft(emacs)f Fu(mo)s(de.)630 4306 y Ft(term)288 b
Fu(The)26 b Ft(term=)g Fu(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 3974 y(ings,)38
+(terminal-sp)s(eci\014c)g(k)m(ey)h(bind-)1110 4416 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 4084 y(function)24 b(k)m(eys.)39
+(the)g(terminal's)1110 4525 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
-Ft(=)p Fu(')g(is)g(tested)h(against)1110 4194 y(b)s(oth)k(the)h(full)g
+Ft(=)p Fu(')g(is)g(tested)h(against)1110 4635 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 4303 y(name)k(b)s(efore)f(the)g(\014rst)g(`)p
+(terminal)1110 4744 y(name)k(b)s(efore)f(the)g(\014rst)g(`)p
Ft(-)p Fu('.)50 b(This)33 b(allo)m(ws)i Ft(sun)e Fu(to)h(matc)m(h)g(b)s
-(oth)f Ft(sun)g Fu(and)1110 4413 y Ft(sun-cmd)p Fu(,)c(for)h(instance.)
-630 4573 y Ft(version)144 b Fu(The)44 b Ft(version)f
+(oth)f Ft(sun)g Fu(and)1110 4854 y Ft(sun-cmd)p Fu(,)c(for)h(instance.)
+630 5011 y Ft(version)144 b Fu(The)44 b Ft(version)f
Fu(test)i(ma)m(y)h(b)s(e)e(used)f(to)j(p)s(erform)d(comparisons)i
-(against)1110 4682 y(sp)s(eci\014c)c(Readline)i(v)m(ersions.)74
+(against)1110 5121 y(sp)s(eci\014c)c(Readline)i(v)m(ersions.)74
b(The)42 b Ft(version)d Fu(expands)i(to)h(the)g(curren)m(t)1110
-4792 y(Readline)25 b(v)m(ersion.)39 b(The)23 b(set)h(of)g(comparison)h
+5230 y(Readline)25 b(v)m(ersion.)39 b(The)23 b(set)h(of)g(comparison)h
(op)s(erators)f(includes)f(`)p Ft(=)p Fu(')h(\(and)1110
-4902 y(`)p Ft(==)p Fu('\),)33 b(`)p Ft(!=)p Fu(',)f(`)p
+5340 y(`)p Ft(==)p Fu('\),)33 b(`)p Ft(!=)p Fu(',)f(`)p
Ft(<=)p Fu(',)h(`)p Ft(>=)p Fu(',)f(`)p Ft(<)p Fu(',)h(and)e(`)p
Ft(>)p Fu('.)46 b(The)31 b(v)m(ersion)i(n)m(um)m(b)s(er)d(supplied)h
-(on)1110 5011 y(the)j(righ)m(t)h(side)f(of)g(the)g(op)s(erator)g
-(consists)h(of)f(a)g(ma)5 b(jor)35 b(v)m(ersion)f(n)m(um)m(b)s(er,)1110
-5121 y(an)45 b(optional)i(decimal)f(p)s(oin)m(t,)k(and)44
-b(an)i(optional)g(minor)f(v)m(ersion)h(\(e.g.,)1110 5230
-y(`)p Ft(7.1)p Fu('\).)40 b(If)27 b(the)h(minor)f(v)m(ersion)h(is)g
-(omitted,)h(it)f(is)g(assumed)f(to)h(b)s(e)f(`)p Ft(0)p
-Fu('.)40 b(The)1110 5340 y(op)s(erator)34 b(ma)m(y)g(b)s(e)f(separated)
-g(from)g(the)h(string)f Ft(version)f Fu(and)h(from)g(the)p
-eop end
+(on)p eop end
%%Page: 118 124
TeXDict begin 118 123 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(118)1110 299 y(v)m(ersion)39
+b(Command)29 b(Line)i(Editing)2062 b(118)1110 299 y(the)34
+b(righ)m(t)h(side)f(of)g(the)g(op)s(erator)g(consists)h(of)f(a)g(ma)5
+b(jor)35 b(v)m(ersion)f(n)m(um)m(b)s(er,)1110 408 y(an)45
+b(optional)i(decimal)f(p)s(oin)m(t,)k(and)44 b(an)i(optional)g(minor)f
+(v)m(ersion)h(\(e.g.,)1110 518 y(`)p Ft(7.1)p Fu('\).)40
+b(If)27 b(the)h(minor)f(v)m(ersion)h(is)g(omitted,)h(it)f(is)g(assumed)
+f(to)h(b)s(e)f(`)p Ft(0)p Fu('.)40 b(The)1110 628 y(op)s(erator)34
+b(ma)m(y)g(b)s(e)f(separated)g(from)g(the)h(string)f
+Ft(version)f Fu(and)h(from)g(the)1110 737 y(v)m(ersion)39
b(n)m(um)m(b)s(er)f(argumen)m(t)h(b)m(y)f(whitespace.)67
-b(The)38 b(follo)m(wing)i(example)1110 408 y(sets)31
+b(The)38 b(follo)m(wing)i(example)1110 847 y(sets)31
b(a)g(v)-5 b(ariable)31 b(if)f(the)h(Readline)g(v)m(ersion)f(b)s(eing)g
-(used)g(is)g(7.0)i(or)e(new)m(er:)1350 543 y Ft($if)47
-b(version)f(>=)h(7.0)1350 653 y(set)g(show-mode-in-prompt)42
-b(on)1350 762 y($endif)630 922 y(application)1110 1031
+(used)g(is)g(7.0)i(or)e(new)m(er:)1350 981 y Ft($if)47
+b(version)f(>=)h(7.0)1350 1091 y(set)g(show-mode-in-prompt)42
+b(on)1350 1200 y($endif)630 1360 y(application)1110 1469
y Fu(The)21 b Fr(application)j Fu(construct)e(is)g(used)f(to)i(include)
-f(application-sp)s(eci\014c)h(set-)1110 1141 y(tings.)39
+f(application-sp)s(eci\014c)h(set-)1110 1579 y(tings.)39
b(Eac)m(h)26 b(program)e(using)g(the)h(Readline)g(library)g(sets)g(the)
-g Fr(application)1110 1250 y(name)p Fu(,)g(and)e(y)m(ou)g(can)h(test)g
+g Fr(application)1110 1689 y(name)p Fu(,)g(and)e(y)m(ou)g(can)h(test)g
(for)f(a)g(particular)h(v)-5 b(alue.)39 b(This)22 b(could)h(b)s(e)g
-(used)f(to)1110 1360 y(bind)32 b(k)m(ey)h(sequences)g(to)h(functions)e
+(used)f(to)1110 1798 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 1469 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 1579 y(the)e(curren)m(t)f
-(or)g(previous)g(w)m(ord)g(in)g(Bash:)1350 1714 y Ft($if)47
-b(Bash)1350 1823 y(#)g(Quote)g(the)g(current)f(or)h(previous)e(word)
-1350 1933 y("\\C-xq":)h("\\eb\\"\\ef\\"")1350 2042 y($endif)630
-2202 y(variable)96 b Fu(The)33 b Fr(v)-5 b(ariable)39
+b(or)1110 1908 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 2017 y(the)e(curren)m(t)f
+(or)g(previous)g(w)m(ord)g(in)g(Bash:)1350 2152 y Ft($if)47
+b(Bash)1350 2262 y(#)g(Quote)g(the)g(current)f(or)h(previous)e(word)
+1350 2371 y("\\C-xq":)h("\\eb\\"\\ef\\"")1350 2481 y($endif)630
+2640 y(variable)96 b Fu(The)33 b Fr(v)-5 b(ariable)39
b Fu(construct)33 b(pro)m(vides)g(simple)g(equalit)m(y)i(tests)e(for)g
-(Readline)1110 2311 y(v)-5 b(ariables)32 b(and)f(v)-5
+(Readline)1110 2750 y(v)-5 b(ariables)32 b(and)f(v)-5
b(alues.)45 b(The)32 b(p)s(ermitted)f(comparison)h(op)s(erators)f(are)i
-(`)p Ft(=)p Fu(',)1110 2421 y(`)p Ft(==)p Fu(',)49 b(and)44
+(`)p Ft(=)p Fu(',)1110 2859 y(`)p Ft(==)p Fu(',)49 b(and)44
b(`)p Ft(!=)p Fu('.)85 b(The)44 b(v)-5 b(ariable)46 b(name)f(m)m(ust)g
-(b)s(e)g(separated)g(from)g(the)1110 2531 y(comparison)25
+(b)s(e)g(separated)g(from)g(the)1110 2969 y(comparison)25
b(op)s(erator)g(b)m(y)g(whitespace;)j(the)d(op)s(erator)g(ma)m(y)g(b)s
-(e)f(separated)1110 2640 y(from)33 b(the)h(v)-5 b(alue)35
+(e)f(separated)1110 3078 y(from)33 b(the)h(v)-5 b(alue)35
b(on)f(the)g(righ)m(t)g(hand)f(side)h(b)m(y)f(whitespace.)52
-b(Both)35 b(string)1110 2750 y(and)i(b)s(o)s(olean)g(v)-5
+b(Both)35 b(string)1110 3188 y(and)i(b)s(o)s(olean)g(v)-5
b(ariables)38 b(ma)m(y)h(b)s(e)d(tested.)63 b(Bo)s(olean)39
-b(v)-5 b(ariables)38 b(m)m(ust)g(b)s(e)1110 2859 y(tested)46
+b(v)-5 b(ariables)38 b(m)m(ust)g(b)s(e)1110 3298 y(tested)46
b(against)g(the)f(v)-5 b(alues)46 b Fr(on)f Fu(and)f
Fr(o\013)p Fu(.)85 b(The)45 b(follo)m(wing)h(example)g(is)1110
-2969 y(equiv)-5 b(alen)m(t)32 b(to)f(the)f Ft(mode=emacs)e
-Fu(test)j(describ)s(ed)f(ab)s(o)m(v)m(e:)1350 3103 y
-Ft($if)47 b(editing-mode)d(==)k(emacs)1350 3213 y(set)f
-(show-mode-in-prompt)42 b(on)1350 3323 y($endif)150 3482
+3407 y(equiv)-5 b(alen)m(t)32 b(to)f(the)f Ft(mode=emacs)e
+Fu(test)j(describ)s(ed)f(ab)s(o)m(v)m(e:)1350 3542 y
+Ft($if)47 b(editing-mode)d(==)k(emacs)1350 3651 y(set)f
+(show-mode-in-prompt)42 b(on)1350 3761 y($endif)150 3920
y($endif)192 b Fu(This)29 b(command,)i(as)f(seen)h(in)f(the)g(previous)
g(example,)h(terminates)g(an)g Ft($if)e Fu(command.)150
-3641 y Ft($else)240 b Fu(Commands)29 b(in)h(this)h(branc)m(h)e(of)i
+4080 y Ft($else)240 b Fu(Commands)29 b(in)h(this)h(branc)m(h)e(of)i
(the)f Ft($if)g Fu(directiv)m(e)i(are)f(executed)g(if)f(the)h(test)g
-(fails.)150 3801 y Ft($include)96 b Fu(This)43 b(directiv)m(e)i(tak)m
+(fails.)150 4239 y Ft($include)96 b Fu(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 3910 y(and)38 b(bindings)f(from)h(that)i(\014le.)65
+(commands)630 4349 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 4020 y Ft(/etc/inputrc)p Fu(:)870 4154 y Ft($include)46
-b(/etc/inputrc)150 4354 y Fk(8.3.3)63 b(Sample)41 b(Init)g(File)150
-4501 y Fu(Here)27 b(is)f(an)h(example)g(of)f(an)h Fr(inputrc)k
+(from)630 4458 y Ft(/etc/inputrc)p Fu(:)870 4593 y Ft($include)46
+b(/etc/inputrc)150 4792 y Fk(8.3.3)63 b(Sample)41 b(Init)g(File)150
+4939 y Fu(Here)27 b(is)f(an)h(example)g(of)f(an)h Fr(inputrc)k
Fu(\014le.)39 b(This)26 b(illustrates)h(k)m(ey)h(binding,)e(v)-5
-b(ariable)27 b(assignmen)m(t,)i(and)150 4610 y(conditional)j(syn)m
+b(ariable)27 b(assignmen)m(t,)i(and)150 5049 y(conditional)j(syn)m
(tax.)p eop end
%%Page: 119 125
TeXDict begin 119 124 bop 150 -116 a Fu(Chapter)30 b(8:)41
@@ -16997,25 +17070,25 @@ b(b)m(y)f(some)h(terminals,)i(and)d(suc)m(h)g(a)h(binding)e(is)i
(single)g(unit)f(without)h(treating)h(eac)m(h)f(c)m(har-)630
2271 y(acter)40 b(as)f(if)g(it)g(had)f(b)s(een)g(read)h(from)f(the)h(k)
m(eyb)s(oard.)66 b(The)39 b(c)m(haracters)h(are)f(inserted)630
-2381 y(as)i(if)g(eac)m(h)i(one)e(w)m(as)h(b)s(ound)d(to)i
-Ft(self-insert)p Fu(\))e(instead)i(of)h(executing)g(an)m(y)f(editing)
-630 2491 y(commands.)150 2655 y Ft(transpose-chars)26
-b(\(C-t\))630 2765 y Fu(Drag)33 b(the)f(c)m(haracter)h(b)s(efore)f(the)
-g(cursor)f(forw)m(ard)h(o)m(v)m(er)h(the)f(c)m(haracter)i(at)e(the)g
-(cursor,)630 2874 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 2984 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 3093 y(ha)m(v)m(e)32
-b(no)e(e\013ect.)150 3258 y Ft(transpose-words)c(\(M-t\))630
-3367 y Fu(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 3477 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 3587 y(last)j(t)m(w)m(o)h(w)m
-(ords)e(on)g(the)h(line.)150 3751 y Ft(upcase-word)c(\(M-u\))630
-3861 y Fu(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
+2381 y(as)44 b(if)g(eac)m(h)i(one)e(w)m(as)g(b)s(ound)e(to)j
+Ft(self-insert)c Fu(instead)j(of)h(executing)g(an)m(y)f(editing)630
+2491 y(commands.)150 2655 y Ft(transpose-chars)26 b(\(C-t\))630
+2765 y Fu(Drag)33 b(the)f(c)m(haracter)h(b)s(efore)f(the)g(cursor)f
+(forw)m(ard)h(o)m(v)m(er)h(the)f(c)m(haracter)i(at)e(the)g(cursor,)630
+2874 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 2984 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 3093 y(ha)m(v)m(e)32 b(no)e(e\013ect.)150
+3258 y Ft(transpose-words)c(\(M-t\))630 3367 y Fu(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
+3477 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 3587 y(last)j(t)m(w)m(o)h(w)m(ords)e(on)g(the)h(line.)150
+3751 y Ft(upcase-word)c(\(M-u\))630 3861 y Fu(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
3970 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 4134 y Ft(downcase-word)d(\(M-l\))630
4244 y Fu(Lo)m(w)m(ercase)c(the)f(curren)m(t)f(\(or)h(follo)m(wing\))i
@@ -17237,7 +17310,7 @@ b(\(M-{\))630 793 y Fu(P)m(erform)f(\014lename)f(completion)i(and)f
(insert)f(the)h(list)g(of)g(p)s(ossible)f(completions)i(enclosed)630
902 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 1012 y(pansion],)30 b(page)h(22\).)150 1217
+(Ex-)630 1012 y(pansion],)30 b(page)h(23\).)150 1217
y Fk(8.4.7)63 b(Keyb)s(oard)41 b(Macros)150 1392 y Ft(start-kbd-macro)
26 b(\(C-x)j(\(\))630 1501 y Fu(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)
@@ -17658,347 +17731,368 @@ Fr(w)m(ord)j Fu(will)630 3586 y(b)s(e)d(displa)m(y)m(ed.)630
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 3828 y(generated.)150 3981 y Ft(complete)870
4113 y(complete)46 b([-abcdefgjksuv])d([-o)k Fj(comp-option)p
-Ft(])e([-DE])h([-A)h Fj(action)p Ft(])f([-)870 4222 y(G)h
-Fj(globpat)p Ft(])f([-W)h Fj(wordlist)p Ft(])870 4332
-y([-F)g Fj(function)p Ft(])e([-C)i Fj(command)p Ft(])f([-X)h
-Fj(filterpat)p Ft(])870 4441 y([-P)g Fj(prefix)p Ft(])f([-S)h
-Fj(suffix)p Ft(])e Fj(name)i Ft([)p Fj(name)f Ft(...])870
-4551 y(complete)g(-pr)g([-DE])h([)p Fj(name)f Ft(...)o(])630
-4682 y Fu(Sp)s(ecify)37 b(ho)m(w)h(argumen)m(ts)f(to)i(eac)m(h)g
-Fr(name)j Fu(should)37 b(b)s(e)g(completed.)63 b(If)38
-b(the)f Ft(-p)g Fu(option)630 4792 y(is)30 b(supplied,)e(or)i(if)g(no)f
-(options)h(are)g(supplied,)f(existing)h(completion)h(sp)s
+Ft(])e([-DEI])h([-A)h Fj(action)p Ft(])e([-)870 4222
+y(G)i Fj(globpat)p Ft(])870 4332 y([-W)g Fj(wordlist)p
+Ft(])e([-F)i Fj(function)p Ft(])e([-C)i Fj(command)p
+Ft(])f([-X)h Fj(filterpat)p Ft(])870 4441 y([-P)g Fj(prefix)p
+Ft(])f([-S)h Fj(suffix)p Ft(])e Fj(name)i Ft([)p Fj(name)f
+Ft(...])870 4551 y(complete)g(-pr)g([-DEI])h([)p Fj(name)f
+Ft(...)o(])630 4682 y Fu(Sp)s(ecify)37 b(ho)m(w)h(argumen)m(ts)f(to)i
+(eac)m(h)g Fr(name)j Fu(should)37 b(b)s(e)g(completed.)63
+b(If)38 b(the)f Ft(-p)g Fu(option)630 4792 y(is)30 b(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 4902 y(prin)m(ted)24 b(in)h(a)g(w)m(a)m(y)g
(that)h(allo)m(ws)g(them)e(to)i(b)s(e)e(reused)f(as)i(input.)38
b(The)24 b Ft(-r)g Fu(option)i(remo)m(v)m(es)630 5011
y(a)i(completion)h(sp)s(eci\014cation)f(for)g(eac)m(h)h
Fr(name)p Fu(,)f(or,)h(if)e(no)h Fr(name)5 b Fu(s)27
-b(are)h(supplied,)g(all)g(com-)630 5121 y(pletion)k(sp)s
-(eci\014cations.)44 b(The)30 b Ft(-D)h Fu(option)h(indicates)g(that)f
-(the)h(remaining)f(options)h(and)630 5230 y(actions)27
-b(should)e(apply)g(to)i(the)f(\\default")h(command)e(completion;)k
-(that)e(is,)g(completion)630 5340 y(attempted)g(on)f(a)h(command)f(for)
-g(whic)m(h)g(no)g(completion)i(has)d(previously)h(b)s(een)g(de\014ned.)
-p eop end
+b(are)h(supplied,)g(all)g(com-)630 5121 y(pletion)i(sp)s
+(eci\014cations.)42 b(The)29 b Ft(-D)g Fu(option)h(indicates)h(that)f
+(other)g(supplied)e(options)j(and)630 5230 y(actions)c(should)e(apply)g
+(to)i(the)f(\\default")h(command)e(completion;)k(that)e(is,)g
+(completion)630 5340 y(attempted)g(on)f(a)h(command)f(for)g(whic)m(h)g
+(no)g(completion)i(has)d(previously)h(b)s(een)g(de\014ned.)p
+eop end
%%Page: 134 140
TeXDict begin 134 139 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(134)630 299 y(The)25
-b Ft(-E)g Fu(option)h(indicates)h(that)f(the)g(remaining)g(options)g
-(and)f(actions)i(should)e(apply)g(to)630 408 y(\\empt)m(y")32
-b(command)e(completion;)i(that)f(is,)f(completion)i(attempted)f(on)g(a)
-f(blank)g(line.)630 542 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
-651 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 761
-y(page)31 b(131\).)42 b(The)30 b Ft(-D)g Fu(option)h(tak)m(es)h
-(precedence)f(o)m(v)m(er)g Ft(-E)p Fu(.)630 894 y(Other)d(options,)i
-(if)f(sp)s(eci\014ed,)g(ha)m(v)m(e)h(the)f(follo)m(wing)i(meanings.)40
-b(The)29 b(argumen)m(ts)g(to)h(the)630 1003 y Ft(-G)p
+b(Command)29 b(Line)i(Editing)2062 b(134)630 299 y(The)24
+b Ft(-E)g Fu(option)h(indicates)g(that)g(other)g(supplied)e(options)h
+(and)g(actions)i(should)d(apply)h(to)630 408 y(\\empt)m(y")33
+b(command)e(completion;)i(that)f(is,)g(completion)h(attempted)f(on)g(a)
+f(blank)g(line.)630 518 y(The)24 b Ft(-I)g Fu(option)h(indicates)g
+(that)g(other)g(supplied)e(options)h(and)g(actions)i(should)d(apply)h
+(to)630 628 y(completion)32 b(on)e(the)g(inital)i(non-assignmen)m(t)f
+(w)m(ord)f(on)g(the)g(line,)h(or)g(after)f(a)h(command)630
+737 y(delimiter)41 b(suc)m(h)g(as)f(`)p Ft(;)p Fu(')h(or)g(`)p
+Ft(|)p Fu(',)i(whic)m(h)e(is)f(usually)h(command)f(name)h(completion.)
+72 b(If)630 847 y(m)m(ultiple)26 b(options)g(are)g(supplied,)g(the)f
+Ft(-D)g Fu(option)h(tak)m(es)i(precedence)e(o)m(v)m(er)g
+Ft(-E)p Fu(,)h(and)e(b)s(oth)630 956 y(tak)m(e)34 b(precedence)f(o)m(v)
+m(er)h Ft(-I)p Fu(.)47 b(If)32 b(an)m(y)h(of)g Ft(-D)p
+Fu(,)g Ft(-E)p Fu(,)f(or)h Ft(-I)f Fu(are)h(supplied,)f(an)m(y)h(other)
+g Fr(name)630 1066 y Fu(argumen)m(ts)k(are)g(ignored;)j(these)d
+(completions)h(only)e(apply)g(to)i(the)f(case)g(sp)s(eci\014ed)f(b)m(y)
+630 1176 y(the)31 b(option.)630 1313 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 1422 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
+1532 y(page)31 b(131\).)630 1669 y(Other)d(options,)i(if)f(sp)s
+(eci\014ed,)g(ha)m(v)m(e)h(the)f(follo)m(wing)i(meanings.)40
+b(The)29 b(argumen)m(ts)g(to)h(the)630 1778 y Ft(-G)p
Fu(,)41 b Ft(-W)p Fu(,)h(and)c Ft(-X)h Fu(options)h(\(and,)h(if)f
(necessary)-8 b(,)42 b(the)e Ft(-P)f Fu(and)f Ft(-S)h
-Fu(options\))h(should)f(b)s(e)630 1113 y(quoted)28 b(to)h(protect)g
+Fu(options\))h(should)f(b)s(e)630 1888 y(quoted)28 b(to)h(protect)g
(them)f(from)f(expansion)h(b)s(efore)g(the)g Ft(complete)e
-Fu(builtin)h(is)h(in)m(v)m(ok)m(ed.)630 1270 y Ft(-o)i
-Fj(comp-option)1110 1379 y Fu(The)c Fr(comp-option)i
+Fu(builtin)h(is)h(in)m(v)m(ok)m(ed.)630 2052 y Ft(-o)i
+Fj(comp-option)1110 2162 y Fu(The)c Fr(comp-option)i
Fu(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 1489 y(ior)g(b)s(ey)m(ond)f(the)g(simple)h
+(b)s(eha)m(v-)1110 2271 y(ior)g(b)s(ey)m(ond)f(the)g(simple)h
(generation)h(of)e(completions.)41 b Fr(comp-option)27
-b Fu(ma)m(y)1110 1598 y(b)s(e)j(one)g(of:)1110 1755 y
-Ft(bashdefault)1590 1864 y Fu(P)m(erform)d(the)h(rest)f(of)h(the)g
-(default)f(Bash)h(completions)g(if)g(the)1590 1974 y(compsp)s(ec)i
-(generates)i(no)e(matc)m(hes.)1110 2131 y Ft(default)144
+b Fu(ma)m(y)1110 2381 y(b)s(e)j(one)g(of:)1110 2545 y
+Ft(bashdefault)1590 2655 y Fu(P)m(erform)d(the)h(rest)f(of)h(the)g
+(default)f(Bash)h(completions)g(if)g(the)1590 2765 y(compsp)s(ec)i
+(generates)i(no)e(matc)m(hes.)1110 2929 y Ft(default)144
b Fu(Use)22 b(Readline's)g(default)g(\014lename)g(completion)g(if)g
-(the)g(comp-)1590 2240 y(sp)s(ec)30 b(generates)i(no)e(matc)m(hes.)1110
-2397 y Ft(dirnames)96 b Fu(P)m(erform)46 b(directory)g(name)h
-(completion)g(if)f(the)g(compsp)s(ec)1590 2506 y(generates)32
-b(no)e(matc)m(hes.)1110 2663 y Ft(filenames)1590 2772
+(the)g(comp-)1590 3039 y(sp)s(ec)30 b(generates)i(no)e(matc)m(hes.)1110
+3203 y Ft(dirnames)96 b Fu(P)m(erform)46 b(directory)g(name)h
+(completion)g(if)f(the)g(compsp)s(ec)1590 3313 y(generates)32
+b(no)e(matc)m(hes.)1110 3477 y Ft(filenames)1590 3587
y Fu(T)-8 b(ell)40 b(Readline)f(that)h(the)f(compsp)s(ec)f(generates)j
-(\014lenames,)1590 2882 y(so)29 b(it)h(can)f(p)s(erform)f(an)m(y)h
+(\014lenames,)1590 3696 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
-2992 y(adding)d(a)h(slash)f(to)h(directory)g(names)f(quoting)h(sp)s
-(ecial)g(c)m(har-)1590 3101 y(acters,)39 b(or)d(suppressing)f(trailing)
-i(spaces\).)59 b(This)35 b(option)i(is)1590 3211 y(in)m(tended)30
+3806 y(adding)22 b(a)g(slash)g(to)h(directory)f(names,)i(quoting)f(sp)s
+(ecial)f(c)m(har-)1590 3915 y(acters,)39 b(or)d(suppressing)f(trailing)
+i(spaces\).)59 b(This)35 b(option)i(is)1590 4025 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 3320 y Ft(-F)p Fu(.)1110 3477 y Ft(noquote)144 b
+1590 4134 y Ft(-F)p Fu(.)1110 4299 y Ft(noquote)144 b
Fu(T)-8 b(ell)28 b(Readline)g(not)g(to)g(quote)g(the)g(completed)g(w)m
-(ords)f(if)h(they)1590 3587 y(are)j(\014lenames)f(\(quoting)h
-(\014lenames)g(is)f(the)h(default\).)1110 3743 y Ft(nosort)192
+(ords)f(if)h(they)1590 4408 y(are)j(\014lenames)f(\(quoting)h
+(\014lenames)g(is)f(the)h(default\).)1110 4573 y Ft(nosort)192
b Fu(T)-8 b(ell)23 b(Readline)g(not)f(to)h(sort)g(the)f(list)h(of)f(p)s
-(ossible)g(completions)1590 3853 y(alphab)s(etically)-8
-b(.)1110 4009 y Ft(nospace)144 b Fu(T)-8 b(ell)40 b(Readline)g(not)g
+(ossible)g(completions)1590 4682 y(alphab)s(etically)-8
+b(.)1110 4847 y Ft(nospace)144 b Fu(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
-4119 y(w)m(ords)30 b(completed)h(at)g(the)g(end)f(of)g(the)h(line.)1110
-4275 y Ft(plusdirs)96 b Fu(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 4385 y(ated,)g
+4956 y(w)m(ords)30 b(completed)h(at)g(the)g(end)f(of)g(the)h(line.)1110
+5121 y Ft(plusdirs)96 b Fu(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 5230 y(ated,)g
(directory)f(name)g(completion)i(is)d(attempted)i(and)f(an)m(y)1590
-4495 y(matc)m(hes)j(are)e(added)g(to)h(the)g(results)f(of)g(the)h
-(other)g(actions.)630 4651 y Ft(-A)f Fj(action)66 b Fu(The)25
-b Fr(action)h Fu(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 4761 y(completions:)1110
-4917 y Ft(alias)240 b Fu(Alias)31 b(names.)41 b(Ma)m(y)31
-b(also)h(b)s(e)e(sp)s(eci\014ed)f(as)i Ft(-a)p Fu(.)1110
-5074 y Ft(arrayvar)96 b Fu(Arra)m(y)31 b(v)-5 b(ariable)31
-b(names.)1110 5230 y Ft(binding)144 b Fu(Readline)30
-b(k)m(ey)f(binding)f(names)h(\(see)h(Section)f(8.4)h([Bindable)1590
-5340 y(Readline)h(Commands],)f(page)h(121\).)p eop end
+5340 y(matc)m(hes)j(are)e(added)g(to)h(the)g(results)f(of)g(the)h
+(other)g(actions.)p eop end
%%Page: 135 141
TeXDict begin 135 140 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(135)1110 299 y Ft(builtin)144
-b Fu(Names)21 b(of)g(shell)f(builtin)h(commands.)37 b(Ma)m(y)21
-b(also)h(b)s(e)e(sp)s(eci\014ed)1590 408 y(as)31 b Ft(-b)p
-Fu(.)1110 581 y Ft(command)144 b Fu(Command)29 b(names.)41
-b(Ma)m(y)32 b(also)f(b)s(e)f(sp)s(eci\014ed)f(as)i Ft(-c)p
-Fu(.)1110 753 y Ft(directory)1590 862 y Fu(Directory)h(names.)40
-b(Ma)m(y)32 b(also)f(b)s(e)f(sp)s(eci\014ed)g(as)g Ft(-d)p
-Fu(.)1110 1035 y Ft(disabled)96 b Fu(Names)31 b(of)g(disabled)f(shell)g
-(builtins.)1110 1207 y Ft(enabled)144 b Fu(Names)31 b(of)g(enabled)f
-(shell)g(builtins.)1110 1379 y Ft(export)192 b Fu(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 1489 y(\014ed)d(as)g
-Ft(-e)p Fu(.)1110 1661 y Ft(file)288 b Fu(File)32 b(names.)40
-b(Ma)m(y)32 b(also)f(b)s(e)f(sp)s(eci\014ed)f(as)i Ft(-f)p
-Fu(.)1110 1833 y Ft(function)96 b Fu(Names)31 b(of)g(shell)f
-(functions.)1110 2005 y Ft(group)240 b Fu(Group)30 b(names.)40
-b(Ma)m(y)32 b(also)f(b)s(e)f(sp)s(eci\014ed)g(as)g Ft(-g)p
-Fu(.)1110 2178 y Ft(helptopic)1590 2287 y Fu(Help)37
-b(topics)g(as)g(accepted)h(b)m(y)e(the)h Ft(help)f Fu(builtin)g(\(see)h
-(Sec-)1590 2397 y(tion)31 b(4.2)g([Bash)g(Builtins],)g(page)g(50\).)
-1110 2569 y Ft(hostname)96 b Fu(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
-2679 y(the)55 b Ft(HOSTFILE)e Fu(shell)j(v)-5 b(ariable)56
-b(\(see)g(Section)g(5.2)h([Bash)1590 2788 y(V)-8 b(ariables],)32
-b(page)f(72\).)1110 2960 y Ft(job)336 b Fu(Job)31 b(names,)h(if)g(job)f
-(con)m(trol)i(is)f(activ)m(e.)46 b(Ma)m(y)33 b(also)g(b)s(e)e(sp)s
-(eci-)1590 3070 y(\014ed)f(as)g Ft(-j)p Fu(.)1110 3242
-y Ft(keyword)144 b Fu(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 Ft(-k)p
-Fu(.)1110 3414 y Ft(running)144 b Fu(Names)31 b(of)g(running)d(jobs,)i
-(if)h(job)f(con)m(trol)h(is)g(activ)m(e.)1110 3587 y
-Ft(service)144 b Fu(Service)31 b(names.)41 b(Ma)m(y)31
-b(also)g(b)s(e)f(sp)s(eci\014ed)g(as)g Ft(-s)p Fu(.)1110
-3759 y Ft(setopt)192 b Fu(V)-8 b(alid)39 b(argumen)m(ts)g(for)f(the)h
-Ft(-o)e Fu(option)i(to)g(the)g Ft(set)e Fu(builtin)1590
-3868 y(\(see)31 b(Section)h(4.3.1)g([The)e(Set)g(Builtin],)i(page)f
-(61\).)1110 4041 y Ft(shopt)240 b Fu(Shell)40 b(option)g(names)g(as)g
+b(Command)29 b(Line)i(Editing)2062 b(135)630 299 y Ft(-A)30
+b Fj(action)66 b Fu(The)25 b Fr(action)h Fu(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
+408 y(completions:)1110 570 y Ft(alias)240 b Fu(Alias)31
+b(names.)41 b(Ma)m(y)31 b(also)h(b)s(e)e(sp)s(eci\014ed)f(as)i
+Ft(-a)p Fu(.)1110 732 y Ft(arrayvar)96 b Fu(Arra)m(y)31
+b(v)-5 b(ariable)31 b(names.)1110 894 y Ft(binding)144
+b Fu(Readline)30 b(k)m(ey)f(binding)f(names)h(\(see)h(Section)f(8.4)h
+([Bindable)1590 1004 y(Readline)h(Commands],)f(page)h(121\).)1110
+1166 y Ft(builtin)144 b Fu(Names)21 b(of)g(shell)f(builtin)h(commands.)
+37 b(Ma)m(y)21 b(also)h(b)s(e)e(sp)s(eci\014ed)1590 1276
+y(as)31 b Ft(-b)p Fu(.)1110 1438 y Ft(command)144 b Fu(Command)29
+b(names.)41 b(Ma)m(y)32 b(also)f(b)s(e)f(sp)s(eci\014ed)f(as)i
+Ft(-c)p Fu(.)1110 1600 y Ft(directory)1590 1709 y Fu(Directory)h
+(names.)40 b(Ma)m(y)32 b(also)f(b)s(e)f(sp)s(eci\014ed)g(as)g
+Ft(-d)p Fu(.)1110 1871 y Ft(disabled)96 b Fu(Names)31
+b(of)g(disabled)f(shell)g(builtins.)1110 2033 y Ft(enabled)144
+b Fu(Names)31 b(of)g(enabled)f(shell)g(builtins.)1110
+2195 y Ft(export)192 b Fu(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
+2305 y(\014ed)d(as)g Ft(-e)p Fu(.)1110 2467 y Ft(file)288
+b Fu(File)32 b(names.)40 b(Ma)m(y)32 b(also)f(b)s(e)f(sp)s(eci\014ed)f
+(as)i Ft(-f)p Fu(.)1110 2629 y Ft(function)96 b Fu(Names)31
+b(of)g(shell)f(functions.)1110 2791 y Ft(group)240 b
+Fu(Group)30 b(names.)40 b(Ma)m(y)32 b(also)f(b)s(e)f(sp)s(eci\014ed)g
+(as)g Ft(-g)p Fu(.)1110 2953 y Ft(helptopic)1590 3062
+y Fu(Help)37 b(topics)g(as)g(accepted)h(b)m(y)e(the)h
+Ft(help)f Fu(builtin)g(\(see)h(Sec-)1590 3172 y(tion)31
+b(4.2)g([Bash)g(Builtins],)g(page)g(50\).)1110 3334 y
+Ft(hostname)96 b Fu(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 3444 y(the)55 b
+Ft(HOSTFILE)e Fu(shell)j(v)-5 b(ariable)56 b(\(see)g(Section)g(5.2)h
+([Bash)1590 3553 y(V)-8 b(ariables],)32 b(page)f(72\).)1110
+3715 y Ft(job)336 b Fu(Job)31 b(names,)h(if)g(job)f(con)m(trol)i(is)f
+(activ)m(e.)46 b(Ma)m(y)33 b(also)g(b)s(e)e(sp)s(eci-)1590
+3825 y(\014ed)f(as)g Ft(-j)p Fu(.)1110 3987 y Ft(keyword)144
+b Fu(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 Ft(-k)p Fu(.)1110
+4149 y Ft(running)144 b Fu(Names)31 b(of)g(running)d(jobs,)i(if)h(job)f
+(con)m(trol)h(is)g(activ)m(e.)1110 4311 y Ft(service)144
+b Fu(Service)31 b(names.)41 b(Ma)m(y)31 b(also)g(b)s(e)f(sp)s
+(eci\014ed)g(as)g Ft(-s)p Fu(.)1110 4473 y Ft(setopt)192
+b Fu(V)-8 b(alid)39 b(argumen)m(ts)g(for)f(the)h Ft(-o)e
+Fu(option)i(to)g(the)g Ft(set)e Fu(builtin)1590 4582
+y(\(see)31 b(Section)h(4.3.1)g([The)e(Set)g(Builtin],)i(page)f(61\).)
+1110 4744 y Ft(shopt)240 b Fu(Shell)40 b(option)g(names)g(as)g
(accepted)i(b)m(y)e(the)g Ft(shopt)e Fu(builtin)1590
-4150 y(\(see)31 b(Section)h(4.2)f([Bash)g(Builtins],)g(page)g(50\).)
-1110 4322 y Ft(signal)192 b Fu(Signal)31 b(names.)1110
-4495 y Ft(stopped)144 b Fu(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 4667 y Ft(user)288
+4854 y(\(see)31 b(Section)h(4.2)f([Bash)g(Builtins],)g(page)g(50\).)
+1110 5016 y Ft(signal)192 b Fu(Signal)31 b(names.)1110
+5178 y Ft(stopped)144 b Fu(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 5340 y Ft(user)288
b Fu(User)30 b(names.)41 b(Ma)m(y)32 b(also)f(b)s(e)f(sp)s(eci\014ed)f
-(as)i Ft(-u)p Fu(.)1110 4839 y Ft(variable)96 b Fu(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 4949 y Ft(-v)p
-Fu(.)630 5121 y Ft(-C)30 b Fj(command)1110 5230 y Fr(command)35
-b Fu(is)e(executed)g(in)e(a)i(subshell)e(en)m(vironmen)m(t,)i(and)f
-(its)g(output)g(is)1110 5340 y(used)e(as)g(the)h(p)s(ossible)f
-(completions.)p eop end
+(as)i Ft(-u)p Fu(.)p eop end
%%Page: 136 142
TeXDict begin 136 141 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(136)630 299 y Ft(-F)30
-b Fj(function)1110 408 y Fu(The)39 b(shell)g(function)g
-Fr(function)g Fu(is)g(executed)h(in)f(the)g(curren)m(t)g(shell)g(en)m
-(vi-)1110 518 y(ronmen)m(t.)72 b(When)41 b(it)g(is)g(executed,)k($1)c
-(is)g(the)g(name)g(of)g(the)g(command)1110 628 y(whose)34
-b(argumen)m(ts)h(are)g(b)s(eing)f(completed,)j($2)e(is)f(the)h(w)m(ord)
-f(b)s(eing)g(com-)1110 737 y(pleted,)44 b(and)c($3)i(is)e(the)h(w)m
-(ord)g(preceding)f(the)h(w)m(ord)f(b)s(eing)h(completed,)1110
-847 y(as)g(describ)s(ed)f(ab)s(o)m(v)m(e)i(\(see)g(Section)f(8.6)h
-([Programmable)g(Completion],)1110 956 y(page)30 b(131\).)42
-b(When)29 b(it)h(\014nishes,)e(the)h(p)s(ossible)g(completions)h(are)g
-(retriev)m(ed)1110 1066 y(from)g(the)g(v)-5 b(alue)31
-b(of)g(the)f Ft(COMPREPLY)e Fu(arra)m(y)j(v)-5 b(ariable.)630
-1240 y Ft(-G)30 b Fj(globpat)1110 1350 y Fu(The)39 b(\014lename)h
-(expansion)g(pattern)g Fr(globpat)j Fu(is)d(expanded)f(to)h(generate)
-1110 1459 y(the)31 b(p)s(ossible)e(completions.)630 1633
-y Ft(-P)h Fj(prefix)66 b Fr(pre\014x)39 b Fu(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
-1743 y(all)c(other)g(options)g(ha)m(v)m(e)g(b)s(een)f(applied.)630
-1917 y Ft(-S)g Fj(suffix)66 b Fr(su\016x)26 b Fu(is)20
+b(Command)29 b(Line)i(Editing)2062 b(136)1110 299 y Ft(variable)96
+b Fu(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
+408 y Ft(-v)p Fu(.)630 573 y Ft(-C)30 b Fj(command)1110
+682 y Fr(command)35 b Fu(is)e(executed)g(in)e(a)i(subshell)e(en)m
+(vironmen)m(t,)i(and)f(its)g(output)g(is)1110 792 y(used)e(as)g(the)h
+(p)s(ossible)f(completions.)630 956 y Ft(-F)g Fj(function)1110
+1066 y Fu(The)39 b(shell)g(function)g Fr(function)g Fu(is)g(executed)h
+(in)f(the)g(curren)m(t)g(shell)g(en)m(vi-)1110 1176 y(ronmen)m(t.)72
+b(When)41 b(it)g(is)g(executed,)k($1)c(is)g(the)g(name)g(of)g(the)g
+(command)1110 1285 y(whose)34 b(argumen)m(ts)h(are)g(b)s(eing)f
+(completed,)j($2)e(is)f(the)h(w)m(ord)f(b)s(eing)g(com-)1110
+1395 y(pleted,)44 b(and)c($3)i(is)e(the)h(w)m(ord)g(preceding)f(the)h
+(w)m(ord)f(b)s(eing)h(completed,)1110 1504 y(as)g(describ)s(ed)f(ab)s
+(o)m(v)m(e)i(\(see)g(Section)f(8.6)h([Programmable)g(Completion],)1110
+1614 y(page)30 b(131\).)42 b(When)29 b(it)h(\014nishes,)e(the)h(p)s
+(ossible)g(completions)h(are)g(retriev)m(ed)1110 1724
+y(from)g(the)g(v)-5 b(alue)31 b(of)g(the)f Ft(COMPREPLY)e
+Fu(arra)m(y)j(v)-5 b(ariable.)630 1888 y Ft(-G)30 b Fj(globpat)1110
+1998 y Fu(The)39 b(\014lename)h(expansion)g(pattern)g
+Fr(globpat)j Fu(is)d(expanded)f(to)h(generate)1110 2107
+y(the)31 b(p)s(ossible)e(completions.)630 2271 y Ft(-P)h
+Fj(prefix)66 b Fr(pre\014x)39 b Fu(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
+2381 y(all)c(other)g(options)g(ha)m(v)m(e)g(b)s(een)f(applied.)630
+2545 y Ft(-S)g Fj(suffix)66 b Fr(su\016x)26 b Fu(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 2027 y(ha)m(v)m(e)32 b(b)s(een)d(applied.)630
-2201 y Ft(-W)h Fj(wordlist)1110 2310 y Fu(The)24 b Fr(w)m(ordlist)k
+(other)g(options)1110 2655 y(ha)m(v)m(e)32 b(b)s(een)d(applied.)630
+2819 y Ft(-W)h Fj(wordlist)1110 2929 y Fu(The)24 b Fr(w)m(ordlist)k
Fu(is)d(split)g(using)f(the)h(c)m(haracters)i(in)d(the)i
-Ft(IFS)e Fu(sp)s(ecial)h(v)-5 b(ariable)1110 2420 y(as)36
+Ft(IFS)e Fu(sp)s(ecial)h(v)-5 b(ariable)1110 3039 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 2529 y(completions)c(are)e
+(expanded.)57 b(The)35 b(p)s(ossible)1110 3148 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 2639 y(w)m(ord)f(b)s(eing)g(completed.)630
-2813 y Ft(-X)g Fj(filterpat)1110 2923 y Fr(\014lterpat)d
+(matc)m(h)i(the)1110 3258 y(w)m(ord)f(b)s(eing)g(completed.)630
+3422 y Ft(-X)g Fj(filterpat)1110 3532 y Fr(\014lterpat)d
Fu(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 3032 y(the)30 b(list)f(of)h(p)s
+b(It)25 b(is)g(applied)f(to)1110 3641 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 3142 y(and)d(argumen)m(ts,)i(and)e(eac)m(h)i(completion)g(matc)m
-(hing)g Fr(\014lterpat)h Fu(is)e(remo)m(v)m(ed)1110 3251
+1110 3751 y(and)d(argumen)m(ts,)i(and)e(eac)m(h)i(completion)g(matc)m
+(hing)g Fr(\014lterpat)h Fu(is)e(remo)m(v)m(ed)1110 3861
y(from)i(the)h(list.)42 b(A)30 b(leading)i(`)p Ft(!)p
Fu(')e(in)g Fr(\014lterpat)j Fu(negates)f(the)f(pattern;)g(in)f(this)
-1110 3361 y(case,)i(an)m(y)e(completion)i(not)f(matc)m(hing)g
-Fr(\014lterpat)i Fu(is)d(remo)m(v)m(ed.)630 3535 y(The)35
+1110 3970 y(case,)i(an)m(y)e(completion)i(not)f(matc)m(hing)g
+Fr(\014lterpat)i Fu(is)d(remo)m(v)m(ed.)630 4134 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
-3645 y(than)h Ft(-p)g Fu(or)g Ft(-r)f Fu(is)h(supplied)f(without)i(a)f
+4244 y(than)h Ft(-p)g Fu(or)g Ft(-r)f Fu(is)h(supplied)f(without)i(a)f
Fr(name)44 b Fu(argumen)m(t,)c(an)e(attempt)i(is)e(made)g(to)630
-3754 y(remo)m(v)m(e)32 b(a)e(completion)i(sp)s(eci\014cation)f(for)f(a)
+4354 y(remo)m(v)m(e)32 b(a)e(completion)i(sp)s(eci\014cation)f(for)f(a)
h Fr(name)k Fu(for)30 b(whic)m(h)g(no)g(sp)s(eci\014cation)h(exists,)
-630 3864 y(or)f(an)h(error)f(o)s(ccurs)g(adding)g(a)g(completion)i(sp)s
-(eci\014cation.)150 4038 y Ft(compopt)870 4180 y(compopt)46
-b([-o)h Fj(option)p Ft(])f([-DE])g([+o)h Fj(option)p
-Ft(])f([)p Fj(name)p Ft(])630 4321 y Fu(Mo)s(dify)33
+630 4463 y(or)f(an)h(error)f(o)s(ccurs)g(adding)g(a)g(completion)i(sp)s
+(eci\014cation.)150 4628 y Ft(compopt)870 4765 y(compopt)46
+b([-o)h Fj(option)p Ft(])f([-DEI])g([+o)h Fj(option)p
+Ft(])e([)p Fj(name)p Ft(])630 4902 y Fu(Mo)s(dify)33
b(completion)h(options)g(for)f(eac)m(h)h Fr(name)39 b
Fu(according)34 b(to)g(the)f Fr(option)p Fu(s,)i(or)e(for)g(the)630
-4431 y(curren)m(tly-executing)46 b(completion)f(if)f(no)f
+5011 y(curren)m(tly-executing)46 b(completion)f(if)f(no)f
Fr(name)5 b Fu(s)44 b(are)h(supplied.)80 b(If)43 b(no)h
-Fr(option)p Fu(s)h(are)630 4541 y(giv)m(en,)30 b(displa)m(y)e(the)g
+Fr(option)p Fu(s)h(are)630 5121 y(giv)m(en,)30 b(displa)m(y)e(the)g
(completion)h(options)g(for)e(eac)m(h)i Fr(name)34 b
-Fu(or)27 b(the)i(curren)m(t)e(completion.)630 4650 y(The)f(p)s(ossible)
+Fu(or)27 b(the)i(curren)m(t)e(completion.)630 5230 y(The)f(p)s(ossible)
g(v)-5 b(alues)27 b(of)f Fr(option)h Fu(are)g(those)g(v)-5
b(alid)26 b(for)g(the)h Ft(complete)d Fu(builtin)i(describ)s(ed)630
-4760 y(ab)s(o)m(v)m(e.)41 b(The)28 b Ft(-D)g Fu(option)h(indicates)h
-(that)f(the)g(remaining)g(options)g(should)e(apply)h(to)i(the)630
-4869 y(\\default")j(command)f(completion;)i(that)f(is,)g(completion)g
-(attempted)g(on)f(a)g(command)630 4979 y(for)g(whic)m(h)g(no)g
-(completion)i(has)e(previously)g(b)s(een)g(de\014ned.)45
-b(The)32 b Ft(-E)f Fu(option)i(indicates)630 5089 y(that)24
-b(the)g(remaining)g(options)g(should)e(apply)h(to)i(\\empt)m(y")g
-(command)e(completion;)k(that)630 5198 y(is,)k(completion)g(attempted)h
-(on)e(a)h(blank)f(line.)630 5340 y(The)g Ft(-D)g Fu(option)g(tak)m(es)i
-(precedence)f(o)m(v)m(er)h Ft(-E)p Fu(.)p eop end
+5340 y(ab)s(o)m(v)m(e.)41 b(The)27 b Ft(-D)f Fu(option)i(indicates)g
+(that)g(other)f(supplied)f(options)i(should)e(apply)h(to)h(the)p
+eop end
%%Page: 137 143
TeXDict begin 137 142 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(137)630 299 y(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 Fr(name)k
-Fu(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.)150 772
-y Fs(8.8)68 b(A)44 b(Programmable)j(Completion)f(Example)150
-931 y Fu(The)37 b(most)g(common)g(w)m(a)m(y)i(to)e(obtain)h(additional)
-g(completion)g(functionalit)m(y)h(b)s(ey)m(ond)d(the)i(default)150
-1041 y(actions)29 b Ft(complete)d Fu(and)i Ft(compgen)e
-Fu(pro)m(vide)i(is)h(to)f(use)g(a)h(shell)f(function)g(and)g(bind)e(it)
-j(to)g(a)g(particular)150 1151 y(command)h(using)g Ft(complete)e(-F)p
-Fu(.)275 1294 y(The)j(follo)m(wing)j(function)e(pro)m(vides)g
-(completions)i(for)e(the)g Ft(cd)g Fu(builtin.)46 b(It)32
-b(is)h(a)f(reasonably)h(go)s(o)s(d)150 1403 y(example)41
+b(Command)29 b(Line)i(Editing)2062 b(137)630 299 y(\\default")33
+b(command)f(completion;)i(that)f(is,)g(completion)g(attempted)g(on)f(a)
+g(command)630 408 y(for)g(whic)m(h)g(no)g(completion)i(has)e
+(previously)g(b)s(een)g(de\014ned.)45 b(The)32 b Ft(-E)f
+Fu(option)i(indicates)630 518 y(that)23 b(other)f(supplied)e(options)j
+(should)e(apply)g(to)i(\\empt)m(y")g(command)f(completion;)k(that)630
+628 y(is,)36 b(completion)g(attempted)g(on)e(a)h(blank)g(line.)54
+b(The)34 b Ft(-I)g Fu(option)h(indicates)g(that)h(other)630
+737 y(supplied)26 b(options)h(should)g(apply)f(to)i(completion)h(on)e
+(the)g(inital)i(non-assignmen)m(t)e(w)m(ord)630 847 y(on)37
+b(the)f(line,)j(or)e(after)g(a)g(command)f(delimiter)i(suc)m(h)e(as)h
+(`)p Ft(;)p Fu(')g(or)f(`)p Ft(|)p Fu(',)j(whic)m(h)e(is)f(usually)630
+956 y(command)30 b(name)h(completion.)630 1091 y(If)k(m)m(ultiple)i
+(options)f(are)g(supplied,)g(the)g Ft(-D)g Fu(option)g(tak)m(es)h
+(precedence)g(o)m(v)m(er)g Ft(-E)p Fu(,)g(and)630 1200
+y(b)s(oth)30 b(tak)m(e)i(precedence)e(o)m(v)m(er)i Ft(-I)630
+1335 y Fu(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 1444 y(to)32 b(mo)s(dify)f(the)g(options)h(for)f(a)h
+Fr(name)k Fu(for)31 b(whic)m(h)g(no)g(completion)i(sp)s(eci\014cation)f
+(exists,)630 1554 y(or)e(an)h(output)f(error)g(o)s(ccurs.)150
+1794 y Fs(8.8)68 b(A)44 b(Programmable)j(Completion)f(Example)150
+1954 y Fu(The)37 b(most)g(common)g(w)m(a)m(y)i(to)e(obtain)h
+(additional)g(completion)g(functionalit)m(y)h(b)s(ey)m(ond)d(the)i
+(default)150 2063 y(actions)29 b Ft(complete)d Fu(and)i
+Ft(compgen)e Fu(pro)m(vide)i(is)h(to)f(use)g(a)h(shell)f(function)g
+(and)g(bind)e(it)j(to)g(a)g(particular)150 2173 y(command)h(using)g
+Ft(complete)e(-F)p Fu(.)275 2307 y(The)j(follo)m(wing)j(function)e(pro)
+m(vides)g(completions)i(for)e(the)g Ft(cd)g Fu(builtin.)46
+b(It)32 b(is)h(a)f(reasonably)h(go)s(o)s(d)150 2417 y(example)41
b(of)g(what)f(shell)h(functions)f(m)m(ust)g(do)h(when)e(used)h(for)g
-(completion.)73 b(This)39 b(function)h(uses)150 1513
+(completion.)73 b(This)39 b(function)h(uses)150 2526
y(the)32 b(w)m(ord)f(passed)g(as)h Ft($2)f Fu(to)h(determine)g(the)f
(directory)h(name)g(to)g(complete.)46 b(Y)-8 b(ou)32
-b(can)g(also)g(use)g(the)150 1623 y Ft(COMP_WORDS)c Fu(arra)m(y)i(v)-5
+b(can)g(also)g(use)g(the)150 2636 y Ft(COMP_WORDS)c Fu(arra)m(y)i(v)-5
b(ariable;)32 b(the)e(curren)m(t)h(w)m(ord)f(is)g(indexed)g(b)m(y)g
-(the)h Ft(COMP_CWORD)c Fu(v)-5 b(ariable.)275 1766 y(The)42
+(the)h Ft(COMP_CWORD)c Fu(v)-5 b(ariable.)275 2770 y(The)42
b(function)h(relies)h(on)e(the)i Ft(complete)c Fu(and)j
Ft(compgen)e Fu(builtins)h(to)i(do)f(m)m(uc)m(h)g(of)g(the)h(w)m(ork,)
-150 1875 y(adding)25 b(only)h(the)g(things)g(that)g(the)g(Bash)g
+150 2880 y(adding)25 b(only)h(the)g(things)g(that)g(the)g(Bash)g
Ft(cd)f Fu(do)s(es)g(b)s(ey)m(ond)g(accepting)j(basic)e(directory)g
-(names:)38 b(tilde)150 1985 y(expansion)22 b(\(see)h(Section)g(3.5.2)g
+(names:)38 b(tilde)150 2989 y(expansion)22 b(\(see)h(Section)g(3.5.2)g
([Tilde)g(Expansion],)g(page)g(23\),)i(searc)m(hing)e(directories)g(in)
-e Fr($CDP)-8 b(A)g(TH)p Fu(,)150 2095 y(whic)m(h)21 b(is)h(describ)s
+e Fr($CDP)-8 b(A)g(TH)p Fu(,)150 3099 y(whic)m(h)21 b(is)h(describ)s
(ed)e(ab)s(o)m(v)m(e)j(\(see)f(Section)h(4.1)f([Bourne)g(Shell)f
(Builtins],)j(page)e(43\),)j(and)c(basic)h(supp)s(ort)150
-2204 y(for)31 b(the)h Ft(cdable_vars)d Fu(shell)i(option)h(\(see)h
+3208 y(for)31 b(the)h Ft(cdable_vars)d Fu(shell)i(option)h(\(see)h
(Section)f(4.3.2)i([The)d(Shopt)g(Builtin],)i(page)f(65\).)46
-b Ft(_comp_)150 2314 y(cd)30 b Fu(mo)s(di\014es)g(the)h(v)-5
+b Ft(_comp_)150 3318 y(cd)30 b Fu(mo)s(di\014es)g(the)h(v)-5
b(alue)31 b(of)g Fr(IFS)36 b Fu(so)31 b(that)g(it)g(con)m(tains)h(only)
f(a)g(newline)g(to)h(accommo)s(date)g(\014le)f(names)150
-2423 y(con)m(taining)i(spaces)g(and)e(tabs)h({)g Ft(compgen)e
+3428 y(con)m(taining)i(spaces)g(and)e(tabs)h({)g Ft(compgen)e
Fu(prin)m(ts)h(the)h(p)s(ossible)f(completions)i(it)g(generates)g(one)f
-(p)s(er)150 2533 y(line.)275 2676 y(P)m(ossible)24 b(completions)h(go)g
+(p)s(er)150 3537 y(line.)275 3671 y(P)m(ossible)24 b(completions)h(go)g
(in)m(to)g(the)f Fr(COMPREPL)-8 b(Y)36 b Fu(arra)m(y)24
b(v)-5 b(ariable,)26 b(one)e(completion)i(p)s(er)c(arra)m(y)150
-2786 y(elemen)m(t.)42 b(The)30 b(programmable)g(completion)i(system)e
+3781 y(elemen)m(t.)42 b(The)30 b(programmable)g(completion)i(system)e
(retriev)m(es)h(the)g(completions)g(from)f(there)g(when)150
-2895 y(the)h(function)f(returns.)390 3039 y Ft(#)47 b(A)h(completion)d
-(function)g(for)i(the)g(cd)g(builtin)390 3148 y(#)g(based)g(on)g(the)g
+3891 y(the)h(function)f(returns.)390 4025 y Ft(#)47 b(A)h(completion)d
+(function)g(for)i(the)g(cd)g(builtin)390 4134 y(#)g(based)g(on)g(the)g
(cd)g(completion)e(function)h(from)g(the)h(bash_completion)d(package)
-390 3258 y(_comp_cd\(\))390 3367 y({)581 3477 y(local)i(IFS=$')g
-(\\t\\n')190 b(#)47 b(normalize)f(IFS)581 3587 y(local)g(cur)h
-(_skipdot)f(_cdpath)581 3696 y(local)g(i)i(j)f(k)581
-3915 y(#)g(Tilde)g(expansion,)e(with)h(side)h(effect)f(of)h(expanding)f
-(tilde)g(to)h(full)g(pathname)581 4025 y(case)g("$2")f(in)581
-4134 y(\\~*\))190 b(eval)46 b(cur="$2")g(;;)581 4244
-y(*\))286 b(cur=$2)46 b(;;)581 4354 y(esac)581 4573 y(#)h(no)h(cdpath)e
-(or)h(absolute)e(pathname)h(--)h(straight)f(directory)f(completion)581
-4682 y(if)i([[)g(-z)g("${CDPATH:-}")e(]])i(||)g([[)g("$cur")f(==)h
-(@\(./*|../*|/*\))d(]];)j(then)772 4792 y(#)g(compgen)f(prints)g(paths)
-h(one)f(per)h(line;)g(could)f(also)h(use)g(while)f(loop)772
-4902 y(IFS=$'\\n')772 5011 y(COMPREPLY=\()f($\(compgen)g(-d)i(--)g
-("$cur"\))f(\))772 5121 y(IFS=$')g(\\t\\n')581 5230 y(#)h
-(CDPATH+directories)c(in)k(the)g(current)f(directory)f(if)j(not)e(in)i
-(CDPATH)581 5340 y(else)p eop end
+390 4244 y(_comp_cd\(\))390 4354 y({)581 4463 y(local)i(IFS=$')g
+(\\t\\n')190 b(#)47 b(normalize)f(IFS)581 4573 y(local)g(cur)h
+(_skipdot)f(_cdpath)581 4682 y(local)g(i)i(j)f(k)581
+4902 y(#)g(Tilde)g(expansion,)e(which)h(also)h(expands)f(tilde)g(to)h
+(full)g(pathname)581 5011 y(case)g("$2")f(in)581 5121
+y(\\~*\))190 b(eval)46 b(cur="$2")g(;;)581 5230 y(*\))286
+b(cur=$2)46 b(;;)581 5340 y(esac)p eop end
%%Page: 138 144
TeXDict begin 138 143 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(138)772 299 y Ft(IFS=$'\\n')772
-408 y(_skipdot=false)772 518 y(#)47 b(preprocess)e(CDPATH)h(to)i
-(convert)d(null)i(directory)e(names)i(to)g(.)772 628
-y(_cdpath=${CDPATH/#:/.:})772 737 y(_cdpath=${_cdpath//::/:.)o(:})772
-847 y(_cdpath=${_cdpath/\045:/:.})772 956 y(for)g(i)g(in)g
-(${_cdpath//:/$'\\n'};)c(do)963 1066 y(if)k([[)g($i)g(-ef)g(.)h(]];)f
-(then)f(_skipdot=true;)e(fi)963 1176 y(k="${#COMPREPLY[@]}")963
-1285 y(for)j(j)g(in)g($\()g(compgen)f(-d)h(--)h("$i/$cur")d(\);)i(do)
-1154 1395 y(COMPREPLY[k++]=${j#$i/})375 b(#)48 b(cut)f(off)f(directory)
-963 1504 y(done)772 1614 y(done)772 1724 y($_skipdot)f(||)i
+b(Command)29 b(Line)i(Editing)2062 b(138)581 408 y Ft(#)47
+b(no)h(cdpath)e(or)h(absolute)e(pathname)h(--)h(straight)f(directory)f
+(completion)581 518 y(if)i([[)g(-z)g("${CDPATH:-}")e(]])i(||)g([[)g
+("$cur")f(==)h(@\(./*|../*|/*\))d(]];)j(then)772 628
+y(#)g(compgen)f(prints)g(paths)h(one)f(per)h(line;)g(could)f(also)h
+(use)g(while)f(loop)772 737 y(IFS=$'\\n')772 847 y(COMPREPLY=\()f
+($\(compgen)g(-d)i(--)g("$cur"\))f(\))772 956 y(IFS=$')g(\\t\\n')581
+1066 y(#)h(CDPATH+directories)c(in)k(the)g(current)f(directory)f(if)j
+(not)e(in)i(CDPATH)581 1176 y(else)772 1285 y(IFS=$'\\n')772
+1395 y(_skipdot=false)772 1504 y(#)f(preprocess)e(CDPATH)h(to)i
+(convert)d(null)i(directory)e(names)i(to)g(.)772 1614
+y(_cdpath=${CDPATH/#:/.:})772 1724 y(_cdpath=${_cdpath//::/:.)o(:})772
+1833 y(_cdpath=${_cdpath/\045:/:.})772 1943 y(for)g(i)g(in)g
+(${_cdpath//:/$'\\n'};)c(do)963 2052 y(if)k([[)g($i)g(-ef)g(.)h(]];)f
+(then)f(_skipdot=true;)e(fi)963 2162 y(k="${#COMPREPLY[@]}")963
+2271 y(for)j(j)g(in)g($\()g(compgen)f(-d)h(--)h("$i/$cur")d(\);)i(do)
+1154 2381 y(COMPREPLY[k++]=${j#$i/})375 b(#)48 b(cut)f(off)f(directory)
+963 2491 y(done)772 2600 y(done)772 2710 y($_skipdot)f(||)i
(COMPREPLY+=\()e($\(compgen)g(-d)i(--)g("$cur"\))f(\))772
-1833 y(IFS=$')g(\\t\\n')581 1943 y(fi)581 2162 y(#)h(variable)f(names)g
+2819 y(IFS=$')g(\\t\\n')581 2929 y(fi)581 3148 y(#)h(variable)f(names)g
(if)h(appropriate)e(shell)i(option)f(set)h(and)f(no)i(completions)581
-2271 y(if)f(shopt)f(-q)i(cdable_vars)c(&&)k([[)f(${#COMPREPLY[@]})c
-(-eq)k(0)g(]];)g(then)772 2381 y(COMPREPLY=\()e($\(compgen)g(-v)i(--)g
-("$cur"\))f(\))581 2491 y(fi)581 2710 y(return)g(0)390
-2819 y(})275 2973 y Fu(W)-8 b(e)31 b(install)g(the)g(completion)h
+3258 y(if)f(shopt)f(-q)i(cdable_vars)c(&&)k([[)f(${#COMPREPLY[@]})c
+(-eq)k(0)g(]];)g(then)772 3367 y(COMPREPLY=\()e($\(compgen)g(-v)i(--)g
+("$cur"\))f(\))581 3477 y(fi)581 3696 y(return)g(0)390
+3806 y(})275 3952 y Fu(W)-8 b(e)31 b(install)g(the)g(completion)h
(function)e(using)f(the)i Ft(-F)f Fu(option)h(to)g Ft(complete)p
-Fu(:)390 3126 y Ft(#)47 b(Tell)g(readline)f(to)h(quote)f(appropriate)f
-(and)i(append)f(slashes)g(to)h(directories;)390 3236
+Fu(:)390 4098 y Ft(#)47 b(Tell)g(readline)f(to)h(quote)f(appropriate)f
+(and)i(append)f(slashes)g(to)h(directories;)390 4208
y(#)g(use)g(the)g(bash)g(default)f(completion)f(for)i(other)f
-(arguments)390 3345 y(complete)g(-o)h(filenames)e(-o)i(nospace)f(-o)h
-(bashdefault)e(-F)i(_comp_cd)f(cd)150 3499 y Fu(Since)33
+(arguments)390 4317 y(complete)g(-o)h(filenames)e(-o)i(nospace)f(-o)h
+(bashdefault)e(-F)i(_comp_cd)f(cd)150 4463 y Fu(Since)33
b(w)m(e'd)g(lik)m(e)i(Bash)e(and)f(Readline)i(to)g(tak)m(e)g(care)g(of)
f(some)h(of)f(the)g(other)h(details)g(for)e(us,)i(w)m(e)f(use)150
-3608 y(sev)m(eral)43 b(other)g(options)f(to)h(tell)g(Bash)f(and)f
+4573 y(sev)m(eral)43 b(other)g(options)f(to)h(tell)g(Bash)f(and)f
(Readline)i(what)f(to)g(do.)76 b(The)41 b Ft(-o)30 b(filenames)39
-b Fu(option)150 3718 y(tells)j(Readline)g(that)g(the)f(p)s(ossible)g
+b Fu(option)150 4682 y(tells)j(Readline)g(that)g(the)f(p)s(ossible)g
(completions)h(should)f(b)s(e)f(treated)i(as)g(\014lenames,)i(and)d
-(quoted)150 3828 y(appropriately)-8 b(.)53 b(That)34
+(quoted)150 4792 y(appropriately)-8 b(.)53 b(That)34
b(option)h(will)g(also)g(cause)g(Readline)g(to)g(app)s(end)e(a)h(slash)
-g(to)h(\014lenames)g(it)g(can)150 3937 y(determine)i(are)g(directories)
+g(to)h(\014lenames)g(it)g(can)150 4902 y(determine)i(are)g(directories)
h(\(whic)m(h)g(is)f(wh)m(y)f(w)m(e)i(migh)m(t)f(w)m(an)m(t)h(to)g
-(extend)f Ft(_comp_cd)e Fu(to)i(app)s(end)f(a)150 4047
+(extend)f Ft(_comp_cd)e Fu(to)i(app)s(end)f(a)150 5011
y(slash)22 b(if)g(w)m(e're)h(using)f(directories)h(found)e(via)i
Fr(CDP)-8 b(A)g(TH)10 b Fu(:)37 b(Readline)23 b(can't)g(tell)g(those)g
-(completions)h(are)150 4156 y(directories\).)45 b(The)31
+(completions)h(are)150 5121 y(directories\).)45 b(The)31
b Ft(-o)f(nospace)f Fu(option)j(tells)g(Readline)g(to)h(not)e(app)s
-(end)f(a)i(space)g(c)m(haracter)h(to)f(the)150 4266 y(directory)c
+(end)f(a)i(space)g(c)m(haracter)h(to)f(the)150 5230 y(directory)c
(name,)h(in)f(case)h(w)m(e)f(w)m(an)m(t)h(to)f(app)s(end)f(to)h(it.)41
b(The)27 b Ft(-o)j(bashdefault)25 b Fu(option)j(brings)f(in)h(the)150
-4376 y(rest)h(of)f(the)h Ft(")p Fu(Bash)f(default)p Ft(")h
+5340 y(rest)h(of)f(the)h Ft(")p Fu(Bash)f(default)p Ft(")h
Fu(completions)g({)g(p)s(ossible)f(completion)i(that)f(Bash)f(adds)g
-(to)h(the)g(default)150 4485 y(Readline)40 b(set.)68
-b(These)39 b(include)g(things)g(lik)m(e)i(command)e(name)g(completion,)
-44 b(v)-5 b(ariable)40 b(completion)150 4595 y(for)i(w)m(ords)g(b)s
-(eginning)f(with)h(`)p Ft({)p Fu(',)k(completions)e(con)m(taining)f
-(pathname)g(expansion)f(patterns)g(\(see)150 4704 y(Section)31
-b(3.5.8)h([Filename)g(Expansion],)e(page)i(31\),)f(and)f(so)h(on.)275
-4858 y(Once)39 b(installed)i(using)e Ft(complete)p Fu(,)h
-Ft(_comp_cd)d Fu(will)j(b)s(e)g(called)g(ev)m(ery)h(time)f(w)m(e)g
-(attempt)h(w)m(ord)150 4967 y(completion)32 b(for)e(a)h
-Ft(cd)e Fu(command.)275 5121 y(Man)m(y)34 b(more)g(examples)g({)g(an)g
-(extensiv)m(e)h(collection)i(of)c(completions)i(for)f(most)g(of)g(the)g
-(common)150 5230 y(GNU,)g(Unix,)h(and)d(Lin)m(ux)h(commands)g({)h(are)g
-(a)m(v)-5 b(ailable)36 b(as)e(part)f(of)h(the)f(bash)p
-2943 5230 28 4 v 39 w(completion)i(pro)5 b(ject.)150
-5340 y(This)33 b(is)h(installed)h(b)m(y)f(default)g(on)g(man)m(y)h
-(GNU/Lin)m(ux)f(distributions.)51 b(Originally)35 b(written)f(b)m(y)g
-(Ian)p eop end
+(to)h(the)g(default)p eop end
%%Page: 139 145
TeXDict begin 139 144 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(139)150 299 y(Macdonald,)44
-b(the)d(pro)5 b(ject)41 b(no)m(w)f(liv)m(es)i(at)f Ft(http:)8
-b(/)g(/)g(bash-completion)g(.)g(alioth)g(.)g(debi)o(an)g(.)g(org)f(/)h
-Fu(.)150 408 y(There)30 b(are)h(p)s(orts)e(for)h(other)h(systems)f(suc)
-m(h)g(as)h(Solaris)g(and)f(Mac)h(OS)f(X.)275 543 y(An)54
-b(older)h(v)m(ersion)h(of)f(the)g(bash)p 1532 543 28
-4 v 40 w(completion)h(pac)m(k)-5 b(age)57 b(is)e(distributed)f(with)h
-(bash)f(in)h(the)150 653 y Ft(examples/complete)26 b
-Fu(sub)s(directory)-8 b(.)p eop end
+b(Command)29 b(Line)i(Editing)2062 b(139)150 299 y(Readline)40
+b(set.)68 b(These)39 b(include)g(things)g(lik)m(e)i(command)e(name)g
+(completion,)44 b(v)-5 b(ariable)40 b(completion)150
+408 y(for)i(w)m(ords)g(b)s(eginning)f(with)h(`)p Ft({)p
+Fu(',)k(completions)e(con)m(taining)f(pathname)g(expansion)f(patterns)g
+(\(see)150 518 y(Section)31 b(3.5.8)h([Filename)g(Expansion],)e(page)i
+(32\),)f(and)f(so)h(on.)275 653 y(Once)39 b(installed)i(using)e
+Ft(complete)p Fu(,)h Ft(_comp_cd)d Fu(will)j(b)s(e)g(called)g(ev)m(ery)
+h(time)f(w)m(e)g(attempt)h(w)m(ord)150 762 y(completion)32
+b(for)e(a)h Ft(cd)e Fu(command.)275 897 y(Man)m(y)34
+b(more)g(examples)g({)g(an)g(extensiv)m(e)h(collection)i(of)c
+(completions)i(for)f(most)g(of)g(the)g(common)150 1006
+y(GNU,)g(Unix,)h(and)d(Lin)m(ux)h(commands)g({)h(are)g(a)m(v)-5
+b(ailable)36 b(as)e(part)f(of)h(the)f(bash)p 2943 1006
+28 4 v 39 w(completion)i(pro)5 b(ject.)150 1116 y(This)33
+b(is)h(installed)h(b)m(y)f(default)g(on)g(man)m(y)h(GNU/Lin)m(ux)f
+(distributions.)51 b(Originally)35 b(written)f(b)m(y)g(Ian)150
+1225 y(Macdonald,)44 b(the)d(pro)5 b(ject)41 b(no)m(w)f(liv)m(es)i(at)f
+Ft(http:)8 b(/)g(/)g(bash-completion)g(.)g(alioth)g(.)g(debi)o(an)g(.)g
+(org)f(/)h Fu(.)150 1335 y(There)30 b(are)h(p)s(orts)e(for)h(other)h
+(systems)f(suc)m(h)g(as)h(Solaris)g(and)f(Mac)h(OS)f(X.)275
+1469 y(An)54 b(older)h(v)m(ersion)h(of)f(the)g(bash)p
+1532 1469 V 40 w(completion)h(pac)m(k)-5 b(age)57 b(is)e(distributed)f
+(with)h(bash)f(in)h(the)150 1579 y Ft(examples/complete)26
+b Fu(sub)s(directory)-8 b(.)p eop end
%%Page: 140 146
TeXDict begin 140 145 bop 3614 -116 a Fu(140)150 299
y Fp(9)80 b(Using)53 b(History)g(In)l(teractiv)l(ely)150
@@ -18216,187 +18310,203 @@ m(ts)f(to)h(a)g(previous)f(command)g(in)m(to)i(the)e(curren)m(t)150
3395 y(input)f(line,)i(or)g(\014x)f(errors)f(in)h(previous)g(commands)g
(quic)m(kly)-8 b(.)275 3532 y(History)24 b(expansion)f(is)h(p)s
(erformed)e(immediately)j(after)f(a)g(complete)h(line)f(is)g(read,)h(b)
-s(efore)e(the)h(shell)150 3642 y(breaks)30 b(it)h(in)m(to)h(w)m(ords,)e
-(and)g(is)g(p)s(erformed)f(on)i(eac)m(h)g(line)g(individually)f
-(without)h(taking)g(quoting)g(on)150 3751 y(previous)f(lines)g(in)m(to)
-i(accoun)m(t.)275 3888 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 3998 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 4107 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 Fr(ev)m(en)m(t)p
-Fu(,)j(and)150 4217 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 Fr(w)m(ords)p
-Fu(.)38 b(V)-8 b(arious)21 b Fr(mo)s(di\014ers)j Fu(are)e(a)m(v)-5
-b(ailable)150 4327 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 4436 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 4546 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
-4655 y(`)p Ft(!)p Fu(')39 b(b)m(y)g(default.)66 b(Only)38
-b(`)p Ft(\\)p Fu(')h(and)f(`)p Ft(')p Fu(')h(ma)m(y)h(b)s(e)e(used)g
-(to)h(escap)s(e)h(the)f(history)f(expansion)h(c)m(haracter,)150
-4765 y(but)27 b(the)i(history)f(expansion)g(c)m(haracter)i(is)e(also)h
-(treated)g(as)g(quoted)f(if)g(it)h(immediately)h(precedes)e(the)150
-4874 y(closing)j(double)f(quote)h(in)f(a)h(double-quoted)g(string.)275
-5011 y(Sev)m(eral)48 b(shell)g(options)h(settable)g(with)e(the)h
-Ft(shopt)f Fu(builtin)g(\(see)i(Section)f(4.3.2)i([The)e(Shopt)150
-5121 y(Builtin],)24 b(page)e(65\))h(ma)m(y)e(b)s(e)g(used)g(to)h
-(tailor)g(the)g(b)s(eha)m(vior)f(of)h(history)f(expansion.)37
-b(If)21 b(the)h Ft(histverify)150 5230 y Fu(shell)35
-b(option)f(is)h(enabled,)g(and)f(Readline)h(is)f(b)s(eing)g(used,)h
-(history)g(substitutions)e(are)i(not)g(immedi-)150 5340
-y(ately)i(passed)d(to)i(the)g(shell)f(parser.)55 b(Instead,)37
-b(the)e(expanded)g(line)g(is)h(reloaded)g(in)m(to)g(the)f(Readline)p
-eop end
+s(efore)e(the)h(shell)150 3642 y(breaks)32 b(it)i(in)m(to)f(w)m(ords,)g
+(and)f(is)h(p)s(erformed)e(on)h(eac)m(h)i(line)f(individually)-8
+b(.)48 b(Bash)33 b(attempts)g(to)h(inform)150 3751 y(the)d(history)f
+(expansion)g(functions)g(ab)s(out)g(quoting)h(still)g(in)f(e\013ect)i
+(from)e(previous)g(lines.)275 3888 y(History)37 b(expansion)f(tak)m(es)
+i(place)g(in)e(t)m(w)m(o)i(parts.)59 b(The)36 b(\014rst)g(is)h(to)g
+(determine)g(whic)m(h)f(line)h(from)150 3998 y(the)42
+b(history)f(list)h(should)e(b)s(e)h(used)f(during)g(substitution.)74
+b(The)40 b(second)i(is)f(to)h(select)h(p)s(ortions)e(of)150
+4107 y(that)31 b(line)g(for)f(inclusion)h(in)m(to)g(the)g(curren)m(t)f
+(one.)42 b(The)30 b(line)h(selected)h(from)e(the)h(history)f(is)h
+(called)h(the)150 4217 y Fr(ev)m(en)m(t)p Fu(,)e(and)c(the)i(p)s
+(ortions)e(of)i(that)f(line)h(that)g(are)f(acted)i(up)s(on)c(are)j
+(called)g Fr(w)m(ords)p Fu(.)39 b(V)-8 b(arious)28 b
+Fr(mo)s(di\014ers)150 4327 y Fu(are)33 b(a)m(v)-5 b(ailable)36
+b(to)d(manipulate)h(the)f(selected)h(w)m(ords.)48 b(The)32
+b(line)i(is)f(brok)m(en)f(in)m(to)i(w)m(ords)f(in)f(the)i(same)150
+4436 y(fashion)23 b(that)g(Bash)g(do)s(es,)h(so)f(that)h(sev)m(eral)g
+(w)m(ords)e(surrounded)e(b)m(y)j(quotes)g(are)g(considered)g(one)g(w)m
+(ord.)150 4546 y(History)37 b(expansions)g(are)g(in)m(tro)s(duced)f(b)m
+(y)h(the)g(app)s(earance)g(of)g(the)g(history)f(expansion)h(c)m
+(haracter,)150 4655 y(whic)m(h)30 b(is)h(`)p Ft(!)p Fu(')f(b)m(y)g
+(default.)275 4792 y(History)c(expansion)g(implemen)m(ts)h(shell-lik)m
+(e)h(quoting)f(con)m(v)m(en)m(tions:)40 b(a)27 b(bac)m(kslash)g(can)f
+(b)s(e)g(used)f(to)150 4902 y(remo)m(v)m(e)h(the)e(sp)s(ecial)g
+(handling)g(for)g(the)g(next)g(c)m(haracter;)k(single)d(quotes)g
+(enclose)g(v)m(erbatim)g(sequences)150 5011 y(of)k(c)m(haracters,)i
+(and)e(can)g(b)s(e)g(used)f(to)i(inhibit)f(history)g(expansion;)g(and)g
+(c)m(haracters)i(enclosed)e(within)150 5121 y(double)h(quotes)i(ma)m(y)
+f(b)s(e)f(sub)5 b(ject)31 b(to)h(history)f(expansion,)g(since)g(bac)m
+(kslash)g(can)h(escap)s(e)f(the)g(history)150 5230 y(expansion)e(c)m
+(haracter,)j(but)d(single)h(quotes)g(ma)m(y)h(not,)f(since)g(they)g
+(are)g(not)f(treated)i(sp)s(ecially)f(within)150 5340
+y(double)g(quotes.)p eop end
%%Page: 143 149
TeXDict begin 143 148 bop 150 -116 a Fu(Chapter)30 b(9:)41
-b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(143)150
-299 y(editing)29 b(bu\013er)f(for)h(further)e(mo)s(di\014cation.)41
-b(If)28 b(Readline)h(is)g(b)s(eing)f(used,)h(and)f(the)h
-Ft(histreedit)d Fu(shell)150 408 y(option)e(is)g(enabled,)h(a)g(failed)
-f(history)g(expansion)g(will)g(b)s(e)f(reloaded)h(in)m(to)h(the)f
-(Readline)g(editing)h(bu\013er)150 518 y(for)31 b(correction.)43
+b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(143)275
+299 y(When)41 b(using)g(the)h(shell,)i(only)e(`)p Ft(\\)p
+Fu(')g(and)e(`)p Ft(')p Fu(')i(ma)m(y)g(b)s(e)f(used)g(to)h(escap)s(e)g
+(the)g(history)f(expansion)150 408 y(c)m(haracter,)e(but)34
+b(the)i(history)g(expansion)f(c)m(haracter)i(is)f(also)g(treated)h(as)e
+(quoted)h(if)g(it)g(immediately)150 518 y(precedes)30
+b(the)h(closing)g(double)f(quote)h(in)f(a)h(double-quoted)g(string.)275
+658 y(Sev)m(eral)48 b(shell)g(options)h(settable)g(with)e(the)h
+Ft(shopt)f Fu(builtin)g(\(see)i(Section)f(4.3.2)i([The)e(Shopt)150
+767 y(Builtin],)24 b(page)e(65\))h(ma)m(y)e(b)s(e)g(used)g(to)h(tailor)
+g(the)g(b)s(eha)m(vior)f(of)h(history)f(expansion.)37
+b(If)21 b(the)h Ft(histverify)150 877 y Fu(shell)35 b(option)f(is)h
+(enabled,)g(and)f(Readline)h(is)f(b)s(eing)g(used,)h(history)g
+(substitutions)e(are)i(not)g(immedi-)150 987 y(ately)i(passed)d(to)i
+(the)g(shell)f(parser.)55 b(Instead,)37 b(the)e(expanded)g(line)g(is)h
+(reloaded)g(in)m(to)g(the)f(Readline)150 1096 y(editing)29
+b(bu\013er)f(for)h(further)e(mo)s(di\014cation.)41 b(If)28
+b(Readline)h(is)g(b)s(eing)f(used,)h(and)f(the)h Ft(histreedit)d
+Fu(shell)150 1206 y(option)e(is)g(enabled,)h(a)g(failed)f(history)g
+(expansion)g(will)g(b)s(e)f(reloaded)h(in)m(to)h(the)f(Readline)g
+(editing)h(bu\013er)150 1315 y(for)31 b(correction.)43
b(The)30 b Ft(-p)g Fu(option)h(to)h(the)f Ft(history)e
Fu(builtin)h(command)h(ma)m(y)g(b)s(e)f(used)g(to)i(see)f(what)g(a)150
-628 y(history)25 b(expansion)g(will)g(do)g(b)s(efore)g(using)f(it.)40
+1425 y(history)25 b(expansion)g(will)g(do)g(b)s(efore)g(using)f(it.)40
b(The)24 b Ft(-s)h Fu(option)g(to)h(the)f Ft(history)e
-Fu(builtin)i(ma)m(y)g(b)s(e)g(used)150 737 y(to)36 b(add)f(commands)g
+Fu(builtin)i(ma)m(y)g(b)s(e)g(used)150 1534 y(to)36 b(add)f(commands)g
(to)h(the)g(end)f(of)g(the)h(history)f(list)i(without)e(actually)i
-(executing)g(them,)g(so)e(that)150 847 y(they)c(are)f(a)m(v)-5
+(executing)g(them,)g(so)e(that)150 1644 y(they)c(are)f(a)m(v)-5
b(ailable)33 b(for)d(subsequen)m(t)g(recall.)42 b(This)29
b(is)i(most)g(useful)e(in)h(conjunction)h(with)f(Readline.)275
-980 y(The)j(shell)h(allo)m(ws)h(con)m(trol)h(of)e(the)g(v)-5
+1784 y(The)j(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 1090 y(anism)h(with)g(the)g Ft(histchars)d
+g(mec)m(h-)150 1893 y(anism)h(with)g(the)g Ft(histchars)d
Fu(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 1199 y(page)32
+(Section)f(5.2)i([Bash)e(V)-8 b(ariables],)150 2003 y(page)32
b(72\).)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
-1309 y(writing)e(the)h(history)f(\014le.)150 1505 y Fk(9.3.1)63
-b(Ev)m(en)m(t)39 b(Designators)150 1652 y Fu(An)32 b(ev)m(en)m(t)j
+2112 y(writing)e(the)h(history)f(\014le.)150 2317 y Fk(9.3.1)63
+b(Ev)m(en)m(t)39 b(Designators)150 2464 y Fu(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
-1762 y(reference)e(is)f(absolute,)i(ev)m(en)m(ts)f(are)g(relativ)m(e)i
+2573 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.)150
-1919 y Ft(!)432 b Fu(Start)34 b(a)f(history)h(substitution,)g(except)g
+2741 y Ft(!)432 b Fu(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
-2028 y(the)i(line,)g(`)p Ft(=)p Fu(')g(or)f(`)p Ft(\()p
+2850 y(the)i(line,)g(`)p Ft(=)p Fu(')g(or)f(`)p Ft(\()p
Fu(')h(\(when)e(the)i Ft(extglob)d Fu(shell)j(option)f(is)h(enabled)f
-(using)g(the)g Ft(shopt)630 2138 y Fu(builtin\).)150
-2294 y Ft(!)p Fj(n)384 b Fu(Refer)30 b(to)i(command)e(line)g
-Fr(n)p Fu(.)150 2451 y Ft(!-)p Fj(n)336 b Fu(Refer)30
+(using)g(the)g Ft(shopt)630 2960 y Fu(builtin\).)150
+3124 y Ft(!)p Fj(n)384 b Fu(Refer)30 b(to)i(command)e(line)g
+Fr(n)p Fu(.)150 3289 y Ft(!-)p Fj(n)336 b Fu(Refer)30
b(to)i(the)e(command)g Fr(n)g Fu(lines)h(bac)m(k.)150
-2608 y Ft(!!)384 b Fu(Refer)30 b(to)i(the)e(previous)g(command.)40
+3454 y Ft(!!)384 b Fu(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 Ft(!-1)p
-Fu('.)150 2765 y Ft(!)p Fj(string)144 b Fu(Refer)25 b(to)h(the)f(most)h
+Fu('.)150 3618 y Ft(!)p Fj(string)144 b Fu(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 2874 y(list)31 b(starting)g(with)f
-Fr(string)p Fu(.)150 3031 y Ft(!?)p Fj(string)p Ft([?])630
-3141 y Fu(Refer)25 b(to)h(the)f(most)h(recen)m(t)g(command)f(preceding)
+g(the)g(history)630 3728 y(list)31 b(starting)g(with)f
+Fr(string)p Fu(.)150 3892 y Ft(!?)p Fj(string)p Ft([?])630
+4002 y Fu(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
-3250 y(list)32 b(con)m(taining)i Fr(string)p Fu(.)45
+4111 y(list)32 b(con)m(taining)i Fr(string)p Fu(.)45
b(The)31 b(trailing)i(`)p Ft(?)p Fu(')f(ma)m(y)g(b)s(e)f(omitted)i(if)f
-(the)g Fr(string)39 b Fu(is)32 b(follo)m(w)m(ed)630 3360
-y(immediately)g(b)m(y)e(a)h(newline.)150 3516 y Ft(^)p
-Fj(string1)p Ft(^)p Fj(string2)p Ft(^)630 3626 y Fu(Quic)m(k)h
+(the)g Fr(string)39 b Fu(is)32 b(follo)m(w)m(ed)630 4221
+y(immediately)g(b)m(y)e(a)h(newline.)150 4386 y Ft(^)p
+Fj(string1)p Ft(^)p Fj(string2)p Ft(^)630 4495 y Fu(Quic)m(k)h
(Substitution.)44 b(Rep)s(eat)32 b(the)g(last)h(command,)f(replacing)g
-Fr(string1)40 b Fu(with)31 b Fr(string2)p Fu(.)630 3736
+Fr(string1)40 b Fu(with)31 b Fr(string2)p Fu(.)630 4605
y(Equiv)-5 b(alen)m(t)31 b(to)g Ft(!!:s/)p Fj(string1)p
-Ft(/)p Fj(string2)p Ft(/)p Fu(.)150 3892 y Ft(!#)384
+Ft(/)p Fj(string2)p Ft(/)p Fu(.)150 4769 y Ft(!#)384
b Fu(The)30 b(en)m(tire)h(command)f(line)h(t)m(yp)s(ed)f(so)h(far.)150
-4089 y Fk(9.3.2)63 b(W)-10 b(ord)41 b(Designators)150
-4236 y Fu(W)-8 b(ord)27 b(designators)h(are)g(used)e(to)i(select)h
+4974 y Fk(9.3.2)63 b(W)-10 b(ord)41 b(Designators)150
+5121 y Fu(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 Ft(:)p Fu(')g(separates)h(the)f(ev)m(en)m(t)150
-4345 y(sp)s(eci\014cation)38 b(from)e(the)h(w)m(ord)f(designator.)61
+5230 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 4455 y(with)30 b(a)g(`)p Ft(^)p Fu(',)g(`)p
+(b)s(egins)150 5340 y(with)30 b(a)g(`)p Ft(^)p Fu(',)g(`)p
Ft($)p Fu(',)g(`)p Ft(*)p Fu(',)h(`)p Ft(-)p Fu(',)f(or)g(`)p
Ft(\045)p Fu('.)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
-4565 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 4674 y(single)h(spaces.)275
-4807 y(F)-8 b(or)31 b(example,)150 4964 y Ft(!!)384 b
-Fu(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
-5074 y(mand)30 b(is)g(rep)s(eated)g(in)g(toto.)150 5230
-y Ft(!!:$)288 b Fu(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
-5340 y(to)31 b Ft(!$)p Fu(.)p eop end
+(the)g(b)s(eginning)f(of)h(the)g(line,)g(with)g(the)p
+eop end
%%Page: 144 150
TeXDict begin 144 149 bop 150 -116 a Fu(Chapter)30 b(9:)41
b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(144)150
-299 y Ft(!fi:2)240 b Fu(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
-408 y(letters)j Ft(fi)p Fu(.)275 556 y(Here)e(are)h(the)g(w)m(ord)f
-(designators:)150 704 y Ft(0)g(\(zero\))114 b Fu(The)30
-b Ft(0)p Fu(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 851 y Fj(n)432
-b Fu(The)30 b Fr(n)p Fu(th)g(w)m(ord.)150 999 y Ft(^)432
-b Fu(The)30 b(\014rst)f(argumen)m(t;)j(that)f(is,)f(w)m(ord)g(1.)150
-1146 y Ft($)432 b Fu(The)30 b(last)h(argumen)m(t.)150
-1294 y Ft(\045)432 b Fu(The)30 b(w)m(ord)g(matc)m(hed)h(b)m(y)f(the)h
+299 y(\014rst)29 b(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 408 y(single)h(spaces.)275
+552 y(F)-8 b(or)31 b(example,)150 725 y Ft(!!)384 b Fu(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 834 y(mand)30 b(is)g(rep)s(eated)g
+(in)g(toto.)150 1002 y Ft(!!:$)288 b Fu(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 1112 y(to)31
+b Ft(!$)p Fu(.)150 1280 y Ft(!fi:2)240 b Fu(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 1390 y(letters)j Ft(fi)p Fu(.)275
+1563 y(Here)e(are)h(the)g(w)m(ord)f(designators:)150
+1735 y Ft(0)g(\(zero\))114 b Fu(The)30 b Ft(0)p Fu(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 1904 y Fj(n)432 b Fu(The)30 b Fr(n)p Fu(th)g(w)m(ord.)150
+2072 y Ft(^)432 b Fu(The)30 b(\014rst)f(argumen)m(t;)j(that)f(is,)f(w)m
+(ord)g(1.)150 2240 y Ft($)432 b Fu(The)30 b(last)h(argumen)m(t.)150
+2409 y Ft(\045)432 b Fu(The)30 b(w)m(ord)g(matc)m(hed)h(b)m(y)f(the)h
(most)g(recen)m(t)g(`)p Ft(?)p Fj(string)p Ft(?)p Fu(')e(searc)m(h.)150
-1441 y Fj(x)p Ft(-)p Fj(y)336 b Fu(A)30 b(range)h(of)g(w)m(ords;)f(`)p
+2577 y Fj(x)p Ft(-)p Fj(y)336 b Fu(A)30 b(range)h(of)g(w)m(ords;)f(`)p
Ft(-)p Fj(y)p Fu(')g(abbreviates)h(`)p Ft(0-)p Fj(y)p
-Fu('.)150 1589 y Ft(*)432 b Fu(All)28 b(of)g(the)g(w)m(ords,)g(except)h
+Fu('.)150 2745 y Ft(*)432 b Fu(All)28 b(of)g(the)g(w)m(ords,)g(except)h
(the)e Ft(0)p Fu(th.)40 b(This)27 b(is)g(a)h(synon)m(ym)f(for)h(`)p
Ft(1-$)p Fu('.)39 b(It)28 b(is)g(not)g(an)f(error)630
-1698 y(to)j(use)g(`)p Ft(*)p Fu(')f(if)h(there)g(is)g(just)f(one)h(w)m
+2855 y(to)j(use)g(`)p Ft(*)p Fu(')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 1808 y(that)j(case.)150 1955 y Fj(x)p
+(returned)e(in)630 2964 y(that)j(case.)150 3133 y Fj(x)p
Ft(*)384 b Fu(Abbreviates)31 b(`)p Fj(x)p Ft(-$)p Fu(')150
-2103 y Fj(x)p Ft(-)384 b Fu(Abbreviates)31 b(`)p Fj(x)p
+3301 y Fj(x)p Ft(-)384 b Fu(Abbreviates)31 b(`)p Fj(x)p
Ft(-$)p Fu(')f(lik)m(e)h(`)p Fj(x)p Ft(*)p Fu(',)g(but)f(omits)h(the)f
-(last)h(w)m(ord.)275 2250 y(If)i(a)h(w)m(ord)g(designator)g(is)g
+(last)h(w)m(ord.)275 3474 y(If)i(a)h(w)m(ord)g(designator)g(is)g
(supplied)f(without)h(an)g(ev)m(en)m(t)h(sp)s(eci\014cation,)h(the)e
-(previous)f(command)150 2360 y(is)d(used)g(as)h(the)f(ev)m(en)m(t.)150
-2547 y Fk(9.3.3)63 b(Mo)s(di\014ers)150 2694 y Fu(After)29
+(previous)f(command)150 3583 y(is)d(used)g(as)h(the)f(ev)m(en)m(t.)150
+3791 y Fk(9.3.3)63 b(Mo)s(di\014ers)150 3938 y Fu(After)29
b(the)g(optional)g(w)m(ord)g(designator,)g(y)m(ou)g(can)g(add)f(a)h
(sequence)g(of)g(one)g(or)f(more)h(of)g(the)f(follo)m(wing)150
-2804 y(mo)s(di\014ers,)h(eac)m(h)j(preceded)e(b)m(y)g(a)h(`)p
-Ft(:)p Fu('.)150 2951 y Ft(h)432 b Fu(Remo)m(v)m(e)32
+4048 y(mo)s(di\014ers,)h(eac)m(h)j(preceded)e(b)m(y)g(a)h(`)p
+Ft(:)p Fu('.)150 4221 y Ft(h)432 b Fu(Remo)m(v)m(e)32
b(a)f(trailing)g(pathname)g(comp)s(onen)m(t,)g(lea)m(ving)h(only)e(the)
-h(head.)150 3099 y Ft(t)432 b Fu(Remo)m(v)m(e)32 b(all)f(leading)h
+h(head.)150 4389 y Ft(t)432 b Fu(Remo)m(v)m(e)32 b(all)f(leading)h
(pathname)e(comp)s(onen)m(ts,)h(lea)m(ving)h(the)e(tail.)150
-3246 y Ft(r)432 b Fu(Remo)m(v)m(e)32 b(a)f(trailing)g(su\016x)f(of)g
+4557 y Ft(r)432 b Fu(Remo)m(v)m(e)32 b(a)f(trailing)g(su\016x)f(of)g
(the)h(form)f(`)p Ft(.)p Fj(suffix)p Fu(',)f(lea)m(ving)j(the)f
-(basename.)150 3394 y Ft(e)432 b Fu(Remo)m(v)m(e)32 b(all)f(but)f(the)h
-(trailing)g(su\016x.)150 3541 y Ft(p)432 b Fu(Prin)m(t)30
+(basename.)150 4726 y Ft(e)432 b Fu(Remo)m(v)m(e)32 b(all)f(but)f(the)h
+(trailing)g(su\016x.)150 4894 y Ft(p)432 b Fu(Prin)m(t)30
b(the)h(new)f(command)g(but)g(do)g(not)g(execute)i(it.)150
-3689 y Ft(q)432 b Fu(Quote)31 b(the)f(substituted)g(w)m(ords,)g
-(escaping)h(further)e(substitutions.)150 3837 y Ft(x)432
+5062 y Ft(q)432 b Fu(Quote)31 b(the)f(substituted)g(w)m(ords,)g
+(escaping)h(further)e(substitutions.)150 5230 y Ft(x)432
b Fu(Quote)32 b(the)f(substituted)g(w)m(ords)f(as)i(with)f(`)p
Ft(q)p Fu(',)h(but)e(break)h(in)m(to)i(w)m(ords)d(at)i(spaces,)h(tabs,)
-630 3946 y(and)d(newlines.)150 4094 y Ft(s/)p Fj(old)p
-Ft(/)p Fj(new)p Ft(/)630 4203 y Fu(Substitute)i Fr(new)40
-b Fu(for)32 b(the)h(\014rst)f(o)s(ccurrence)h(of)f Fr(old)37
-b Fu(in)32 b(the)h(ev)m(en)m(t)h(line.)48 b(An)m(y)32
-b(delimiter)630 4313 y(ma)m(y)25 b(b)s(e)g(used)f(in)g(place)i(of)f(`)p
-Ft(/)p Fu('.)39 b(The)24 b(delimiter)h(ma)m(y)h(b)s(e)e(quoted)h(in)f
-Fr(old)29 b Fu(and)24 b Fr(new)32 b Fu(with)25 b(a)630
-4422 y(single)k(bac)m(kslash.)40 b(If)28 b(`)p Ft(&)p
-Fu(')g(app)s(ears)g(in)f Fr(new)p Fu(,)i(it)f(is)h(replaced)f(b)m(y)g
-Fr(old)p Fu(.)40 b(A)28 b(single)h(bac)m(kslash)630 4532
-y(will)35 b(quote)g(the)g(`)p Ft(&)p Fu('.)54 b(The)34
-b(\014nal)g(delimiter)i(is)e(optional)i(if)f(it)g(is)f(the)h(last)h(c)m
-(haracter)g(on)630 4642 y(the)31 b(input)e(line.)150
-4789 y Ft(&)432 b Fu(Rep)s(eat)31 b(the)f(previous)g(substitution.)150
-4937 y Ft(g)150 5046 y(a)432 b Fu(Cause)38 b(c)m(hanges)i(to)f(b)s(e)f
-(applied)h(o)m(v)m(er)h(the)f(en)m(tire)g(ev)m(en)m(t)h(line.)66
-b(Used)39 b(in)f(conjunction)630 5156 y(with)30 b(`)p
-Ft(s)p Fu(',)h(as)f(in)h Ft(gs/)p Fj(old)p Ft(/)p Fj(new)p
-Ft(/)p Fu(,)c(or)j(with)h(`)p Ft(&)p Fu('.)150 5303 y
-Ft(G)432 b Fu(Apply)30 b(the)g(follo)m(wing)i(`)p Ft(s)p
-Fu(')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
+630 5340 y(and)d(newlines.)p eop end
%%Page: 145 151
-TeXDict begin 145 150 bop 3614 -116 a Fu(145)150 299
+TeXDict begin 145 150 bop 150 -116 a Fu(Chapter)30 b(9:)41
+b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(145)150
+299 y Ft(s/)p Fj(old)p Ft(/)p Fj(new)p Ft(/)630 408 y
+Fu(Substitute)32 b Fr(new)40 b Fu(for)32 b(the)h(\014rst)f(o)s
+(ccurrence)h(of)f Fr(old)37 b Fu(in)32 b(the)h(ev)m(en)m(t)h(line.)48
+b(An)m(y)32 b(delimiter)630 518 y(ma)m(y)25 b(b)s(e)g(used)f(in)g
+(place)i(of)f(`)p Ft(/)p Fu('.)39 b(The)24 b(delimiter)h(ma)m(y)h(b)s
+(e)e(quoted)h(in)f Fr(old)29 b Fu(and)24 b Fr(new)32
+b Fu(with)25 b(a)630 628 y(single)k(bac)m(kslash.)40
+b(If)28 b(`)p Ft(&)p Fu(')g(app)s(ears)g(in)f Fr(new)p
+Fu(,)i(it)f(is)h(replaced)f(b)m(y)g Fr(old)p Fu(.)40
+b(A)28 b(single)h(bac)m(kslash)630 737 y(will)35 b(quote)g(the)g(`)p
+Ft(&)p Fu('.)54 b(The)34 b(\014nal)g(delimiter)i(is)e(optional)i(if)f
+(it)g(is)f(the)h(last)h(c)m(haracter)g(on)630 847 y(the)31
+b(input)e(line.)150 1006 y Ft(&)432 b Fu(Rep)s(eat)31
+b(the)f(previous)g(substitution.)150 1166 y Ft(g)150
+1275 y(a)432 b Fu(Cause)38 b(c)m(hanges)i(to)f(b)s(e)f(applied)h(o)m(v)
+m(er)h(the)f(en)m(tire)g(ev)m(en)m(t)h(line.)66 b(Used)39
+b(in)f(conjunction)630 1385 y(with)30 b(`)p Ft(s)p Fu(',)h(as)f(in)h
+Ft(gs/)p Fj(old)p Ft(/)p Fj(new)p Ft(/)p Fu(,)c(or)j(with)h(`)p
+Ft(&)p Fu('.)150 1544 y Ft(G)432 b Fu(Apply)30 b(the)g(follo)m(wing)i
+(`)p Ft(s)p Fu(')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: 146 152
+TeXDict begin 146 151 bop 3614 -116 a Fu(146)150 299
y Fp(10)80 b(Installing)52 b(Bash)150 534 y Fu(This)31
b(c)m(hapter)h(pro)m(vides)g(basic)g(instructions)f(for)g(installing)i
(Bash)f(on)f(the)h(v)-5 b(arious)31 b(supp)s(orted)f(plat-)150
@@ -18466,12 +18576,12 @@ o Fu(:)390 4767 y Ft(mkdir)46 b(/usr/local/build/bash-4.4)390
4877 y(cd)h(/usr/local/build/bash-4.4)390 4986 y(bash)g
(/usr/local/src/bash-4.4)o(/con)o(fig)o(ure)390 5096
y(make)275 5230 y Fu(See)27 b(Section)h(10.3)g([Compiling)g(F)-8
-b(or)27 b(Multiple)h(Arc)m(hitectures],)i(page)d(146,)j(for)c(more)i
+b(or)27 b(Multiple)h(Arc)m(hitectures],)i(page)d(147,)j(for)c(more)i
(information)150 5340 y(ab)s(out)i(building)g(in)g(a)g(directory)h
(separate)h(from)e(the)g(source.)p eop end
-%%Page: 146 152
-TeXDict begin 146 151 bop 150 -116 a Fu(Chapter)30 b(10:)41
-b(Installing)31 b(Bash)2356 b(146)275 299 y(If)53 b(y)m(ou)h(need)f(to)
+%%Page: 147 153
+TeXDict begin 147 152 bop 150 -116 a Fu(Chapter)30 b(10:)41
+b(Installing)31 b(Bash)2356 b(147)275 299 y(If)53 b(y)m(ou)h(need)f(to)
i(do)e(un)m(usual)g(things)g(to)i(compile)g(Bash,)k(please)c(try)e(to)i
(\014gure)e(out)h(ho)m(w)150 408 y Ft(configure)47 b
Fu(could)j(c)m(hec)m(k)h(whether)e(or)g(not)h(to)h(do)e(them,)55
@@ -18520,7 +18630,7 @@ Ft(make)p Fu(.)55 b Ft(cd)35 b Fu(to)i(the)e(directory)h(where)150
3274 y(y)m(ou)k(w)m(an)m(t)h(the)g(ob)5 b(ject)41 b(\014les)f(and)f
(executables)j(to)e(go)h(and)f(run)e(the)j Ft(configure)c
Fu(script)j(from)g(the)150 3383 y(source)32 b(directory)h(\(see)g
-(Section)f(10.1)i([Basic)f(Installation],)i(page)e(145\).)47
+(Section)f(10.1)i([Basic)f(Installation],)i(page)e(146\).)47
b(Y)-8 b(ou)32 b(ma)m(y)h(need)f(to)g(supply)150 3493
y(the)43 b Ft(--srcdir=PATH)c Fu(argumen)m(t)k(to)h(tell)g
Ft(configure)c Fu(where)i(the)h(source)g(\014les)g(are.)78
@@ -18555,9 +18665,9 @@ Ft(/usr/local/man)p Fu(,)f(etc.)61 b(Y)-8 b(ou)150 5340
y(can)35 b(sp)s(ecify)f(an)h(installation)i(pre\014x)c(other)j(than)e
Ft(/usr/local)e Fu(b)m(y)j(giving)g Ft(configure)e Fu(the)h(option)p
eop end
-%%Page: 147 153
-TeXDict begin 147 152 bop 150 -116 a Fu(Chapter)30 b(10:)41
-b(Installing)31 b(Bash)2356 b(147)150 299 y Ft(--prefix=)p
+%%Page: 148 154
+TeXDict begin 148 153 bop 150 -116 a Fu(Chapter)30 b(10:)41
+b(Installing)31 b(Bash)2356 b(148)150 299 y Ft(--prefix=)p
Fj(PATH)p Fu(,)41 b(or)g(b)m(y)g(sp)s(ecifying)h(a)f(v)-5
b(alue)42 b(for)f(the)h Ft(DESTDIR)d Fu(`)p Ft(make)p
Fu(')i(v)-5 b(ariable)42 b(when)f(running)150 408 y(`)p
@@ -18624,9 +18734,9 @@ Fu(also)k(accepts)g(some)g(other,)h(not)e(widely)g(used,)h(b)s
(oilerplate)g(options.)61 b(`)p Ft(configure)150 5340
y(--help)p Fu(')29 b(prin)m(ts)h(the)g(complete)i(list.)p
eop end
-%%Page: 148 154
-TeXDict begin 148 153 bop 150 -116 a Fu(Chapter)30 b(10:)41
-b(Installing)31 b(Bash)2356 b(148)150 299 y Fs(10.8)68
+%%Page: 149 155
+TeXDict begin 149 154 bop 150 -116 a Fu(Chapter)30 b(10:)41
+b(Installing)31 b(Bash)2356 b(149)150 299 y Fs(10.8)68
b(Optional)46 b(F)-11 b(eatures)150 458 y Fu(The)29 b(Bash)h
Ft(configure)d Fu(has)j(a)g(n)m(um)m(b)s(er)f(of)h Ft(--enable-)p
Fj(feature)25 b Fu(options,)30 b(where)g Fr(feature)35
@@ -18693,23 +18803,24 @@ g Fr(PREFIX)9 b Fu(/)p Ft(include)32 b Fu(and)i(the)630
4849 y(There)k(are)i(sev)m(eral)g Ft(--enable-)d Fu(options)i(that)h
(alter)g(ho)m(w)f(Bash)g(is)g(compiled)h(and)e(link)m(ed,)i(rather)150
4958 y(than)h(c)m(hanging)h(run-time)f(features.)150
-5121 y Ft(--enable-largefile)630 5230 y Fu(Enable)e(supp)s(ort)f(for)h
-(large)i(\014les)f(\()p Ft(http://www.sas.com/stand)o(ards)o(/la)o
-(rge_)o(file)o(/)630 5340 y(x_open)5 b(.)g(20Mar96)g(.)g(html)p
-Fu(\))31 b(if)36 b(the)g(op)s(erating)h(system)f(requires)g(sp)s(ecial)
-h(compiler)g(op-)p eop end
-%%Page: 149 155
-TeXDict begin 149 154 bop 150 -116 a Fu(Chapter)30 b(10:)41
-b(Installing)31 b(Bash)2356 b(149)630 299 y(tions)27
-b(to)h(build)e(programs)h(whic)m(h)g(can)g(access)h(large)h(\014les.)39
-b(This)26 b(is)i(enabled)f(b)m(y)f(default,)630 408 y(if)k(the)h(op)s
-(erating)g(system)f(pro)m(vides)h(large)g(\014le)g(supp)s(ort.)150
-570 y Ft(--enable-profiling)630 680 y Fu(This)g(builds)f(a)i(Bash)g
-(binary)f(that)h(pro)s(duces)e(pro\014ling)h(information)h(to)h(b)s(e)d
-(pro)s(cessed)630 790 y(b)m(y)g Ft(gprof)f Fu(eac)m(h)j(time)f(it)g(is)
-f(executed.)150 951 y Ft(--enable-static-link)630 1061
-y Fu(This)37 b(causes)h(Bash)f(to)h(b)s(e)f(link)m(ed)h(statically)-8
-b(,)43 b(if)37 b Ft(gcc)g Fu(is)g(b)s(eing)g(used.)61
+5121 y Ft(--enable-largefile)630 5230 y Fu(Enable)36
+b(supp)s(ort)f(for)g(large)j(\014les)e(\()p Ft(http:)5
+b(/)g(/)g(www)g(.)g(unix)g(.)g(org)t(/)g(v)o(ersi)o(on2)t(/)g(w)o(hats)
+o(new)t(/)630 5340 y(lfs20mar)h(.)g(html)p Fu(\))35 b(if)j(the)g(op)s
+(erating)g(system)g(requires)f(sp)s(ecial)i(compiler)f(options)g(to)p
+eop end
+%%Page: 150 156
+TeXDict begin 150 155 bop 150 -116 a Fu(Chapter)30 b(10:)41
+b(Installing)31 b(Bash)2356 b(150)630 299 y(build)33
+b(programs)g(whic)m(h)h(can)g(access)h(large)g(\014les.)51
+b(This)33 b(is)h(enabled)g(b)m(y)g(default,)h(if)f(the)630
+408 y(op)s(erating)d(system)f(pro)m(vides)h(large)g(\014le)g(supp)s
+(ort.)150 570 y Ft(--enable-profiling)630 680 y Fu(This)g(builds)f(a)i
+(Bash)g(binary)f(that)h(pro)s(duces)e(pro\014ling)h(information)h(to)h
+(b)s(e)d(pro)s(cessed)630 790 y(b)m(y)g Ft(gprof)f Fu(eac)m(h)j(time)f
+(it)g(is)f(executed.)150 951 y Ft(--enable-static-link)630
+1061 y Fu(This)37 b(causes)h(Bash)f(to)h(b)s(e)f(link)m(ed)h
+(statically)-8 b(,)43 b(if)37 b Ft(gcc)g Fu(is)g(b)s(eing)g(used.)61
b(This)37 b(could)h(b)s(e)630 1171 y(used)30 b(to)h(build)e(a)i(v)m
(ersion)g(to)g(use)f(as)g(ro)s(ot's)h(shell.)275 1334
y(The)f(`)p Ft(minimal-config)p Fu(')d(option)k(can)g(b)s(e)f(used)f
@@ -18739,7 +18850,7 @@ b(supp)s(ort)f(for)h Ft(csh)p Fu(-lik)m(e)h(history)g(substitution)f
(142\).)150 3487 y Ft(--enable-brace-expansion)630 3597
y Fu(Include)40 b Ft(csh)p Fu(-lik)m(e)h(brace)f(expansion)g(\()h
Ft(b{a,b}c)d Fq(7!)i Ft(bac)30 b(bbc)39 b Fu(\).)71 b(See)40
-b(Section)h(3.5.1)630 3706 y([Brace)32 b(Expansion],)e(page)h(22,)h
+b(Section)h(3.5.1)630 3706 y([Brace)32 b(Expansion],)e(page)h(23,)h
(for)e(a)g(complete)i(description.)150 3868 y Ft
(--enable-casemod-attribu)o(tes)630 3978 y Fu(Include)37
b(supp)s(ort)g(for)g(case-mo)s(difying)i(attributes)g(in)e(the)h
@@ -18761,9 +18872,9 @@ 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 Ft([[)f Fu(conditional)i(command.)51
b(\(see)34 b(Section)h(3.2.4.2)h([Condi-)630 5340 y(tional)c
(Constructs],)e(page)h(11\).)p eop end
-%%Page: 150 156
-TeXDict begin 150 155 bop 150 -116 a Fu(Chapter)30 b(10:)41
-b(Installing)31 b(Bash)2356 b(150)150 299 y Ft(--enable-cond-regexp)630
+%%Page: 151 157
+TeXDict begin 151 156 bop 150 -116 a Fu(Chapter)30 b(10:)41
+b(Installing)31 b(Bash)2356 b(151)150 299 y Ft(--enable-cond-regexp)630
408 y Fu(Include)35 b(supp)s(ort)f(for)i(matc)m(hing)h
Fm(posix)e Fu(regular)h(expressions)g(using)f(the)h(`)p
Ft(=~)p Fu(')g(binary)630 518 y(op)s(erator)25 b(in)f(the)h
@@ -18804,7 +18915,7 @@ b(page)h(11\).)150 3550 y Ft(--enable-extended-glob)630
3660 y Fu(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
3769 y(under)29 b(Section)i(3.5.8.1)i([P)m(attern)e(Matc)m(hing],)i
-(page)e(32.)150 3915 y Ft(--enable-extended-glob-d)o(efau)o(lt)630
+(page)e(33.)150 3915 y Ft(--enable-extended-glob-d)o(efau)o(lt)630
4025 y Fu(Set)40 b(the)g(default)g(v)-5 b(alue)41 b(of)f(the)g
Fr(extglob)j Fu(shell)d(option)g(describ)s(ed)f(ab)s(o)m(v)m(e)i(under)
d(Sec-)630 4134 y(tion)31 b(4.3.2)h([The)e(Shopt)g(Builtin],)h(page)g
@@ -18825,9 +18936,9 @@ b(con)m(trols)j(the)630 4975 y(b)s(eha)m(vior)21 b(of)g(c)m(haracter)h
(ys)f(help)h(on)f(shell)h(builtins)f(and)h(v)-5 b(ariables)25
b(\(see)630 5340 y(Section)31 b(4.2)h([Bash)e(Builtins],)i(page)f
(50\).)p eop end
-%%Page: 151 157
-TeXDict begin 151 156 bop 150 -116 a Fu(Chapter)30 b(10:)41
-b(Installing)31 b(Bash)2356 b(151)150 299 y Ft(--enable-history)630
+%%Page: 152 158
+TeXDict begin 152 157 bop 150 -116 a Fu(Chapter)30 b(10:)41
+b(Installing)31 b(Bash)2356 b(152)150 299 y Ft(--enable-history)630
408 y Fu(Include)29 b(command)g(history)h(and)f(the)h
Ft(fc)f Fu(and)g Ft(history)e Fu(builtin)j(commands)f(\(see)h(Sec-)630
518 y(tion)h(9.1)g([Bash)g(History)g(F)-8 b(acilities],)34
@@ -18843,10 +18954,10 @@ b(enables)h(the)g(sp)s(ecial)h(handling)e(of)h(\014lenames)g(of)g(the)g
(form)g Ft(/dev/tcp/)p Fj(host)p Ft(/)p Fj(port)630 1614
y Fu(and)31 b Ft(/dev/udp/)p Fj(host)p Ft(/)p Fj(port)26
b Fu(when)31 b(used)g(in)g(redirections)h(\(see)g(Section)g(3.6)h
-([Redirec-)630 1724 y(tions],)e(page)g(33\).)150 1870
+([Redirec-)630 1724 y(tions],)e(page)g(34\).)150 1870
y Ft(--enable-process-substit)o(utio)o(n)630 1979 y Fu(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 2089 y(page)31 b(30\))h(if)e(the)h(op)s
+s(cess)e(Substitution],)630 2089 y(page)31 b(31\))h(if)e(the)h(op)s
(erating)f(system)h(pro)m(vides)f(the)h(necessary)g(supp)s(ort.)150
2235 y Ft(--enable-progcomp)630 2345 y Fu(Enable)d(the)g(programmable)g
(completion)i(facilities)g(\(see)f(Section)g(8.6)g([Programmable)630
@@ -18887,9 +18998,9 @@ b(ma)m(y)g(need)630 4975 y(to)c(disable)g(this)f(if)g(y)m(our)h
y Fu(Mak)m(e)c(Bash)f Fm(posix)p Fu(-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
5340 y(page)31 b(98\).)p eop end
-%%Page: 152 158
-TeXDict begin 152 157 bop 150 -116 a Fu(Chapter)30 b(10:)41
-b(Installing)31 b(Bash)2356 b(152)150 299 y Ft
+%%Page: 153 159
+TeXDict begin 153 158 bop 150 -116 a Fu(Chapter)30 b(10:)41
+b(Installing)31 b(Bash)2356 b(153)150 299 y Ft
(--enable-usg-echo-defaul)o(t)630 408 y Fu(A)30 b(synon)m(ym)g(for)g
Ft(--enable-xpg-echo-default)p Fu(.)150 568 y Ft
(--enable-xpg-echo-defaul)o(t)630 677 y Fu(Mak)m(e)c(the)f
@@ -18912,8 +19023,8 @@ 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 1604 y(information)c(ab)s(out)f(its)h(e\013ect.)p
eop end
-%%Page: 153 159
-TeXDict begin 153 158 bop 3614 -116 a Fu(153)150 299
+%%Page: 154 160
+TeXDict begin 154 159 bop 3614 -116 a Fu(154)150 299
y Fp(App)t(endix)52 b(A)81 b(Rep)t(orting)53 b(Bugs)150
533 y Fu(Please)33 b(rep)s(ort)e(all)h(bugs)f(y)m(ou)h(\014nd)e(in)i
(Bash.)44 b(But)32 b(\014rst,)g(y)m(ou)g(should)e(mak)m(e)j(sure)e
@@ -18943,8 +19054,8 @@ s(duce)e(it.)150 2182 y Ft(bashbug)d Fu(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 Ft(bug-bash@gnu.org)p Fu(.)p eop end
-%%Page: 154 160
-TeXDict begin 154 159 bop 3614 -116 a Fu(154)150 141
+%%Page: 155 161
+TeXDict begin 155 160 bop 3614 -116 a Fu(155)150 141
y Fp(App)t(endix)58 b(B)81 b(Ma)9 b(jor)54 b(Di\013erences)d(F)-13
b(rom)54 b(The)g(Bourne)1088 299 y(Shell)150 530 y Fu(Bash)26
b(implemen)m(ts)h(essen)m(tially)g(the)g(same)f(grammar,)h(parameter)f
@@ -19030,10 +19141,10 @@ b Fu(Bash)31 b(includes)f(the)g Ft(select)f Fu(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(11\).)p eop end
-%%Page: 155 161
-TeXDict begin 155 160 bop 150 -116 a Fu(App)s(endix)29
+%%Page: 156 162
+TeXDict begin 156 161 bop 150 -116 a Fu(App)s(endix)29
b(B:)i(Ma)5 b(jor)31 b(Di\013erences)g(F)-8 b(rom)31
-b(The)f(Bourne)g(Shell)1258 b(155)225 299 y Fq(\017)60
+b(The)f(Bourne)g(Shell)1258 b(156)225 299 y Fq(\017)60
b Fu(Bash)40 b(includes)g(the)g Ft([[)g Fu(comp)s(ound)e(command,)43
b(whic)m(h)c(mak)m(es)i(conditional)h(testing)f(part)f(of)330
408 y(the)f(shell)g(grammar)g(\(see)h(Section)f(3.2.4.2)j([Conditional)
@@ -19042,7 +19153,7 @@ b(regular)e(expression)g(matc)m(hing.)225 653 y Fq(\017)60
b Fu(Bash)31 b(pro)m(vides)f(optional)h(case-insensitiv)m(e)i(matc)m
(hing)f(for)e(the)g Ft(case)g Fu(and)f Ft([[)h Fu(constructs.)225
789 y Fq(\017)60 b Fu(Bash)27 b(includes)g(brace)h(expansion)f(\(see)h
-(Section)g(3.5.1)i([Brace)e(Expansion],)g(page)g(22\))h(and)d(tilde)330
+(Section)g(3.5.1)i([Brace)e(Expansion],)g(page)g(23\))h(and)d(tilde)330
898 y(expansion)k(\(see)i(Section)f(3.5.2)h([Tilde)f(Expansion],)f
(page)h(23\).)225 1034 y Fq(\017)60 b Fu(Bash)24 b(implemen)m(ts)h
(command)e(aliases)j(and)d(the)i Ft(alias)d Fu(and)i
@@ -19105,7 +19216,7 @@ b(preferred)g(to)i(the)g(Bourne)f(shell's)h Ft(``)e Fu(\(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 Fq(\017)60 b Fu(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(30\).)225 4766 y Fq(\017)60
+(cess)f(Substitution],)f(page)h(31\).)225 4766 y Fq(\017)60
b Fu(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 Ft(UID)p Fu(,)i Ft(EUID)p Fu(,)g(and)e
@@ -19121,10 +19232,10 @@ Fu(v)-5 b(ariable)45 b(is)f(used)f(to)i(split)f(only)g(the)g(results)g
y(Section)29 b(3.5.7)h([W)-8 b(ord)29 b(Splitting],)h(page)f(31\).)41
b(This)28 b(closes)h(a)g(longstanding)g(shell)f(securit)m(y)h(hole.)p
eop end
-%%Page: 156 162
-TeXDict begin 156 161 bop 150 -116 a Fu(App)s(endix)29
+%%Page: 157 163
+TeXDict begin 157 162 bop 150 -116 a Fu(App)s(endix)29
b(B:)i(Ma)5 b(jor)31 b(Di\013erences)g(F)-8 b(rom)31
-b(The)f(Bourne)g(Shell)1258 b(156)225 299 y Fq(\017)60
+b(The)f(Bourne)g(Shell)1258 b(157)225 299 y Fq(\017)60
b Fu(The)36 b(\014lename)h(expansion)f(brac)m(k)m(et)i(expression)f(co)
s(de)f(uses)g(`)p Ft(!)p Fu(')h(and)f(`)p Ft(^)p Fu(')h(to)g(negate)h
(the)f(set)g(of)330 408 y(c)m(haracters)32 b(b)s(et)m(w)m(een)f(the)f
@@ -19134,11 +19245,11 @@ Ft(!)p Fu('.)225 536 y Fq(\017)60 b Fu(Bash)38 b(implemen)m(ts)g(the)g
(erators,)i(including)d Fr(c)m(har-)330 646 y(acter)i(classes)p
Fu(,)j Fr(equiv)-5 b(alence)39 b(classes)p Fu(,)j(and)37
b Fr(collating)k(sym)m(b)s(ols)g Fu(\(see)e(Section)g(3.5.8)h
-([Filename)330 756 y(Expansion],)30 b(page)h(31\).)225
+([Filename)330 756 y(Expansion],)30 b(page)h(32\).)225
883 y Fq(\017)60 b Fu(Bash)35 b(implemen)m(ts)g(extended)g(pattern)g
(matc)m(hing)h(features)f(when)f(the)h Ft(extglob)d Fu(shell)j(option)
330 993 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(32\).)225 1121 y Fq(\017)60 b
+(Matc)m(hing],)g(page)f(33\).)225 1121 y Fq(\017)60 b
Fu(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
Ft(sh)d Fu(do)s(es)g(not)g(separate)330 1230 y(the)31
@@ -19151,20 +19262,20 @@ Fu(builtin,)i(and)e(th)m(us)330 1468 y(useful)i(recursiv)m(e)g
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 1705
y(functions)36 b(\(see)h(Section)g(3.7.4)h([En)m(vironmen)m(t],)h(page)
-e(39\).)60 b(In)35 b Ft(sh)p Fu(,)j(all)f(v)-5 b(ariable)37
+e(40\).)60 b(In)35 b Ft(sh)p Fu(,)j(all)f(v)-5 b(ariable)37
b(assignmen)m(ts)330 1815 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 1943 y Fq(\017)60 b Fu(Bash)44 b(p)s(erforms)e(\014lename)
i(expansion)f(on)h(\014lenames)g(sp)s(eci\014ed)f(as)h(op)s(erands)e
(to)j(input)e(and)330 2052 y(output)30 b(redirection)h(op)s(erators)g
-(\(see)g(Section)g(3.6)h([Redirections],)g(page)f(33\).)225
+(\(see)g(Section)g(3.6)h([Redirections],)g(page)f(34\).)225
2180 y Fq(\017)60 b Fu(Bash)29 b(con)m(tains)h(the)f(`)p
Ft(<>)p Fu(')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 2290
y(ing)35 b(and)f(writing,)i(and)e(the)h(`)p Ft(&>)p Fu(')g(redirection)
g(op)s(erator,)h(for)f(directing)g(standard)f(output)h(and)330
2399 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(33\).)225 2527
+(Section)f(3.6)g([Redirections],)h(page)g(34\).)225 2527
y Fq(\017)60 b Fu(Bash)21 b(includes)f(the)h(`)p Ft(<<<)p
Fu(')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 2637 y(input)29 b(to)j(a)e
@@ -19175,11 +19286,11 @@ Fu(')e(redirection)j(op)s(erators,)g(whic)m(h)f(mo)m(v)m(e)330
3002 y Fq(\017)60 b Fu(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 3112 y(\(see)31 b(Section)h(3.6)f
-([Redirections],)h(page)f(33\).)225 3240 y Fq(\017)60
+([Redirections],)h(page)f(34\).)225 3240 y Fq(\017)60
b Fu(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
3349 y(rection)e(op)s(erators)g(\(see)g(Section)g(3.6)h
-([Redirections],)g(page)f(33\).)225 3477 y Fq(\017)60
+([Redirections],)g(page)f(34\).)225 3477 y Fq(\017)60
b Fu(The)29 b Ft(noclobber)e Fu(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 3587 y(rection)39
@@ -19214,10 +19325,10 @@ y Fq(\017)60 b Fu(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
Ft(export)f(-f)h Fu(\(see)330 5340 y(Section)i(3.3)h([Shell)e(F)-8
b(unctions],)32 b(page)f(17\).)p eop end
-%%Page: 157 163
-TeXDict begin 157 162 bop 150 -116 a Fu(App)s(endix)29
+%%Page: 158 164
+TeXDict begin 158 163 bop 150 -116 a Fu(App)s(endix)29
b(B:)i(Ma)5 b(jor)31 b(Di\013erences)g(F)-8 b(rom)31
-b(The)f(Bourne)g(Shell)1258 b(157)225 299 y Fq(\017)60
+b(The)f(Bourne)g(Shell)1258 b(158)225 299 y Fq(\017)60
b Fu(The)40 b(Bash)h Ft(export)p Fu(,)h Ft(readonly)p
Fu(,)f(and)g Ft(declare)d Fu(builtins)j(can)g(tak)m(e)h(a)f
Ft(-f)f Fu(option)i(to)f(act)h(on)330 408 y(shell)30
@@ -19311,10 +19422,10 @@ Fu(builtin)i(\(see)h(Section)g(4.1)g([Bourne)f(Shell)g(Builtins],)j
5340 y(signal)30 b(sp)s(eci\014cation,)h(similar)f(to)g
Ft(EXIT)f Fu(and)g Ft(DEBUG)p Fu(.)39 b(Commands)28 b(sp)s(eci\014ed)h
(with)g(an)g Ft(ERR)g Fu(trap)p eop end
-%%Page: 158 164
-TeXDict begin 158 163 bop 150 -116 a Fu(App)s(endix)29
+%%Page: 159 165
+TeXDict begin 159 164 bop 150 -116 a Fu(App)s(endix)29
b(B:)i(Ma)5 b(jor)31 b(Di\013erences)g(F)-8 b(rom)31
-b(The)f(Bourne)g(Shell)1258 b(158)330 299 y(are)40 b(executed)g(after)g
+b(The)f(Bourne)g(Shell)1258 b(159)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 Ft(ERR)g Fu(trap)g(is)330 408 y(not)g(inherited)f(b)m(y)h
(shell)g(functions)f(unless)g(the)h Ft(-o)29 b(errtrace)37
@@ -19396,10 +19507,10 @@ Fu(.)57 b(If)35 b(the)i(shell)f(is)h(started)g(from)e(a)i(pro)s(cess)f
(with)g Ft(SIGSEGV)e Fu(blo)s(c)m(k)m(ed)k(\(e.g.,)h(b)m(y)d(using)330
5340 y(the)31 b Ft(system\(\))d Fu(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: 159 165
-TeXDict begin 159 164 bop 150 -116 a Fu(App)s(endix)29
+%%Page: 160 166
+TeXDict begin 160 165 bop 150 -116 a Fu(App)s(endix)29
b(B:)i(Ma)5 b(jor)31 b(Di\013erences)g(F)-8 b(rom)31
-b(The)f(Bourne)g(Shell)1258 b(159)225 299 y Fq(\017)60
+b(The)f(Bourne)g(Shell)1258 b(160)225 299 y Fq(\017)60
b Fu(In)30 b(a)i(questionable)g(attempt)g(at)g(securit)m(y)-8
b(,)33 b(the)e(SVR4.2)h(shell,)g(when)e(in)m(v)m(ok)m(ed)j(without)e
(the)h Ft(-p)330 408 y Fu(option,)39 b(will)d(alter)i(its)e(real)h(and)
@@ -19430,8 +19541,8 @@ Fm(posix)330 1738 y Fu(standard.)225 1873 y Fq(\017)60
b Fu(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 Ft(jsh)g Fu(\(it)h(turns)e(on)h(job)g
(con)m(trol\).)p eop end
-%%Page: 160 166
-TeXDict begin 160 165 bop 3614 -116 a Fu(160)150 299
+%%Page: 161 167
+TeXDict begin 161 166 bop 3614 -116 a Fu(161)150 299
y Fp(App)t(endix)52 b(C)81 b(GNU)54 b(F)-13 b(ree)53
b(Do)t(cumen)l(tation)e(License)1359 502 y Fu(V)-8 b(ersion)31
b(1.3,)g(3)g(No)m(v)m(em)m(b)s(er)h(2008)390 635 y(Cop)m(yrigh)m(t)842
@@ -19512,10 +19623,10 @@ 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: 161 167
-TeXDict begin 161 166 bop 150 -116 a Fu(App)s(endix)29
+%%Page: 162 168
+TeXDict begin 162 167 bop 150 -116 a Fu(App)s(endix)29
b(C:)h(GNU)h(F)-8 b(ree)31 b(Do)s(cumen)m(tation)i(License)1560
-b(161)330 299 y(under)26 b(this)i(License.)40 b(If)27
+b(162)330 299 y(under)26 b(this)i(License.)40 b(If)27
b(a)h(section)h(do)s(es)f(not)f(\014t)h(the)g(ab)s(o)m(v)m(e)h
(de\014nition)e(of)h(Secondary)f(then)h(it)g(is)330 408
y(not)k(allo)m(w)m(ed)i(to)e(b)s(e)g(designated)g(as)g(In)m(v)-5
@@ -19606,10 +19717,10 @@ b(Disclaimers)f(are)g(considered)e(to)330 4970 y(b)s(e)k(included)g(b)m
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: 162 168
-TeXDict begin 162 167 bop 150 -116 a Fu(App)s(endix)29
+%%Page: 163 169
+TeXDict begin 163 168 bop 150 -116 a Fu(App)s(endix)29
b(C:)h(GNU)h(F)-8 b(ree)31 b(Do)s(cumen)m(tation)i(License)1560
-b(162)330 299 y(Y)-8 b(ou)39 b(ma)m(y)f(cop)m(y)h(and)e(distribute)h
+b(163)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
@@ -19699,10 +19810,10 @@ 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: 163 169
-TeXDict begin 163 168 bop 150 -116 a Fu(App)s(endix)29
+%%Page: 164 170
+TeXDict begin 164 169 bop 150 -116 a Fu(App)s(endix)29
b(C:)h(GNU)h(F)-8 b(ree)31 b(Do)s(cumen)m(tation)i(License)1560
-b(163)510 299 y(b)s(e)31 b(listed)h(in)f(the)g(History)h(section)g(of)g
+b(164)510 299 y(b)s(e)31 b(listed)h(in)f(the)g(History)h(section)g(of)g
(the)f(Do)s(cumen)m(t\).)45 b(Y)-8 b(ou)32 b(ma)m(y)g(use)f(the)g(same)
h(title)h(as)510 408 y(a)e(previous)f(v)m(ersion)g(if)h(the)f(original)
i(publisher)d(of)h(that)h(v)m(ersion)g(giv)m(es)h(p)s(ermission.)360
@@ -19781,10 +19892,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: 164 170
-TeXDict begin 164 169 bop 150 -116 a Fu(App)s(endix)29
+%%Page: 165 171
+TeXDict begin 165 170 bop 150 -116 a Fu(App)s(endix)29
b(C:)h(GNU)h(F)-8 b(ree)31 b(Do)s(cumen)m(tation)i(License)1560
-b(164)330 299 y(titles)37 b(to)f(the)f(list)h(of)g(In)m(v)-5
+b(165)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
@@ -19869,10 +19980,10 @@ 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: 165 171
-TeXDict begin 165 170 bop 150 -116 a Fu(App)s(endix)29
+%%Page: 166 172
+TeXDict begin 166 171 bop 150 -116 a Fu(App)s(endix)29
b(C:)h(GNU)h(F)-8 b(ree)31 b(Do)s(cumen)m(tation)i(License)1560
-b(165)199 299 y(7.)61 b(A)m(GGREGA)-8 b(TION)32 b(WITH)e(INDEPENDENT)h
+b(166)199 299 y(7.)61 b(A)m(GGREGA)-8 b(TION)32 b(WITH)e(INDEPENDENT)h
(W)m(ORKS)330 441 y(A)d(compilation)i(of)e(the)g(Do)s(cumen)m(t)h(or)f
(its)g(deriv)-5 b(ativ)m(es)30 b(with)d(other)i(separate)g(and)e(indep)
s(enden)m(t)330 551 y(do)s(cumen)m(ts)33 b(or)g(w)m(orks,)h(in)f(or)h
@@ -19957,10 +20068,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: 166 172
-TeXDict begin 166 171 bop 150 -116 a Fu(App)s(endix)29
+%%Page: 167 173
+TeXDict begin 167 172 bop 150 -116 a Fu(App)s(endix)29
b(C:)h(GNU)h(F)-8 b(ree)31 b(Do)s(cumen)m(tation)i(License)1560
-b(166)154 299 y(10.)61 b(FUTURE)30 b(REVISIONS)f(OF)i(THIS)e(LICENSE)
+b(167)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
@@ -20024,10 +20135,10 @@ 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: 167 173
-TeXDict begin 167 172 bop 150 -116 a Fu(App)s(endix)29
+%%Page: 168 174
+TeXDict begin 168 173 bop 150 -116 a Fu(App)s(endix)29
b(C:)h(GNU)h(F)-8 b(ree)31 b(Do)s(cumen)m(tation)i(License)1560
-b(167)150 299 y Fs(ADDENDUM:)45 b(Ho)l(w)h(to)f(use)g(this)h(License)f
+b(168)150 299 y Fs(ADDENDUM:)45 b(Ho)l(w)h(to)f(use)g(this)h(License)f
(for)g(y)l(our)g(do)t(cumen)l(ts)150 458 y Fu(T)-8 b(o)35
b(use)f(this)h(License)g(in)f(a)h(do)s(cumen)m(t)g(y)m(ou)f(ha)m(v)m(e)
i(written,)g(include)f(a)f(cop)m(y)i(of)f(the)f(License)h(in)g(the)150
@@ -20062,8 +20173,8 @@ 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: 168 174
-TeXDict begin 168 173 bop 3614 -116 a Fu(168)150 299
+%%Page: 169 175
+TeXDict begin 169 174 bop 3614 -116 a Fu(169)150 299
y Fp(App)t(endix)52 b(D)81 b(Indexes)150 639 y Fs(D.1)68
b(Index)45 b(of)g(Shell)g(Builtin)g(Commands)146 806
y(.)150 923 y Fe(.)19 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
@@ -20220,9 +20331,9 @@ g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(59)2025
5235 y Fe(suspend)d Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(105)p eop end
-%%Page: 169 175
-TeXDict begin 169 174 bop 150 -116 a Fu(App)s(endix)29
-b(D:)i(Indexes)2623 b(169)146 294 y Fs(T)150 410 y Fe(test)11
+%%Page: 170 176
+TeXDict begin 170 175 bop 150 -116 a Fu(App)s(endix)29
+b(D:)i(Indexes)2623 b(170)146 294 y Fs(T)150 410 y Fe(test)11
b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)25 b Fb(47)150 497
@@ -20326,37 +20437,37 @@ h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)23 b Fb(10)2021
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)23
b Fb(10)p eop end
-%%Page: 170 176
-TeXDict begin 170 175 bop 150 -116 a Fu(App)s(endix)29
-b(D:)i(Indexes)2623 b(170)150 299 y Fs(D.3)68 b(P)l(arameter)47
+%%Page: 171 177
+TeXDict begin 171 176 bop 150 -116 a Fu(App)s(endix)29
+b(D:)i(Indexes)2623 b(171)150 299 y Fs(D.3)68 b(P)l(arameter)47
b(and)d(V)-11 b(ariable)46 b(Index)146 955 y(!)150 1073
y Fe(!)19 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)33
-b Fb(21)146 1327 y Fs(#)150 1445 y Fe(#)19 b Fc(:)13
+b Fb(22)146 1327 y Fs(#)150 1445 y Fe(#)19 b Fc(:)13
b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)33 b Fb(21)146
1701 y Fs($)150 1820 y Fe($)19 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)33 b Fb(21)150 1909 y Fe($!)16 b Fc(:)e(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)33 b Fb(22)150 1909 y Fe($!)16 b Fc(:)e(:)f(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)31 b Fb(21)150 1997 y Fe($#)16 b Fc(:)e(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)31 b Fb(22)150 1997 y Fe($#)16 b Fc(:)e(:)f(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)31 b Fb(21)150 2085 y Fe($$)16 b Fc(:)e(:)f(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)31 b Fb(21)150 2173 y Fe($*)16
+(:)g(:)g(:)g(:)g(:)g(:)31 b Fb(22)150 2173 y Fe($*)16
b Fc(:)e(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)31 b Fb(21)150
2261 y Fe($-)16 b Fc(:)e(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)31
-b Fb(21)150 2350 y Fe($?)16 b Fc(:)e(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+b Fb(22)150 2350 y Fe($?)16 b Fc(:)e(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
31 b Fb(21)150 2438 y Fe($@)16 b Fc(:)e(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g
@@ -20365,17 +20476,17 @@ g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)31 b Fb(21)150 2526 y Fe($_)16 b Fc(:)e(:)f(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)31 b Fb(21)150 2613 y Fe($0)16 b Fc(:)e(:)f(:)g(:)g(:)g(:)g(:)h
+(:)g(:)31 b Fb(22)150 2613 y Fe($0)16 b Fc(:)e(:)f(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)31 b Fb(21)146 2876 y Fs(*)150 2994 y Fe(*)19
+(:)g(:)g(:)31 b Fb(22)146 2876 y Fs(*)150 2994 y Fe(*)19
b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)33 b
Fb(21)146 3248 y Fs({)150 3366 y Fe(-)19 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)33 b Fb(21)146 3620 y Fs(?)150 3738
+g(:)h(:)f(:)g(:)g(:)33 b Fb(22)146 3620 y Fs(?)150 3738
y Fe(?)19 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)33
@@ -20386,11 +20497,11 @@ f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)33 b Fb(21)p
156 4364 41 6 v 150 4482 a Fe(_)19 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)33 b Fb(21)146 4736 y Fs(0)150 4854 y
+(:)f(:)g(:)g(:)33 b Fb(22)146 4736 y Fs(0)150 4854 y
Fe(0)19 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)33
-b Fb(21)146 5108 y Fs(A)150 5226 y Fe(auto_resume)8 b
+b Fb(22)146 5108 y Fs(A)150 5226 y Fe(auto_resume)8 b
Fc(:)16 b(:)d(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
23 b Fb(105)2021 954 y Fs(B)2025 1074 y Fe(BASH)11 b
@@ -20410,7 +20521,7 @@ b Fb(73)2025 1429 y Fe(BASH_ARGV0)13 b Fc(:)i(:)e(:)g(:)g(:)h(:)f(:)g
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)27 b Fb(73)2025
1517 y Fe(BASH_CMDS)15 b Fc(:)g(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(73)2025 1606
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(74)2025 1606
y Fe(BASH_COMMAND)8 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(:)22 b Fb(74)2025 1695 y Fe(BASH_COMPAT)10
@@ -20432,7 +20543,7 @@ h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)22 b Fb(74)2025 2226 y Fe(BASH_SOURCE)10
b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)25 b Fb(74)2025 2315 y Fe(BASH_SUBSHELL)g Fc(:)13
+g(:)25 b Fb(75)2025 2315 y Fe(BASH_SUBSHELL)g 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(:)g(:)g(:)37
b Fb(75)2025 2403 y Fe(BASH_VERSINFO)25 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g
@@ -20513,12 +20624,12 @@ y Fe(COPROC)6 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(76)p
eop end
-%%Page: 171 177
-TeXDict begin 171 176 bop 150 -116 a Fu(App)s(endix)29
-b(D:)i(Indexes)2623 b(171)146 294 y Fs(D)150 416 y Fe(DIRSTACK)18
+%%Page: 172 178
+TeXDict begin 172 177 bop 150 -116 a Fu(App)s(endix)29
+b(D:)i(Indexes)2623 b(172)146 294 y Fs(D)150 416 y Fe(DIRSTACK)18
b Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)32 b Fb(76)150 503 y Fe(disable-completion)7
+(:)g(:)h(:)f(:)32 b Fb(77)150 503 y Fe(disable-completion)7
b Fc(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(111)146
791 y Fs(E)150 913 y Fe(echo-control-characters)12 b
@@ -20583,7 +20694,7 @@ g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)25 b Fb(78)150
3720 y Fe(HISTFILE)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)32 b Fb(78)150 3809
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)32 b Fb(79)150 3809
y Fe(HISTFILESIZE)8 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)22 b Fb(79)150 3899 y Fe(HISTIGNORE)13
@@ -20613,100 +20724,102 @@ y Fe(HOSTNAME)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)32 b Fb(79)150 4700 y
Fe(HOSTTYPE)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)32 b Fb(79)2021 294 y Fs(I)2025
-421 y Fe(IFS)14 b Fc(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)32 b Fb(80)2021 294 y Fs(I)2025
+420 y Fe(IFS)14 b Fc(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)28
-b Fb(72)2025 512 y Fe(IGNOREEOF)15 b Fc(:)g(:)f(:)f(:)g(:)g(:)g(:)g(:)g
+b Fb(72)2025 510 y Fe(IGNOREEOF)15 b Fc(:)g(:)f(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(80)2025
-602 y Fe(input-meta)11 b Fc(:)k(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+600 y Fe(input-meta)11 b Fc(:)k(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)26 b Fb(112)2025 693 y Fe(INPUTRC)c
+h(:)f(:)g(:)g(:)g(:)g(:)26 b Fb(113)2025 691 y Fe(INPUTRC)c
Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)35 b Fb(80)2025 780 y Fe(isearch-terminators)26
-b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37 b Fb(113)2021 1088
-y Fs(K)2025 1211 y Fe(keymap)22 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)36
-b Fb(113)2021 1531 y Fs(L)2025 1658 y Fe(LANG)11 b Fc(:)j(:)f(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)26 b Fb(80)2025 1748 y Fe(LC_ALL)6 b Fc(:)14
-b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)21 b Fb(80)2025 1839 y Fe(LC_COLLATE)13
+g(:)g(:)h(:)f(:)g(:)35 b Fb(80)2025 781 y Fe(INSIDE_EMACS)8
+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(:)
+22 b Fb(80)2025 868 y Fe(isearch-terminators)k Fc(:)13
+b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)37 b Fb(113)2021 1167 y Fs(K)2025
+1290 y Fe(keymap)22 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)36 b Fb(113)2021
+1601 y Fs(L)2025 1727 y Fe(LANG)11 b Fc(:)j(:)f(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26
+b Fb(80)2025 1817 y Fe(LC_ALL)6 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21
+b Fb(80)2025 1907 y Fe(LC_COLLATE)13 b Fc(:)i(:)e(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)27 b Fb(80)2025
+1998 y Fe(LC_CTYPE)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)33 b Fb(80)2025 2088
+y Fe(LC_MESSAGES)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(:)34 b Fb(7,)26 b(80)2025 2178 y Fe(LC_NUMERIC)13
b Fc(:)i(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)27 b Fb(80)2025 1930 y Fe(LC_CTYPE)18 b Fc(:)d(:)e(:)g(:)g(:)g
+(:)h(:)27 b Fb(80)2025 2269 y Fe(LC_TIME)22 b Fc(:)13
+b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)33
-b Fb(80)2025 2021 y Fe(LC_MESSAGES)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(:)34 b Fb(7,)26 b(80)2025
-2111 y Fe(LC_NUMERIC)13 b Fc(:)i(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)27 b Fb(80)2025 2202 y
-Fe(LC_TIME)22 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fb(80)2025 2293
-y Fe(LINENO)6 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(80)2025
-2380 y Fe(LINES)9 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(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)23
-b Fb(80)2021 2688 y Fs(M)2025 2815 y Fe(MACHTYPE)18 b
-Fc(:)d(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)33 b Fb(80)2025 2906 y Fe(MAIL)11 b Fc(:)j(:)f(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)26 b Fb(72)2025 2996 y Fe(MAILCHECK)15 b Fc(:)g(:)f(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30
-b Fb(80)2025 3087 y Fe(MAILPATH)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)g(:)h(:)f
+h(:)f(:)g(:)35 b Fb(80)2025 2359 y Fe(LINENO)6 b Fc(:)14
+b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)21 b Fb(80)2025 2446 y Fe(LINES)9
+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(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)23 b Fb(80)2021 2746
+y Fs(M)2025 2872 y Fe(MACHTYPE)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)33 b
-Fb(72)2025 3178 y Fe(MAPFILE)22 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35
-b Fb(80)2025 3269 y Fe(mark-modified-lines)26 b Fc(:)13
-b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)37 b Fb(113)2025 3359 y Fe
-(mark-symlinked-directories)27 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36 b Fb(113)2025 3450
-y Fe(match-hidden-files)7 b Fc(:)17 b(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)22
-b Fb(113)2025 3541 y Fe(menu-complete-display-prefix)17
-b Fc(:)h(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)31
-b Fb(114)2025 3628 y Fe(meta-flag)13 b Fc(:)i(:)e(:)h(:)f(:)g(:)g(:)g
+Fb(80)2025 2962 y Fe(MAIL)11 b Fc(:)j(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)28 b Fb(112)2021
-3947 y Fs(O)2025 4074 y Fe(OLDPWD)6 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21
-b Fb(81)2025 4165 y Fe(OPTARG)6 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21
-b Fb(72)2025 4256 y Fe(OPTERR)6 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21
-b Fb(81)2025 4347 y Fe(OPTIND)6 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21
-b Fb(72)2025 4437 y Fe(OSTYPE)6 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21
-b Fb(81)2025 4525 y Fe(output-meta)8 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)23 b Fb(114)p
-eop end
-%%Page: 172 178
-TeXDict begin 172 177 bop 150 -116 a Fu(App)s(endix)29
-b(D:)i(Indexes)2623 b(172)146 294 y Fs(P)150 410 y Fe(page-completions)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26
+b Fb(72)2025 3052 y Fe(MAILCHECK)15 b Fc(:)g(:)f(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(80)2025
+3143 y Fe(MAILPATH)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)33 b Fb(72)2025 3233
+y Fe(MAPFILE)22 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fb(81)2025 3323
+y Fe(mark-modified-lines)26 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37
+b Fb(113)2025 3414 y Fe(mark-symlinked-directories)27
+b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+36 b Fb(113)2025 3504 y Fe(match-hidden-files)7 b Fc(:)17
+b(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)22 b Fb(114)2025 3594
+y Fe(menu-complete-display-prefix)17 b Fc(:)h(:)13 b(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)31 b Fb(114)2025 3681 y Fe(meta-flag)13
+b Fc(:)i(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)28 b Fb(113)2021 3992 y Fs(O)2025 4118 y Fe(OLDPWD)6
+b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(81)2025 4208 y Fe(OPTARG)6
+b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(72)2025 4299 y Fe(OPTERR)6
+b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(81)2025 4389 y Fe(OPTIND)6
+b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(72)2025 4480 y Fe(OSTYPE)6
+b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(81)2025 4567 y Fe(output-meta)8
+b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+23 b Fb(114)p eop end
+%%Page: 173 179
+TeXDict begin 173 178 bop 150 -116 a Fu(App)s(endix)29
+b(D:)i(Indexes)2623 b(173)146 294 y Fs(P)150 410 y Fe(page-completions)
13 b Fc(:)j(:)d(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)27 b Fb(114)150
497 y Fe(PATH)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
@@ -20747,10 +20860,10 @@ g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)28
b Fb(81)146 1689 y Fs(R)150 1804 y Fe(RANDOM)6 b Fc(:)15
b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)20 b Fb(81)150 1892 y Fe(READLINE_LINE)25
+g(:)g(:)g(:)h(:)f(:)20 b Fb(82)150 1892 y Fe(READLINE_LINE)25
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(:)37
-b Fb(81)150 1979 y Fe(READLINE_POINT)23 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f
+b Fb(82)150 1979 y Fe(READLINE_POINT)23 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(:)h(:)f(:)g(:)g(:)34 b Fb(82)150 2066 y Fe(REPLY)9
b Fc(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
@@ -20779,7 +20892,7 @@ g(:)h(:)f(:)g(:)g(:)g(:)23 b Fb(82)150 2851 y Fe(show-all-if-ambiguous)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37
b Fb(114)2025 347 y Fe(skip-completed-text)26 b Fc(:)13
b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)37 b Fb(114)2021 675 y Fs(T)2025
+(:)h(:)f(:)g(:)g(:)g(:)37 b Fb(115)2021 675 y Fs(T)2025
803 y Fe(TEXTDOMAIN)15 b Fc(:)g(:)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(:)g(:)g(:)h(:)f(:)g(:)30 b Fb(7)2025 894 y
@@ -20854,9 +20967,9 @@ f(:)g(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(127)2025 5340 y Fe
(complete-hostname)29 b(\(M-@\))20 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)34
b Fb(127)p eop end
-%%Page: 173 179
-TeXDict begin 173 178 bop 150 -116 a Fu(App)s(endix)29
-b(D:)i(Indexes)2623 b(173)150 264 y Fe(complete-into-braces)30
+%%Page: 174 180
+TeXDict begin 174 179 bop 150 -116 a Fu(App)s(endix)29
+b(D:)i(Indexes)2623 b(174)150 264 y Fe(complete-into-braces)30
b(\(M-{\))11 b Fc(:)j(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)26 b Fb(128)150 354 y Fe(complete-username)j(\(M-~\))20
b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
@@ -20981,9 +21094,9 @@ b(\(C-o\))11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
b Fc(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)32 b Fb(124)p
eop end
-%%Page: 174 180
-TeXDict begin 174 179 bop 150 -116 a Fu(App)s(endix)29
-b(D:)i(Indexes)2623 b(174)146 294 y Fs(P)150 414 y Fe
+%%Page: 175 181
+TeXDict begin 175 180 bop 150 -116 a Fu(App)s(endix)29
+b(D:)i(Indexes)2623 b(175)146 294 y Fs(P)150 414 y Fe
(possible-command-completions)32 b(\(C-x)26 b(!\))9 b
Fc(:)14 b(:)g(:)f(:)g(:)g(:)24 b Fb(127)150 503 y Fe
(possible-completions)30 b(\(M-?\))11 b Fc(:)j(:)f(:)h(:)f(:)g(:)g(:)g
@@ -21079,7 +21192,7 @@ 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(:)37 b Fb(91)150 4832 y(arithmetic)26
b(expansion)11 b Fc(:)j(:)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(:)26
-b Fb(30)150 4923 y(arithmetic,)h(shell)6 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)
+b Fb(31)150 4923 y(arithmetic,)h(shell)6 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(:)20 b Fb(91)150 5010
y(arra)n(ys)h Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
@@ -21090,28 +21203,28 @@ f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)28 b Fb(102)2025
4739 y(Bash)e(con\014guration)11 b Fc(:)j(:)f(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)26 b Fb(145)2025 4829 y(Bash)g(installation)9
+g(:)g(:)26 b Fb(146)2025 4829 y(Bash)g(installation)9
b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)24
-b Fb(145)2025 4918 y(Bourne)i(shell)20 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f
+b Fb(146)2025 4918 y(Bourne)i(shell)20 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)35 b
Fb(5)2025 5008 y(brace)26 b(expansion)9 b Fc(:)k(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)24 b Fb(22)2025 5095 y(builtin)15
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)24 b Fb(23)2025 5095 y(builtin)15
b Fc(:)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(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(3)p eop end
-%%Page: 175 181
-TeXDict begin 175 180 bop 150 -116 a Fu(App)s(endix)29
-b(D:)i(Indexes)2623 b(175)146 294 y Fs(C)150 418 y Fb(command)26
+%%Page: 176 182
+TeXDict begin 176 181 bop 150 -116 a Fu(App)s(endix)29
+b(D:)i(Indexes)2623 b(176)146 294 y Fs(C)150 418 y Fb(command)26
b(editing)19 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)34
b Fb(107)150 507 y(command)26 b(execution)12 b Fc(:)h(:)g(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)26 b Fb(38)150 597 y(command)g(expansion)c
Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)36 b Fb(37)150
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)36 b Fb(38)150
687 y(command)26 b(history)18 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)33 b Fb(140)150 777 y(command)26 b(searc)n(h)16
@@ -21150,7 +21263,7 @@ g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)28 b Fb(7)150
g(:)36 b Fb(133)150 1943 y(con\014guration)22 b Fc(:)13
b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)36
-b Fb(145)150 2033 y(con)n(trol)26 b(op)r(erator)8 b Fc(:)15
+b Fb(146)150 2033 y(con)n(trol)26 b(op)r(erator)8 b Fc(:)15
b(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)23
b Fb(3)150 2120 y(copro)r(cess)18 b Fc(:)c(:)f(:)h(:)f(:)g(:)g(:)g(:)g
@@ -21164,14 +21277,14 @@ b Fc(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)32 b Fb(107)150 3046 y(en)n(vironmen)n(t)18
b Fc(:)12 b(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)32 b Fb(39)150 3136 y(ev)l(aluation,)26 b(arithmetic)12
+f(:)32 b Fb(40)150 3136 y(ev)l(aluation,)26 b(arithmetic)12
b Fc(:)i(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)26 b Fb(91)150 3226
y(ev)n(en)n(t)f(designators)c Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)34 b Fb(143)150 3316 y(execution)26 b(en)n(vironmen)n(t)17
b Fc(:)12 b(:)h(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)31 b Fb(38)150 3405
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)31 b Fb(39)150 3405
y(exit)25 b(status)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(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(3,)k(40)150 3495 y(expansion)9
@@ -21179,17 +21292,17 @@ 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(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)24 b Fb(22)150 3585 y(expansion,)i(arithmetic)18
b Fc(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)32 b Fb(30)150 3674
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)32 b Fb(31)150 3674
y(expansion,)26 b(brace)16 b Fc(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)30 b Fb(22)150 3764 y(expansion,)c(\014lename)18
+f(:)g(:)g(:)30 b Fb(23)150 3764 y(expansion,)c(\014lename)18
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(:)32 b Fb(31)150
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)32 b Fb(32)150
3854 y(expansion,)26 b(parameter)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(:)34 b Fb(24)150 3944 y(expansion,)26 b(pathname)7
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(:)22 b Fb(31)150
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(32)150
4033 y(expansion,)k(tilde)14 b Fc(:)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(:)28 b Fb(23)150 4123 y(expressions,)f(arithmetic)13
@@ -21205,7 +21318,7 @@ g(:)g(:)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(:)36
b Fb(3)2025 593 y(\014lename)26 b(expansion)11 b Fc(:)i(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)26 b Fb(31)2025 682 y(foreground)9
+g(:)g(:)h(:)f(:)g(:)g(:)26 b Fb(32)2025 682 y(foreground)9
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(:)f(:)24 b Fb(102)2025 769 y(functions,)i(shell)9 b
@@ -21233,7 +21346,7 @@ b Fc(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)32 b Fb(109)2025 2102 y(installation)21
b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)34 b Fb(145)2025 2191 y(in)n(teraction,)26 b(readline)7
+g(:)34 b Fb(146)2025 2191 y(in)n(teraction,)26 b(readline)7
b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(106)2025
2280 y(in)n(teractiv)n(e)k(shell)20 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g
@@ -21263,13 +21376,13 @@ h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)21
b Fb(86)2021 4100 y Fs(M)2025 4221 y Fb(matc)n(hing,)26
b(pattern)9 b Fc(:)k(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)24
-b Fb(32)2025 4308 y(metac)n(haracter)7 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g
+b Fb(33)2025 4308 y(metac)n(haracter)7 b Fc(:)14 b(:)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(:)22 b Fb(3)p
eop end
-%%Page: 176 182
-TeXDict begin 176 181 bop 150 -116 a Fu(App)s(endix)29
-b(D:)i(Indexes)2623 b(176)146 294 y Fs(N)150 410 y Fb(name)19
+%%Page: 177 183
+TeXDict begin 177 182 bop 150 -116 a Fu(App)s(endix)29
+b(D:)i(Indexes)2623 b(177)146 294 y Fs(N)150 410 y Fb(name)19
b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)34 b Fb(3)150 497
@@ -21289,15 +21402,15 @@ b Fb(24)150 1388 y(parameters)c Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)37 b Fb(19)150
1475 y(parameters,)27 b(p)r(ositional)7 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)21 b Fb(20)150 1562 y(parameters,)27 b(sp)r(ecial)7
+f(:)g(:)21 b Fb(21)150 1562 y(parameters,)27 b(sp)r(ecial)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(:)21
b Fb(21)150 1649 y(pathname)k(expansion)18 b Fc(:)c(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)32 b Fb(31)150 1736 y(pattern)25 b(matc)n(hing)c
+h(:)f(:)g(:)32 b Fb(32)150 1736 y(pattern)25 b(matc)n(hing)c
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(:)34
-b Fb(32)150 1824 y(pip)r(eline)12 b Fc(:)h(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+b Fb(33)150 1824 y(pip)r(eline)12 b Fc(:)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(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)27
b Fb(8)150 1911 y(POSIX)22 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
@@ -21313,7 +21426,7 @@ g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)30 b Fb(3)150 2172 y(pro)r(cess)d
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)26 b Fb(3)150 2259 y(pro)r(cess)h(substitution)11
b Fc(:)h(:)i(:)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(:)25 b Fb(30)150
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)25 b Fb(31)150
2347 y(programmable)i(completion)8 b Fc(:)14 b(:)g(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)23
b Fb(131)150 2434 y(prompting)17 b Fc(:)c(:)g(:)g(:)h(:)f(:)g(:)g(:)g
@@ -21330,7 +21443,7 @@ b Fc(:)i(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 b Fb(105)150 3325
y(redirection)13 b Fc(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)27 b Fb(33)150 3412 y(reserv)n(ed)f(w)n
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)27 b Fb(34)150 3412 y(reserv)n(ed)f(w)n
(ord)13 b Fc(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)28 b Fb(3)150 3499 y(restricted)e(shell)14
@@ -21358,7 +21471,7 @@ b Fb(87)2025 892 y(signal)13 b Fc(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)28
b Fb(4)2025 984 y(signal)f(handling)6 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)21 b Fb(40)2025 1077
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)21 b Fb(41)2025 1077
y(sp)r(ecial)27 b(builtin)16 b Fc(:)d(:)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(:)31 b Fb(4,)26 b(71)2025 1170 y(startup)f(\014les)10
diff --git a/doc/bashref.texi b/doc/bashref.texi
index c97e1175..cb67c8a2 100644
--- a/doc/bashref.texi
+++ b/doc/bashref.texi
@@ -876,7 +876,9 @@ zero if no condition tested true.
The syntax of the @code{case} command is:
@example
-case @var{word} in [ [(] @var{pattern} [| @var{pattern}]@dots{}) @var{command-list} ;;]@dots{} esac
+case @var{word} in
+ [ [(] @var{pattern} [| @var{pattern}]@dots{}) @var{command-list} ;;]@dots{}
+esac
@end example
@code{case} will selectively execute the @var{command-list} corresponding to
@@ -1028,7 +1030,8 @@ to be matched as a string.
An additional binary operator, @samp{=~}, is available, with the same
precedence as @samp{==} and @samp{!=}.
When it is used, the string to the right of the operator is considered
-an extended regular expression and matched accordingly (as in @i{regex}3)).
+a @sc{POSIX} extended regular expression and matched accordingly
+(as in @i{regex}3)).
The return value is 0 if the string matches
the pattern, and 1 otherwise.
If the regular expression is syntactically incorrect, the conditional
@@ -1283,7 +1286,8 @@ from a file (in this case, filenames listed one per line):
@noindent
with a more compact syntax reminiscent of lambdas:
@example
-cat list | parallel "do-something1 @{@} config-@{@} ; do-something2 < @{@}" | process-output
+cat list | parallel "do-something1 @{@} config-@{@} ; do-something2 < @{@}" |
+ process-output
@end example
Parallel provides a built-in mechanism to remove filename extensions, which
@@ -1306,13 +1310,21 @@ parallel "zcat @{@} | bzip2 >@{.@}.bz2 && rm @{@}" ::: *.gz
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
+@{
+ 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.
Adding the @option{-k} option
@example
-@{ echo foss.org.my ; echo debian.org; echo freenetproject.org; @} | parallel -k traceroute
+@{
+ 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.
@@ -1663,8 +1675,16 @@ separators.
@item @@
@vindex $@@
-($@@) Expands to the positional parameters, starting from one. When the
-expansion occurs within double quotes, each parameter expands to a
+($@@) Expands to the positional parameters, starting from one.
+In contexts where word splitting is performed, this expands each
+positional parameter to a separate word; if not within double
+quotes, these words are subject to word splitting.
+In contexts where word splitting is not performed,
+this expands to a single word
+with each positional parameter separated by a space.
+When the
+expansion occurs within double quotes, and word splitting is performed,
+each parameter expands to a
separate word. That is, @code{"$@@"} is equivalent to
@code{"$1" "$2" @dots{}}.
If the double-quoted expansion occurs within a word, the expansion of
@@ -1926,6 +1946,12 @@ The string that would be displayed by @samp{dirs +@var{N}}
The string that would be displayed by @samp{dirs -@var{N}}
@end table
+Bash also performs tilde expansion on words satisfying the conditions of
+variable assignments (@pxref{Shell Parameters})
+when they appear as arguments to simple commands.
+Bash does not do this, except for the @var{declaration} commands listed
+above, when in @sc{posix} mode.
+
@node Shell Parameter Expansion
@subsection Shell Parameter Expansion
@cindex parameter expansion
@@ -1954,11 +1980,11 @@ interpreted as part of its name.
If the first character of @var{parameter} is an exclamation point (!),
and @var{parameter} is not a @var{nameref},
-it introduces a level of variable indirection.
-Bash uses the value of the variable formed from the rest of
-@var{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 @var{parameter} itself.
+it introduces a level of indirection.
+Bash uses the value formed by expanding the rest of
+@var{parameter} as the new @var{parameter}; this is then
+expanded and that value is used in the rest of the expansion, rather
+than the expansion of the original @var{parameter}.
This is known as @code{indirect expansion}.
The value is subject to tilde expansion,
parameter expansion, command substitution, and arithmetic expansion.
@@ -4353,8 +4379,8 @@ parent.
@item mapfile
@btindex mapfile
@example
-mapfile [-d @var{delim}] [-n @var{count}] [-O @var{origin}] [-s @var{count}] [-t] [-u @var{fd}]
- [-C @var{callback}] [-c @var{quantum}] [@var{array}]
+mapfile [-d @var{delim}] [-n @var{count}] [-O @var{origin}] [-s @var{count}]
+ [-t] [-u @var{fd}] [-C @var{callback}] [-c @var{quantum}] [@var{array}]
@end example
Read lines from the standard input into the indexed array variable @var{array},
@@ -4561,8 +4587,8 @@ Read input from file descriptor @var{fd}.
@item readarray
@btindex readarray
@example
-readarray [-d @var{delim}] [-n @var{count}] [-O @var{origin}] [-s @var{count}] [-t] [-u @var{fd}]
- [-C @var{callback}] [-c @var{quantum}] [@var{array}]
+readarray [-d @var{delim}] [-n @var{count}] [-O @var{origin}] [-s @var{count}]
+ [-t] [-u @var{fd}] [-C @var{callback}] [-c @var{quantum}] [@var{array}]
@end example
Read lines from the standard input into the indexed array variable @var{array},
@@ -5617,7 +5643,8 @@ The shell sets @code{BASH_ARGC} only when in extended debugging mode
(see @ref{The Shopt Builtin}
for a description of the @code{extdebug} option to the @code{shopt}
builtin).
-Setting @code{extdebug} after the shell has started to execute a script
+Setting @code{extdebug} after the shell has started to execute a script,
+or referencing this variable when @code{extdebug} is not set,
may result in inconsistent values.
@item BASH_ARGV
@@ -5630,7 +5657,8 @@ The shell sets @code{BASH_ARGV} only when in extended debugging mode
(see @ref{The Shopt Builtin}
for a description of the @code{extdebug} option to the @code{shopt}
builtin).
-Setting @code{extdebug} after the shell has started to execute a script
+Setting @code{extdebug} after the shell has started to execute a script,
+or referencing this variable when @code{extdebug} is not set,
may result in inconsistent values.
@item BASH_ARGV0
@@ -6073,6 +6101,11 @@ input to the shell. This is only in effect for interactive shells.
The name of the Readline initialization file, overriding the default
of @file{~/.inputrc}.
+@item INSIDE_EMACS
+If Bash finds this variable in the environment when the shell
+starts, it assumes that the shell is running in an Emacs shell buffer
+and may disable line editing depending on the value of @env{TERM}.
+
@item LANG
Used to determine the locale category for any category not specifically
selected with a variable starting with @code{LC_}.
@@ -6156,7 +6189,9 @@ as if the command
@code{set -o posix}
@end example
@noindent
-had been executed.
+had been executed.
+When the shell enters @sc{posix} mode, it sets this variable if it was
+not already set.
@item PPID
The process @sc{id} of the shell's parent process. This variable
@@ -6330,9 +6365,12 @@ This chapter describes features unique to Bash.
@section Invoking Bash
@example
-bash [long-opt] [-ir] [-abefhkmnptuvxdBCDHP] [-o @var{option}] [-O @var{shopt_option}] [@var{argument} @dots{}]
-bash [long-opt] [-abefhkmnptuvxdBCDHP] [-o @var{option}] [-O @var{shopt_option}] -c @var{string} [@var{argument} @dots{}]
-bash [long-opt] -s [-abefhkmnptuvxdBCDHP] [-o @var{option}] [-O @var{shopt_option}] [@var{argument} @dots{}]
+bash [long-opt] [-ir] [-abefhkmnptuvxdBCDHP] [-o @var{option}]
+ [-O @var{shopt_option}] [@var{argument} @dots{}]
+bash [long-opt] [-abefhkmnptuvxdBCDHP] [-o @var{option}]
+ [-O @var{shopt_option}] -c @var{string} [@var{argument} @dots{}]
+bash [long-opt] -s [-abefhkmnptuvxdBCDHP] [-o @var{option}]
+ [-O @var{shopt_option}] [@var{argument} @dots{}]
@end example
All of the single-character options used with the @code{set} builtin
@@ -7421,7 +7459,7 @@ 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} shell option (@pxref{Bash Builtins}).
+@code{promptvars} shell option (@pxref{The Shopt Builtin}).
@node The Restricted Shell
@section The Restricted Shell
@@ -7493,6 +7531,9 @@ The following list is what's changed when `@sc{posix} mode' is in effect:
@enumerate
@item
+Bash ensures that the @env{POSIXLY_CORRECT} variable is set.
+
+@item
When a command in the hash table no longer exists, Bash will re-search
@env{$PATH} to find the new location. This is also available with
@samp{shopt -s checkhash}.
diff --git a/doc/builtins.0 b/doc/builtins.0
index 4614dc50..b9a67274 100644
--- a/doc/builtins.0
+++ b/doc/builtins.0
@@ -210,71 +210,78 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
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] [--DDEEII] [--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 ...]
+ ccoommpplleettee --pprr [--DDEEII] [_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
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-
- 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
- attempted on a blank line.
-
- The process of applying these completion specifications when
- word completion is attempted is described above under PPrrooggrraamm--
+ pletion specifications. The --DD option indicates that other sup-
+ plied options and actions should apply to the ``default'' com-
+ mand completion; that is, completion attempted on a command for
+ which no completion has previously been defined. The --EE option
+ indicates that other supplied options and actions should apply
+ to ``empty'' command completion; that is, completion attempted
+ on a blank line. The --II option indicates that other supplied
+ options and actions should apply to completion on the inital
+ non-assignment word on the line, or after a command delimiter
+ such as ;; or ||, which is usually command name completion. If
+ multiple options are supplied, the --DD option takes precedence
+ over --EE, and both take precedence over --II. If any of --DD, --EE, or
+ --II are supplied, any other _n_a_m_e arguments are ignored; these
+ completions only apply to the case specified by the option.
+
+ The process of applying these completion specifications when
+ word completion is attempted is described above under PPrrooggrraamm--
mmaabbllee 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.
- nnooqquuoottee Tell readline not to quote the completed words
- if they are filenames (quoting filenames is the
+ nnooqquuoottee Tell readline not to quote the completed words
+ if they are filenames (quoting filenames is the
default).
- nnoossoorrtt Tell readline not to sort the list of possible
+ nnoossoorrtt Tell readline not to sort the list of possible
completions alphabetically.
- 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
@@ -282,7 +289,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
@@ -291,17 +298,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.
@@ -310,190 +317,194 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
Names of all shell variables. May also be spec-
ified as --vv.
--CC _c_o_m_m_a_n_d
- _c_o_m_m_a_n_d is executed in a subshell environment, and its
+ _c_o_m_m_a_n_d is executed in a subshell environment, and its
output is used as the possible completions.
--FF _f_u_n_c_t_i_o_n
- The shell function _f_u_n_c_t_i_o_n is executed in the current
- shell environment. When the function is executed, the
- first argument ($$11) is the name of the command whose
- arguments are being completed, the second argument ($$22)
+ The shell function _f_u_n_c_t_i_o_n is executed in the current
+ shell environment. When the function is executed, the
+ first argument ($$11) is the name of the command whose
+ arguments are being completed, the second argument ($$22)
is the word being completed, and the third argument ($$33)
- is the word preceding the word being completed on the
- current command line. When it finishes, the possible
- completions are retrieved from the value of the CCOOMMPPRREE--
+ is the word preceding the word being completed on the
+ current command line. When it finishes, the possible
+ completions are retrieved from the value of the CCOOMMPPRREE--
PPLLYY array variable.
--GG _g_l_o_b_p_a_t
- The pathname expansion pattern _g_l_o_b_p_a_t is expanded to
+ 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.
--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. Shell quoting is honored within _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. Shell quoting is honored within _w_o_r_d_l_i_s_t,
in order to provide a mechanism for the words to contain
- shell metacharacters or characters in the value of IIFFSS.
- The possible completions are the members of the resul-
+ shell metacharacters or characters in the value of IIFFSS.
+ The possible completions are the members of the resul-
tant list which match the word being completed.
--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.
+ _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
+ 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
+ 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]
+ ccoommppoopptt [--oo _o_p_t_i_o_n] [--DDEEII] [++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-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
+ _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 other supplied
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;
- that is, completion attempted on a blank line.
-
- The return value is true unless an invalid option is supplied,
+ is, completion attempted on a command for which no completion
+ has previously been defined. The --EE option indicates that other
+ supplied options should apply to ``empty'' command completion;
+ that is, completion attempted on a blank line. The --II option
+ indicates that other supplied options should apply to completion
+ on the inital non-assignment word on the line, or after a com-
+ mand delimiter such as ;; or ||, which is usually command name
+ completion.
+
+ 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 [--aaAAffFFggiillnnrrttuuxx] [--pp] [_n_a_m_e[=_v_a_l_u_e] ...]
ttyyppeesseett [--aaAAffFFggiillnnrrttuuxx] [--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
+ 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, other than --ff and --FF,
- are ignored. When --pp is supplied without _n_a_m_e arguments, it
- will display the attributes and values of all variables having
+ with _n_a_m_e arguments, additional options, other than --ff and --FF,
+ 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 functions. The --FF option
- inhibits the display of function definitions; only the function
- name and attributes are printed. If the eexxttddeebbuugg shell option
- is enabled using sshhoopptt, the source file name and line number
+ 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 definitions; 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 each _n_a_m_e is defined are displayed as well. The --FF option
- implies --ff. The --gg option forces variables to be created or
+ 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 follow-
+ shell function. It is ignored in all other cases. The follow-
ing 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
+ --aa Each _n_a_m_e is an indexed array variable (see AArrrraayyss
above).
- --AA Each _n_a_m_e is an associative array variable (see AArrrraayyss
+ --AA Each _n_a_m_e is an associative array variable (see AArrrraayyss
above).
--ff Use function names only.
--ii The variable is treated as an integer; arithmetic evalua-
- tion (see AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN above) is performed when
+ tion (see AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN above) is performed when
the variable is assigned a value.
- --ll When the variable is assigned a value, all upper-case
- characters are converted to lower-case. The upper-case
+ --ll When the variable is assigned a value, all upper-case
+ characters are converted to lower-case. The upper-case
attribute is disabled.
- --nn Give each _n_a_m_e the _n_a_m_e_r_e_f attribute, making it a name
- reference to another variable. That other variable is
- defined by the value of _n_a_m_e. All references, assign-
- ments, and attribute modifications to _n_a_m_e, except those
- using or changing the --nn attribute itself, are performed
- on the variable referenced by _n_a_m_e's value. The nameref
+ --nn Give each _n_a_m_e the _n_a_m_e_r_e_f attribute, making it a name
+ reference to another variable. That other variable is
+ defined by the value of _n_a_m_e. All references, assign-
+ ments, and attribute modifications to _n_a_m_e, except those
+ using or changing the --nn attribute itself, are performed
+ on the variable referenced by _n_a_m_e's value. The nameref
attribute cannot be applied to array variables.
--rr Make _n_a_m_es readonly. These names cannot then be assigned
values by subsequent assignment statements or unset.
- --tt Give each _n_a_m_e the _t_r_a_c_e attribute. Traced functions
- inherit the DDEEBBUUGG and RREETTUURRNN traps from the calling
- shell. The trace attribute has no special meaning for
+ --tt Give each _n_a_m_e the _t_r_a_c_e attribute. Traced functions
+ inherit the DDEEBBUUGG and RREETTUURRNN traps from the calling
+ shell. The trace attribute has no special meaning for
variables.
- --uu When the variable is assigned a value, all lower-case
- characters are converted to upper-case. The lower-case
+ --uu When the variable is assigned a value, all lower-case
+ characters are converted to upper-case. The lower-case
attribute is disabled.
- --xx Mark _n_a_m_es for export to subsequent commands via the
+ --xx Mark _n_a_m_es for export to subsequent commands via the
environment.
- Using `+' instead of `-' turns off the attribute instead, with
+ Using `+' instead of `-' turns off the attribute instead, with
the exceptions that ++aa may not be used to destroy an array vari-
- able and ++rr will not remove the readonly attribute. When used
+ able and ++rr will not remove the readonly attribute. When used
in a function, ddeeccllaarree and ttyyppeesseett make each _n_a_m_e local, as with
the llooccaall command, unless the --gg option is supplied. If a vari-
- able name is followed by =_v_a_l_u_e, the value of the variable is
- set to _v_a_l_u_e. When using --aa or --AA and the compound assignment
- syntax to create array variables, additional attributes do not
+ able name is followed by =_v_a_l_u_e, the value of the variable is
+ set to _v_a_l_u_e. When using --aa or --AA and the compound assignment
+ syntax to create array variables, additional attributes do not
take effect until subsequent assignments. The return value is 0
- unless an invalid option is encountered, an attempt is made to
- define a function using ``-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 read-
- only status for a readonly variable, an attempt is made to turn
+ 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 read-
+ only 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 [[--ccllppvv]] [[++_n]] [[--_n]]
- Without options, displays the list of currently remembered
- directories. The default display is on a single line with
- directory names separated by spaces. Directories are added to
- the list with the ppuusshhdd command; the ppooppdd command removes
- entries from the list. The current directory is always the
+ Without options, displays the list of currently remembered
+ directories. The default display is on a single line with
+ directory names separated by spaces. Directories are added to
+ the list with the ppuusshhdd command; the ppooppdd command removes
+ entries from the list. The current directory is always the
first directory in the stack.
--cc Clears the directory stack by deleting all of the
entries.
- --ll Produces a listing using full pathnames; the default
+ --ll Produces a listing using full pathnames; the default
listing format uses a tilde to denote the home directory.
--pp Print the directory stack with one entry per line.
- --vv Print the directory stack with one entry per line, pre-
+ --vv Print the directory stack with one entry per line, pre-
fixing each entry with its index in the stack.
++_n Displays the _nth entry counting from the left of the list
shown by ddiirrss when invoked without options, starting with
zero.
- --_n Displays the _nth entry counting from the right of the
+ --_n Displays the _nth entry counting from the right of the
list shown by ddiirrss when invoked without options, starting
with zero.
- The return value is 0 unless an invalid option is supplied or _n
+ The return value is 0 unless an invalid option is supplied or _n
indexes beyond the end of the directory stack.
ddiissoowwnn [--aarr] [--hh] [_j_o_b_s_p_e_c ... | _p_i_d ... ]
- Without options, remove each _j_o_b_s_p_e_c from the table of active
- jobs. If _j_o_b_s_p_e_c is not present, and neither the --aa nor the --rr
- option is supplied, the _c_u_r_r_e_n_t _j_o_b is used. If the --hh option
- is given, each _j_o_b_s_p_e_c is not removed from the table, but is
- marked so that SSIIGGHHUUPP is not sent to the job if the shell
- receives a SSIIGGHHUUPP. If no _j_o_b_s_p_e_c is supplied, the --aa option
- means to remove or mark all jobs; the --rr option without a _j_o_b_-
- _s_p_e_c argument restricts operation to running jobs. The return
+ Without options, remove each _j_o_b_s_p_e_c from the table of active
+ jobs. If _j_o_b_s_p_e_c is not present, and neither the --aa nor the --rr
+ option is supplied, the _c_u_r_r_e_n_t _j_o_b is used. If the --hh option
+ is given, each _j_o_b_s_p_e_c is not removed from the table, but is
+ marked so that SSIIGGHHUUPP is not sent to the job if the shell
+ receives a SSIIGGHHUUPP. If no _j_o_b_s_p_e_c is supplied, the --aa option
+ means to remove or mark all jobs; the --rr option without a _j_o_b_-
+ _s_p_e_c argument restricts operation to running jobs. The return
value is 0 unless a _j_o_b_s_p_e_c does not specify a valid job.
eecchhoo [--nneeEE] [_a_r_g ...]
- Output the _a_r_gs, separated by spaces, followed by a newline.
- The return status is 0 unless a write error occurs. If --nn is
+ Output the _a_r_gs, separated by spaces, followed by a newline.
+ The return status is 0 unless a write error occurs. If --nn is
specified, the trailing newline is suppressed. If the --ee option
- is given, interpretation of the following backslash-escaped
- characters is enabled. The --EE option disables the interpreta-
- tion of these escape characters, even on systems where they are
- interpreted by default. The xxppgg__eecchhoo shell option may be used
- to dynamically determine whether or not eecchhoo expands these
- escape characters by default. eecchhoo does not interpret ---- to
- mean the end of options. eecchhoo interprets the following escape
+ is given, interpretation of the following backslash-escaped
+ characters is enabled. The --EE option disables the interpreta-
+ tion of these escape characters, even on systems where they are
+ interpreted by default. The xxppgg__eecchhoo shell option may be used
+ to dynamically determine whether or not eecchhoo expands these
+ escape characters by default. eecchhoo does not interpret ---- to
+ mean the end of options. eecchhoo interprets the following escape
sequences:
\\aa alert (bell)
\\bb backspace
@@ -506,190 +517,190 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
\\tt horizontal tab
\\vv vertical tab
\\\\ backslash
- \\00_n_n_n the eight-bit character whose value is the octal value
+ \\00_n_n_n the eight-bit character whose value is the octal value
_n_n_n (zero to three octal digits)
- \\xx_H_H the eight-bit character whose value is the hexadecimal
+ \\xx_H_H the eight-bit character whose value is the hexadecimal
value _H_H (one or two hex digits)
- \\uu_H_H_H_H the Unicode (ISO/IEC 10646) character whose value is the
+ \\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
+ the Unicode (ISO/IEC 10646) character whose value is the
hexadecimal value _H_H_H_H_H_H_H_H (one to eight hex digits)
eennaabbllee [--aa] [--ddnnppss] [--ff _f_i_l_e_n_a_m_e] [_n_a_m_e ...]
- Enable and disable builtin shell commands. Disabling a builtin
+ Enable and disable builtin shell commands. Disabling a builtin
allows a disk command which has the same name as a shell builtin
- to be executed without specifying a full pathname, even though
- the shell normally searches for builtins before disk commands.
- If --nn is used, each _n_a_m_e is disabled; otherwise, _n_a_m_e_s are
+ to be executed without specifying a full pathname, even though
+ the shell normally searches for builtins before disk commands.
+ If --nn is used, each _n_a_m_e is disabled; otherwise, _n_a_m_e_s are
enabled. For example, to use the tteesstt binary found via the PPAATTHH
- instead of the shell builtin version, run ``enable -n test''.
- The --ff option means to load the new builtin command _n_a_m_e from
+ instead of the shell builtin version, run ``enable -n test''.
+ The --ff option means to load the new builtin command _n_a_m_e from
shared object _f_i_l_e_n_a_m_e, on systems that support dynamic loading.
- The --dd option will delete a builtin previously loaded with --ff.
+ The --dd option will delete a builtin previously loaded with --ff.
If no _n_a_m_e arguments are given, or if the --pp option is supplied,
a list of shell builtins is printed. With no other option argu-
- ments, the list consists of all enabled shell builtins. If --nn
- is supplied, only disabled builtins are printed. If --aa is sup-
- plied, the list printed includes all builtins, with an indica-
- tion of whether or not each is enabled. If --ss is supplied, the
- output is restricted to the POSIX _s_p_e_c_i_a_l builtins. The return
- value is 0 unless a _n_a_m_e is not a shell builtin or there is an
+ ments, the list consists of all enabled shell builtins. If --nn
+ is supplied, only disabled builtins are printed. If --aa is sup-
+ plied, the list printed includes all builtins, with an indica-
+ tion of whether or not each is enabled. If --ss is supplied, the
+ output is restricted to the POSIX _s_p_e_c_i_a_l builtins. The return
+ value is 0 unless a _n_a_m_e is not a shell builtin or there is an
error loading a new builtin from a shared object.
eevvaall [_a_r_g ...]
- The _a_r_gs are read and concatenated together into a single com-
- mand. This command is then read and executed by the shell, and
- its exit status is returned as the value of eevvaall. If there are
+ The _a_r_gs are read and concatenated together into a single com-
+ mand. This command is then read and executed by the shell, and
+ its exit status is returned as the value of eevvaall. If there are
no _a_r_g_s, or only null arguments, eevvaall returns 0.
eexxeecc [--ccll] [--aa _n_a_m_e] [_c_o_m_m_a_n_d [_a_r_g_u_m_e_n_t_s]]
- If _c_o_m_m_a_n_d is specified, it replaces the shell. No new process
- is created. The _a_r_g_u_m_e_n_t_s become the arguments to _c_o_m_m_a_n_d. If
+ If _c_o_m_m_a_n_d is specified, it replaces the shell. No new process
+ is created. The _a_r_g_u_m_e_n_t_s become the arguments to _c_o_m_m_a_n_d. If
the --ll option is supplied, the shell places a dash at the begin-
- ning of the zeroth argument passed to _c_o_m_m_a_n_d. This is what
+ ning of the zeroth argument passed to _c_o_m_m_a_n_d. This is what
_l_o_g_i_n(1) does. The --cc option causes _c_o_m_m_a_n_d to be executed with
- an empty environment. If --aa is supplied, the shell passes _n_a_m_e
+ an empty environment. If --aa is supplied, the shell passes _n_a_m_e
as the zeroth argument to the executed command. If _c_o_m_m_a_n_d can-
- not be executed for some reason, a non-interactive shell exits,
- unless the eexxeeccffaaiill shell option is enabled. In that case, it
- returns failure. An interactive shell returns failure if the
- file cannot be executed. A subshell exits unconditionally if
- eexxeecc fails. If _c_o_m_m_a_n_d is not specified, any redirections take
- effect in the current shell, and the return status is 0. If
+ not be executed for some reason, a non-interactive shell exits,
+ unless the eexxeeccffaaiill shell option is enabled. In that case, it
+ returns failure. An interactive shell returns failure if the
+ file cannot be executed. A subshell exits unconditionally if
+ eexxeecc fails. If _c_o_m_m_a_n_d is not specified, any redirections take
+ effect in the current shell, and the return status is 0. If
there is a redirection error, the return status is 1.
eexxiitt [_n]
- Cause the shell to exit with a status of _n. If _n is omitted,
+ Cause the shell to exit with a status of _n. If _n is omitted,
the exit status is that of the last command executed. A trap on
EEXXIITT is executed before the shell terminates.
eexxppoorrtt [--ffnn] [_n_a_m_e[=_w_o_r_d]] ...
eexxppoorrtt --pp
- The supplied _n_a_m_e_s are marked for automatic export to the envi-
- ronment of subsequently executed commands. If the --ff option is
- given, the _n_a_m_e_s refer to functions. If no _n_a_m_e_s are given, or
- if the --pp option is supplied, a list of names of all exported
- variables is printed. The --nn option causes the export property
+ The supplied _n_a_m_e_s are marked for automatic export to the envi-
+ ronment of subsequently executed commands. If the --ff option is
+ given, the _n_a_m_e_s refer to functions. If no _n_a_m_e_s are given, or
+ if the --pp option is supplied, a list of names of all exported
+ variables is printed. The --nn option causes the export property
to be removed from each _n_a_m_e. If a variable name is followed by
=_w_o_r_d, the value of the variable is set to _w_o_r_d. eexxppoorrtt returns
an exit status of 0 unless an invalid option is encountered, one
- of the _n_a_m_e_s is not a valid shell variable name, or --ff is sup-
+ of the _n_a_m_e_s is not a valid shell variable name, or --ff is sup-
plied with a _n_a_m_e that is not a function.
ffcc [--ee _e_n_a_m_e] [--llnnrr] [_f_i_r_s_t] [_l_a_s_t]
ffcc --ss [_p_a_t=_r_e_p] [_c_m_d]
- The first form selects a range of commands from _f_i_r_s_t to _l_a_s_t
- from the history list and displays or edits and re-executes
- them. _F_i_r_s_t and _l_a_s_t may be specified as a string (to locate
- the last command beginning with that string) or as a number (an
- index into the history list, where a negative number is used as
- an offset from the current command number). If _l_a_s_t is not
+ The first form selects a range of commands from _f_i_r_s_t to _l_a_s_t
+ from the history list and displays or edits and re-executes
+ them. _F_i_r_s_t and _l_a_s_t may be specified as a string (to locate
+ the last command beginning with that string) or as a number (an
+ index into the history list, where a negative number is used as
+ an offset from the current command number). If _l_a_s_t is not
specified, it is set to the current command for listing (so that
- ``fc -l -10'' prints the last 10 commands) and to _f_i_r_s_t other-
+ ``fc -l -10'' prints the last 10 commands) and to _f_i_r_s_t other-
wise. If _f_i_r_s_t is not specified, it is set to the previous com-
mand for editing and -16 for listing.
- The --nn option suppresses the command numbers when listing. The
- --rr option reverses the order of the commands. If the --ll option
- is given, the commands are listed on standard output. Other-
- wise, the editor given by _e_n_a_m_e is invoked on a file containing
- those commands. If _e_n_a_m_e is not given, the value of the FFCCEEDDIITT
- variable is used, and the value of EEDDIITTOORR if FFCCEEDDIITT is not set.
- If neither variable is set, _v_i is used. When editing is com-
+ The --nn option suppresses the command numbers when listing. The
+ --rr option reverses the order of the commands. If the --ll option
+ is given, the commands are listed on standard output. Other-
+ wise, the editor given by _e_n_a_m_e is invoked on a file containing
+ those commands. If _e_n_a_m_e is not given, the value of the FFCCEEDDIITT
+ variable is used, and the value of EEDDIITTOORR if FFCCEEDDIITT is not set.
+ If neither variable is set, _v_i is used. When editing is com-
plete, the edited commands are echoed and executed.
- In the second form, _c_o_m_m_a_n_d is re-executed after each instance
- of _p_a_t is replaced by _r_e_p. _C_o_m_m_a_n_d is interpreted the same as
- _f_i_r_s_t above. A useful alias to use with this is ``r="fc -s"'',
- so that typing ``r cc'' runs the last command beginning with
+ In the second form, _c_o_m_m_a_n_d is re-executed after each instance
+ of _p_a_t is replaced by _r_e_p. _C_o_m_m_a_n_d is interpreted the same as
+ _f_i_r_s_t above. A useful alias to use with this is ``r="fc -s"'',
+ so that typing ``r cc'' runs the last command beginning with
``cc'' and typing ``r'' re-executes the last command.
- If the first form is used, the return value is 0 unless an
- invalid option is encountered or _f_i_r_s_t or _l_a_s_t specify history
- lines out of range. If the --ee option is supplied, the return
+ If the first form is used, the return value is 0 unless an
+ invalid option is encountered or _f_i_r_s_t or _l_a_s_t specify history
+ lines out of range. If the --ee option is supplied, the return
value is the value of the last command executed or failure if an
error occurs with the temporary file of commands. If the second
- form is used, the return status is that of the command re-exe-
- cuted, unless _c_m_d does not specify a valid history line, in
+ form is used, the return status is that of the command re-exe-
+ cuted, unless _c_m_d does not specify a valid history line, in
which case ffcc returns failure.
ffgg [_j_o_b_s_p_e_c]
- Resume _j_o_b_s_p_e_c in the foreground, and make it the current job.
+ Resume _j_o_b_s_p_e_c in the foreground, and make it the current job.
If _j_o_b_s_p_e_c is not present, the shell's notion of the _c_u_r_r_e_n_t _j_o_b
- is used. The return value is that of the command placed into
- the foreground, or failure if run when job control is disabled
+ is used. The return value is that of the command placed into
+ the foreground, or failure if run when job control is disabled
or, when run with job control enabled, if _j_o_b_s_p_e_c does not spec-
- ify a valid job or _j_o_b_s_p_e_c specifies a job that was started
+ ify a valid job or _j_o_b_s_p_e_c specifies a job that was started
without job control.
ggeettooppttss _o_p_t_s_t_r_i_n_g _n_a_m_e [_a_r_g_s]
- ggeettooppttss is used by shell procedures to parse positional parame-
- ters. _o_p_t_s_t_r_i_n_g contains the option characters to be recog-
- nized; if a character is followed by a colon, the option is
- expected to have an argument, which should be separated from it
- by white space. The colon and question mark characters may not
- be used as option characters. Each time it is invoked, ggeettooppttss
- places the next option in the shell variable _n_a_m_e, initializing
+ ggeettooppttss is used by shell procedures to parse positional parame-
+ ters. _o_p_t_s_t_r_i_n_g contains the option characters to be recog-
+ nized; if a character is followed by a colon, the option is
+ expected to have an argument, which should be separated from it
+ by white space. The colon and question mark characters may not
+ be used as option characters. Each time it is invoked, ggeettooppttss
+ places the next option in the shell variable _n_a_m_e, initializing
_n_a_m_e if it does not exist, and the index of the next argument to
be processed into the variable OOPPTTIINNDD. OOPPTTIINNDD is initialized to
- 1 each time the shell or a shell script is invoked. When an
- option requires an argument, ggeettooppttss places that argument into
- the variable OOPPTTAARRGG. The shell does not reset OOPPTTIINNDD automati-
- cally; it must be manually reset between multiple calls to
+ 1 each time the shell or a shell script is invoked. When an
+ option requires an argument, ggeettooppttss places that argument into
+ the variable OOPPTTAARRGG. The shell does not reset OOPPTTIINNDD automati-
+ cally; it must be manually reset between multiple calls to
ggeettooppttss within the same shell invocation if a new set of parame-
ters is to be used.
- When the end of options is encountered, ggeettooppttss exits with a
- return value greater than zero. OOPPTTIINNDD is set to the index of
+ When the end of options is encountered, ggeettooppttss exits with a
+ return value greater than zero. OOPPTTIINNDD is set to the index of
the first non-option argument, and _n_a_m_e is set to ?.
- ggeettooppttss normally parses the positional parameters, but if more
+ ggeettooppttss normally parses the positional parameters, but if more
arguments are given in _a_r_g_s, ggeettooppttss parses those instead.
- ggeettooppttss can report errors in two ways. If the first character
- of _o_p_t_s_t_r_i_n_g is a colon, _s_i_l_e_n_t error reporting is used. In
- normal operation, diagnostic messages are printed when invalid
- options or missing option arguments are encountered. If the
- variable OOPPTTEERRRR is set to 0, no error messages will be dis-
+ ggeettooppttss can report errors in two ways. If the first character
+ of _o_p_t_s_t_r_i_n_g is a colon, _s_i_l_e_n_t error reporting is used. In
+ normal operation, diagnostic messages are printed when invalid
+ options or missing option arguments are encountered. If the
+ variable OOPPTTEERRRR is set to 0, no error messages will be dis-
played, even if the first character of _o_p_t_s_t_r_i_n_g is not a colon.
If an invalid option is seen, ggeettooppttss places ? into _n_a_m_e and, if
- not silent, prints an error message and unsets OOPPTTAARRGG. If
- ggeettooppttss is silent, the option character found is placed in
+ not silent, prints an error message and unsets OOPPTTAARRGG. If
+ ggeettooppttss is silent, the option character found is placed in
OOPPTTAARRGG and no diagnostic message is printed.
- If a required argument is not found, and ggeettooppttss is not silent,
- a question mark (??) is placed in _n_a_m_e, OOPPTTAARRGG is unset, and a
- diagnostic message is printed. If ggeettooppttss is silent, then a
- colon (::) is placed in _n_a_m_e and OOPPTTAARRGG is set to the option
+ If a required argument is not found, and ggeettooppttss is not silent,
+ a question mark (??) is placed in _n_a_m_e, OOPPTTAARRGG is unset, and a
+ diagnostic message is printed. If ggeettooppttss is silent, then a
+ colon (::) is placed in _n_a_m_e and OOPPTTAARRGG is set to the option
character found.
- ggeettooppttss returns true if an option, specified or unspecified, is
+ ggeettooppttss returns true if an option, specified or unspecified, is
found. It returns false if the end of options is encountered or
an error occurs.
hhaasshh [--llrr] [--pp _f_i_l_e_n_a_m_e] [--ddtt] [_n_a_m_e]
Each time hhaasshh is invoked, the full pathname of the command _n_a_m_e
- is determined by searching the directories in $$PPAATTHH and remem-
+ is determined by searching the directories in $$PPAATTHH and remem-
bered. Any previously-remembered pathname is discarded. If the
--pp option is supplied, no path search is performed, and _f_i_l_e_n_a_m_e
- is used as the full filename of the command. The --rr option
- causes the shell to forget all remembered locations. The --dd
- option causes the shell to forget the remembered location of
- each _n_a_m_e. If the --tt option is supplied, the full pathname to
- which each _n_a_m_e corresponds is printed. If multiple _n_a_m_e argu-
- ments are supplied with --tt, the _n_a_m_e is printed before the
- hashed full pathname. The --ll option causes output to be dis-
+ is used as the full filename of the command. The --rr option
+ causes the shell to forget all remembered locations. The --dd
+ option causes the shell to forget the remembered location of
+ each _n_a_m_e. If the --tt option is supplied, the full pathname to
+ which each _n_a_m_e corresponds is printed. If multiple _n_a_m_e argu-
+ ments are supplied with --tt, the _n_a_m_e is printed before the
+ hashed full pathname. The --ll option causes output to be dis-
played in a format that may be reused as input. If no arguments
- are given, or if only --ll is supplied, information about remem-
- bered commands is printed. The return status is true unless a
+ are given, or if only --ll is supplied, information about remem-
+ bered commands is printed. The return status is true unless a
_n_a_m_e is not found or an invalid option is supplied.
hheellpp [--ddmmss] [_p_a_t_t_e_r_n]
- Display helpful information about builtin commands. If _p_a_t_t_e_r_n
- is specified, hheellpp gives detailed help on all commands matching
- _p_a_t_t_e_r_n; otherwise help for all the builtins and shell control
+ Display helpful information about builtin commands. If _p_a_t_t_e_r_n
+ is specified, hheellpp gives detailed help on all commands matching
+ _p_a_t_t_e_r_n; otherwise help for all the builtins and shell control
structures is printed.
--dd Display a short description of each _p_a_t_t_e_r_n
--mm Display the description of each _p_a_t_t_e_r_n in a manpage-like
@@ -707,53 +718,53 @@ 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. If _o_f_f_s_e_t
+ Delete the history entry at position _o_f_f_s_e_t. If _o_f_f_s_e_t
is negative, it is interpreted as relative to one greater
than the last history position, so negative indices count
- back from the end of the history, and an index of -1
+ back from the end of the history, and an index of -1
refers to the current hhiissttoorryy --dd command.
--dd _s_t_a_r_t-_e_n_d
- Delete the history entries between positions _s_t_a_r_t and
- _e_n_d, inclusive. Positive and negative values for _s_t_a_r_t
+ Delete the history entries between positions _s_t_a_r_t and
+ _e_n_d, inclusive. Positive and negative values for _s_t_a_r_t
and _e_n_d are interpreted as described above.
- --aa Append the ``new'' history lines to the history file.
- These are history lines entered since the beginning of
+ --aa Append the ``new'' history lines to the history file.
+ These are history lines entered since the beginning of
the current bbaasshh session, but not already appended 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 append them to
+ --rr Read the contents of the history file and append them to
the current history list.
--ww Write the current history list to the history file, over-
writing 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 following history entry. The return value is
0 unless an invalid option is encountered, an error occurs while
- reading or writing the history file, an invalid _o_f_f_s_e_t is sup-
+ 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.
@@ -762,210 +773,210 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
The first form lists the active jobs. The options have the fol-
lowing meanings:
--ll List process IDs in addition to the normal information.
- --nn Display information only about jobs that have changed
+ --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
+ --pp List only the process ID of the job's process group
leader.
--rr Display only running jobs.
--ss Display only 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|--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. The --LL option is
- equivalent to --ll. kkiillll returns true if at least one signal was
- successfully sent, or false if an error occurs or an invalid
+ --ll is a number specifying either a signal number or the exit
+ status of a process terminated by a signal. The --LL option is
+ equivalent to --ll. 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-
- tion and its children. If _n_a_m_e is -, the set of shell options
- is made local to the function in which llooccaall is invoked: shell
- options changed using the sseett builtin inside the function are
- restored to their original values when the function returns.
- With no operands, llooccaall writes a list of local variables to the
- standard output. It is an error to use llooccaall when not within a
+ variable _n_a_m_e to have a visible scope restricted to that func-
+ tion and its children. If _n_a_m_e is -, the set of shell options
+ is made local to the function in which llooccaall is invoked: shell
+ options changed using the sseett builtin inside the function are
+ restored to their original values when the function returns.
+ With no operands, llooccaall writes a list of 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, or _n_a_m_e is a readonly
+ function, an invalid _n_a_m_e is supplied, or _n_a_m_e is a readonly
variable.
llooggoouutt Exit a login shell.
- mmaappffiillee [--dd _d_e_l_i_m] [--nn _c_o_u_n_t] [--OO _o_r_i_g_i_n] [--ss _c_o_u_n_t] [--tt] [--uu _f_d] [--CC
+ mmaappffiillee [--dd _d_e_l_i_m] [--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 [--dd _d_e_l_i_m] [--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:
- --dd The first character of _d_e_l_i_m is used to terminate each
- input line, rather than newline. If _d_e_l_i_m is the empty
+ --dd The first character of _d_e_l_i_m is used to terminate each
+ input line, rather than newline. If _d_e_l_i_m is the empty
string, mmaappffiillee will terminate a line when it reads a NUL
character.
- --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 _d_e_l_i_m (default newline) from each line
+ --tt Remove a trailing _d_e_l_i_m (default 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 and the line to be assigned to that
- element as additional arguments. _c_a_l_l_b_a_c_k is evaluated after
+ 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 --vv option causes the output to be
- assigned to the variable _v_a_r rather than being printed to the
+ 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
+ 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 in the same way as eecchhoo --ee.
- %%qq causes pprriinnttff to output the corresponding _a_r_g_u_m_e_n_t in a
+ %%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).
+ 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. If no
- argument is specified, conversion behaves as if -1 had
- been given. This is an exception to the usual pprriinnttff
+ number of seconds since the epoch. Two special argument
+ values may be used: -1 represents the current time, and
+ -2 represents the time the shell was invoked. If no
+ argument is specified, conversion behaves as if -1 had
+ been given. This is an exception to the usual pprriinnttff
behavior.
- Arguments to non-string format specifiers are treated as C con-
+ Arguments to non-string format specifiers are treated as C con-
stants, except that a leading plus or minus sign is allowed, and
- if the leading character is a single or double quote, the value
+ if the leading character is a single or double quote, the value
is the ASCII value of the following character.
- The _f_o_r_m_a_t is reused as necessary to consume all of the _a_r_g_u_-
+ The _f_o_r_m_a_t is reused as necessary to consume all of the _a_r_g_u_-
_m_e_n_t_s. If the _f_o_r_m_a_t requires more _a_r_g_u_m_e_n_t_s than are supplied,
- the extra format specifications behave as if a zero value or
- null string, as appropriate, had been supplied. The return
+ the extra format specifications behave as if a zero value or
+ null string, as appropriate, had been supplied. The return
value is zero on success, non-zero on failure.
ppuusshhdd [--nn] [+_n] [-_n]
ppuusshhdd [--nn] [_d_i_r]
- Adds a directory to the top of the directory stack, or rotates
- the stack, making the new top of the stack the current working
- directory. With no arguments, ppuusshhdd exchanges the top two
- directories and returns 0, unless the directory stack is empty.
+ Adds a directory to the top of the directory stack, or rotates
+ the stack, making the new top of the stack the current working
+ directory. With no arguments, ppuusshhdd exchanges the top two
+ directories and returns 0, unless the directory stack is empty.
Arguments, if supplied, have the following meanings:
- --nn Suppresses the normal change of directory when rotating
- or adding directories to the stack, so that only the
+ --nn Suppresses the normal change of directory when rotating
+ or adding directories to the stack, so that only the
stack is manipulated.
- ++_n Rotates the stack so that the _nth directory (counting
- from the left of the list shown by ddiirrss, starting with
+ ++_n Rotates the stack so that the _nth directory (counting
+ from the left of the list shown by ddiirrss, starting with
zero) is at the top.
- --_n Rotates the stack so that the _nth directory (counting
- from the right of the list shown by ddiirrss, starting with
+ --_n Rotates the stack so that the _nth directory (counting
+ from the right of the list shown by ddiirrss, starting with
zero) is at the top.
_d_i_r Adds _d_i_r to the directory stack at the top, making it the
- new current working directory as if it had been supplied
+ new current working directory as if it had been supplied
as the argument to the ccdd builtin.
If the ppuusshhdd command is successful, a ddiirrss is performed as well.
- If the first form is used, ppuusshhdd returns 0 unless the cd to _d_i_r
- fails. With the second form, ppuusshhdd returns 0 unless the direc-
- tory stack is empty, a non-existent directory stack element is
- specified, or the directory change to the specified new current
+ If the first form is used, ppuusshhdd returns 0 unless the cd to _d_i_r
+ fails. With the second form, ppuusshhdd returns 0 unless the direc-
+ tory stack is empty, a non-existent directory stack element is
+ specified, or the directory change to the specified new current
directory fails.
ppwwdd [--LLPP]
- Print the absolute pathname of the current working directory.
+ Print the absolute pathname of the current working directory.
The pathname printed contains no symbolic links if the --PP option
is supplied or the --oo pphhyyssiiccaall option to the sseett builtin command
- is enabled. If the --LL option is used, the pathname printed may
- contain symbolic links. The return status is 0 unless an error
- occurs while reading the name of the current directory or an
+ is enabled. If the --LL option is used, the pathname printed may
+ contain symbolic links. The return status is 0 unless an error
+ occurs while reading the name of the current directory or an
invalid option is supplied.
rreeaadd [--eerrss] [--aa _a_n_a_m_e] [--dd _d_e_l_i_m] [--ii _t_e_x_t] [--nn _n_c_h_a_r_s] [--NN _n_c_h_a_r_s] [--pp
_p_r_o_m_p_t] [--tt _t_i_m_e_o_u_t] [--uu _f_d] [_n_a_m_e ...]
- One line is read from the standard input, or from the file
- descriptor _f_d supplied as an argument to the --uu option, split
- into words as described above under WWoorrdd SSpplliittttiinngg, and the
+ One line is read from the standard input, or from the file
+ descriptor _f_d supplied as an argument to the --uu option, split
+ into words as described above under WWoorrdd SSpplliittttiinngg, and the
first word is assigned to the first _n_a_m_e, the second word to the
second _n_a_m_e, and so on. If there are more words than names, the
remaining words and their intervening delimiters are assigned to
- the last _n_a_m_e. If there are fewer words read from the input
- stream than names, the remaining names are assigned empty val-
- ues. The characters in IIFFSS are used to split the line into
+ the last _n_a_m_e. If there are fewer words read from the input
+ stream than names, the remaining names are assigned empty val-
+ ues. The characters in IIFFSS are used to split the line into
words using the same rules the shell uses for expansion
(described above under WWoorrdd SSpplliittttiinngg). The backslash character
(\\) may be used to remove any special meaning for the next char-
- acter read and for line continuation. Options, if supplied,
+ acter read and for line continuation. Options, if supplied,
have the following meanings:
--aa _a_n_a_m_e
The words are assigned to sequential indices of the array
@@ -973,31 +984,31 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
new values are assigned. Other _n_a_m_e arguments are
ignored.
--dd _d_e_l_i_m
- The first character of _d_e_l_i_m is used to terminate the
- input line, rather than newline. If _d_e_l_i_m is the empty
- string, rreeaadd will terminate a line when it reads a NUL
+ The first character of _d_e_l_i_m is used to terminate the
+ input line, rather than newline. If _d_e_l_i_m is the empty
+ string, rreeaadd will terminate a line when it reads a NUL
character.
--ee If the standard input is coming from a terminal, rreeaaddlliinnee
- (see RREEAADDLLIINNEE above) is used to obtain the line. Read-
- line uses the current (or default, if line editing was
- not previously active) editing settings, but uses Read-
+ (see RREEAADDLLIINNEE above) is used to obtain the line. Read-
+ line uses the current (or default, if line editing was
+ not previously active) editing settings, but uses Read-
line's default filename completion.
--ii _t_e_x_t
- If rreeaaddlliinnee is being used to read the line, _t_e_x_t is
+ If rreeaaddlliinnee is being used to read the line, _t_e_x_t is
placed into the editing buffer before editing begins.
--nn _n_c_h_a_r_s
- rreeaadd returns after reading _n_c_h_a_r_s characters rather than
+ rreeaadd returns after reading _n_c_h_a_r_s characters rather than
waiting for a complete line of input, but honors a delim-
- iter if fewer than _n_c_h_a_r_s characters are read before the
+ iter if fewer than _n_c_h_a_r_s characters are read before the
delimiter.
--NN _n_c_h_a_r_s
- rreeaadd returns after reading exactly _n_c_h_a_r_s characters
- rather than waiting for a complete line of input, unless
- EOF is encountered or rreeaadd times out. Delimiter charac-
- ters encountered in the input are not treated specially
- and do not cause rreeaadd to return until _n_c_h_a_r_s characters
- are read. The result is not split on the characters in
- IIFFSS; the intent is that the variable is assigned exactly
+ rreeaadd returns after reading exactly _n_c_h_a_r_s characters
+ rather than waiting for a complete line of input, unless
+ EOF is encountered or rreeaadd times out. Delimiter charac-
+ ters encountered in the input are not treated specially
+ and do not cause rreeaadd to return until _n_c_h_a_r_s characters
+ are read. The result is not split on the characters in
+ IIFFSS; the intent is that the variable is assigned exactly
the characters read (with the exception of backslash; see
the --rr option below).
--pp _p_r_o_m_p_t
@@ -1005,131 +1016,131 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
line, before attempting to read any input. The prompt is
displayed only if input is coming from a terminal.
--rr Backslash does not act as an escape character. The back-
- slash is considered to be part of the line. In particu-
- lar, a backslash-newline pair may not be used as a line
+ slash is considered to be part of the line. In particu-
+ lar, a backslash-newline pair may not be used as a line
continuation.
--ss Silent mode. If input is coming from a terminal, charac-
ters are not echoed.
--tt _t_i_m_e_o_u_t
- Cause rreeaadd to time out and return failure if a complete
- line of input (or a specified number of characters) is
- not read within _t_i_m_e_o_u_t seconds. _t_i_m_e_o_u_t may be a deci-
- mal number with a fractional portion following the deci-
- mal point. This option is only effective if rreeaadd is
- reading input from a terminal, pipe, or other special
- file; it has no effect when reading from regular files.
+ Cause rreeaadd to time out and return failure if a complete
+ line of input (or a specified number of characters) is
+ not read within _t_i_m_e_o_u_t seconds. _t_i_m_e_o_u_t may be a deci-
+ mal number with a fractional portion following the deci-
+ mal point. This option is only effective if rreeaadd is
+ reading input from a terminal, pipe, or other special
+ file; it has no effect when reading from regular files.
If rreeaadd times out, rreeaadd saves any partial input read into
- the specified variable _n_a_m_e. If _t_i_m_e_o_u_t is 0, rreeaadd
- returns immediately, without trying to read any data.
- The exit status is 0 if input is available on the speci-
- fied file descriptor, non-zero otherwise. The exit sta-
+ the specified variable _n_a_m_e. If _t_i_m_e_o_u_t is 0, rreeaadd
+ returns immediately, without trying to read any data.
+ The exit status is 0 if input is available on the speci-
+ fied file descriptor, non-zero otherwise. The exit sta-
tus is greater than 128 if the timeout is exceeded.
--uu _f_d Read input from file descriptor _f_d.
If no _n_a_m_e_s are supplied, the line read is assigned to the vari-
- able RREEPPLLYY. The exit status is zero, unless end-of-file is
+ able RREEPPLLYY. The exit status is zero, unless end-of-file is
encountered, rreeaadd times out (in which case the status is greater
- than 128), a variable assignment error (such as assigning to a
+ than 128), a variable assignment error (such as assigning to a
readonly variable) occurs, or an invalid file descriptor is sup-
plied as the argument to --uu.
rreeaaddoonnllyy [--aaAAff] [--pp] [_n_a_m_e[=_w_o_r_d] ...]
- The given _n_a_m_e_s are marked readonly; the values of these _n_a_m_e_s
- may not be changed by subsequent assignment. If the --ff option
- is supplied, the functions corresponding to the _n_a_m_e_s are so
- marked. The --aa option restricts the variables to indexed
- arrays; the --AA option restricts the variables to associative
- arrays. If both options are supplied, --AA takes precedence. If
- no _n_a_m_e arguments are given, or if the --pp option is supplied, a
+ The given _n_a_m_e_s are marked readonly; the values of these _n_a_m_e_s
+ may not be changed by subsequent assignment. If the --ff option
+ is supplied, the functions corresponding to the _n_a_m_e_s are so
+ marked. The --aa option restricts the variables to indexed
+ arrays; the --AA option restricts the variables to associative
+ arrays. If both options are supplied, --AA takes precedence. If
+ no _n_a_m_e arguments are given, or if the --pp option is supplied, a
list of all readonly names is printed. The other options may be
- used to restrict the output to a subset of the set of readonly
- names. The --pp option causes output to be displayed in a format
- that may be reused as input. If a variable name is followed by
- =_w_o_r_d, the value of the variable is set to _w_o_r_d. The return
- status is 0 unless an invalid option is encountered, one of the
+ used to restrict the output to a subset of the set of readonly
+ names. The --pp option causes output to be displayed in a format
+ that may be reused as input. If a variable name is followed by
+ =_w_o_r_d, the value of the variable is set to _w_o_r_d. The return
+ status is 0 unless an invalid option is encountered, one of the
_n_a_m_e_s is not a valid shell variable name, or --ff is supplied with
a _n_a_m_e that is not a function.
rreettuurrnn [_n]
- Causes a function to stop executing and return the value speci-
- fied by _n to its caller. If _n is omitted, the return status is
- that of the last command executed in the function body. If
- rreettuurrnn is executed by a trap handler, the last command used to
- determine the status is the last command executed before the
- trap handler. If rreettuurrnn is executed during a DDEEBBUUGG trap, the
- last command used to determine the status is the last command
- executed by the trap handler before rreettuurrnn was invoked. If
- rreettuurrnn is used outside a function, but during execution of a
- script by the .. (ssoouurrccee) command, it causes the shell to stop
- executing that script and return either _n or the exit status of
- the last command executed within the script as the exit status
- of the script. If _n is supplied, the return value is its least
- significant 8 bits. The return status is non-zero if rreettuurrnn is
- supplied a non-numeric argument, or is used outside a function
- and not during execution of a script by .. or ssoouurrccee. Any com-
- mand associated with the RREETTUURRNN trap is executed before execu-
+ Causes a function to stop executing and return the value speci-
+ fied by _n to its caller. If _n is omitted, the return status is
+ that of the last command executed in the function body. If
+ rreettuurrnn is executed by a trap handler, the last command used to
+ determine the status is the last command executed before the
+ trap handler. If rreettuurrnn is executed during a DDEEBBUUGG trap, the
+ last command used to determine the status is the last command
+ executed by the trap handler before rreettuurrnn was invoked. If
+ rreettuurrnn is used outside a function, but during execution of a
+ script by the .. (ssoouurrccee) command, it causes the shell to stop
+ executing that script and return either _n or the exit status of
+ the last command executed within the script as the exit status
+ of the script. If _n is supplied, the return value is its least
+ significant 8 bits. The return status is non-zero if rreettuurrnn is
+ supplied a non-numeric argument, or is used outside a function
+ and not during execution of a script by .. or ssoouurrccee. Any com-
+ mand associated with the RREETTUURRNN trap is executed before execu-
tion resumes after the function or script.
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
+ Without options, the name and value of each shell variable are
displayed in a format that can be reused as input for setting or
resetting the currently-set variables. Read-only variables can-
- not be reset. In _p_o_s_i_x mode, only shell variables are listed.
- The output is sorted according to the current locale. When
- options are specified, they set or unset shell attributes. Any
- arguments remaining after option processing are treated as val-
+ not be reset. In _p_o_s_i_x _m_o_d_e, only shell variables are listed.
+ The output is sorted according to the current locale. When
+ options are specified, they set or unset shell attributes. Any
+ arguments remaining after option processing are treated as val-
ues for the positional parameters and are assigned, in order, to
- $$11, $$22, ...... $$_n. Options, if specified, have the following
+ $$11, $$22, ...... $$_n. Options, if specified, have the following
meanings:
--aa Each variable or function that is created or modified is
- given the export attribute and marked for export to the
+ given the export attribute and marked for export to the
environment of subsequent commands.
- --bb Report the status of terminated background jobs immedi-
+ --bb Report the status of terminated background jobs immedi-
ately, rather than before the next primary prompt. This
is effective only when job control is enabled.
- --ee Exit immediately if a _p_i_p_e_l_i_n_e (which may consist of a
- single _s_i_m_p_l_e _c_o_m_m_a_n_d), a _l_i_s_t, or a _c_o_m_p_o_u_n_d _c_o_m_m_a_n_d
+ --ee Exit immediately if a _p_i_p_e_l_i_n_e (which may consist of a
+ single _s_i_m_p_l_e _c_o_m_m_a_n_d), a _l_i_s_t, or a _c_o_m_p_o_u_n_d _c_o_m_m_a_n_d
(see SSHHEELLLL GGRRAAMMMMAARR above), exits with a non-zero status.
- The shell does not exit if the command that fails is
- part of the command list immediately following a wwhhiillee
- or uunnttiill keyword, part of the test following the iiff or
- eelliiff reserved words, part of any command executed in a
- &&&& or |||| list except the command following the final &&&&
+ The shell does not exit if the command that fails is
+ part of the command list immediately following a wwhhiillee
+ or uunnttiill keyword, part of the test following the iiff or
+ eelliiff reserved words, part of any command executed in a
+ &&&& or |||| list except the command following the final &&&&
or ||||, any command in a pipeline but the last, or if the
- command's return value is being inverted with !!. If a
- compound command other than a subshell returns a non-
- zero status because a command failed while --ee was being
- ignored, the shell does not exit. A trap on EERRRR, if
- set, is executed before the shell exits. This option
+ command's return value is being inverted with !!. If a
+ compound command other than a subshell returns a non-
+ zero status because a command failed while --ee was being
+ ignored, the shell does not exit. A trap on EERRRR, if
+ set, is executed before the shell exits. This option
applies to the shell environment and each subshell envi-
- ronment separately (see CCOOMMMMAANNDD EEXXEECCUUTTIIOONN EENNVVIIRROONNMMEENNTT
+ ronment separately (see CCOOMMMMAANNDD EEXXEECCUUTTIIOONN EENNVVIIRROONNMMEENNTT
above), and may cause subshells to exit before executing
all the commands in the subshell.
- If a compound command or shell function executes in a
- context where --ee is being ignored, none of the commands
- executed within the compound command or function body
- will be affected by the --ee setting, even if --ee is set
- and a command returns a failure status. If a compound
- command or shell function sets --ee while executing in a
- context where --ee is ignored, that setting will not have
- any effect until the compound command or the command
+ If a compound command or shell function executes in a
+ context where --ee is being ignored, none of the commands
+ executed within the compound command or function body
+ will be affected by the --ee setting, even if --ee is set
+ and a command returns a failure status. If a compound
+ command or shell function sets --ee while executing in a
+ context where --ee is ignored, that setting will not have
+ any effect until the compound command or the command
containing the function call completes.
--ff Disable pathname expansion.
- --hh Remember the location of commands as they are looked up
+ --hh Remember the location of commands as they are looked up
for execution. This is enabled by default.
- --kk All arguments in the form of assignment statements are
- placed in the environment for a command, not just those
+ --kk All arguments in the form of assignment statements are
+ placed in the environment for a command, not just those
that precede the command name.
- --mm Monitor mode. Job control is enabled. This option is
- on by default for interactive shells on systems that
- support it (see JJOOBB CCOONNTTRROOLL above). All processes run
+ --mm Monitor mode. Job control is enabled. This option is
+ on by default for interactive shells on systems that
+ support it (see JJOOBB CCOONNTTRROOLL above). All processes run
in a separate process group. When a background job com-
pletes, the shell prints a line containing its exit sta-
tus.
--nn Read commands but do not execute them. This may be used
- to check a shell script for syntax errors. This is
+ to check a shell script for syntax errors. This is
ignored by interactive shells.
--oo _o_p_t_i_o_n_-_n_a_m_e
The _o_p_t_i_o_n_-_n_a_m_e can be one of the following:
@@ -1137,10 +1148,10 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
Same as --aa.
bbrraacceeeexxppaanndd
Same as --BB.
- eemmaaccss Use an emacs-style command line editing inter-
+ eemmaaccss Use an emacs-style command line editing inter-
face. This is enabled by default when the shell
is interactive, unless the shell is started with
- the ----nnooeeddiittiinngg option. This also affects the
+ the ----nnooeeddiittiinngg option. This also affects the
editing interface used for rreeaadd --ee.
eerrrreexxiitt Same as --ee.
eerrrrttrraaccee
@@ -1154,8 +1165,8 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
HHIISSTTOORRYY. This option is on by default in inter-
active shells.
iiggnnoorreeeeooff
- The effect is as if the shell command
- ``IGNOREEOF=10'' had been executed (see SShheellll
+ The effect is as if the shell command
+ ``IGNOREEOF=10'' had been executed (see SShheellll
VVaarriiaabblleess above).
kkeeyywwoorrdd Same as --kk.
mmoonniittoorr Same as --mm.
@@ -1170,384 +1181,384 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
pphhyyssiiccaall
Same as --PP.
ppiippeeffaaiill
- If set, the return value of a pipeline is the
- value of the last (rightmost) command to exit
- with a non-zero status, or zero if all commands
- in the pipeline exit successfully. This option
+ If set, the return value of a pipeline is the
+ value of the last (rightmost) command to exit
+ with a non-zero status, or zero if all commands
+ in the pipeline exit successfully. This option
is disabled by default.
- ppoossiixx Change the behavior of bbaasshh where the default
- operation differs from the POSIX standard to
- match the standard (_p_o_s_i_x _m_o_d_e). See SSEEEE AALLSSOO
+ ppoossiixx Change the behavior of bbaasshh where the default
+ operation differs from the POSIX standard to
+ match the standard (_p_o_s_i_x _m_o_d_e). See SSEEEE AALLSSOO
below for a reference to a document that details
how posix mode affects bash's behavior.
pprriivviilleeggeedd
Same as --pp.
vveerrbboossee Same as --vv.
- vvii Use a vi-style command line editing interface.
+ vvii Use a vi-style command line editing interface.
This also affects the editing interface used for
rreeaadd --ee.
xxttrraaccee Same as --xx.
If --oo is supplied with no _o_p_t_i_o_n_-_n_a_m_e, the values of the
- current options are printed. If ++oo is supplied with no
- _o_p_t_i_o_n_-_n_a_m_e, a series of sseett commands to recreate the
- current option settings is displayed on the standard
+ current options are printed. If ++oo is supplied with no
+ _o_p_t_i_o_n_-_n_a_m_e, a series of sseett commands to recreate the
+ current option settings is displayed on the standard
output.
- --pp Turn on _p_r_i_v_i_l_e_g_e_d mode. In this mode, the $$EENNVV and
- $$BBAASSHH__EENNVV files are not processed, shell functions are
- not inherited from the environment, and the SSHHEELLLLOOPPTTSS,
- BBAASSHHOOPPTTSS, CCDDPPAATTHH, and GGLLOOBBIIGGNNOORREE variables, if they
+ --pp Turn on _p_r_i_v_i_l_e_g_e_d mode. In this mode, the $$EENNVV and
+ $$BBAASSHH__EENNVV files are not processed, shell functions are
+ not inherited from the environment, and the SSHHEELLLLOOPPTTSS,
+ BBAASSHHOOPPTTSS, CCDDPPAATTHH, and GGLLOOBBIIGGNNOORREE variables, if they
appear in the environment, are ignored. If the shell is
- started with the effective user (group) id not equal to
- the real user (group) id, and the --pp option is not sup-
+ started with the effective user (group) id not equal to
+ the real user (group) id, and the --pp option is not sup-
plied, these actions are taken and the effective user id
- is set to the real user id. If the --pp option is sup-
- plied at startup, the effective user id is not reset.
- Turning this option off causes the effective user and
+ is set to the real user id. If the --pp option is sup-
+ plied at startup, the effective user id is not reset.
+ Turning this option off causes the effective user and
group ids to be set to the real user and group ids.
--tt Exit after reading and executing one command.
--uu Treat unset variables and parameters other than the spe-
- cial parameters "@" and "*" as an error when performing
- parameter expansion. If expansion is attempted on an
- unset variable or parameter, the shell prints an error
- message, and, if not interactive, exits with a non-zero
+ cial parameters "@" and "*" as an error when performing
+ parameter expansion. If expansion is attempted on an
+ unset variable or parameter, the shell prints an error
+ message, and, if not interactive, exits with a non-zero
status.
--vv Print shell input lines as they are read.
- --xx After expanding each _s_i_m_p_l_e _c_o_m_m_a_n_d, ffoorr command, ccaassee
+ --xx After expanding each _s_i_m_p_l_e _c_o_m_m_a_n_d, ffoorr command, ccaassee
command, sseelleecctt command, or arithmetic ffoorr command, dis-
- play the expanded value of PPSS44, followed by the command
+ play the expanded value of PPSS44, followed by the command
and its expanded arguments or associated word list.
- --BB The shell performs brace expansion (see BBrraaccee EExxppaannssiioonn
+ --BB The shell performs brace expansion (see BBrraaccee EExxppaannssiioonn
above). This is on by default.
- --CC If set, bbaasshh does not overwrite an existing file with
- the >>, >>&&, and <<>> redirection operators. This may be
+ --CC If set, bbaasshh does not overwrite an existing file with
+ the >>, >>&&, and <<>> redirection operators. This may be
overridden when creating output files by using the redi-
rection operator >>|| instead of >>.
--EE If set, any trap on EERRRR is inherited by shell functions,
- command substitutions, and commands executed in a sub-
- shell environment. The EERRRR trap is normally not inher-
+ command substitutions, and commands executed in a sub-
+ shell environment. The EERRRR trap is normally not inher-
ited in such cases.
--HH Enable !! style history substitution. This option is on
by default when the shell is interactive.
- --PP If set, the shell does not resolve symbolic links when
- executing commands such as ccdd that change the current
+ --PP If set, the shell does not resolve symbolic links when
+ executing commands such as ccdd that change the current
working directory. It uses the physical directory
structure instead. By default, bbaasshh follows the logical
- chain of directories when performing commands which
+ chain of directories when performing commands which
change the current directory.
- --TT If set, any traps on DDEEBBUUGG and RREETTUURRNN are inherited by
- shell functions, command substitutions, and commands
- executed in a subshell environment. The DDEEBBUUGG and
+ --TT If set, any traps on DDEEBBUUGG and RREETTUURRNN are inherited by
+ shell functions, command substitutions, and commands
+ executed in a subshell environment. The DDEEBBUUGG and
RREETTUURRNN traps are normally not inherited in such cases.
- ---- If no arguments follow this option, then the positional
+ ---- If no arguments follow this option, then the positional
parameters are unset. Otherwise, the positional parame-
- ters are set to the _a_r_gs, even if some of them begin
+ ters are set to the _a_r_gs, even if some of them begin
with a --.
- -- Signal the end of options, cause all remaining _a_r_gs to
+ -- Signal the end of options, cause all remaining _a_r_gs to
be assigned to the positional parameters. The --xx and --vv
options are turned off. If there are no _a_r_gs, the posi-
tional parameters remain unchanged.
- The options are off by default unless otherwise noted. Using +
- rather than - causes these options to be turned off. The
- options can also be specified as arguments to an invocation of
- the shell. The current set of options may be found in $$--. The
+ The options are off by default unless otherwise noted. Using +
+ rather than - causes these options to be turned off. The
+ options can also be specified as arguments to an invocation of
+ the shell. The current set of options may be found in $$--. The
return status is always true unless an invalid option is encoun-
tered.
sshhiifftt [_n]
- The positional parameters from _n+1 ... are renamed to $$11 ........
- Parameters represented by the numbers $$## down to $$##-_n+1 are
- unset. _n must be a non-negative number less than or equal to
- $$##. If _n is 0, no parameters are changed. If _n is not given,
- it is assumed to be 1. If _n is greater than $$##, the positional
- parameters are not changed. The return status is greater than
+ The positional parameters from _n+1 ... are renamed to $$11 ........
+ Parameters represented by the numbers $$## down to $$##-_n+1 are
+ unset. _n must be a non-negative number less than or equal to
+ $$##. If _n is 0, no parameters are changed. If _n is not given,
+ it is assumed to be 1. If _n is greater than $$##, the positional
+ parameters are not changed. The return status is greater than
zero if _n is greater than $$## or less than zero; otherwise 0.
sshhoopptt [--ppqqssuu] [--oo] [_o_p_t_n_a_m_e ...]
- Toggle the values of settings controlling optional shell behav-
- ior. The settings can be either those listed below, or, if the
+ Toggle the values of settings controlling optional shell behav-
+ ior. The settings can be either those listed below, or, if the
--oo option is used, those available with the --oo option to the sseett
builtin command. With no options, or with the --pp option, a list
- of all settable options is displayed, with an indication of
+ of all settable options is displayed, with an indication of
whether or not each is set; if _o_p_t_n_a_m_e_s are supplied, the output
- is restricted to those options. The --pp option causes output to
- be displayed in a form that may be reused as input. Other
+ is restricted to those options. The --pp option causes output to
+ be displayed in a form that may be reused as input. Other
options have the following meanings:
--ss Enable (set) each _o_p_t_n_a_m_e.
--uu Disable (unset) each _o_p_t_n_a_m_e.
- --qq Suppresses normal output (quiet mode); the return status
+ --qq Suppresses normal output (quiet mode); the return status
indicates whether the _o_p_t_n_a_m_e is set or unset. If multi-
- ple _o_p_t_n_a_m_e arguments are given with --qq, the return sta-
- tus is zero if all _o_p_t_n_a_m_e_s are enabled; non-zero other-
+ ple _o_p_t_n_a_m_e arguments are given with --qq, the return sta-
+ tus is zero if all _o_p_t_n_a_m_e_s are enabled; non-zero other-
wise.
- --oo Restricts the values of _o_p_t_n_a_m_e to be those defined for
+ --oo Restricts the values of _o_p_t_n_a_m_e to be those defined for
the --oo option to the sseett builtin.
- If either --ss or --uu is used with no _o_p_t_n_a_m_e arguments, sshhoopptt
- shows only those options which are set or unset, respectively.
- Unless otherwise noted, the sshhoopptt options are disabled (unset)
+ If either --ss or --uu is used with no _o_p_t_n_a_m_e arguments, sshhoopptt
+ shows only those options which are set or unset, respectively.
+ Unless otherwise noted, the sshhoopptt options are disabled (unset)
by default.
- The return status when listing options is zero if all _o_p_t_n_a_m_e_s
- are enabled, non-zero otherwise. When setting or unsetting
- options, the return status is zero unless an _o_p_t_n_a_m_e is not a
+ The return status when listing options is zero if all _o_p_t_n_a_m_e_s
+ are enabled, non-zero otherwise. When setting or unsetting
+ options, the return status is zero unless an _o_p_t_n_a_m_e is not a
valid shell option.
The list of sshhoopptt options is:
aassssoocc__eexxppaanndd__oonnccee
- If set, the shell suppresses multiple evaluation of
- associative array subscripts during arithmetic expres-
- sion evaluation and while executing builtins that can
+ If set, the shell suppresses multiple evaluation of
+ associative array subscripts during arithmetic expres-
+ sion evaluation and while executing builtins that can
perform variable assignments.
- aauuttooccdd If set, a command name that is the name of a directory
- is executed as if it were the argument to the ccdd com-
+ aauuttooccdd If set, a command name that is the name of a directory
+ is executed as if it were the argument to the ccdd com-
mand. This option is only used by interactive shells.
ccddaabbllee__vvaarrss
- If set, an argument to the ccdd builtin command that is
- not a directory is assumed to be the name of a variable
+ If set, an argument to the ccdd builtin command that is
+ not a directory is assumed to be the name of a variable
whose value is the directory to change to.
ccddssppeellll If set, minor errors in the spelling of a directory com-
- ponent in a ccdd command will be corrected. The errors
+ ponent in a ccdd command will be corrected. The errors
checked for are transposed characters, a missing charac-
- ter, and one character too many. If a correction is
- found, the corrected filename is printed, and the com-
- mand proceeds. This option is only used by interactive
+ ter, and one character too many. If a correction is
+ found, the corrected filename is printed, and the com-
+ mand proceeds. This option is only used by interactive
shells.
cchheecckkhhaasshh
If set, bbaasshh checks that a command found in the hash ta-
- ble exists before trying to execute it. If a hashed
- command no longer exists, a normal path search is per-
+ ble exists before trying to execute it. If a hashed
+ command no longer exists, a normal path search is per-
formed.
cchheecckkjjoobbss
If set, bbaasshh lists the status of any stopped and running
- jobs before exiting an interactive shell. If any jobs
+ jobs before exiting an interactive shell. If any jobs
are running, this causes the exit to be deferred until a
- second exit is attempted without an intervening command
- (see JJOOBB CCOONNTTRROOLL above). The shell always postpones
+ second exit is attempted without an intervening command
+ (see JJOOBB CCOONNTTRROOLL above). The shell always postpones
exiting if any jobs are stopped.
cchheecckkwwiinnssiizzee
- If set, bbaasshh checks the window size after each external
- (non-builtin) command and, if necessary, updates the
+ If set, bbaasshh checks the window size after each external
+ (non-builtin) command and, if necessary, updates the
values of LLIINNEESS and CCOOLLUUMMNNSS.
- ccmmddhhiisstt If set, bbaasshh attempts to save all lines of a multiple-
- line command in the same history entry. This allows
- easy re-editing of multi-line commands. This option is
- enabled by default, but only has an effect if command
+ ccmmddhhiisstt If set, bbaasshh attempts to save all lines of a multiple-
+ line command in the same history entry. This allows
+ easy re-editing of multi-line commands. This option is
+ enabled by default, but only has an effect if command
history is enabled, as described above under HHIISSTTOORRYY.
ccoommppaatt3311
If set, bbaasshh changes its behavior to that of version 3.1
- with respect to quoted arguments to the [[[[ conditional
+ with respect to quoted arguments to the [[[[ conditional
command's ==~~ operator and locale-specific string compar-
- ison when using the [[[[ conditional command's << and >>
- operators. Bash versions prior to bash-4.1 use ASCII
+ ison when 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 cur-
rent locale's collation sequence and _s_t_r_c_o_l_l(3).
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
- (see previous item) and the effect of interrupting a
- command list. Bash versions 3.2 and earlier continue
- with the next command in the list after one terminates
+ 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. Bash versions 3.2 and earlier continue
+ with the next command in the list after one terminates
due to an interrupt.
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
- (see description of ccoommppaatt3311) and the effect of inter-
- rupting a command list. Bash versions 4.0 and later
- interrupt the list as if the shell received the inter-
- rupt; previous versions continue with the next command
+ with respect to locale-specific string comparison when
+ using the [[[[ conditional command's << and >> operators
+ (see description of ccoommppaatt3311) and the effect of inter-
+ rupting a command list. Bash versions 4.0 and later
+ interrupt the list as if the shell received the inter-
+ rupt; previous versions continue with the next command
in the list.
ccoommppaatt4411
- If set, bbaasshh, when in _p_o_s_i_x mode, treats a single quote
- in a double-quoted parameter expansion as a special
- character. The single quotes must match (an even num-
- ber) 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
+ If set, bbaasshh, when in _p_o_s_i_x _m_o_d_e, treats a single quote
+ in a double-quoted parameter expansion as a special
+ character. The single quotes must match (an even num-
+ ber) 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.
ccoommppaatt4422
- If set, bbaasshh does not process the replacement string in
- the pattern substitution word expansion using quote
+ If set, bbaasshh does not process the replacement string in
+ the pattern substitution word expansion using quote
removal.
ccoommppaatt4433
- If set, bbaasshh does not print a warning message if an
- attempt is made to use a quoted compound array assign-
- ment as an argument to ddeeccllaarree, makes word expansion
- errors non-fatal errors that cause the current command
- to fail (the default behavior is to make them fatal
+ If set, bbaasshh does not print a warning message if an
+ attempt is made to use a quoted compound array assign-
+ ment as an argument to ddeeccllaarree, makes word expansion
+ errors non-fatal errors that cause the current command
+ to fail (the default behavior is to make them fatal
errors that cause the shell to exit), and does not reset
- the loop state when a shell function is executed (this
- allows bbrreeaakk or ccoonnttiinnuuee in a shell function to affect
+ the loop state when a shell function is executed (this
+ allows bbrreeaakk or ccoonnttiinnuuee in a shell function to affect
loops in the caller's context).
ccoommppaatt4444
- If set, bbaasshh saves the positional parameters to
+ If set, bbaasshh saves the positional parameters to
BASH_ARGV and BASH_ARGC before they are used, regardless
of whether or not extended debugging mode is enabled.
ccoommpplleettee__ffuullllqquuoottee
- If set, bbaasshh quotes all shell metacharacters in file-
- names and directory names when performing completion.
+ If set, bbaasshh quotes all shell metacharacters in file-
+ names and directory names when performing completion.
If not set, bbaasshh removes metacharacters such as the dol-
- lar sign from the set of characters that will be quoted
- in completed filenames when these metacharacters appear
- in shell variable references in words to be completed.
- This means that dollar signs in variable names that
- expand to directories will not be quoted; however, any
- dollar signs appearing in filenames will not be quoted,
- either. This is active only when bash is using back-
- slashes to quote completed filenames. This variable is
- set by default, which is the default bash behavior in
+ lar sign from the set of characters that will be quoted
+ in completed filenames when these metacharacters appear
+ in shell variable references in words to be completed.
+ This means that dollar signs in variable names that
+ expand to directories will not be quoted; however, any
+ dollar signs appearing in filenames will not be quoted,
+ either. This is active only when bash is using back-
+ slashes to quote completed filenames. This variable is
+ set by default, which is the default bash behavior in
versions through 4.2.
ddiirreexxppaanndd
- If set, bbaasshh replaces directory names with the results
- of word expansion when performing filename completion.
- This changes the contents of the readline editing buf-
- fer. If not set, bbaasshh attempts to preserve what the
+ If set, bbaasshh replaces directory names with the results
+ of word expansion when performing filename completion.
+ This changes the contents of the readline editing buf-
+ fer. If not set, bbaasshh attempts to preserve what the
user typed.
ddiirrssppeellll
- If set, bbaasshh attempts spelling correction on directory
- names during word completion if the directory name ini-
+ If set, bbaasshh attempts spelling correction on directory
+ names during word completion if the directory name ini-
tially supplied does not exist.
- ddoottgglloobb If set, bbaasshh includes filenames beginning with a `.' in
- the results of pathname expansion. The filenames ````..''''
- and ````....'''' must always be matched explicitly, even if
+ ddoottgglloobb If set, bbaasshh includes filenames beginning with a `.' in
+ the results of pathname expansion. The filenames ````..''''
+ and ````....'''' must always be matched explicitly, even if
ddoottgglloobb is set.
eexxeeccffaaiill
If set, a non-interactive shell will not exit if it can-
- not execute the file specified as an argument to the
- eexxeecc builtin command. An interactive shell does not
+ not execute the file specified as an argument to the
+ eexxeecc builtin command. An interactive shell does not
exit if eexxeecc fails.
eexxppaanndd__aalliiaasseess
- If set, aliases are expanded as described above under
+ If set, aliases are expanded as described above under
AALLIIAASSEESS. This option is enabled by default for interac-
tive shells.
eexxttddeebbuugg
- If set at shell invocation, arrange to execute the
- debugger profile before the shell starts, identical to
- the ----ddeebbuuggggeerr option. If set after invocation, behav-
+ If set at shell invocation, arrange to execute the
+ debugger profile before the shell starts, identical to
+ the ----ddeebbuuggggeerr option. If set after invocation, behav-
ior intended for use by debuggers is enabled:
11.. The --FF option to the ddeeccllaarree builtin displays the
source file name and line number corresponding to
each function name supplied as an argument.
- 22.. If the command run by the DDEEBBUUGG trap returns a
- non-zero value, the next command is skipped and
+ 22.. If the command run by the DDEEBBUUGG trap returns a
+ non-zero value, the next command is skipped and
not executed.
- 33.. If the command run by the DDEEBBUUGG trap returns a
- value of 2, and the shell is executing in a sub-
- routine (a shell function or a shell script exe-
- cuted by the .. or ssoouurrccee builtins), the shell
+ 33.. If the command run by the DDEEBBUUGG trap returns a
+ value of 2, and the shell is executing in a sub-
+ routine (a shell function or a shell script exe-
+ cuted by the .. or ssoouurrccee builtins), the shell
simulates a call to rreettuurrnn.
- 44.. BBAASSHH__AARRGGCC and BBAASSHH__AARRGGVV are updated as described
+ 44.. BBAASSHH__AARRGGCC and BBAASSHH__AARRGGVV are updated as described
in their descriptions above.
- 55.. Function tracing is enabled: command substitu-
+ 55.. Function tracing is enabled: command substitu-
tion, shell functions, and subshells invoked with
(( _c_o_m_m_a_n_d )) inherit the DDEEBBUUGG and RREETTUURRNN traps.
- 66.. Error tracing is enabled: command substitution,
- shell functions, and subshells invoked with ((
+ 66.. Error tracing is enabled: command substitution,
+ shell functions, and subshells invoked with ((
_c_o_m_m_a_n_d )) inherit the EERRRR trap.
eexxttgglloobb If set, the extended pattern matching features described
above under PPaatthhnnaammee EExxppaannssiioonn are enabled.
eexxttqquuoottee
- If set, $$'_s_t_r_i_n_g' and $$"_s_t_r_i_n_g" quoting is performed
- within $${{_p_a_r_a_m_e_t_e_r}} expansions enclosed in double
+ If set, $$'_s_t_r_i_n_g' and $$"_s_t_r_i_n_g" quoting is performed
+ within $${{_p_a_r_a_m_e_t_e_r}} expansions enclosed in double
quotes. This option is enabled by default.
ffaaiillgglloobb
- If set, patterns which fail to match filenames during
+ If set, patterns which fail to match filenames during
pathname expansion result in an expansion error.
ffoorrccee__ffiiggnnoorree
- If set, the suffixes specified by the FFIIGGNNOORREE shell
- variable cause words to be ignored when performing word
+ If set, the suffixes specified by the FFIIGGNNOORREE shell
+ variable cause words to be ignored when performing word
completion even if the ignored words are the only possi-
ble completions. See SSHHEELLLL VVAARRIIAABBLLEESS above for a
- description of FFIIGGNNOORREE. This option is enabled by
+ description of FFIIGGNNOORREE. This option is enabled by
default.
gglloobbaasscciiiirraannggeess
- If set, range expressions used in pattern matching
- bracket expressions (see PPaatttteerrnn MMaattcchhiinngg above) behave
- as if in the traditional C locale when performing com-
+ If set, range expressions used in pattern matching
+ bracket expressions (see PPaatttteerrnn MMaattcchhiinngg above) behave
+ as if in the traditional C locale when performing com-
parisons. That is, the current locale's collating
- sequence is not taken into account, so bb will not col-
- late between AA and BB, and upper-case and lower-case
+ sequence is not taken into account, so bb will not col-
+ late between AA and BB, and upper-case and lower-case
ASCII characters will collate together.
gglloobbssttaarr
If set, the pattern **** used in a pathname expansion con-
- text will match all files and zero or more directories
- and subdirectories. If the pattern is followed by a //,
+ text will match all files and zero or more directories
+ and subdirectories. If the pattern is followed by a //,
only directories and subdirectories match.
ggnnuu__eerrrrffmmtt
If set, shell error messages are written in the standard
GNU error message format.
hhiissttaappppeenndd
- If set, the history list is appended to the file named
- by the value of the HHIISSTTFFIILLEE variable when the shell
+ If set, the history list is appended to the file named
+ by the value of the HHIISSTTFFIILLEE variable when the shell
exits, rather than overwriting the file.
hhiissttrreeeeddiitt
- If set, and rreeaaddlliinnee is being used, a user is given the
+ If set, and rreeaaddlliinnee is being used, a user is given the
opportunity to re-edit a failed history substitution.
hhiissttvveerriiffyy
- If set, and rreeaaddlliinnee is being used, the results of his-
- tory substitution are not immediately passed to the
- shell parser. Instead, the resulting line is loaded
+ If set, and rreeaaddlliinnee is being used, the results of his-
+ tory substitution are not immediately passed to the
+ shell parser. Instead, the resulting line is loaded
into the rreeaaddlliinnee editing buffer, allowing further modi-
fication.
hhoossttccoommpplleettee
If set, and rreeaaddlliinnee is being used, bbaasshh will attempt to
- perform hostname completion when a word containing a @@
- is being completed (see CCoommpplleettiinngg under RREEAADDLLIINNEE
+ perform hostname completion when a word containing a @@
+ is being completed (see CCoommpplleettiinngg under RREEAADDLLIINNEE
above). This is enabled by default.
hhuuppoonneexxiitt
If set, bbaasshh will send SSIIGGHHUUPP to all jobs when an inter-
active login shell exits.
iinnhheerriitt__eerrrreexxiitt
- If set, command substitution inherits the value of the
- eerrrreexxiitt option, instead of unsetting it in the subshell
- environment. This option is enabled when _p_o_s_i_x _m_o_d_e is
+ If set, command substitution inherits the value of the
+ eerrrreexxiitt option, instead of unsetting it in the subshell
+ environment. This option is enabled when _p_o_s_i_x _m_o_d_e is
enabled.
iinntteerraaccttiivvee__ccoommmmeennttss
If set, allow a word beginning with ## to cause that word
- and all remaining characters on that line to be ignored
- in an interactive shell (see CCOOMMMMEENNTTSS above). This
+ and all remaining characters on that line to be ignored
+ in an interactive shell (see CCOOMMMMEENNTTSS above). This
option is enabled by default.
llaassttppiippee
- If set, and job control is not active, the shell runs
+ If set, and job control is not active, the shell runs
the last command of a pipeline not executed in the back-
ground in the current shell environment.
- lliitthhiisstt If set, and the ccmmddhhiisstt option is enabled, multi-line
+ lliitthhiisstt If set, and the ccmmddhhiisstt option is enabled, multi-line
commands are saved to the history with embedded newlines
rather than using semicolon separators where possible.
llooccaallvvaarr__iinnhheerriitt
If set, local variables inherit the value and attributes
of a variable of the same name that exists at a previous
- scope before any new value is assigned. The nameref
+ scope before any new value is assigned. The nameref
attribute is not inherited.
llooggiinn__sshheellll
- The shell sets this option if it is started as a login
- shell (see IINNVVOOCCAATTIIOONN above). The value may not be
+ The shell sets this option if it is started as a login
+ shell (see IINNVVOOCCAATTIIOONN above). The value may not be
changed.
mmaaiillwwaarrnn
- If set, and a file that bbaasshh is checking for mail has
- been accessed since the last time it was checked, the
- message ``The mail in _m_a_i_l_f_i_l_e has been read'' is dis-
+ If set, and a file that bbaasshh is checking for mail has
+ been accessed since the last time it was checked, the
+ message ``The mail in _m_a_i_l_f_i_l_e has been read'' is dis-
played.
nnoo__eemmppttyy__ccmmdd__ccoommpplleettiioonn
- If set, and rreeaaddlliinnee is being used, bbaasshh will not
+ If set, and rreeaaddlliinnee is being used, bbaasshh will not
attempt to search the PPAATTHH for possible completions when
completion is attempted on an empty line.
nnooccaasseegglloobb
- If set, bbaasshh matches filenames in a case-insensitive
+ If set, bbaasshh matches filenames in a case-insensitive
fashion when performing pathname expansion (see PPaatthhnnaammee
EExxppaannssiioonn above).
nnooccaasseemmaattcchh
- If set, bbaasshh matches patterns in a case-insensitive
+ If set, bbaasshh matches patterns in a case-insensitive
fashion when performing matching while executing ccaassee or
[[[[ conditional commands, when performing pattern substi-
- tution word expansions, or when filtering possible com-
+ tution word expansions, or when filtering possible com-
pletions as part of programmable completion.
nnuullllgglloobb
- If set, bbaasshh allows patterns which match no files (see
- PPaatthhnnaammee EExxppaannssiioonn above) to expand to a null string,
+ If set, bbaasshh allows patterns which match no files (see
+ PPaatthhnnaammee EExxppaannssiioonn above) to expand to a null string,
rather than themselves.
pprrooggccoommpp
If set, the programmable completion facilities (see PPrroo--
@@ -1555,50 +1566,50 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
enabled by default.
pprroommppttvvaarrss
If set, prompt strings undergo parameter expansion, com-
- mand substitution, arithmetic expansion, and quote
- removal after being expanded as described in PPRROOMMPPTTIINNGG
+ mand substitution, arithmetic expansion, and quote
+ removal after being expanded as described in PPRROOMMPPTTIINNGG
above. This option is enabled by default.
rreessttrriicctteedd__sshheellll
- The shell sets this option if it is started in
+ The shell sets this option if it is started in
restricted mode (see RREESSTTRRIICCTTEEDD SSHHEELLLL below). The value
- may not be changed. This is not reset when the startup
- files are executed, allowing the startup files to dis-
+ may not be changed. This is not reset when the startup
+ files are executed, allowing the startup files to dis-
cover whether or not a shell is restricted.
sshhiifftt__vveerrbboossee
- If set, the sshhiifftt builtin prints an error message when
+ If set, the sshhiifftt builtin prints an error message when
the shift count exceeds the number of positional parame-
ters.
ssoouurrcceeppaatthh
If set, the ssoouurrccee (..) builtin uses the value of PPAATTHH to
- find the directory containing the file supplied as an
+ find the directory containing the file supplied as an
argument. This option is enabled by default.
xxppgg__eecchhoo
- If set, the eecchhoo builtin expands backslash-escape
+ If set, the eecchhoo builtin expands backslash-escape
sequences by default.
ssuussppeenndd [--ff]
- Suspend the execution of this shell until it receives a SSIIGGCCOONNTT
+ Suspend the execution of this shell until it receives a SSIIGGCCOONNTT
signal. A login shell cannot be suspended; the --ff option can be
used to override this and force the suspension. The return sta-
- tus is 0 unless the shell is a login shell and --ff is not sup-
+ tus is 0 unless the shell is a login shell and --ff is not sup-
plied, or if job control is not enabled.
tteesstt _e_x_p_r
[[ _e_x_p_r ]]
Return a status of 0 (true) or 1 (false) depending on the evalu-
ation of the conditional expression _e_x_p_r. Each operator and op-
- erand must be a separate argument. Expressions are composed of
- the primaries described above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS.
- tteesstt does not accept any options, nor does it accept and ignore
+ erand must be a separate argument. Expressions are composed of
+ the primaries described above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS.
+ tteesstt does not accept any options, nor does it accept and ignore
an argument of ---- as signifying the end of options.
- Expressions may be combined using the following operators,
+ Expressions may be combined using the following operators,
listed in decreasing order of precedence. The evaluation
- depends on the number of arguments; see below. Operator prece-
+ 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.
@@ -1615,120 +1626,120 @@ 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
+ If the second argument is one of the binary conditional
operators listed above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS, the
result of the expression is the result of the binary test
- using the first and third arguments as operands. The --aa
- and --oo operators are considered binary operators when
- there are three arguments. If the first argument is !!,
- the value is the negation of the two-argument test using
+ using the first and third arguments as operands. The --aa
+ and --oo operators are considered binary operators when
+ there are three arguments. If the first argument is !!,
+ the value is the negation of the two-argument test using
the second and third arguments. If the first argument is
exactly (( and the third argument is exactly )), the result
- is the one-argument test of the second argument. Other-
+ is the one-argument test of the second argument. Other-
wise, the expression is false.
4 arguments
If the first argument is !!, the result is the negation of
- the three-argument expression composed of the remaining
+ the three-argument expression composed of the remaining
arguments. Otherwise, the expression is parsed and eval-
- uated according to precedence using the rules listed
+ uated according to precedence using the rules listed
above.
5 or more arguments
- The expression is parsed and evaluated according to
+ The expression is parsed and evaluated according to
precedence using the rules listed above.
- When used with tteesstt or [[, the << and >> operators sort lexico-
+ 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
+ ttiimmeess Print the accumulated user and system times for the shell and
for processes run from the shell. The return status is 0.
ttrraapp [--llpp] [[_a_r_g] _s_i_g_s_p_e_c ...]
- The command _a_r_g is to be read and executed when the shell
- receives signal(s) _s_i_g_s_p_e_c. If _a_r_g is absent (and there is a
- single _s_i_g_s_p_e_c) or --, each specified signal is reset to its
- original disposition (the value it had upon entrance to the
- shell). If _a_r_g is the null string the signal specified by each
- _s_i_g_s_p_e_c is ignored by the shell and by the commands it invokes.
- If _a_r_g is not present and --pp has been supplied, then the trap
- commands associated with each _s_i_g_s_p_e_c are displayed. If no
- arguments are supplied or if only --pp is given, ttrraapp prints the
- list of commands associated with each signal. The --ll option
- causes the shell to print a list of signal names and their cor-
- responding numbers. Each _s_i_g_s_p_e_c is either a signal name
- defined in <_s_i_g_n_a_l_._h>, or a signal number. Signal names are
+ The command _a_r_g is to be read and executed when the shell
+ receives signal(s) _s_i_g_s_p_e_c. If _a_r_g is absent (and there is a
+ single _s_i_g_s_p_e_c) or --, each specified signal is reset to its
+ original disposition (the value it had upon entrance to the
+ shell). If _a_r_g is the null string the signal specified by each
+ _s_i_g_s_p_e_c is ignored by the shell and by the commands it invokes.
+ If _a_r_g is not present and --pp has been supplied, then the trap
+ commands associated with each _s_i_g_s_p_e_c are displayed. If no
+ arguments are supplied or if only --pp is given, ttrraapp prints the
+ list of commands associated with each signal. The --ll option
+ causes the shell to print a list of signal names and their cor-
+ responding numbers. Each _s_i_g_s_p_e_c is either a signal name
+ defined in <_s_i_g_n_a_l_._h>, or a signal number. Signal names are
case insensitive and the SSIIGG prefix is optional.
- If a _s_i_g_s_p_e_c is EEXXIITT (0) the command _a_r_g is executed on exit
- from the shell. If a _s_i_g_s_p_e_c is DDEEBBUUGG, the command _a_r_g is exe-
- cuted before every _s_i_m_p_l_e _c_o_m_m_a_n_d, _f_o_r command, _c_a_s_e command,
- _s_e_l_e_c_t command, every arithmetic _f_o_r command, and before the
- first command executes in a shell function (see SSHHEELLLL GGRRAAMMMMAARR
- above). Refer to the description of the eexxttddeebbuugg option to the
+ If a _s_i_g_s_p_e_c is EEXXIITT (0) the command _a_r_g is executed on exit
+ from the shell. If a _s_i_g_s_p_e_c is DDEEBBUUGG, the command _a_r_g is exe-
+ cuted before every _s_i_m_p_l_e _c_o_m_m_a_n_d, _f_o_r command, _c_a_s_e command,
+ _s_e_l_e_c_t command, every arithmetic _f_o_r command, and before the
+ first command executes in a shell function (see SSHHEELLLL GGRRAAMMMMAARR
+ above). Refer to the description of the eexxttddeebbuugg option to the
sshhoopptt builtin for details of its effect on the DDEEBBUUGG trap. If a
_s_i_g_s_p_e_c is RREETTUURRNN, the command _a_r_g is executed each time a shell
function or a script executed with the .. or ssoouurrccee builtins fin-
ishes executing.
- If a _s_i_g_s_p_e_c is EERRRR, the command _a_r_g is executed whenever a
+ If a _s_i_g_s_p_e_c is EERRRR, the command _a_r_g is executed whenever a
pipeline (which may consist of a single simple command), a list,
or a compound command returns a non-zero exit status, subject to
- the following conditions. The EERRRR trap is not executed if the
+ 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,
+ a wwhhiillee or uunnttiill keyword, part of the test in an _i_f statement,
part of a command executed in a &&&& or |||| list except the command
- following the final &&&& or ||||, any command in a pipeline but the
- last, or if the command's return value is being inverted using
- !!. These are the same conditions obeyed by the eerrrreexxiitt (--ee)
+ following the final &&&& or ||||, any command in a pipeline but the
+ last, or if the command's return value is being inverted using
+ !!. These are the same conditions obeyed by the eerrrreexxiitt (--ee)
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, which is not necessar-
- ily the file that appears first in PPAATTHH. If the --aa option is
- used, ttyyppee prints all of the places that contain an executable
+ ily 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
+ not consulted when using --aa. The --ff option suppresses shell
function lookup, as with the ccoommmmaanndd builtin. ttyyppee returns true
if all of the arguments are found, false if any are not found.
uulliimmiitt [--HHSSaabbccddeeffiikkllmmnnppqqrrssttuuvvxxPPTT [_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:
@@ -1737,12 +1748,12 @@ 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
--kk The maximum number of kqueues that may be allocated
--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)
@@ -1751,53 +1762,53 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
--rr The maximum real-time scheduling priority
--ss The maximum stack size
--tt The maximum amount of cpu time in seconds
- --uu The maximum number of processes available to a single
+ --uu The maximum number of processes available to a single
user
- --vv The maximum amount of virtual memory available to the
+ --vv The maximum amount of virtual memory available to the
shell and, on some systems, to its children
--xx The maximum number of file locks
--PP The maximum number of pseudoterminals
--TT The maximum number of threads
- If _l_i_m_i_t is given, and the --aa option is not used, _l_i_m_i_t is the
- new value of the specified resource. 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; --PP, --TT, --bb, --kk, --nn, and --uu, which are unscaled values;
- and, when in Posix mode, --cc and --ff, which are in 512-byte incre-
+ If _l_i_m_i_t is given, and the --aa option is not used, _l_i_m_i_t is the
+ new value of the specified resource. 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; --PP, --TT, --bb, --kk, --nn, and --uu, which are unscaled values;
+ and, when in posix mode, --cc and --ff, which are in 512-byte incre-
ments. The return status is 0 unless an invalid option or argu-
ment 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] [-nn] [_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 the --vv option is given, each _n_a_m_e refers to a shell variable,
- and that variable is removed. 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. If the --nn option
- is supplied, and _n_a_m_e is a variable with the _n_a_m_e_r_e_f attribute,
- _n_a_m_e will be unset rather than the variable it references. --nn
- has no effect if the --ff option is supplied. If no options are
- supplied, each _n_a_m_e refers to a variable; if there is no vari-
- able by that name, any function with that name is unset. Each
- unset variable or function is removed from the environment
- passed to subsequent commands. If any of CCOOMMPP__WWOORRDDBBRREEAAKKSS, RRAANN--
+ and that variable is removed. 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. If the --nn option
+ is supplied, and _n_a_m_e is a variable with the _n_a_m_e_r_e_f attribute,
+ _n_a_m_e will be unset rather than the variable it references. --nn
+ has no effect if the --ff option is supplied. If no options are
+ supplied, each _n_a_m_e refers to a variable; if there is no vari-
+ able by that name, any function with that name is unset. Each
+ unset variable or function is removed from the environment
+ passed to subsequent commands. If any of CCOOMMPP__WWOORRDDBBRREEAAKKSS, RRAANN--
DDOOMM, SSEECCOONNDDSS, LLIINNEENNOO, HHIISSTTCCMMDD, FFUUNNCCNNAAMMEE, GGRROOUUPPSS, or DDIIRRSSTTAACCKK are
unset, they lose their special properties, even if they are sub-
sequently reset. The exit status is true unless a _n_a_m_e is read-
@@ -1805,16 +1816,16 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
wwaaiitt [--ffnn] [_i_d _._._.]
Wait for each specified child process and return its termination
- status. Each _i_d may be a process ID or a job specification; if
- a job spec is given, all processes in that job's pipeline are
+ status. Each _i_d 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 _i_d is not given, all currently active child pro-
cesses are waited for, and the return status is zero. If the --nn
- option is supplied, wwaaiitt waits for any job to terminate and
- returns its exit status. If the --ff option is supplied, and job
+ option is supplied, wwaaiitt waits for any job to terminate and
+ returns its exit status. If the --ff option is supplied, and job
control is enabled, wwaaiitt forces _i_d to terminate before returning
- its status, instead of returning when it changes status. If _i_d
- specifies a non-existent process or job, the return status is
- 127. Otherwise, the return status is the exit status of the
+ its status, instead of returning when it changes status. If _i_d
+ 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 df9ff20a..e7e6963e 100644
--- a/doc/builtins.ps
+++ b/doc/builtins.ps
@@ -1,6 +1,6 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.22.3
-%%CreationDate: Mon Mar 19 09:43:23 2018
+%%CreationDate: Fri Sep 7 15:34:15 2018
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%+ font Times-Italic
@@ -595,51 +595,55 @@ em directly from a completion speci\214cation with the same \215ags.)144
(will be displayed.)2.5 E(The return v)144 489.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 F2
-(complete)108 506.4 Q F0([)3.728 E F2(\255abcdefgjksuv)A F0 3.728(][)C
-F2<ad6f>-3.728 E F3(comp-option)3.728 E F0 3.728(][)C F2(\255DE)-3.728 E
-F0 3.728(][)C F2<ad41>-3.728 E F3(action)3.728 E F0 3.728(][)C F2<ad47>
--3.728 E F3(globpat)3.728 E F0 3.729(][)C F2<ad57>-3.729 E F3(wor)3.729
-E(dlist)-.37 E F0 3.729(][)C F2<ad46>-3.729 E F3(func-)3.729 E(tion)108
-518.4 Q F0 2.5(][)C F2<ad43>-2.5 E F3(command)2.5 E F0(])A([)144 530.4 Q
-F2<ad58>A F3(\214lterpat)2.5 E F0 2.5(][)C F2<ad50>-2.5 E F3(pr)2.5 E
-(e\214x)-.37 E F0 2.5(][)C F2<ad53>-2.5 E F3(suf)2.5 E<8c78>-.18 E F0(])
-A F3(name)2.5 E F0([)2.5 E F3(name ...)A F0(])A F2(complete \255pr)108
-542.4 Q F0([)2.5 E F2(\255DE)A F0 2.5(][)C F3(name)-2.5 E F0(...])2.5 E
-.634(Specify ho)144 554.4 R 3.134(wa)-.25 G -.18(rg)-3.134 G .634
-(uments to each).18 F F3(name)3.134 E F0 .634(should be completed.)3.134
-F .633(If the)5.634 F F2<ad70>3.133 E F0 .633
-(option is supplied, or if no)3.133 F .139(options are supplied, e)144
-566.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 578.4 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 F3
-(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
-F3(name)2.81 E F0(s)A 1.346
-(are supplied, all completion speci\214cations.)144 590.4 R(The)6.347 E
-F2<ad44>3.847 E F0 1.347(option indicates that the remaining options)
-3.847 F .5(and actions should apply to the `)144 602.4 R(`def)-.74 E
+(complete)108 506.4 Q F0([)3.404 E F2(\255abcdefgjksuv)A F0 3.404(][)C
+F2<ad6f>-3.404 E F3(comp-option)3.404 E F0 3.404(][)C F2(\255DEI)-3.404
+E F0 3.404(][)C F2<ad41>-3.404 E F3(action)3.404 E F0 3.404(][)C F2
+<ad47>-3.404 E F3(globpat)3.404 E F0 3.404(][)C F2<ad57>-3.404 E F3(wor)
+3.404 E(dlist)-.37 E F0 3.405(][)C F2<ad46>-3.405 E F3(func-)3.405 E
+(tion)108 518.4 Q F0 2.5(][)C F2<ad43>-2.5 E F3(command)2.5 E F0(])A([)
+144 530.4 Q F2<ad58>A F3(\214lterpat)2.5 E F0 2.5(][)C F2<ad50>-2.5 E F3
+(pr)2.5 E(e\214x)-.37 E F0 2.5(][)C F2<ad53>-2.5 E F3(suf)2.5 E<8c78>
+-.18 E F0(])A F3(name)2.5 E F0([)2.5 E F3(name ...)A F0(])A F2
+(complete \255pr)108 542.4 Q F0([)2.5 E F2(\255DEI)A F0 2.5(][)C F3
+(name)-2.5 E F0(...])2.5 E .634(Specify ho)144 554.4 R 3.134(wa)-.25 G
+-.18(rg)-3.134 G .634(uments to each).18 F F3(name)3.134 E F0 .634
+(should be completed.)3.134 F .633(If the)5.634 F F2<ad70>3.133 E F0
+.633(option is supplied, or if no)3.133 F .139(options are supplied, e)
+144 566.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 578.4 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 F3(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 F3(name)2.81 E F0(s)A 1.207
+(are supplied, all completion speci\214cations.)144 590.4 R(The)6.207 E
+F2<ad44>3.707 E F0 1.208(option indicates that other supplied options)
+3.708 F .5(and actions should apply to the `)144 602.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
614.4 S .955(ommand for which no completion has pre)-3.455 F .955
(viously been de\214ned.)-.25 F(The)5.955 E F2<ad45>3.455 E F0 .955
-(option indicates that)3.455 F .065
-(the remaining options and actions should apply to `)144 626.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 638.4 Q 1.437
+(option indicates that)3.455 F .876
+(other supplied options and actions should apply to `)144 626.4 R
+(`empty')-.74 E 3.376('c)-.74 G .876(ommand completion; that is, com-)
+-3.376 F .447(pletion attempted on a blank line.)144 638.4 R(The)5.447 E
+F2<ad49>2.947 E F0 .448
+(option indicates that other supplied options and actions)2.947 F 1.335
+(should apply to completion on the inital non-assignment w)144 650.4 R
+1.334(ord on the line, or after a command)-.1 F .43(delimiter such as)
+144 662.4 R F2(;)2.93 E F0(or)2.93 E F2(|)2.93 E F0 2.93(,w)C .431
+(hich is usually command name completion.)-2.93 F .431
+(If multiple options are sup-)5.431 F .708(plied, the)144 674.4 R F2
+<ad44>3.208 E F0 .708(option tak)3.208 F .708(es precedence o)-.1 F -.15
+(ve)-.15 G(r).15 E F2<ad45>3.208 E F0 3.208(,a)C .708(nd both tak)-3.208
+F 3.208(ep)-.1 G .707(recedence o)-3.208 F -.15(ve)-.15 G(r).15 E F2
+<ad49>3.207 E F0 5.707(.I)C 3.207(fa)-5.707 G 1.007 -.15(ny o)-3.207 H
+(f).15 E F2<ad44>3.207 E F0(,)A F2<ad45>144 686.4 Q F0 2.603(,o)C(r)
+-2.603 E F2<ad49>2.603 E F0 .103(are supplied, an)2.603 F 2.603(yo)-.15
+G(ther)-2.603 E F3(name)2.603 E F0(ar)2.603 E .103
+(guments are ignored; these completions only apply to the)-.18 F
+(case speci\214ed by the option.)144 698.4 Q 1.438
(The process of applying these completion speci\214cations when w)144
-662.4 R 1.438(ord completion is attempted is)-.1 F(described abo)144
-674.4 Q .3 -.15(ve u)-.15 H(nder).15 E F2(Pr)2.5 E
-(ogrammable Completion)-.18 E F0(.)A .556
-(Other options, if speci\214ed, ha)144 698.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 F2<ad47>3.055 E F0(,)A F2<ad57>3.055 E F0 3.055
-(,a)C(nd)-3.055 E F2<ad58>3.055 E F0 .722(options \(and, if necessary)
-144 710.4 R 3.222(,t)-.65 G(he)-3.222 E F2<ad50>3.222 E F0(and)3.222 E
-F2<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 722.4 Q F2(complete)2.5 E F0 -.2(bu)2.5 G
-(iltin is in).2 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E(GNU Bash 5.0)72 768 Q
+722.4 R 1.437(ord completion is attempted is)-.1 F(GNU Bash 5.0)72 768 Q
(2004 Apr 20)149.565 E(3)203.725 E 0 Cg EP
%%Page: 4 4
%%BeginPageSetup
@@ -647,1453 +651,1451 @@ BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61
(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_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(comp-option)2.5 E F0(The)184 96 Q F2(comp-option)
-2.791 E F0 .291(controls se)2.791 F -.15(ve)-.25 G .291
+E(UIL)-.1 E(TINS\(1\))-.92 E(described abo)144 84 Q .3 -.15(ve u)-.15 H
+(nder).15 E/F1 10/Times-Bold@0 SF(Pr)2.5 E(ogrammable Completion)-.18 E
+F0(.)A .555(Other options, if speci\214ed, ha)144 108 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.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 120 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 132 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 144 Q/F2
+10/Times-Italic@0 SF(comp-option)2.5 E F0(The)184 156 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 108 Q F2(comp-option)5 E F0(may be one of:)2.5 E F1(bashdefault)184
-120 Q F0 .281(Perform the rest of the def)224 132 R(ault)-.1 E F1(bash)
+184 168 Q F2(comp-option)5 E F0(may be one of:)2.5 E F1(bashdefault)184
+180 Q F0 .281(Perform the rest of the def)224 192 R(ault)-.1 E F1(bash)
2.781 E F0 .281(completions if the compspec generates no)2.781 F
-(matches.)224 144 Q F1(default)184 156 Q F0 2.876(Use readline')224 156
-R 5.376(sd)-.55 G(ef)-5.376 E 2.875
+(matches.)224 204 Q F1(default)184 216 Q F0 2.875(Use readline')224 216
+R 5.375(sd)-.55 G(ef)-5.375 E 2.876
(ault \214lename completion if the compspec generates no)-.1 F(matches.)
-224 168 Q F1(dir)184 180 Q(names)-.15 E F0(Perform directory name compl\
-etion if the compspec generates no matches.)224 192 Q F1(\214lenames)184
-204 Q F0 -.7(Te)224 216 S .137(ll readline that the 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 228 R 2.634(ea)-.1 G .134
+224 228 Q F1(dir)184 240 Q(names)-.15 E F0(Perform directory name compl\
+etion if the compspec generates no matches.)224 252 Q F1(\214lenames)184
+264 Q F0 -.7(Te)224 276 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 288 R 2.634(ea)-.1 G .134
(dding a slash to directory names, quoting spe-)-2.634 F .45
-(cial characters, or suppressing trailing spaces\).)224 240 R .45
-(Intended to be used with shell)5.45 F(functions.)224 252 Q F1(noquote)
-184 264 Q F0 -.7(Te)224 264 S .814
+(cial characters, or suppressing trailing spaces\).)224 300 R .45
+(Intended to be used with shell)5.45 F(functions.)224 312 Q F1(noquote)
+184 324 Q F0 -.7(Te)224 324 S .814
(ll readline not to quote the completed w).7 F .814(ords if the)-.1 F
-3.314(ya)-.15 G .814(re \214lenames \(quoting)-3.314 F
-(\214lenames is the def)224 276 Q(ault\).)-.1 E F1(nosort)184 288 Q F0
--.7(Te)224 288 S(ll readline not to sort the list of possible completio\
-ns alphabetically).7 E(.)-.65 E F1(nospace)184 300 Q F0 -.7(Te)224 300 S
+3.314(ya)-.15 G .815(re \214lenames \(quoting)-3.314 F
+(\214lenames is the def)224 336 Q(ault\).)-.1 E F1(nosort)184 348 Q F0
+-.7(Te)224 348 S(ll readline not to sort the list of possible completio\
+ns alphabetically).7 E(.)-.65 E F1(nospace)184 360 Q F0 -.7(Te)224 360 S
.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 312 Q F1
-(plusdirs)184 324 Q F0 1.985(After an)224 324 R 4.485(ym)-.15 G 1.985
+F .22(ords completed at the end)-.1 F(of the line.)224 372 Q F1
+(plusdirs)184 384 Q F0 1.985(After an)224 384 R 4.485(ym)-.15 G 1.985
(atches de\214ned by the compspec are generated, directory name)-4.485 F
-.583(completion is attempted and an)224 336 R 3.084(ym)-.15 G .584
-(atches are added to the results of the other)-3.084 F(actions.)224 348
-Q F1<ad41>144 360 Q F2(action)2.5 E F0(The)184 372 Q F2(action)2.5 E F0
+.584(completion is attempted and an)224 396 R 3.084(ym)-.15 G .584
+(atches are added to the results of the other)-3.084 F(actions.)224 408
+Q F1<ad41>144 420 Q F2(action)2.5 E F0(The)184 432 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
-384 Q F0(Alias names.)224 384 Q(May also be speci\214ed as)5 E F1<ad61>
-2.5 E F0(.)A F1(arrayv)184 396 Q(ar)-.1 E F0(Array v)224 408 Q
-(ariable names.)-.25 E F1(binding)184 420 Q(Readline)224 420 Q F0 -.1
-(ke)2.5 G 2.5(yb)-.05 G(inding names.)-2.5 E F1 -.2(bu)184 432 S(iltin)
-.2 E F0(Names of shell b)224 432 Q(uiltin commands.)-.2 E
-(May also be speci\214ed as)5 E F1<ad62>2.5 E F0(.)A F1(command)184 444
-Q F0(Command names.)224 456 Q(May also be speci\214ed as)5 E F1<ad63>2.5
-E F0(.)A F1(dir)184 468 Q(ectory)-.18 E F0(Directory names.)224 480 Q
-(May also be speci\214ed as)5 E F1<ad64>2.5 E F0(.)A F1(disabled)184 492
-Q F0(Names of disabled shell b)224 504 Q(uiltins.)-.2 E F1(enabled)184
-516 Q F0(Names of enabled shell b)224 516 Q(uiltins.)-.2 E F1(export)184
-528 Q F0(Names of e)224 528 Q(xported shell v)-.15 E 2.5(ariables. May)
+444 Q F0(Alias names.)224 444 Q(May also be speci\214ed as)5 E F1<ad61>
+2.5 E F0(.)A F1(arrayv)184 456 Q(ar)-.1 E F0(Array v)224 468 Q
+(ariable names.)-.25 E F1(binding)184 480 Q(Readline)224 480 Q F0 -.1
+(ke)2.5 G 2.5(yb)-.05 G(inding names.)-2.5 E F1 -.2(bu)184 492 S(iltin)
+.2 E F0(Names of shell b)224 492 Q(uiltin commands.)-.2 E
+(May also be speci\214ed as)5 E F1<ad62>2.5 E F0(.)A F1(command)184 504
+Q F0(Command names.)224 516 Q(May also be speci\214ed as)5 E F1<ad63>2.5
+E F0(.)A F1(dir)184 528 Q(ectory)-.18 E F0(Directory names.)224 540 Q
+(May also be speci\214ed as)5 E F1<ad64>2.5 E F0(.)A F1(disabled)184 552
+Q F0(Names of disabled shell b)224 564 Q(uiltins.)-.2 E F1(enabled)184
+576 Q F0(Names of enabled shell b)224 576 Q(uiltins.)-.2 E F1(export)184
+588 Q F0(Names of e)224 588 Q(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
-540 Q F0(File names.)224 540 Q(May also be speci\214ed as)5 E F1<ad66>
-2.5 E F0(.)A F1(function)184 552 Q F0(Names of shell functions.)224 564
-Q F1(gr)184 576 Q(oup)-.18 E F0(Group names.)224 576 Q
+600 Q F0(File names.)224 600 Q(May also be speci\214ed as)5 E F1<ad66>
+2.5 E F0(.)A F1(function)184 612 Q F0(Names of shell functions.)224 624
+Q F1(gr)184 636 Q(oup)-.18 E F0(Group names.)224 636 Q
(May also be speci\214ed as)5 E F1<ad67>2.5 E F0(.)A F1(helptopic)184
-588 Q F0(Help topics as accepted by the)224 600 Q F1(help)2.5 E F0 -.2
-(bu)2.5 G(iltin.).2 E F1(hostname)184 612 Q F0(Hostnames, as tak)224 624
+648 Q F0(Help topics as accepted by the)224 660 Q F1(help)2.5 E F0 -.2
+(bu)2.5 G(iltin.).2 E F1(hostname)184 672 Q F0(Hostnames, as tak)224 684
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 636 Q F0
-(Job names, if job control is acti)224 636 Q -.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 648 S
-(yw).1 E(ord)-.1 E F0(Shell reserv)224 660 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
-672 Q F0(Names of running jobs, if job control is acti)224 672 Q -.15
-(ve)-.25 G(.).15 E F1(ser)184 684 Q(vice)-.1 E F0(Service names.)224 684
-Q(May also be speci\214ed as)5 E F1<ad73>2.5 E F0(.)A F1(setopt)184 696
-Q F0 -1.11(Va)224 696 S(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 708 Q F0(Shell option names as accepted by the)224 708 Q F1
-(shopt)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E(GNU Bash 5.0)72 768 Q
-(2004 Apr 20)149.565 E(4)203.725 E 0 Cg EP
+(HOSTFILE)2.5 E F0(shell v)2.25 E(ariable.)-.25 E F1(job)184 696 Q F0
+(Job names, if job control is acti)224 696 Q -.15(ve)-.25 G 5(.M).15 G
+(ay also be speci\214ed as)-5 E F1<ad6a>2.5 E F0(.)A(GNU Bash 5.0)72 768
+Q(2004 Apr 20)149.565 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 87.61
(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
-E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(signal)184 84 Q F0
-(Signal names.)224 84 Q F1(stopped)184 96 Q F0
-(Names of stopped jobs, if job control is acti)224 96 Q -.15(ve)-.25 G
-(.).15 E F1(user)184 108 Q F0(User names.)224 108 Q
-(May also be speci\214ed as)5 E F1<ad75>2.5 E F0(.)A F1 -.1(va)184 120 S
-(riable).1 E F0(Names of all shell v)224 120 Q 2.5(ariables. May)-.25 F
-(also be speci\214ed as)2.5 E F1<ad76>2.5 E F0(.)A F1<ad43>144 132 Q/F2
-10/Times-Italic@0 SF(command)2.5 E(command)184 144 Q F0 1.056(is e)3.556
-F -.15(xe)-.15 G 1.056(cuted in a subshell en).15 F 1.056
+E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF -.1(ke)184 84 S(yw).1
+E(ord)-.1 E F0(Shell reserv)224 96 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 108 Q
+F0(Names of running jobs, if job control is acti)224 108 Q -.15(ve)-.25
+G(.).15 E F1(ser)184 120 Q(vice)-.1 E F0(Service names.)224 120 Q
+(May also be speci\214ed as)5 E F1<ad73>2.5 E F0(.)A F1(setopt)184 132 Q
+F0 -1.11(Va)224 132 S(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 144 Q F0(Shell option names as accepted by the)224 144 Q F1
+(shopt)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1(signal)184 156 Q F0
+(Signal names.)224 156 Q F1(stopped)184 168 Q F0
+(Names of stopped jobs, if job control is acti)224 168 Q -.15(ve)-.25 G
+(.).15 E F1(user)184 180 Q F0(User names.)224 180 Q
+(May also be speci\214ed as)5 E F1<ad75>2.5 E F0(.)A F1 -.1(va)184 192 S
+(riable).1 E F0(Names of all shell v)224 192 Q 2.5(ariables. May)-.25 F
+(also be speci\214ed as)2.5 E F1<ad76>2.5 E F0(.)A F1<ad43>144 204 Q/F2
+10/Times-Italic@0 SF(command)2.5 E(command)184 216 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 156 Q F1<ad46>144 168 Q F2(function)2.5 E F0 .113
-(The shell function)184 180 R F2(function)2.614 E F0 .114(is e)2.614 F
+184 228 Q F1<ad46>144 240 Q F2(function)2.5 E F0 .114
+(The shell function)184 252 R F2(function)2.614 E F0 .114(is e)2.614 F
-.15(xe)-.15 G .114(cuted in the current shell en).15 F 2.614
-(vironment. When)-.4 F .114(the func-)2.614 F .817(tion is e)184 192 R
--.15(xe)-.15 G .817(cuted, the \214rst ar).15 F .817(gument \()-.18 F F1
-($1)A F0 3.316(\)i)C 3.316(st)-3.316 G .816
+(vironment. When)-.4 F .113(the func-)2.613 F .816(tion is e)184 264 R
+-.15(xe)-.15 G .816(cuted, the \214rst ar).15 F .816(gument \()-.18 F F1
+($1)A F0 3.316(\)i)C 3.316(st)-3.316 G .817
(he name of the command whose ar)-3.316 F(guments)-.18 E 1.407
-(are being completed, the second ar)184 204 R 1.407(gument \()-.18 F F1
+(are being completed, the second ar)184 276 R 1.407(gument \()-.18 F F1
($2)A F0 3.907(\)i)C 3.907(st)-3.907 G 1.407(he w)-3.907 F 1.407
-(ord being completed, and the)-.1 F .104(third ar)184 216 R .104
-(gument \()-.18 F F1($3)A F0 2.604(\)i)C 2.604(st)-2.604 G .104(he w)
--2.604 F .104(ord preceding the w)-.1 F .103
-(ord being completed on the current com-)-.1 F .101(mand line.)184 228 R
-.101(When it \214nishes, the possible completions are retrie)5.101 F
--.15(ve)-.25 G 2.602(df).15 G .102(rom the v)-2.602 F .102(alue of the)
--.25 F/F3 9/Times-Bold@0 SF(COMPREPL)184 240 Q(Y)-.828 E F0(array v)2.25
-E(ariable.)-.25 E F1<ad47>144 252 Q F2(globpat)2.5 E F0 1.008
-(The pathname e)184 264 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 276 Q F1<ad50>144 288 Q F2(pr)2.5 E(e\214x)-.37 E(pr)
-184 300 Q(e\214x)-.37 E F0 .534(is added at the be)3.034 F .534
+(ord being completed, and the)-.1 F .103(third ar)184 288 R .103
+(gument \()-.18 F F1($3)A F0 2.603(\)i)C 2.603(st)-2.603 G .103(he w)
+-2.603 F .104(ord preceding the w)-.1 F .104
+(ord being completed on the current com-)-.1 F .102(mand line.)184 300 R
+.102(When it \214nishes, the possible completions are retrie)5.102 F
+-.15(ve)-.25 G 2.601(df).15 G .101(rom the v)-2.601 F .101(alue of the)
+-.25 F/F3 9/Times-Bold@0 SF(COMPREPL)184 312 Q(Y)-.828 E F0(array v)2.25
+E(ariable.)-.25 E F1<ad47>144 324 Q F2(globpat)2.5 E F0 1.007
+(The pathname e)184 336 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 348 Q F1<ad50>144 360 Q F2(pr)2.5 E(e\214x)-.37 E(pr)
+184 372 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 312 Q F1<ad53>144 324 Q F2(suf)2.5 E
-<8c78>-.18 E(suf)184 324 Q<8c78>-.18 E F0
+-.15(ve)-.2 G(been applied.)184 384 Q F1<ad53>144 396 Q F2(suf)2.5 E
+<8c78>-.18 E(suf)184 396 Q<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 F1<ad57>144 336 Q F2(wor)2.5 E
-(dlist)-.37 E F0(The)184 348 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 .98
-(each resultant w)184 360 R .98(ord is e)-.1 F 3.481(xpanded. Shell)-.15
-F .981(quoting is honored within)3.481 F F2(wor)3.481 E(dlist)-.37 E F0
-3.481(,i)C 3.481(no)-3.481 G .981(rder to)-3.481 F(pro)184 372 Q .766
-(vide a mechanism for the w)-.15 F .765
+E .3 -.15(ve b)-.2 H(een applied.).15 E F1<ad57>144 408 Q F2(wor)2.5 E
+(dlist)-.37 E F0(The)184 420 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 .981
+(each resultant w)184 432 R .981(ord is e)-.1 F 3.481(xpanded. Shell)
+-.15 F .981(quoting is honored within)3.481 F F2(wor)3.481 E(dlist)-.37
+E F0 3.48(,i)C 3.48(no)-3.48 G .98(rder to)-3.48 F(pro)184 444 Q .765
+(vide a mechanism for the w)-.15 F .766
(ords to contain shell metacharacters or characters in the)-.1 F -.25
-(va)184 384 S 1.964(lue of).25 F F3(IFS)4.464 E/F4 9/Times-Roman@0 SF(.)
+(va)184 456 S 1.965(lue of).25 F F3(IFS)4.465 E/F4 9/Times-Roman@0 SF(.)
A F0 1.964
(The possible completions are the members of the resultant list which)
-6.464 F(match the w)184 396 Q(ord being completed.)-.1 E F1<ad58>144 408
-Q F2(\214lterpat)2.5 E(\214lterpat)184 420 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 432 R 1.596
-(guments, and each completion)-.18 F(matching)184 444 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 456 Q 2.5(yc)-.15 G
+6.465 F(match the w)184 468 Q(ord being completed.)-.1 E F1<ad58>144 480
+Q F2(\214lterpat)2.5 E(\214lterpat)184 492 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 504 R 1.596
+(guments, and each completion)-.18 F(matching)184 516 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 528 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 472.8 R .466
+-.15(ve)-.15 G(d.).15 E .467(The return v)144 544.8 R .467
(alue is true unless an in)-.25 F -.25(va)-.4 G .466
-(lid option is supplied, an option other than).25 F F1<ad70>2.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 484.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 496.8 Q F0
+(lid option is supplied, an option other than).25 F F1<ad70>2.966 E F0
+(or)2.966 E F1<ad72>2.966 E F0 .466(is sup-)2.966 F 1.361
+(plied without a)144 556.8 R 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 568.8 Q F0
(for which no speci\214cation e)2.5 E
(xists, or an error occurs adding a completion speci\214cation.)-.15 E
-F1(compopt)108 513.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 525.6 R
-F2(name)2.947 E F0 .447(according to the)2.947 F F2(option)2.947 E F0
-.447(s, or for the currently-e)B -.15(xe)-.15 G(cuting).15 E .726
-(completion if no)144 537.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 549.6 Q F2(name)
-3.223 E F0 .723(or the current completion.)3.223 F .724(The possible v)
+F1(compopt)108 585.6 Q F0([)2.5 E F1<ad6f>A F2(option)2.5 E F0 2.5(][)C
+F1(\255DEI)-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 597.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 609.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 621.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 .724(alid for the)-.25 F F1(com-)3.224 E(plete)144 561.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 573.6 R(`def)-.74 E(ault')-.1 E 3.727('c)-.74 G 1.228(o\
+F .723(alid for the)-.25 F F1(com-)3.223 E(plete)144 633.6 Q F0 -.2(bu)
+2.677 G .177(iltin described abo).2 F -.15(ve)-.15 G 5.178(.T).15 G(he)
+-5.178 E F1<ad44>2.678 E F0 .178
+(option indicates that other supplied options should apply to)2.678 F
+1.228(the `)144 645.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 585.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 597.6 Q(`empty')-.74 E 2.5('c)-.74 G
-(ommand completion; that is, completion attempted on a blank line.)-2.5
-E 1.387(The return v)144 621.6 R 1.387(alue is true unless an in)-.25 F
--.25(va)-.4 G 1.388
+no)-3.728 F 2.038(completion has pre)144 657.6 R 2.038
+(viously been de\214ned.)-.25 F(The)7.038 E F1<ad45>4.538 E F0 2.039
+(option indicates that other supplied options)4.538 F 1.539
+(should apply to `)144 669.6 R(`empty')-.74 E 4.039('c)-.74 G 1.538
+(ommand completion; that is, completion attempted on a blank line.)
+-4.039 F(The)144 681.6 Q F1<ad49>3.205 E F0 .705(option indicates that \
+other supplied options should apply to completion on the inital non-)
+3.205 F .868(assignment w)144 693.6 R .868
+(ord on the line, or after a command delimiter such as)-.1 F F1(;)3.368
+E F0(or)3.368 E F1(|)3.368 E F0 3.367(,w)C .867(hich is usually com-)
+-3.367 F(mand name completion.)144 705.6 Q 1.387(The return v)144 729.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 633.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 650.4 Q F0([)
-2.5 E F2(n)A F0(])A 1.754(Resume the ne)144 662.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 674.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/F5 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 686.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 698.4 Q(GNU Bash 5.0)72 768
-Q(2004 Apr 20)149.565 E(5)203.725 E 0 Cg EP
+(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 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 87.61
(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
-E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(declar)108 84 Q(e)
--.18 E F0([)2.5 E F1(\255aAfFgilnrtux)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(\255aAfFgilnrtux)A F0
-2.5(][)C F1<ad70>-2.5 E F0 2.5(][)C F2(name)-2.5 E F0([=)A F2(value)A F0
-2.5(].)C(..])-2.5 E 1.264(Declare v)144 108 R 1.264(ariables and/or gi)
--.25 F 1.564 -.15(ve t)-.25 H 1.264(hem attrib).15 F 3.765(utes. If)-.2
-F(no)3.765 E F2(name)3.765 E F0 3.765(sa)C 1.265(re gi)-3.765 F -.15(ve)
--.25 G 3.765(nt).15 G 1.265(hen display the v)-3.765 F 1.265(alues of)
--.25 F -.25(va)144 120 S 3.483(riables. The).25 F F1<ad70>3.483 E F0
-.983(option will display the attrib)3.483 F .983(utes and v)-.2 F .982
-(alues of each)-.25 F F2(name)3.482 E F0 5.982(.W).18 G(hen)-5.982 E F1
-<ad70>3.482 E F0 .982(is used)3.482 F(with)144 132 Q F2(name)2.774 E F0
-(ar)2.774 E .274(guments, additional options, other than)-.18 F F1<ad66>
-2.775 E F0(and)2.775 E F1<ad46>2.775 E F0 2.775(,a)C .275(re ignored.)
--2.775 F(When)5.275 E F1<ad70>2.775 E F0 .275(is supplied)2.775 F
-(without)144 144 Q F2(name)4.814 E F0(ar)4.814 E 2.314
+E(UIL)-.1 E(TINS\(1\))-.92 E(options for a)144 84 Q/F1 10/Times-Italic@0
+SF(name)2.5 E 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(\255aAfFgilnrtux)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(\255aAfFgilnrtux)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)2.774 E
+F0(ar)2.774 E .274(guments, additional options, other than)-.18 F F2
+<ad66>2.775 E F0(and)2.775 E F2<ad46>2.775 E F0 2.775(,a)C .275
+(re ignored.)-2.775 F(When)5.275 E F2<ad70>2.775 E F0 .275(is supplied)
+2.775 F(without)144 225.6 Q F1(name)4.814 E F0(ar)4.814 E 2.314
(guments, it will display the attrib)-.18 F 2.314(utes and v)-.2 F 2.313
(alues of all v)-.25 F 2.313(ariables ha)-.25 F 2.313(ving the)-.2 F
-(attrib)144 156 Q 1.181(utes speci\214ed by the additional options.)-.2
-F 1.182(If no other options are supplied with)6.181 F F1<ad70>3.682 E F0
-(,)A F1(declar)3.682 E(e)-.18 E F0 .62(will display the attrib)144 168 R
-.62(utes and v)-.2 F .62(alues of all shell v)-.25 F 3.12(ariables. The)
--.25 F F1<ad66>3.12 E F0 .62(option will restrict the display)3.12 F
-1.29(to shell functions.)144 180 R(The)6.29 E F1<ad46>3.79 E F0 1.291(o\
-ption inhibits the display of function de\214nitions; only the function)
-3.791 F .948(name and attrib)144 192 R .948(utes are printed.)-.2 F .948
-(If the)5.948 F F1(extdeb)3.448 E(ug)-.2 E F0 .948
-(shell option is enabled using)3.448 F F1(shopt)3.448 E F0 3.448(,t)C
+(attrib)144 237.6 Q 1.181(utes speci\214ed by the additional options.)
+-.2 F 1.182(If no other options are supplied with)6.181 F F2<ad70>3.682
+E F0(,)A F2(declar)3.682 E(e)-.18 E F0 .62(will display the attrib)144
+249.6 R .62(utes and v)-.2 F .62(alues of all shell v)-.25 F 3.12
+(ariables. The)-.25 F F2<ad66>3.12 E F0 .62
+(option will restrict the display)3.12 F 1.29(to shell functions.)144
+261.6 R(The)6.29 E F2<ad46>3.79 E F0 1.291(option inhibits the display \
+of function de\214nitions; only the function)3.791 F .948
+(name and attrib)144 273.6 R .948(utes are printed.)-.2 F .948(If the)
+5.948 F F2(extdeb)3.448 E(ug)-.2 E F0 .948
+(shell option is enabled using)3.448 F F2(shopt)3.448 E F0 3.448(,t)C
.948(he source)-3.448 F 1.69(\214le name and line number where each)144
-204 R F2(name)4.19 E F0 1.69(is de\214ned are displayed as well.)4.19 F
-(The)6.69 E F1<ad46>4.19 E F0(option)4.19 E(implies)144 216 Q F1<ad66>
-3.892 E F0 6.392(.T)C(he)-6.392 E F1<ad67>3.892 E F0 1.391
+285.6 R F1(name)4.19 E F0 1.69(is de\214ned are displayed as well.)4.19
+F(The)6.69 E F2<ad46>4.19 E F0(option)4.19 E(implies)144 297.6 Q F2
+<ad66>3.892 E F0 6.392(.T)C(he)-6.392 E F2<ad67>3.892 E F0 1.391
(option forces v)3.892 F 1.391
(ariables to be created or modi\214ed at the global scope, e)-.25 F -.15
-(ve)-.25 G(n).15 E(when)144 228 Q F1(declar)4.382 E(e)-.18 E F0 1.882
+(ve)-.25 G(n).15 E(when)144 309.6 Q F2(declar)4.382 E(e)-.18 E F0 1.882
(is e)4.382 F -.15(xe)-.15 G 1.882(cuted in a shell function.).15 F
1.883(It is ignored in all other cases.)6.882 F 1.883(The follo)6.883 F
-(wing)-.25 E .794(options can be used to restrict output to v)144 240 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 252 Q(utes:)-.2 E F1
-<ad61>144 264 Q F0(Each)180 264 Q 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 276 Q F0(Each)180
-276 Q 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 288 Q F0(Use function names only)180 288 Q(.)-.65
-E F1<ad69>144 300 Q F0 .557(The v)180 300 R .558
+(wing)-.25 E .794(options can be used to restrict output to v)144 321.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 333.6 Q(utes:)-.2 E
+F2<ad61>144 345.6 Q F0(Each)180 345.6 Q 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 357.6 Q
+F0(Each)180 357.6 Q 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 369.6 Q F0(Use function names only)
+180 369.6 Q(.)-.65 E F2<ad69>144 381.6 Q F0 .557(The v)180 381.6 R .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 312 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 324 Q F0 .91
-(When the v)180 324 R .909(ariable is assigned a v)-.25 F .909
+(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 393.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 405.6 Q
+F0 .91(When the v)180 405.6 R .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 336 R
-(upper)2.5 E(-case attrib)-.2 E(ute is disabled.)-.2 E F1<ad6e>144 348 Q
-F0(Gi)180 348 Q 1.619 -.15(ve e)-.25 H(ach).15 E F2(name)3.819 E F0(the)
-3.819 E F2(namer)3.819 E(ef)-.37 E F0(attrib)3.819 E 1.319
+G .909(rted to lo).15 F(wer)-.25 E(-)-.2 E 2.5(case. The)180 417.6 R
+(upper)2.5 E(-case attrib)-.2 E(ute is disabled.)-.2 E F2<ad6e>144 429.6
+Q F0(Gi)180 429.6 Q 1.619 -.15(ve e)-.25 H(ach).15 E F1(name)3.819 E F0
+(the)3.819 E F1(namer)3.819 E(ef)-.37 E F0(attrib)3.819 E 1.319
(ute, making it a name reference to another v)-.2 F(ariable.)-.25 E
-1.519(That other v)180 360 R 1.519(ariable is de\214ned by the v)-.25 F
-1.518(alue of)-.25 F F2(name)4.018 E F0 6.518(.A)C 1.518
-(ll references, assignments, and)-6.518 F(attrib)180 372 Q .226
-(ute modi\214cations to)-.2 F F2(name)2.726 E F0 2.726(,e)C .226
-(xcept those using or changing the)-2.876 F F1<ad6e>2.726 E F0(attrib)
-2.726 E .227(ute itself, are)-.2 F .809(performed on the v)180 384 R
-.809(ariable referenced by)-.25 F F2(name)3.308 E F0 1.908 -.55('s v)D
+1.519(That other v)180 441.6 R 1.519(ariable is de\214ned by the v)-.25
+F 1.518(alue of)-.25 F F1(name)4.018 E F0 6.518(.A)C 1.518
+(ll references, assignments, and)-6.518 F(attrib)180 453.6 Q .226
+(ute modi\214cations to)-.2 F F1(name)2.726 E F0 2.726(,e)C .226
+(xcept those using or changing the)-2.876 F F2<ad6e>2.726 E F0(attrib)
+2.726 E .227(ute itself, are)-.2 F .809(performed on the v)180 465.6 R
+.809(ariable referenced by)-.25 F F1(name)3.308 E F0 1.908 -.55('s v)D
3.308(alue. The).3 F .808(nameref attrib)3.308 F .808(ute cannot be)-.2
-F(applied to array v)180 396 Q(ariables.)-.25 E F1<ad72>144 408 Q F0
-(Mak)180 408 Q(e)-.1 E F2(name)5.046 E F0 5.046(sr)C(eadonly)-5.046 E
+F(applied to array v)180 477.6 Q(ariables.)-.25 E F2<ad72>144 489.6 Q F0
+(Mak)180 489.6 Q(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 420
-Q F1<ad74>144 432 Q F0(Gi)180 432 Q .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 444 Q(The trace attrib)5 E
-(ute has no special meaning for v)-.2 E(ariables.)-.25 E F1<ad75>144 456
-Q F0 .909(When the v)180 456 R .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 468 R(lo)2.5
-E(wer)-.25 E(-case attrib)-.2 E(ute is disabled.)-.2 E F1<ad78>144 480 Q
-F0(Mark)180 480 Q F2(name)2.5 E F0 2.5(sf)C(or e)-2.5 E
+2.547(alues by subsequent)-.25 F(assignment statements or unset.)180
+501.6 Q F2<ad74>144 513.6 Q F0(Gi)180 513.6 Q .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 525.6 Q(The trace attrib)5 E
+(ute has no special meaning for v)-.2 E(ariables.)-.25 E F2<ad75>144
+537.6 Q F0 .909(When the v)180 537.6 R .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 549.6
+R(lo)2.5 E(wer)-.25 E(-case attrib)-.2 E(ute is disabled.)-.2 E F2<ad78>
+144 561.6 Q F0(Mark)180 561.6 Q 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 496.8 R 2.621(ft)-.25 G .121
+(Using `+' instead of `\255' turns of)144 578.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 F1(+a)2.62 E F0 .12(may not be used)2.62 F .644
-(to destro)144 508.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)
+(xceptions that)-.15 F F2(+a)2.62 E F0 .12(may not be used)2.62 F .644
+(to destro)144 590.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)
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(tion,)144 520.8 Q F1
-(declar)2.835 E(e)-.18 E F0(and)2.835 E F1(typeset)2.835 E F0(mak)2.835
-E 2.835(ee)-.1 G(ach)-2.835 E F2(name)2.835 E F0 .335
-(local, as with the)2.835 F F1(local)2.835 E F0 .335
-(command, unless the)2.835 F F1<ad67>2.835 E F0(option)2.835 E 1.282
-(is supplied.)144 532.8 R 1.282(If a v)6.282 F 1.283
-(ariable name is follo)-.25 F 1.283(wed by =)-.25 F F2(value)A F0 3.783
+(ute. When)-.2 F .645(used in a func-)3.145 F(tion,)144 602.4 Q F2
+(declar)2.835 E(e)-.18 E F0(and)2.835 E F2(typeset)2.835 E F0(mak)2.835
+E 2.835(ee)-.1 G(ach)-2.835 E F1(name)2.835 E F0 .335
+(local, as with the)2.835 F F2(local)2.835 E F0 .335
+(command, unless the)2.835 F F2<ad67>2.835 E F0(option)2.835 E 1.282
+(is supplied.)144 614.4 R 1.282(If a v)6.282 F 1.283
+(ariable name is follo)-.25 F 1.283(wed by =)-.25 F F1(value)A F0 3.783
(,t)C 1.283(he v)-3.783 F 1.283(alue of the v)-.25 F 1.283
-(ariable is set to)-.25 F F2(value)3.783 E F0(.)A .927(When using)144
-544.8 R F1<ad61>3.427 E F0(or)3.427 E F1<ad41>3.427 E F0 .926
+(ariable is set to)-.25 F F1(value)3.783 E F0(.)A .927(When using)144
+626.4 R F2<ad61>3.427 E F0(or)3.427 E F2<ad41>3.427 E F0 .926
(and the compound assignment syntax to create array v)3.427 F .926
-(ariables, additional)-.25 F(attrib)144 556.8 Q .592(utes do not tak)-.2
+(ariables, additional)-.25 F(attrib)144 638.4 Q .592(utes do not tak)-.2
F 3.092(ee)-.1 G -.25(ff)-3.092 G .592
(ect until subsequent assignments.).25 F .592(The return v)5.592 F .592
(alue is 0 unless an in)-.25 F -.25(va)-.4 G(lid).25 E .429
(option is encountered, an attempt is made to de\214ne a function using)
-144 568.8 R/F4 10/Courier@0 SF .428(\255f foo=bar)2.929 F F0 2.928(,a)C
+144 650.4 R/F5 10/Courier@0 SF .428(\255f foo=bar)2.929 F F0 2.928(,a)C
2.928(na)-2.928 G .428(ttempt is)-2.928 F .062(made to assign a v)144
-580.8 R .062(alue to a readonly v)-.25 F .063
+662.4 R .062(alue to a readonly v)-.25 F .063
(ariable, an attempt is made to assign a v)-.25 F .063
(alue to an array v)-.25 F(ari-)-.25 E .102
-(able without using the compound assignment syntax \(see)144 592.8 R F1
+(able without using the compound assignment syntax \(see)144 674.4 R F2
(Arrays)2.602 E F0(abo)2.602 E -.15(ve)-.15 G .102(\), one of the).15 F
-F2(names)2.602 E F0 .101(is not a)2.602 F -.25(va)144 604.8 S .171
+F1(names)2.602 E F0 .101(is not a)2.602 F -.25(va)144 686.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 616.8 R 3.46(fa)
+(ariable, an)-.25 F .96(attempt is made to turn of)144 698.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 628.8 Q
-(xistent function with)-.15 E F1<ad66>2.5 E F0(.)A F1
-(dirs [\255clpv] [+)108 645.6 Q F2(n)A F1 2.5(][)C<ad>-2.5 E F2(n)A F1
-(])A F0 -.4(Wi)144 657.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 669.6 R 1.238
-(Directories are added to the list with the)6.238 F F1(pushd)144 681.6 Q
-F0 2.003(command; the)4.503 F F1(popd)4.503 E F0 2.003(command remo)
-4.503 F -.15(ve)-.15 G 4.503(se).15 G 2.003(ntries from the list.)-4.503
-F 2.003(The current directory is)7.003 F(al)144 693.6 Q -.1(wa)-.1 G
-(ys the \214rst directory in the stack.).1 E F1<ad63>144 705.6 Q F0
-(Clears the directory stack by deleting all of the entries.)180 705.6 Q
-F1<ad6c>144 717.6 Q F0 .882
-(Produces a listing using full pathnames; the def)180 717.6 R .881
-(ault listing format uses a tilde to denote)-.1 F(the home directory)180
-729.6 Q(.)-.65 E(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(6)203.725 E
-0 Cg EP
+(ariable, or an attempt is made to display a)-.25 F(non-e)144 710.4 Q
+(xistent function with)-.15 E F2<ad66>2.5 E F0(.)A(GNU Bash 5.0)72 768 Q
+(2004 Apr 20)149.565 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 87.61
(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
-E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF<ad70>144 84 Q F0
-(Print the directory stack with one entry per line.)180 84 Q F1<ad76>144
-96 Q F0 .272(Print the directory stack with one entry per line, pre\214\
-xing each entry with its inde)180 96 R 2.773(xi)-.15 G 2.773(nt)-2.773 G
-(he)-2.773 E(stack.)180 108 Q F1(+)144 120 Q/F2 10/Times-Italic@0 SF(n)A
-F0 1.565(Displays the)180 120 R F2(n)4.065 E F0 1.565
+E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(dirs [\255clpv] [+)
+108 84 Q/F2 10/Times-Italic@0 SF(n)A F1 2.5(][)C<ad>-2.5 E F2(n)A F1(])A
+F0 -.4(Wi)144 96 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 108 R 1.238
+(Directories are added to the list with the)6.238 F F1(pushd)144 120 Q
+F0 2.003(command; the)4.503 F F1(popd)4.503 E F0 2.003(command remo)
+4.503 F -.15(ve)-.15 G 4.503(se).15 G 2.003(ntries from the list.)-4.503
+F 2.003(The current directory is)7.003 F(al)144 132 Q -.1(wa)-.1 G
+(ys the \214rst directory in the stack.).1 E F1<ad63>144 144 Q F0
+(Clears the directory stack by deleting all of the entries.)180 144 Q F1
+<ad6c>144 156 Q F0 .882
+(Produces a listing using full pathnames; the def)180 156 R .881
+(ault listing format uses a tilde to denote)-.1 F(the home directory)180
+168 Q(.)-.65 E F1<ad70>144 180 Q F0
+(Print the directory stack with one entry per line.)180 180 Q F1<ad76>
+144 192 Q F0 .272(Print the directory stack with one entry per line, pr\
+e\214xing each entry with its inde)180 192 R 2.773(xi)-.15 G 2.773(nt)
+-2.773 G(he)-2.773 E(stack.)180 204 Q F1(+)144 216 Q F2(n)A F0 1.565
+(Displays the)180 216 R F2(n)4.065 E F0 1.565
(th entry counting from the left of the list sho)B 1.564(wn by)-.25 F F1
(dirs)4.064 E F0 1.564(when in)4.064 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E
-(without options, starting with zero.)180 132 Q F1<ad>144 144 Q F2(n)A
-F0 1.194(Displays the)180 144 R F2(n)3.694 E F0 1.194
+(without options, starting with zero.)180 228 Q F1<ad>144 240 Q F2(n)A
+F0 1.194(Displays the)180 240 R F2(n)3.694 E F0 1.194
(th entry counting from the right of the list sho)B 1.194(wn by)-.25 F
F1(dirs)3.694 E F0 1.194(when in)3.694 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E
-(without options, starting with zero.)180 156 Q .258(The return v)144
-172.8 R .258(alue is 0 unless an in)-.25 F -.25(va)-.4 G .258
+(without options, starting with zero.)180 252 Q .258(The return v)144
+268.8 R .258(alue is 0 unless an in)-.25 F -.25(va)-.4 G .258
(lid option is supplied or).25 F F2(n)2.758 E F0(inde)2.758 E -.15(xe)
-.15 G 2.758(sb).15 G -.15(ey)-2.758 G .258(ond the end of the direc-)
-.15 F(tory stack.)144 184.8 Q F1(diso)108 201.6 Q(wn)-.1 E F0([)2.5 E F1
+.15 F(tory stack.)144 280.8 Q F1(diso)108 297.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 F2(pid)2.5 E F0(... ])2.5 E -.4(Wi)144 213.6 S .121
+(... |)2.5 E F2(pid)2.5 E F0(... ])2.5 E -.4(Wi)144 309.6 S .121
(thout options, remo).4 F .422 -.15(ve e)-.15 H(ach).15 E F2(jobspec)
4.362 E F0 .122(from the table of acti)2.932 F .422 -.15(ve j)-.25 H
2.622(obs. If).15 F F2(jobspec)4.362 E F0 .122(is not present, and)2.932
-F .096(neither the)144 225.6 R F1<ad61>2.596 E F0 .096(nor the)2.596 F
+F .096(neither the)144 321.6 R F1<ad61>2.596 E F0 .096(nor the)2.596 F
F1<ad72>2.596 E F0 .096(option is supplied, the)2.596 F F2(curr)2.596 E
.096(ent job)-.37 F F0 .096(is used.)2.596 F .096(If the)5.096 F F1
<ad68>2.596 E F0 .096(option is gi)2.596 F -.15(ve)-.25 G .096(n, each)
-.15 F F2(jobspec)145.74 237.6 Q F0 .585(is not remo)3.395 F -.15(ve)-.15
+.15 F F2(jobspec)145.74 333.6 Q F0 .585(is not remo)3.395 F -.15(ve)-.15
G 3.085(df).15 G .585(rom the table, b)-3.085 F .585(ut is mark)-.2 F
.585(ed so that)-.1 F/F3 9/Times-Bold@0 SF(SIGHUP)3.085 E F0 .586
-(is not sent to the job if the)2.835 F .962(shell recei)144 249.6 R -.15
+(is not sent to the job if the)2.835 F .962(shell recei)144 345.6 R -.15
(ve)-.25 G 3.462(sa).15 G F3(SIGHUP)A/F4 9/Times-Roman@0 SF(.)A F0 .962
(If no)5.462 F F2(jobspec)5.202 E F0 .962(is supplied, the)3.772 F F1
<ad61>3.462 E F0 .962(option means to remo)3.462 F 1.262 -.15(ve o)-.15
-H 3.462(rm).15 G .962(ark all)-3.462 F 1.358(jobs; the)144 261.6 R F1
+H 3.462(rm).15 G .962(ark all)-3.462 F 1.358(jobs; the)144 357.6 R F1
<ad72>3.858 E F0 1.358(option without a)3.858 F F2(jobspec)5.598 E F0
(ar)4.169 E 1.359(gument restricts operation to running jobs.)-.18 F
-1.359(The return)6.359 F -.25(va)144 273.6 S(lue is 0 unless a).25 E F2
+1.359(The return)6.359 F -.25(va)144 369.6 S(lue 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 290.4 Q F0([)2.5 E F1(\255neE)A F0 2.5(][)C F2(ar)-2.5 E(g)
--.37 E F0(...])2.5 E .425(Output the)144 302.4 R F2(ar)2.925 E(g)-.37 E
+F1(echo)108 386.4 Q F0([)2.5 E F1(\255neE)A F0 2.5(][)C F2(ar)-2.5 E(g)
+-.37 E F0(...])2.5 E .425(Output the)144 398.4 R F2(ar)2.925 E(g)-.37 E
F0 .424(s, separated by spaces, follo)B .424(wed by a ne)-.25 F 2.924
(wline. The)-.25 F .424(return status is 0 unless a write)2.924 F .307
-(error occurs.)144 314.4 R(If)5.307 E F1<ad6e>2.807 E F0 .307
+(error occurs.)144 410.4 R(If)5.307 E F1<ad6e>2.807 E F0 .307
(is speci\214ed, the trailing ne)2.807 F .308(wline is suppressed.)-.25
F .308(If the)5.308 F F1<ad65>2.808 E F0 .308(option is gi)2.808 F -.15
(ve)-.25 G .308(n, inter).15 F(-)-.2 E 1.349(pretation of the follo)144
-326.4 R 1.348(wing backslash-escaped characters is enabled.)-.25 F(The)
+422.4 R 1.348(wing backslash-escaped characters is enabled.)-.25 F(The)
6.348 E F1<ad45>3.848 E F0 1.348(option disables the)3.848 F 1.054
-(interpretation of these escape characters, e)144 338.4 R -.15(ve)-.25 G
+(interpretation of these escape characters, e)144 434.4 R -.15(ve)-.25 G
3.555(no).15 G 3.555(ns)-3.555 G 1.055(ystems where the)-3.555 F 3.555
(ya)-.15 G 1.055(re interpreted by def)-3.555 F(ault.)-.1 E(The)144
-350.4 Q F1(xpg_echo)3.459 E F0 .959
+446.4 Q F1(xpg_echo)3.459 E F0 .959
(shell option may be used to dynamically determine whether or not)3.459
F F1(echo)3.458 E F0 -.15(ex)3.458 G(pands).15 E .715
-(these escape characters by def)144 362.4 R(ault.)-.1 E F1(echo)5.715 E
+(these escape characters by def)144 458.4 R(ault.)-.1 E F1(echo)5.715 E
F0 .716(does not interpret)3.215 F F1<adad>3.216 E F0 .716
(to mean the end of options.)3.216 F F1(echo)5.716 E F0
-(interprets the follo)144 374.4 Q(wing escape sequences:)-.25 E F1(\\a)
-144 386.4 Q F0(alert \(bell\))180 386.4 Q F1(\\b)144 398.4 Q F0
-(backspace)180 398.4 Q F1(\\c)144 410.4 Q F0(suppress further output)180
-410.4 Q F1(\\e)144 422.4 Q(\\E)144 434.4 Q F0(an escape character)180
-434.4 Q F1(\\f)144 446.4 Q F0(form feed)180 446.4 Q F1(\\n)144 458.4 Q
-F0(ne)180 458.4 Q 2.5(wl)-.25 G(ine)-2.5 E F1(\\r)144 470.4 Q F0
-(carriage return)180 470.4 Q F1(\\t)144 482.4 Q F0(horizontal tab)180
-482.4 Q F1(\\v)144 494.4 Q F0 -.15(ve)180 494.4 S(rtical tab).15 E F1
-(\\\\)144 506.4 Q F0(backslash)180 506.4 Q F1(\\0)144 518.4 Q F2(nnn)A
-F0(the eight-bit character whose v)180 518.4 Q(alue is the octal v)-.25
+(interprets the follo)144 470.4 Q(wing escape sequences:)-.25 E F1(\\a)
+144 482.4 Q F0(alert \(bell\))180 482.4 Q F1(\\b)144 494.4 Q F0
+(backspace)180 494.4 Q F1(\\c)144 506.4 Q F0(suppress further output)180
+506.4 Q F1(\\e)144 518.4 Q(\\E)144 530.4 Q F0(an escape character)180
+530.4 Q F1(\\f)144 542.4 Q F0(form feed)180 542.4 Q F1(\\n)144 554.4 Q
+F0(ne)180 554.4 Q 2.5(wl)-.25 G(ine)-2.5 E F1(\\r)144 566.4 Q F0
+(carriage return)180 566.4 Q F1(\\t)144 578.4 Q F0(horizontal tab)180
+578.4 Q F1(\\v)144 590.4 Q F0 -.15(ve)180 590.4 S(rtical tab).15 E F1
+(\\\\)144 602.4 Q F0(backslash)180 602.4 Q F1(\\0)144 614.4 Q F2(nnn)A
+F0(the eight-bit character whose v)180 614.4 Q(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 530.4 Q F2(HH)A F0(the eight-bit character whose v)180 530.4 Q
+(\\x)144 626.4 Q F2(HH)A F0(the eight-bit character whose v)180 626.4 Q
(alue is the he)-.25 E(xadecimal v)-.15 E(alue)-.25 E F2(HH)2.5 E F0
(\(one or tw)2.5 E 2.5(oh)-.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E F1
-(\\u)144 542.4 Q F2(HHHH)A F0 1.507
-(the Unicode \(ISO/IEC 10646\) character whose v)180 554.4 R 1.506
+(\\u)144 638.4 Q F2(HHHH)A F0 1.507
+(the Unicode \(ISO/IEC 10646\) character whose v)180 650.4 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 566.4 Q 2.5(xd)-.15 G(igits\))-2.5 E F1
-(\\U)144 578.4 Q F2(HHHHHHHH)A F0 .547
-(the Unicode \(ISO/IEC 10646\) character whose v)180 590.4 R .547
+4.006 E F0(\(one to four he)180 662.4 Q 2.5(xd)-.15 G(igits\))-2.5 E F1
+(\\U)144 674.4 Q F2(HHHHHHHH)A F0 .547
+(the Unicode \(ISO/IEC 10646\) character whose v)180 686.4 R .547
(alue is the he)-.25 F .548(xadecimal v)-.15 F(alue)-.25 E F2(HHHHH-)
-3.048 E(HHH)180 602.4 Q F0(\(one to eight he)2.5 E 2.5(xd)-.15 G
-(igits\))-2.5 E F1(enable)108 619.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 631.2 R
-.278(uiltin shell commands.)-.2 F .278(Disabling a b)5.278 F .278
+3.048 E(HHH)180 698.4 Q F0(\(one to eight he)2.5 E 2.5(xd)-.15 G
+(igits\))-2.5 E(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 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 87.61
+(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
+E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(enable)108 84 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 10/Times-Italic@0 SF(\214lename)2.5 E F0 2.5(][)C F2(name)-2.5 E F0
+(...])2.5 E .278(Enable and disable b)144 96 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 643.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 655.2 R .989
+(the same name as a shell b)144 108 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 120 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 667.2 R F2(names)4.082 E F0 1.582(are enabled.)
+(abled; otherwise,)144 132 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 679.2 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 691.2 S 1.524
+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 144 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 156 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 703.2 Q F1<ad64>
+(ystems that support dynamic loading.)-4.024 F(The)144 168 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 715.2 R F1<ad70>
+-.18 F -.15(ve)-.25 G .366(n, or).15 F .398(if the)144 180 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
-727.2 R 2.598(uiltins. If)-.2 F F1<ad6e>2.598 E F0 .098
+192 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(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565
-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 87.61
-(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
-E(UIL)-.1 E(TINS\(1\))-.92 E 1.916
-(is supplied, the list printed includes all b)144 84 R 1.916
+(If)5.098 E F1<ad61>2.598 E F0 1.916
+(is supplied, the list printed includes all b)144 204 R 1.916
(uiltins, with an indication of whether or not each is)-.2 F 2.879
-(enabled. If)144 96 R/F1 10/Times-Bold@0 SF<ad73>2.879 E F0 .379
-(is supplied, the output is restricted to the POSIX)2.879 F/F2 10
-/Times-Italic@0 SF(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 108 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 120 Q F1 -2.3 -.15(ev a)108
-136.8 T(l).15 E F0([)2.5 E F2(ar)A(g)-.37 E F0(...])2.5 E(The)144 148.8
-Q F2(ar)3.171 E(g)-.37 E F0 3.171(sa)C .671
+(enabled. If)144 216 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 228 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 240
+Q F1 -2.3 -.15(ev a)108 256.8 T(l).15 E F0([)2.5 E F2(ar)A(g)-.37 E F0
+(...])2.5 E(The)144 268.8 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 160.8 R -.15(xe)-.15 G
+(This command is then read)5.67 F .495(and e)144 280.8 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 172.8 Q
+-2.995 F F2(ar)2.995 E(gs)-.37 E F0(,).27 E(or only null ar)144 292.8 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 189.6 Q F0([)2.5 E F1(\255cl)A F0 2.5(][)C F1<ad61>-2.5 E F2
+(exec)108 309.6 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 201.6 Q F2(command)3.006 E F0 .306
+-.37 E F0(]])A(If)144 321.6 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 213.6 R .176
+(guments)-.37 E F0(become)3.075 E .176(the ar)144 333.6 R .176
(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 225.6 R .5(gument passed to)-.18
+(ginning of)-.15 F .5(the zeroth ar)144 345.6 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 237.6 Q F0 .638
+.499(option causes)2.999 F F2(com-)3.199 E(mand)144 357.6 Q F0 .638
(to be e)3.908 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 249.6 R 1.077(gument to the e)-.18 F -.15
+3.319 F 1.078(zeroth ar)144 369.6 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 261.6 Q .876 -.15(ve s)-.25 H .576(hell e).15 F
+.15 F(non-interacti)144 381.6 Q .876 -.15(ve s)-.25 H .576(hell e).15 F
.576(xits, unless the)-.15 F F1(execfail)3.076 E F0 .577
(shell option is enabled.)3.077 F .577(In that case, it returns f)5.577
-F(ail-)-.1 E 3.32(ure. An)144 273.6 R(interacti)3.32 E 1.12 -.15(ve s)
+F(ail-)-.1 E 3.32(ure. An)144 393.6 R(interacti)3.32 E 1.12 -.15(ve s)
-.25 H .82(hell returns f).15 F .82(ailure if the \214le cannot be e)-.1
F -.15(xe)-.15 G 3.32(cuted. A).15 F .82(subshell e)3.32 F .82
-(xits uncondi-)-.15 F .287(tionally if)144 285.6 R F1(exec)2.787 E F0
+(xits uncondi-)-.15 F .287(tionally if)144 405.6 R F1(exec)2.787 E F0
-.1(fa)2.787 G 2.787(ils. If).1 F F2(command)2.987 E F0 .287
(is not speci\214ed, an)3.557 F 2.788(yr)-.15 G .288(edirections tak)
-2.788 F 2.788(ee)-.1 G -.25(ff)-2.788 G .288(ect in the current shell,)
-.25 F(and the return status is 0.)144 297.6 Q
+.25 F(and the return status is 0.)144 417.6 Q
(If there is a redirection error)5 E 2.5(,t)-.4 G
-(he return status is 1.)-2.5 E F1(exit)108 314.4 Q F0([)2.5 E F2(n)A F0
-(])A .096(Cause the shell to e)144 314.4 R .096(xit with a status of)
+(he return status is 1.)-2.5 E F1(exit)108 434.4 Q F0([)2.5 E F2(n)A F0
+(])A .096(Cause the shell to e)144 434.4 R .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 326.4 S 2.5(cuted. A).15 F(trap on)2.5 E/F3 9
-/Times-Bold@0 SF(EXIT)2.5 E F0(is e)2.25 E -.15(xe)-.15 G
-(cuted before the shell terminates.).15 E F1(export)108 343.2 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 355.2 Q F0 .256(The supplied)144 367.2 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 379.2 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 391.2 Q F0 .048
-(option is supplied, a list of names of all e)2.547 F .048(xported v)
--.15 F .048(ariables is printed.)-.25 F(The)5.048 E F1<ad6e>2.548 E F0
-.048(option causes the)2.548 F -.15(ex)144 403.2 S 1.447
-(port property to be remo).15 F -.15(ve)-.15 G 3.947(df).15 G 1.447
+-.15 F -.15(exe)144 446.4 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 463.2 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 475.2 Q
+F0 .256(The supplied)144 487.2 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 499.2 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 511.2 Q F0 .048(option is supplied, a list of names of all e)2.547 F
+.048(xported v)-.15 F .048(ariables is printed.)-.25 F(The)5.048 E F1
+<ad6e>2.548 E F0 .048(option causes the)2.548 F -.15(ex)144 523.2 S
+1.447(port property to be remo).15 F -.15(ve)-.15 G 3.947(df).15 G 1.447
(rom each)-3.947 F F2(name)3.947 E F0 6.447(.I)C 3.947(fav)-6.447 G
1.447(ariable name is follo)-4.197 F 1.447(wed by =)-.25 F F2(wor)A(d)
--.37 E F0 3.946(,t)C(he)-3.946 E -.25(va)144 415.2 S .741(lue of the v)
+-.37 E F0 3.946(,t)C(he)-3.946 E -.25(va)144 535.2 S .741(lue of the v)
.25 F .741(ariable is set to)-.25 F F2(wor)3.241 E(d)-.37 E F0(.)A F1
(export)5.741 E F0 .742(returns an e)3.242 F .742
(xit status of 0 unless an in)-.15 F -.25(va)-.4 G .742(lid option is)
-.25 F .032(encountered, one of the)144 427.2 R F2(names)2.532 E F0 .032
+.25 F .032(encountered, one of the)144 547.2 R F2(names)2.532 E F0 .032
(is not a v)2.532 F .032(alid shell v)-.25 F .032(ariable name, or)-.25
F F1<ad66>2.531 E F0 .031(is supplied with a)2.531 F F2(name)2.891 E F0
-(that)2.711 E(is not a function.)144 439.2 Q F1(fc)108 456 Q F0([)2.5 E
+(that)2.711 E(is not a function.)144 559.2 Q F1(fc)108 576 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
-468 Q F0([)2.5 E F2(pat)A F0(=)A F2 -.37(re)C(p).37 E F0 2.5(][)C F2
+588 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 .431
-(The \214rst form selects a range of commands from)144 480 R F2<8c72>
+(The \214rst form selects a range of commands from)144 600 R F2<8c72>
4.842 E(st)-.1 E F0(to)3.612 E F2(last)3.022 E F0 .432
(from the history list and displays or)3.612 F .142(edits and re-e)144
-492 R -.15(xe)-.15 G .142(cutes them.).15 F F2 -.45(Fi)5.141 G -.1(rs)
+612 R -.15(xe)-.15 G .142(cutes them.).15 F F2 -.45(Fi)5.141 G -.1(rs)
.45 G(t).1 E F0(and)3.321 E F2(last)2.731 E F0 .141
(may be speci\214ed as a string \(to locate the last command)3.321 F(be)
-144 504 Q .31(ginning with that string\) or as a number \(an inde)-.15 F
+144 624 Q .31(ginning with that string\) or as a number \(an inde)-.15 F
2.811(xi)-.15 G .311(nto the history list, where a ne)-2.811 F -.05(ga)
-.15 G(ti).05 E .611 -.15(ve n)-.25 H(umber).15 E .19(is used as an of)
-144 516 R .19(fset from the current command number\).)-.25 F(If)5.19 E
+144 636 R .19(fset from the current command number\).)-.25 F(If)5.19 E
F2(last)2.779 E F0 .189(is not speci\214ed, it is set to the cur)3.369 F
-(-)-.2 E .948(rent command for listing \(so that)144 528 R/F4 10
-/Courier@0 SF .948(fc \255l \25510)3.448 F F0 .948
-(prints the last 10 commands\) and to)3.448 F F2<8c72>5.359 E(st)-.1 E
-F0(other)4.129 E(-)-.2 E 2.5(wise. If)144 540 R F2<8c72>4.41 E(st)-.1 E
-F0(is not speci\214ed, it is set to the pre)3.18 E
-(vious command for editing and \25516 for listing.)-.25 E(The)144 564 Q
+(-)-.2 E .948(rent command for listing \(so that)144 648 R F4 .948
+(fc \255l \25510)3.448 F F0 .948(prints the last 10 commands\) and to)
+3.448 F F2<8c72>5.359 E(st)-.1 E F0(other)4.129 E(-)-.2 E 2.5(wise. If)
+144 660 R F2<8c72>4.41 E(st)-.1 E F0
+(is not speci\214ed, it is set to the pre)3.18 E
+(vious command for editing and \25516 for listing.)-.25 E(The)144 684 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 576 R .438(If the)5.438
+(rses the order of).15 F .438(the commands.)144 696 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 588 R -.15(ve)-.25 G 2.835(nb).15 G(y)-2.835 E F2
+.335(the editor gi)144 708 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 600 R .63(alue of the)-.25 F F3(FCEDIT)3.13 E F0
--.25(va)2.88 G .631(riable is used, and the v).25 F .631(alue of)-.25 F
-F3(EDIT)3.131 E(OR)-.162 E F0(if)2.881 E F3(FCEDIT)3.131 E F0 .631
-(is not set.)2.881 F .631(If nei-)5.631 F .951(ther v)144 612 R .951
-(ariable is set,)-.25 F F2(vi)5.117 E F0 .951(is used.)5.117 F .95
-(When editing is complete, the edited commands are echoed and)5.951 F
--.15(exe)144 624 S(cuted.).15 E .788(In the second form,)144 648 R F2
-(command)3.288 E F0 .788(is re-e)3.288 F -.15(xe)-.15 G .788
-(cuted after each instance of).15 F F2(pat)3.288 E F0 .788
-(is replaced by)3.288 F F2 -.37(re)3.289 G(p).37 E F0(.)A F2(Com-)5.789
-E(mand)144 660 Q F0 .172(is interpreted the same as)2.672 F F2<8c72>
-2.672 E(st)-.1 E F0(abo)2.672 E -.15(ve)-.15 G 5.172(.A).15 G .171
-(useful alias to use with this is)-2.5 F F4 .171(r='fc \255s')2.671 F F0
-2.671(,s)C 2.671(ot)-2.671 G(hat)-2.671 E(typing)144 672 Q F4 7.165(rc)
-3.665 G(c)-7.165 E F0 1.165(runs the last command be)3.665 F 1.166
-(ginning with)-.15 F F4(cc)3.666 E F0 1.166(and typing)3.666 F F4(r)
-3.666 E F0(re-e)3.666 E -.15(xe)-.15 G 1.166(cutes the last com-).15 F
-(mand.)144 684 Q .142(If the \214rst form is used, the return v)144 708
-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 .454(specify history lines out of range.)144 720 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(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(8)
-203.725 E 0 Cg EP
+(n,).15 E 1.668(the v)144 720 R 1.668(alue of the)-.25 F F3(FCEDIT)4.168
+E F0 -.25(va)3.918 G 1.668(riable is used, and the v).25 F 1.669
+(alue of)-.25 F F3(EDIT)4.169 E(OR)-.162 E F0(if)3.919 E F3(FCEDIT)4.169
+E F0 1.669(is not set.)3.919 F(If)6.669 E(GNU Bash 5.0)72 768 Q
+(2004 Apr 20)149.565 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 87.61
(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
-E(UIL)-.1 E(TINS\(1\))-.92 E .788(last command e)144 84 R -.15(xe)-.15 G
-.788(cuted or f).15 F .787
+E(UIL)-.1 E(TINS\(1\))-.92 E .187(neither v)144 84 R .187
+(ariable is set,)-.25 F/F1 10/Times-Italic@0 SF(vi)4.353 E F0 .187
+(is used.)4.353 F .187
+(When editing is complete, the edited commands are echoed and)5.187 F
+-.15(exe)144 96 S(cuted.).15 E .788(In the second form,)144 120 R F1
+(command)3.288 E F0 .788(is re-e)3.288 F -.15(xe)-.15 G .788
+(cuted after each instance of).15 F F1(pat)3.288 E F0 .788
+(is replaced by)3.288 F F1 -.37(re)3.289 G(p).37 E F0(.)A F1(Com-)5.789
+E(mand)144 132 Q F0 .172(is interpreted the same as)2.672 F F1<8c72>
+2.672 E(st)-.1 E F0(abo)2.672 E -.15(ve)-.15 G 5.172(.A).15 G .171
+(useful alias to use with this is)-2.5 F/F2 10/Courier@0 SF .171
+(r='fc \255s')2.671 F F0 2.671(,s)C 2.671(ot)-2.671 G(hat)-2.671 E
+(typing)144 144 Q F2 7.165(rc)3.665 G(c)-7.165 E F0 1.165
+(runs the last command be)3.665 F 1.166(ginning with)-.15 F F2(cc)3.666
+E F0 1.166(and typing)3.666 F F2(r)3.666 E F0(re-e)3.666 E -.15(xe)-.15
+G 1.166(cutes the last com-).15 F(mand.)144 156 Q .142
+(If the \214rst form is used, the return v)144 180 R .142
+(alue is 0 unless an in)-.25 F -.25(va)-.4 G .142
+(lid option is encountered or).25 F F1<8c72>4.552 E(st)-.1 E F0(or)3.322
+E F1(last)2.732 E F0 .454(specify history lines out of range.)144 192 R
+.454(If the)5.454 F/F3 10/Times-Bold@0 SF<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 204 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
.787(If the)5.787 F 1.135
(second form is used, the return status is that of the command re-e)144
-96 R -.15(xe)-.15 G 1.136(cuted, unless).15 F/F1 10/Times-Italic@0 SF
-(cmd)3.836 E F0 1.136(does not)4.406 F(specify a v)144 108 Q
-(alid history line, in which case)-.25 E/F2 10/Times-Bold@0 SF(fc)2.5 E
-F0(returns f)2.5 E(ailure.)-.1 E F2(fg)108 124.8 Q F0([)2.5 E F1
-(jobspec)A F0(])A(Resume)144 136.8 Q F1(jobspec)5.654 E F0 1.413
-(in the fore)4.224 F 1.413(ground, and mak)-.15 F 3.913(ei)-.1 G 3.913
-(tt)-3.913 G 1.413(he current job)-3.913 F 6.413(.I)-.4 G(f)-6.413 E F1
-(jobspec)5.653 E F0 1.413(is not present, the)4.223 F(shell')144 148.8 Q
-3.116(sn)-.55 G .616(otion of the)-3.116 F F1(curr)3.116 E .616(ent job)
--.37 F F0 .617(is used.)3.116 F .617(The return v)5.617 F .617
-(alue is that of the command placed into the)-.25 F(fore)144 160.8 Q
+216 R -.15(xe)-.15 G 1.136(cuted, unless).15 F F1(cmd)3.836 E F0 1.136
+(does not)4.406 F(specify a v)144 228 Q
+(alid history line, in which case)-.25 E F3(fc)2.5 E F0(returns f)2.5 E
+(ailure.)-.1 E F3(fg)108 244.8 Q F0([)2.5 E F1(jobspec)A F0(])A(Resume)
+144 256.8 Q F1(jobspec)5.654 E F0 1.413(in the fore)4.224 F 1.413
+(ground, and mak)-.15 F 3.913(ei)-.1 G 3.913(tt)-3.913 G 1.413
+(he current job)-3.913 F 6.413(.I)-.4 G(f)-6.413 E F1(jobspec)5.653 E F0
+1.413(is not present, the)4.223 F(shell')144 268.8 Q 3.116(sn)-.55 G
+.616(otion of the)-3.116 F F1(curr)3.116 E .616(ent job)-.37 F F0 .617
+(is used.)3.116 F .617(The return v)5.617 F .617
+(alue is that of the command placed into the)-.25 F(fore)144 280.8 Q
.363(ground, or f)-.15 F .363
(ailure if run when job control is disabled or)-.1 F 2.862(,w)-.4 G .362
-(hen run with job control enabled, if)-2.862 F F1(jobspec)145.74 172.8 Q
+(hen run with job control enabled, if)-2.862 F F1(jobspec)145.74 292.8 Q
F0(does not specify a v)2.81 E(alid job or)-.25 E F1(jobspec)4.24 E F0
(speci\214es a job that w)2.81 E(as started without job control.)-.1 E
-F2(getopts)108 189.6 Q F1(optstring name)2.5 E F0([)2.5 E F1(ar)A(gs)
--.37 E F0(])A F2(getopts)144 201.6 Q F0 .793
+F3(getopts)108 309.6 Q F1(optstring name)2.5 E F0([)2.5 E F1(ar)A(gs)
+-.37 E F0(])A F3(getopts)144 321.6 Q F0 .793
(is used by shell procedures to parse positional parameters.)3.293 F F1
(optstring)6.023 E F0 .793(contains the option)3.513 F .15
-(characters to be recognized; if a character is follo)144 213.6 R .149
+(characters to be recognized; if a character is follo)144 333.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 225.6 Q .578
+-.15(ve a)-.2 H(n).15 E(ar)144 345.6 Q .578
(gument, which should be separated from it by white space.)-.18 F .579
(The colon and question mark char)5.579 F(-)-.2 E 1.665
-(acters may not be used as option characters.)144 237.6 R 1.665
-(Each time it is in)6.665 F -.2(vo)-.4 G -.1(ke).2 G(d,).1 E F2(getopts)
+(acters may not be used as option characters.)144 357.6 R 1.665
+(Each time it is in)6.665 F -.2(vo)-.4 G -.1(ke).2 G(d,).1 E F3(getopts)
4.165 E F0 1.665(places the ne)4.165 F(xt)-.15 E .796
-(option in the shell v)144 249.6 R(ariable)-.25 E F1(name)3.296 E F0
+(option in the shell v)144 369.6 R(ariable)-.25 E F1(name)3.296 E F0
3.296(,i).18 G(nitializing)-3.296 E F1(name)3.657 E F0 .797
(if it does not e)3.477 F .797(xist, and the inde)-.15 F 3.297(xo)-.15 G
-3.297(ft)-3.297 G .797(he ne)-3.297 F(xt)-.15 E(ar)144 261.6 Q .085
-(gument to be processed into the v)-.18 F(ariable)-.25 E/F3 9
-/Times-Bold@0 SF(OPTIND)2.585 E/F4 9/Times-Roman@0 SF(.)A F3(OPTIND)
+3.297(ft)-3.297 G .797(he ne)-3.297 F(xt)-.15 E(ar)144 381.6 Q .085
+(gument to be processed into the v)-.18 F(ariable)-.25 E/F4 9
+/Times-Bold@0 SF(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 273.6 R -.2(vo)-.4 G -.1(ke).2 G 3.345
-(d. When).1 F .845(an option requires an ar)3.345 F(gument,)-.18 E F2
+(or a shell script is in)144 393.6 R -.2(vo)-.4 G -.1(ke).2 G 3.345
+(d. When).1 F .845(an option requires an ar)3.345 F(gument,)-.18 E F3
(getopts)3.346 E F0 .846(places that ar)3.346 F(gument)-.18 E .804
-(into the v)144 285.6 R(ariable)-.25 E F3(OPT)3.304 E(ARG)-.81 E F4(.)A
-F0 .803(The shell does not reset)5.304 F F3(OPTIND)3.303 E F0 .803
+(into the v)144 405.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 297.6 R F2(getopts)2.793 E F0 .293
+(reset between multiple calls to)144 417.6 R F3(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 309.6
-Q 2.044(When the end of options is encountered,)144 333.6 R F2(getopts)
+2.793(ws)-.25 G .294(et of parameters)-2.793 F(is to be used.)144 429.6
+Q 2.044(When the end of options is encountered,)144 453.6 R F3(getopts)
4.543 E F0 -.15(ex)4.543 G 2.043(its with a return v).15 F 2.043
-(alue greater than zero.)-.25 F F3(OPTIND)144 345.6 Q F0
+(alue greater than zero.)-.25 F F4(OPTIND)144 465.6 Q F0
(is set to the inde)2.25 E 2.5(xo)-.15 G 2.5(ft)-2.5 G
(he \214rst non-option ar)-2.5 E(gument, and)-.18 E F1(name)2.5 E F0
-(is set to ?.)2.5 E F2(getopts)144 369.6 Q F0 2.392
+(is set to ?.)2.5 E F3(getopts)144 489.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 F1(ar)4.893 E(gs)-.37 E F0(,).27 E F2(getopts)144
-381.6 Q F0(parses those instead.)2.5 E F2(getopts)144 405.6 Q F0 1.166
+(ni).15 G(n)-4.893 E F1(ar)4.893 E(gs)-.37 E F0(,).27 E F3(getopts)144
+501.6 Q F0(parses those instead.)2.5 E F3(getopts)144 525.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 F1(optstring)3.895 E F0 1.165
(is a colon,)3.885 F F1(silent)4.005 E F0(error)4.345 E 1.07
-(reporting is used.)144 417.6 R 1.071
+(reporting is used.)144 537.6 R 1.071
(In normal operation, diagnostic messages are printed when in)6.07 F
-.25(va)-.4 G 1.071(lid options or).25 F .394(missing option ar)144
-429.6 R .394(guments are encountered.)-.18 F .394(If the v)5.394 F
-(ariable)-.25 E F3(OPTERR)2.894 E F0 .394
-(is set to 0, no error messages)2.644 F(will be displayed, e)144 441.6 Q
+549.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 561.6 Q
-.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G(he \214rst character of)-2.5 E
-F1(optstring)2.73 E F0(is not a colon.)2.72 E .666(If an in)144 465.6 R
--.25(va)-.4 G .666(lid option is seen,).25 F F2(getopts)3.166 E F0 .667
+F1(optstring)2.73 E F0(is not a colon.)2.72 E .666(If an in)144 585.6 R
+-.25(va)-.4 G .666(lid option is seen,).25 F F3(getopts)3.166 E F0 .667
(places ? into)3.167 F F1(name)3.527 E F0 .667
(and, if not silent, prints an error message)3.347 F .4(and unsets)144
-477.6 R F3(OPT)2.9 E(ARG)-.81 E F4(.)A F0(If)4.899 E F2(getopts)2.899 E
-F0 .399(is silent, the option character found is placed in)2.899 F F3
+597.6 R F4(OPT)2.9 E(ARG)-.81 E F5(.)A F0(If)4.899 E F3(getopts)2.899 E
+F0 .399(is silent, the option character found is placed in)2.899 F F4
(OPT)2.899 E(ARG)-.81 E F0 .399(and no)2.649 F
-(diagnostic message is printed.)144 489.6 Q 1.241(If a required ar)144
-513.6 R 1.241(gument is not found, and)-.18 F F2(getopts)3.741 E F0
-1.241(is not silent, a question mark \()3.741 F F2(?).833 E F0 3.742
-(\)i).833 G 3.742(sp)-3.742 G 1.242(laced in)-3.742 F F1(name)144 525.6
-Q F0(,).18 E F3(OPT)2.735 E(ARG)-.81 E F0 .234
-(is unset, and a diagnostic message is printed.)2.485 F(If)5.234 E F2
-(getopts)2.734 E F0 .234(is silent, then a colon \()2.734 F F2(:).833 E
-F0(\)).833 E(is placed in)144 537.6 Q F1(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 F2
-(getopts)144 561.6 Q F0 .902
+(diagnostic message is printed.)144 609.6 Q 1.241(If a required ar)144
+633.6 R 1.241(gument is not found, and)-.18 F F3(getopts)3.741 E F0
+1.241(is not silent, a question mark \()3.741 F F3(?).833 E F0 3.742
+(\)i).833 G 3.742(sp)-3.742 G 1.242(laced in)-3.742 F F1(name)144 645.6
+Q F0(,).18 E F4(OPT)2.735 E(ARG)-.81 E F0 .234
+(is unset, and a diagnostic message is printed.)2.485 F(If)5.234 E F3
+(getopts)2.734 E F0 .234(is silent, then a colon \()2.734 F F3(:).833 E
+F0(\)).833 E(is placed in)144 657.6 Q F1(name)2.86 E F0(and)2.68 E F4
+(OPT)2.5 E(ARG)-.81 E F0(is set to the option character found.)2.25 E F3
+(getopts)144 681.6 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 573.6 Q F2(hash)108
-590.4 Q F0([)2.5 E F2(\255lr)A F0 2.5(][)C F2<ad70>-2.5 E F1(\214lename)
-2.5 E F0 2.5(][)C F2(\255dt)-2.5 E F0 2.5(][)C F1(name)-2.5 E F0(])A
-.858(Each time)144 602.4 R F2(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 F1(name)
-3.718 E F0 .858(is determined by searching)3.538 F .956
-(the directories in)144 614.4 R F2($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 .243(If the)144 626.4
-R F2<ad70>2.743 E F0 .243
-(option is supplied, no path search is performed, and)2.743 F F1
-(\214lename)4.653 E F0 .242(is used as the full \214lename)2.923 F 1.711
-(of the command.)144 638.4 R(The)6.711 E F2<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 F2<ad64>4.212 E F0
-.833(option causes the shell to for)144 650.4 R .833
-(get the remembered location of each)-.18 F F1(name)3.333 E F0 5.833(.I)
-C 3.333(ft)-5.833 G(he)-3.333 E F2<ad74>3.333 E F0 .833(option is sup-)
-3.333 F .703(plied, the full pathname to which each)144 662.4 R F1(name)
-3.204 E F0 .704(corresponds is printed.)3.204 F .704(If multiple)5.704 F
-F1(name)3.204 E F0(ar)3.204 E(guments)-.18 E .795(are supplied with)144
-674.4 R F2<ad74>3.295 E F0 3.295(,t)C(he)-3.295 E F1(name)3.295 E F0
-.795(is printed before the hashed full pathname.)3.295 F(The)5.795 E F2
-<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
-686.4 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 698.4 Q F2<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 710.4 Q F1(name)2.86
-E F0(is not found or an in)2.68 E -.25(va)-.4 G(lid option is supplied.)
-.25 E(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(9)203.725 E 0 Cg EP
+(options is encountered or an error occurs.)144 693.6 Q(GNU Bash 5.0)72
+768 Q(2004 Apr 20)149.565 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 87.61
(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
-E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(help)108 84 Q F0([)
-2.5 E F1(\255dms)A F0 2.5(][)C/F2 10/Times-Italic@0 SF(pattern)-2.5 E F0
-(])A .866(Display helpful information about b)144 96 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
-108 R F2(pattern)2.807 E F0 2.807(;o).24 G .307
+E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(hash)108 84 Q F0([)
+2.5 E F1(\255lr)A F0 2.5(][)C F1<ad70>-2.5 E/F2 10/Times-Italic@0 SF
+(\214lename)2.5 E F0 2.5(][)C F1(\255dt)-2.5 E F0 2.5(][)C F2(name)-2.5
+E F0(])A .858(Each time)144 96 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 108 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 .243(If the)144 120 R
+F1<ad70>2.743 E F0 .243
+(option is supplied, no path search is performed, and)2.743 F F2
+(\214lename)4.653 E F0 .242(is used as the full \214lename)2.923 F 1.711
+(of the command.)144 132 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 144 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 156 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
+168 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 180
+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 192 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 204 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 220.8 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
+232.8 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
+244.8 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 120 Q F1
-<ad64>144 132 Q F0(Display a short description of each)180 132 Q F2
-(pattern)2.5 E F1<ad6d>144 144 Q F0(Display the description of each)180
-144 Q 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 156 Q F0(Display only a short usage synopsis for each)180
-156 Q F2(pattern)2.5 E F0
-(The return status is 0 unless no command matches)144 172.8 Q F2
-(pattern)2.5 E F0(.).24 E F1(history [)108 189.6 Q F2(n)A F1(])A
-(history \255c)108 201.6 Q(history \255d)108 213.6 Q F2(of)2.5 E(fset)
--.18 E F1(history \255d)108 225.6 Q F2(start)2.5 E F0<ad>A F2(end)A F1
-(history \255anrw)108 237.6 Q F0([)2.5 E F2(\214lename)A F0(])A F1
-(history \255p)108 249.6 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 261.6 Q F2(ar)2.5 E(g)
+(uiltins and shell control struc-)-.2 F(tures is printed.)144 256.8 Q F1
+<ad64>144 268.8 Q F0(Display a short description of each)180 268.8 Q F2
+(pattern)2.5 E F1<ad6d>144 280.8 Q F0(Display the description of each)
+180 280.8 Q 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 292.8 Q F0
+(Display only a short usage synopsis for each)180 292.8 Q F2(pattern)2.5
+E F0(The return status is 0 unless no command matches)144 309.6 Q F2
+(pattern)2.5 E F0(.).24 E F1(history [)108 326.4 Q F2(n)A F1(])A
+(history \255c)108 338.4 Q(history \255d)108 350.4 Q F2(of)2.5 E(fset)
+-.18 E F1(history \255d)108 362.4 Q F2(start)2.5 E F0<ad>A F2(end)A F1
+(history \255anrw)108 374.4 Q F0([)2.5 E F2(\214lename)A F0(])A F1
+(history \255p)108 386.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 398.4 Q F2(ar)2.5 E(g)
-.37 E F0([)2.5 E F2(ar)A 2.5(g.)-.37 G(..)-2.5 E F0(])A -.4(Wi)144
-273.6 S .752
+410.4 S .752
(th no options, display the command history list with line numbers.).4 F
.752(Lines listed with a)5.752 F F1(*)3.252 E F0(ha)3.252 E -.15(ve)-.2
-G .381(been modi\214ed.)144 285.6 R .38(An ar)5.38 F .38(gument of)-.18
+G .381(been modi\214ed.)144 422.4 R .38(An ar)5.38 F .38(gument of)-.18
F F2(n)3.24 E F0 .38(lists only the last)3.12 F F2(n)3.24 E F0 2.88
(lines. If)3.12 F .38(the shell v)2.88 F(ariable)-.25 E/F3 9
-/Times-Bold@0 SF(HISTTIMEFOR-)2.88 E(MA)144 297.6 Q(T)-.855 E F0 .264
+/Times-Bold@0 SF(HISTTIMEFOR-)2.88 E(MA)144 434.4 Q(T)-.855 E F0 .264
(is set and not null, it is used as a format string for)2.514 F F2
(strftime)2.765 E F0 .265(\(3\) to display the time stamp asso-)B 1.02
-(ciated with each displayed history entry)144 309.6 R 6.019(.N)-.65 G
+(ciated with each displayed history entry)144 446.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 321.6 R(If)5.176 E F2(\214lename)
+(time stamp and the history line.)144 458.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 333.6 Q(alue of)-.25 E F3(HISTFILE)2.5 E F0(is used.)
+(not, the v)144 470.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 345.6 Q F0
-(Clear the history list by deleting all the entries.)180 345.6 Q F1
-<ad64>144 357.6 Q F2(of)2.5 E(fset)-.18 E F0 .39
-(Delete the history entry at position)180 369.6 R F2(of)2.889 E(fset)
+(wing meanings:)-.25 E F1<ad63>144 482.4 Q F0
+(Clear the history list by deleting all the entries.)180 482.4 Q F1
+<ad64>144 494.4 Q F2(of)2.5 E(fset)-.18 E F0 .39
+(Delete the history entry at position)180 506.4 R F2(of)2.889 E(fset)
-.18 E F0 5.389(.I)C(f)-5.389 E F2(of)2.889 E(fset)-.18 E F0 .389(is ne)
2.889 F -.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G 2.889(,i).15 G 2.889(ti)
-2.889 G 2.889(si)-2.889 G .389(nterpreted as relati)-2.889 F -.15(ve)
-.25 G .598(to one greater than the last history position, so ne)180
-381.6 R -.05(ga)-.15 G(ti).05 E .899 -.15(ve i)-.25 H .599
-(ndices count back from the end).15 F(of the history)180 393.6 Q 2.5(,a)
+518.4 R -.05(ga)-.15 G(ti).05 E .899 -.15(ve i)-.25 H .599
+(ndices count back from the end).15 F(of the history)180 530.4 Q 2.5(,a)
-.65 G(nd an inde)-2.5 E 2.5(xo)-.15 G 2.5<66ad>-2.5 G 2.5(1r)-2.5 G
(efers to the current)-2.5 E F1(history -d)2.5 E F0(command.)2.5 E F1
-<ad64>144 405.6 Q F2(start)2.5 E F0<ad>A F2(end)A F0 .758
-(Delete the history entries between positions)180 417.6 R F2(start)3.258
+<ad64>144 542.4 Q F2(start)2.5 E F0<ad>A F2(end)A F0 .758
+(Delete the history entries between positions)180 554.4 R F2(start)3.258
E F0(and)3.257 E F2(end)3.257 E F0 3.257(,i)C(nclusi)-3.257 E -.15(ve)
-.25 G 5.757(.P).15 G(ositi)-5.757 E 1.057 -.15(ve a)-.25 H .757(nd ne)
-.15 F -.05(ga)-.15 G(-).05 E(ti)180 429.6 Q .3 -.15(ve v)-.25 H
+.15 F -.05(ga)-.15 G(-).05 E(ti)180 566.4 Q .3 -.15(ve v)-.25 H
(alues for)-.1 E F2(start)2.5 E F0(and)2.5 E F2(end)2.5 E F0
(are interpreted as described abo)2.5 E -.15(ve)-.15 G(.).15 E F1<ad61>
-144 441.6 Q F0 .564(Append the `)180 441.6 R(`ne)-.74 E(w')-.25 E 3.064
+144 578.4 Q F0 .564(Append the `)180 578.4 R(`ne)-.74 E(w')-.25 E 3.064
('h)-.74 G .564(istory lines to the history \214le.)-3.064 F .565
-(These are history lines entered since)5.564 F(the be)180 453.6 Q
+(These are history lines entered since)5.564 F(the be)180 590.4 Q
(ginning of the current)-.15 E F1(bash)2.5 E F0(session, b)2.5 E
-(ut not already appended to the history \214le.)-.2 E F1<ad6e>144 465.6
+(ut not already appended to the history \214le.)-.2 E F1<ad6e>144 602.4
Q F0 .854(Read the history lines not already read from the history \214\
-le into the current history list.)180 465.6 R .772
-(These are lines appended to the history \214le since the be)180 477.6 R
+le into the current history list.)180 602.4 R .772
+(These are lines appended to the history \214le since the be)180 614.4 R
.773(ginning of the current)-.15 F F1(bash)3.273 E F0(ses-)3.273 E
-(sion.)180 489.6 Q F1<ad72>144 501.6 Q F0(Read the contents of the hist\
-ory \214le and append them to the current history list.)180 501.6 Q F1
-<ad77>144 513.6 Q F0
-(Write the current history list to the history \214le, o)180 513.6 Q
+(sion.)180 626.4 Q F1<ad72>144 638.4 Q F0(Read the contents of the hist\
+ory \214le and append them to the current history list.)180 638.4 Q F1
+<ad77>144 650.4 Q F0
+(Write the current history list to the history \214le, o)180 650.4 Q
-.15(ve)-.15 G(rwriting the history \214le').15 E 2.5(sc)-.55 G
-(ontents.)-2.5 E F1<ad70>144 525.6 Q F0 .626
-(Perform history substitution on the follo)180 525.6 R(wing)-.25 E F2
+(ontents.)-2.5 E F1<ad70>144 662.4 Q F0 .626
+(Perform history substitution on the follo)180 662.4 R(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 537.6 R .475
+3.125 F 2.975(output. Does)180 674.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 549.6 Q(xpansion.)-.15 E F1<ad73>144 561.6 Q F0
-.363(Store the)180 561.6 R F2(ar)3.193 E(gs)-.37 E F0 .363
+(normal history e)180 686.4 Q(xpansion.)-.15 E F1<ad73>144 698.4 Q F0
+.363(Store the)180 698.4 R 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 573.6 Q -.15
+(he last command in the history list is)-5.363 F(remo)180 710.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 .145(If the)144 590.4 R F3(HISTTIMEFORMA)2.645 E(T)
+(are added.)2.77 E .145(If the)144 727.2 R F3(HISTTIMEFORMA)2.645 E(T)
-.855 E F0 -.25(va)2.395 G .145
(riable is set, the time stamp information associated with each history)
-.25 F .669(entry is written to the history \214le, mark)144 602.4 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 614.4 R .956
-(ginning with the history comment character follo)-.15 F .956
-(wed immediately by a digit)-.25 F 1.796
-(are interpreted as timestamps for the follo)144 626.4 R 1.795
-(wing history entry)-.25 F 6.795(.T)-.65 G 1.795(he return v)-6.795 F
-1.795(alue is 0 unless an)-.25 F(in)144 638.4 Q -.25(va)-.4 G .768(lid \
-option is encountered, an error occurs while reading or writing the his\
-tory \214le, an in).25 F -.25(va)-.4 G(lid).25 E F2(of)144 650.4 Q(fset)
--.18 E F0 1.032(is supplied as an ar)3.532 F 1.031(gument to)-.18 F F1
-<ad64>3.531 E F0 3.531(,o)C 3.531(rt)-3.531 G 1.031(he history e)-3.531
-F 1.031(xpansion supplied as an ar)-.15 F 1.031(gument to)-.18 F F1
-<ad70>3.531 E F0 -.1(fa)144 662.4 S(ils.).1 E F1(jobs)108 679.2 Q F0([)
-2.5 E F1(\255lnprs)A F0 2.5(][)C F2(jobspec)A F0(... ])2.5 E F1
-(jobs \255x)108 691.2 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 703.2 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 715.2 Q F0
-(List process IDs in addition to the normal information.)180 715.2 Q
-(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(10)198.725 E 0 Cg EP
+.25 F(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 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 87.61
(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
-E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF<ad6e>144 84 Q F0 .193
-(Display information only about jobs that ha)180 84 R .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 96 Q F1<ad70>144 108 Q F0
-(List only the process ID of the job')180 108 Q 2.5(sp)-.55 G
-(rocess group leader)-2.5 E(.)-.55 E F1<ad72>144 120 Q F0
-(Display only running jobs.)180 120 Q F1<ad73>144 132 Q F0
-(Display only stopped jobs.)180 132 Q(If)144 148.8 Q/F2 10
-/Times-Italic@0 SF(jobspec)4.554 E F0 .314(is gi)3.124 F -.15(ve)-.25 G
-.314(n, output is restricted to information about that job).15 F 5.313
-(.T)-.4 G .313(he return status is 0 unless)-5.313 F(an in)144 160.8 Q
--.25(va)-.4 G(lid option is encountered or an in).25 E -.25(va)-.4 G
-(lid).25 E F2(jobspec)4.24 E F0(is supplied.)2.81 E .394(If the)144
-177.6 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 .395(with the corre-)3.164 F(sponding process group ID, and e)144
-189.6 Q -.15(xe)-.15 G(cutes).15 E F2(command)2.7 E F0(passing it)3.27 E
-F2(ar)2.5 E(gs)-.37 E F0 2.5(,r).27 G(eturning its e)-2.5 E(xit status.)
--.15 E F1(kill)108 206.4 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 218.4 Q F0(|)A F1<ad4c>A F0([)2.5 E F2(sigspec)
-A F0(|)2.5 E F2 -.2(ex)2.5 G(it_status).2 E F0(])A .12
-(Send the signal named by)144 230.4 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 242.4 R .618 -.15(ve s)-.25 H
+E(UIL)-.1 E(TINS\(1\))-.92 E .669
+(entry is written to the history \214le, mark)144 84 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 96 R .956
+(ginning with the history comment character follo)-.15 F .956
+(wed immediately by a digit)-.25 F 1.796
+(are interpreted as timestamps for the follo)144 108 R 1.795
+(wing history entry)-.25 F 6.795(.T)-.65 G 1.795(he return v)-6.795 F
+1.795(alue is 0 unless an)-.25 F(in)144 120 Q -.25(va)-.4 G .768(lid op\
+tion is encountered, an error occurs while reading or writing the histo\
+ry \214le, an in).25 F -.25(va)-.4 G(lid).25 E/F1 10/Times-Italic@0 SF
+(of)144 132 Q(fset)-.18 E F0 1.032(is supplied as an ar)3.532 F 1.031
+(gument to)-.18 F/F2 10/Times-Bold@0 SF<ad64>3.531 E F0 3.531(,o)C 3.531
+(rt)-3.531 G 1.031(he history e)-3.531 F 1.031
+(xpansion supplied as an ar)-.15 F 1.031(gument to)-.18 F F2<ad70>3.531
+E F0 -.1(fa)144 144 S(ils.).1 E F2(jobs)108 160.8 Q F0([)2.5 E F2
+(\255lnprs)A F0 2.5(][)C F1(jobspec)A F0(... ])2.5 E F2(jobs \255x)108
+172.8 Q F1(command)2.5 E F0([)2.5 E F1(ar)2.5 E(gs)-.37 E F0(... ])2.5 E
+(The \214rst form lists the acti)144 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 F2<ad6c>144 196.8 Q F0
+(List process IDs in addition to the normal information.)180 196.8 Q F2
+<ad6e>144 208.8 Q F0 .193(Display information only about jobs that ha)
+180 208.8 R .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 220.8 Q F2<ad70>
+144 232.8 Q F0(List only the process ID of the job')180 232.8 Q 2.5(sp)
+-.55 G(rocess group leader)-2.5 E(.)-.55 E F2<ad72>144 244.8 Q F0
+(Display only running jobs.)180 244.8 Q F2<ad73>144 256.8 Q F0
+(Display only stopped jobs.)180 256.8 Q(If)144 273.6 Q F1(jobspec)4.554
+E F0 .314(is gi)3.124 F -.15(ve)-.25 G .314
+(n, output is restricted to information about that job).15 F 5.313(.T)
+-.4 G .313(he return status is 0 unless)-5.313 F(an in)144 285.6 Q -.25
+(va)-.4 G(lid option is encountered or an in).25 E -.25(va)-.4 G(lid).25
+E F1(jobspec)4.24 E F0(is supplied.)2.81 E .394(If the)144 302.4 R F2
+<ad78>2.894 E F0 .394(option is supplied,)2.894 F F2(jobs)2.894 E F0
+.394(replaces an)2.894 F(y)-.15 E F1(jobspec)4.634 E F0 .394(found in)
+3.204 F F1(command)3.094 E F0(or)3.664 E F1(ar)3.224 E(gs)-.37 E F0 .395
+(with the corre-)3.164 F(sponding process group ID, and e)144 314.4 Q
+-.15(xe)-.15 G(cutes).15 E F1(command)2.7 E F0(passing it)3.27 E F1(ar)
+2.5 E(gs)-.37 E F0 2.5(,r).27 G(eturning its e)-2.5 E(xit status.)-.15 E
+F2(kill)108 331.2 Q F0([)2.5 E F2<ad73>A F1(sigspec)2.5 E F0(|)2.5 E F2
+<ad6e>2.5 E F1(signum)2.5 E F0(|)2.5 E F2<ad>2.5 E F1(sigspec)A F0 2.5
+(][)C F1(pid)-2.5 E F0(|)2.5 E F1(jobspec)2.5 E F0 2.5(].)C(..)-2.5 E F2
+(kill \255l)108 343.2 Q F0(|)A F2<ad4c>A F0([)2.5 E F1(sigspec)A F0(|)
+2.5 E F1 -.2(ex)2.5 G(it_status).2 E F0(])A .12
+(Send the signal named by)144 355.2 R F1(sigspec)2.96 E F0(or)2.93 E F1
+(signum)2.96 E F0 .119(to the processes named by)2.939 F F1(pid)3.869 E
+F0(or)3.389 E F1(jobspec)2.619 E F0(.).31 E F1(sigspec)5.459 E F0(is)
+2.929 E .318(either a case-insensiti)144 367.2 R .618 -.15(ve s)-.25 H
.318(ignal name such as).15 F/F3 9/Times-Bold@0 SF(SIGKILL)2.818 E F0
.319(\(with or without the)2.569 F F3(SIG)2.819 E F0 .319
-(pre\214x\) or a signal)2.569 F(number;)144 254.4 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)
+(pre\214x\) or a signal)2.569 F(number;)144 379.2 Q F1(signum)4.189 E F0
+1.349(is a signal number)4.169 F 6.349(.I)-.55 G(f)-6.349 E F1(sigspec)
4.189 E F0 1.349(is not present, then)4.159 F F3(SIGTERM)3.849 E F0
-1.348(is assumed.)3.599 F(An)6.348 E(ar)144 266.4 Q .522(gument of)-.18
-F F1<ad6c>3.023 E F0 .523(lists the signal names.)3.023 F .523(If an)
+1.348(is assumed.)3.599 F(An)6.348 E(ar)144 391.2 Q .522(gument of)-.18
+F F2<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 278.4
+.18 F F2<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 290.4 Q .377(gument to)-.18 F
-F1<ad6c>2.877 E F0 .378
+F1 -.2(ex)2.78 G(it_status).2 E F0(ar)144 415.2 Q .377(gument to)-.18 F
+F2<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 .963(nated by a signal.)144 302.4
-R(The)5.962 E F1<ad4c>3.462 E F0 .962(option is equi)3.462 F -.25(va)
--.25 G .962(lent to).25 F F1<ad6c>3.462 E F0(.)A F1(kill)5.962 E F0 .962
+(xit status of a process termi-)-.15 F .963(nated by a signal.)144 427.2
+R(The)5.962 E F2<ad4c>3.462 E F0 .962(option is equi)3.462 F -.25(va)
+-.25 G .962(lent to).25 F F2<ad6c>3.462 E F0(.)A F2(kill)5.962 E F0 .962
(returns true if at least one signal w)3.462 F(as)-.1 E
-(successfully sent, or f)144 314.4 Q(alse if an error occurs or an in)
--.1 E -.25(va)-.4 G(lid option is encountered.).25 E F1(let)108 331.2 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
-343.2 Q F2(ar)3.026 E(g)-.37 E F0 .196(is an arithmetic e)2.916 F .197
+(successfully sent, or f)144 439.2 Q(alse if an error occurs or an in)
+-.1 E -.25(va)-.4 G(lid option is encountered.).25 E F2(let)108 456 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
+468 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 .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 355.2 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 372 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
-(.. | \255 ])-2.5 E -.15(Fo)144 384 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 396 Q 3.152(yo)-.15
-G 3.152(ft)-3.152 G .652(he options accepted by)-3.152 F F1(declar)3.152
-E(e)-.18 E F0 5.652(.W)C(hen)-5.652 E F1(local)3.152 E F0 .653
+2.447 E -.15(ve)-.15 G 2.697(\). If).15 F(the last)144 480 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 496.8 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
+(.. | \255 ])-2.5 E -.15(Fo)144 508.8 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 520.8 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
-408 Q F2(name)3.282 E F0 .422(to ha)3.102 F .722 -.15(ve a v)-.2 H .422
-(isible scope restricted to that function and its children.).15 F(If)
-5.421 E F2(name)2.921 E F0 .421(is \255, the set)2.921 F 1.461
-(of shell options is made local to the function in which)144 420 R F1
+532.8 Q F1(name)3.282 E F0 .422(to ha)3.102 F .722 -.15(ve a v)-.2 H
+.422(isible scope restricted to that function and its children.).15 F
+(If)5.421 E F1(name)2.921 E F0 .421(is \255, the set)2.921 F 1.461
+(of shell options is made local to the function in which)144 544.8 R F2
(local)3.961 E F0 1.462(is in)3.961 F -.2(vo)-.4 G -.1(ke).2 G 1.462
-(d: shell options changed).1 F 1.563(using the)144 432 R F1(set)4.063 E
-F0 -.2(bu)4.063 G 1.563
+(d: shell options changed).1 F 1.563(using the)144 556.8 R F2(set)4.063
+E F0 -.2(bu)4.063 G 1.563
(iltin inside the function are restored to their original v).2 F 1.562
-(alues when the function)-.25 F 3.743(returns. W)144 444 R 1.243
-(ith no operands,)-.4 F F1(local)3.743 E F0 1.243
+(alues when the function)-.25 F 3.743(returns. W)144 568.8 R 1.243
+(ith no operands,)-.4 F F2(local)3.743 E F0 1.243
(writes a list of local v)3.743 F 1.244
(ariables to the standard output.)-.25 F 1.244(It is an)6.244 F .42
-(error to use)144 456 R F1(local)2.92 E F0 .42
+(error to use)144 580.8 R F2(local)2.92 E F0 .42
(when not within a function.)2.92 F .42(The return status is 0 unless)
-5.42 F F1(local)2.92 E F0 .42(is used outside a)2.92 F(function, an in)
-144 468 Q -.25(va)-.4 G(lid).25 E F2(name)2.86 E F0(is supplied, or)2.68
-E F2(name)2.5 E F0(is a readonly v)2.5 E(ariable.)-.25 E F1(logout)108
-484.8 Q F0(Exit a login shell.)144 484.8 Q F1(map\214le)108 501.6 Q F0
-([)2.5 E F1<ad64>A F2(delim)2.5 E F0 2.5(][)C F1<ad6e>-2.5 E 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 F1 -.18(re)108 513.6 S(adarray).18 E F0([)2.5 E F1
-<ad64>A F2(delim)2.5 E F0 2.5(][)C F1<ad6e>-2.5 E 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 .179(Read lines from the standard input into the inde)144 525.6 R
--.15(xe)-.15 G 2.679(da).15 G .179(rray v)-2.679 F(ariable)-.25 E F2
+5.42 F F2(local)2.92 E F0 .42(is used outside a)2.92 F(function, an in)
+144 592.8 Q -.25(va)-.4 G(lid).25 E F1(name)2.86 E F0(is supplied, or)
+2.68 E F1(name)2.5 E F0(is a readonly v)2.5 E(ariable.)-.25 E F2(logout)
+108 609.6 Q F0(Exit a login shell.)144 609.6 Q F2(map\214le)108 626.4 Q
+F0([)2.5 E F2<ad64>A F1(delim)2.5 E F0 2.5(][)C F2<ad6e>-2.5 E F1(count)
+2.5 E F0 2.5(][)C F2<ad4f>-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 F2 -.18(re)108 638.4 S(adarray).18 E F0([)2.5 E F2
+<ad64>A F1(delim)2.5 E F0 2.5(][)C F2<ad6e>-2.5 E F1(count)2.5 E F0 2.5
+(][)C F2<ad4f>-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 .179(Read lines from the standard input into the inde)144 650.4 R
+-.15(xe)-.15 G 2.679(da).15 G .179(rray v)-2.679 F(ariable)-.25 E F1
(arr)2.68 E(ay)-.15 E F0 2.68(,o).32 G 2.68(rf)-2.68 G .18
-(rom \214le descriptor)-2.68 F F2(fd)4.65 E F0 1.249(if the)144 537.6 R
-F1<ad75>3.749 E F0 1.249(option is supplied.)3.749 F 1.249(The v)6.249 F
+(rom \214le descriptor)-2.68 F F1(fd)4.65 E F0 1.249(if the)144 662.4 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 F2(arr)3.748 E(ay)-.15 E F0 6.248(.O)C 1.248(ptions, if supplied,)
--6.248 F(ha)144 549.6 Q .3 -.15(ve t)-.2 H(he follo).15 E
-(wing meanings:)-.25 E F1<ad64>144 561.6 Q F0 .91
-(The \214rst character of)180 561.6 R F2(delim)3.41 E F0 .911
+E F1(arr)3.748 E(ay)-.15 E F0 6.248(.O)C 1.248(ptions, if supplied,)
+-6.248 F(ha)144 674.4 Q .3 -.15(ve t)-.2 H(he follo).15 E
+(wing meanings:)-.25 E F2<ad64>144 686.4 Q F0 .91
+(The \214rst character of)180 686.4 R F1(delim)3.41 E F0 .911
(is used to terminate each input line, rather than ne)3.41 F 3.411
-(wline. If)-.25 F F2(delim)180 573.6 Q F0(is the empty string,)2.5 E F1
+(wline. If)-.25 F F1(delim)180 698.4 Q F0(is the empty string,)2.5 E F2
(map\214le)2.5 E F0(will terminate a line when it reads a NUL character)
-2.5 E(.)-.55 E F1<ad6e>144 585.6 Q F0(Cop)180 585.6 Q 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 597.6 Q F0(Be)180
-597.6 Q(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 609.6 Q F0
-(Discard the \214rst)180 609.6 Q F2(count)2.5 E F0(lines read.)2.5 E F1
-<ad74>144 621.6 Q F0(Remo)180 621.6 Q .3 -.15(ve a t)-.15 H(railing).15
-E F2(delim)2.5 E F0(\(def)2.5 E(ault ne)-.1 E
-(wline\) from each line read.)-.25 E F1<ad75>144 633.6 Q F0
-(Read lines from \214le descriptor)180 633.6 Q F2(fd)2.5 E F0
-(instead of the standard input.)2.5 E F1<ad43>144 645.6 Q F0(Ev)180
-645.6 Q(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 657.6
-Q F0(Specify the number of lines read between each call to)180 657.6 Q
-F2(callbac)2.5 E(k)-.2 E F0(.).67 E(If)144 674.4 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
+2.5 E(.)-.55 E F2<ad6e>144 710.4 Q F0(Cop)180 710.4 Q 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(GNU Bash 5.0)72 768 Q
+(2004 Apr 20)149.565 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 87.61
+(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
+E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF<ad4f>144 84 Q F0(Be)
+180 84 Q(gin assigning to)-.15 E/F2 10/Times-Italic@0 SF(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 96
+Q F0(Discard the \214rst)180 96 Q F2(count)2.5 E F0(lines read.)2.5 E F1
+<ad74>144 108 Q F0(Remo)180 108 Q .3 -.15(ve a t)-.15 H(railing).15 E F2
+(delim)2.5 E F0(\(def)2.5 E(ault ne)-.1 E(wline\) from each line read.)
+-.25 E F1<ad75>144 120 Q F0(Read lines from \214le descriptor)180 120 Q
+F2(fd)2.5 E F0(instead of the standard input.)2.5 E F1<ad43>144 132 Q F0
+(Ev)180 132 Q(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 144 Q
+F0(Specify the number of lines read between each call to)180 144 Q F2
+(callbac)2.5 E(k)-.2 E F0(.).67 E(If)144 160.8 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 .261(plied the inde)144 686.4 R 2.761(xo)-.15
+(luated, it is sup-).25 F .261(plied the inde)144 172.8 R 2.761(xo)-.15
G 2.761(ft)-2.761 G .261(he ne)-2.761 F .262(xt array element to be ass\
igned and the line to be assigned to that element)-.15 F .275
-(as additional ar)144 698.4 R(guments.)-.18 E F2(callbac)5.275 E(k)-.2 E
+(as additional ar)144 184.8 R(guments.)-.18 E F2(callbac)5.275 E(k)-.2 E
F0 .275(is e)2.775 F -.25(va)-.25 G .274
(luated after the line is read b).25 F .274
-(ut before the array element is)-.2 F(assigned.)144 710.4 Q
-(If not supplied with an e)144 727.2 Q(xplicit origin,)-.15 E F1
+(ut before the array element is)-.2 F(assigned.)144 196.8 Q
+(If not supplied with an e)144 213.6 Q(xplicit origin,)-.15 E F1
(map\214le)2.5 E F0(will clear)2.5 E F2(arr)2.5 E(ay)-.15 E F0
-(before assigning to it.)2.5 E(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565
-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 87.61
-(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
-E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(map\214le)144 84 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 10
-/Times-Italic@0 SF(arr)4.406 E(ay)-.15 E F0(is)4.406 E(in)144 96 Q -.25
-(va)-.4 G(lid or unassignable, or if).25 E F2(arr)2.5 E(ay)-.15 E F0
+(before assigning to it.)2.5 E F1(map\214le)144 230.4 Q F0 1.905
+(returns successfully unless an in)4.405 F -.25(va)-.4 G 1.905
+(lid option or option ar).25 F 1.906(gument is supplied,)-.18 F F2(arr)
+4.406 E(ay)-.15 E F0(is)4.406 E(in)144 242.4 Q -.25(va)-.4 G
+(lid or unassignable, or if).25 E F2(arr)2.5 E(ay)-.15 E F0
(is not an inde)2.5 E -.15(xe)-.15 G 2.5(da).15 G(rray)-2.5 E(.)-.65 E
-F1(popd)108 112.8 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 124.8 Q -.15(ve)-.15 G 2.8(se)
+F1(popd)108 259.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 271.2 Q -.15(ve)-.15 G 2.8(se)
.15 G .3(ntries from the directory stack.)-2.8 F -.4(Wi)5.299 G .299
(th no ar).4 F .299(guments, remo)-.18 F -.15(ve)-.15 G 2.799(st).15 G
.299(he top directory from the)-2.799 F 1.478(stack, and performs a)144
-136.8 R F1(cd)3.978 E F0 1.479(to the ne)3.978 F 3.979(wt)-.25 G 1.479
+283.2 R F1(cd)3.978 E F0 1.479(to the ne)3.978 F 3.979(wt)-.25 G 1.479
(op directory)-3.979 F 6.479(.A)-.65 G -.18(rg)-6.479 G 1.479
(uments, if supplied, ha).18 F 1.779 -.15(ve t)-.2 H 1.479(he follo).15
-F(wing)-.25 E(meanings:)144 148.8 Q F1<ad6e>144 160.8 Q F0 .551
-(Suppresses the normal change of directory when remo)180 160.8 R .551
+F(wing)-.25 E(meanings:)144 295.2 Q F1<ad6e>144 307.2 Q F0 .551
+(Suppresses the normal change of directory when remo)180 307.2 R .551
(ving directories from the stack, so)-.15 F
-(that only the stack is manipulated.)180 172.8 Q F1(+)144 184.8 Q F2(n)A
-F0(Remo)180 184.8 Q -.15(ve)-.15 G 2.64(st).15 G(he)-2.64 E F2(n)2.64 E
+(that only the stack is manipulated.)180 319.2 Q F1(+)144 331.2 Q F2(n)A
+F0(Remo)180 331.2 Q -.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
-196.8 S 2.5(re).15 G(xample:)-2.65 E/F3 10/Courier@0 SF(popd +0)2.5 E F0
+343.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 208.8 Q F2(n)A F0
-(Remo)180 208.8 Q -.15(ve)-.15 G 3.76(st).15 G(he)-3.76 E F2(n)3.76 E F0
+-.65 E F3(popd +1)2.5 E F0(the second.)2.5 E F1<ad>144 355.2 Q F2(n)A F0
+(Remo)180 355.2 Q -.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 220.8 R(or e)-.15 E(xample:)-.15 E F3(popd -0)2.5 E F0
+(zero. F)180 367.2 R(or e)-.15 E(xample:)-.15 E F3(popd -0)2.5 E F0
(remo)2.5 E -.15(ve)-.15 G 2.5(st).15 G(he last directory)-2.5 E(,)-.65
E F3(popd -1)2.5 E F0(the ne)2.5 E(xt to last.)-.15 E .643(If the)144
-237.6 R F1(popd)3.143 E F0 .643(command is successful, a)3.143 F F1
-(dirs)3.143 E F0 .644(is performed as well, and the return status is 0.)
-3.143 F F1(popd)5.644 E F0 .416(returns f)144 249.6 R .416
-(alse if an in)-.1 F -.25(va)-.4 G .415
+384 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 396 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 261.6 Q
-(ails.)-.1 E F1(printf)108 278.4 Q F0([)2.5 E F1<ad76>A F2(var)2.5 E F0
+(tory stack entry is speci\214ed, or the directory change f)144 408 Q
+(ails.)-.1 E F1(printf)108 424.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 1.436
-(Write the formatted)144 290.4 R F2(ar)3.936 E(guments)-.37 E F0 1.437
+(Write the formatted)144 436.8 R F2(ar)3.936 E(guments)-.37 E F0 1.437
(to the standard output under the control of the)3.936 F F2(format)3.937
E F0 6.437(.T)C(he)-6.437 E F1<ad76>3.937 E F0 .126
-(option causes the output to be assigned to the v)144 302.4 R(ariable)
+(option causes the output to be assigned to the v)144 448.8 R(ariable)
-.25 E F2(var)2.626 E F0 .126(rather than being printed to the standard)
-2.626 F(output.)144 314.4 Q(The)144 338.4 Q F2(format)3.017 E F0 .517(i\
+2.626 F(output.)144 460.8 Q(The)144 484.8 Q F2(format)3.017 E F0 .517(i\
s a character string which contains three types of objects: plain chara\
cters, which are)3.017 F .704(simply copied to standard output, charact\
-er escape sequences, which are con)144 350.4 R -.15(ve)-.4 G .703
+er escape sequences, which are con)144 496.8 R -.15(ve)-.4 G .703
(rted and copied to).15 F .036(the standard output, and format speci\
-\214cations, each of which causes printing of the ne)144 362.4 R .037
-(xt successi)-.15 F -.15(ve)-.25 G F2(ar)144 374.4 Q(gument)-.37 E F0
+\214cations, each of which causes printing of the ne)144 508.8 R .037
+(xt successi)-.15 F -.15(ve)-.25 G F2(ar)144 520.8 Q(gument)-.37 E F0
5.532(.I)C 3.032(na)-5.532 G .532(ddition to the standard)-3.032 F F2
(printf)3.032 E F0 .532(\(1\) format speci\214cations,)B F1(printf)3.031
-E F0 .531(interprets the follo)3.031 F(w-)-.25 E(ing e)144 386.4 Q
-(xtensions:)-.15 E F1(%b)144 398.4 Q F0(causes)180 398.4 Q F1(printf)
+E F0 .531(interprets the follo)3.031 F(w-)-.25 E(ing e)144 532.8 Q
+(xtensions:)-.15 E F1(%b)144 544.8 Q F0(causes)180 544.8 Q F1(printf)
2.595 E F0 .096(to e)2.595 F .096
(xpand backslash escape sequences in the corresponding)-.15 F F2(ar)
-2.596 E(gument)-.37 E F0 .096(in the)2.596 F(same w)180 410.4 Q(ay as)
--.1 E F1(echo \255e)2.5 E F0(.)A F1(%q)144 422.4 Q F0(causes)180 422.4 Q
+2.596 E(gument)-.37 E F0 .096(in the)2.596 F(same w)180 556.8 Q(ay as)
+-.1 E F1(echo \255e)2.5 E F0(.)A F1(%q)144 568.8 Q F0(causes)180 568.8 Q
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 434.4 Q F1(%\()144 446.4 Q F2(datefmt)A F1(\)T)A F0(causes)
-180 458.4 Q F1(printf)4.403 E F0 1.904
+(input.)180 580.8 Q F1(%\()144 592.8 Q F2(datefmt)A F1(\)T)A F0(causes)
+180 604.8 Q F1(printf)4.403 E F0 1.904
(to output the date-time string resulting from using)4.403 F F2(datefmt)
-4.404 E F0 1.904(as a format)4.404 F .381(string for)180 470.4 R F2
+4.404 E F0 1.904(as a format)4.404 F .381(string for)180 616.8 R F2
(strftime)2.881 E F0 2.881(\(3\). The)B(corresponding)2.881 E F2(ar)
2.881 E(gument)-.37 E F0 .381(is an inte)2.881 F .381
(ger representing the number)-.15 F .292(of seconds since the epoch.)180
-482.4 R -1 -.8(Tw o)5.293 H .293(special ar)3.593 F .293(gument v)-.18 F
+628.8 R -1 -.8(Tw o)5.293 H .293(special ar)3.593 F .293(gument v)-.18 F
.293(alues may be used: \2551 represents the)-.25 F .694
-(current time, and \2552 represents the time the shell w)180 494.4 R
+(current time, and \2552 represents the time the shell w)180 640.8 R
.693(as in)-.1 F -.2(vo)-.4 G -.1(ke).2 G 3.193(d. If).1 F .693(no ar)
-3.193 F .693(gument is speci-)-.18 F .21(\214ed, con)180 506.4 R -.15
+3.193 F .693(gument is speci-)-.18 F .21(\214ed, con)180 652.8 R -.15
(ve)-.4 G .21(rsion beha).15 F -.15(ve)-.2 G 2.71(sa).15 G 2.71(si)-2.71
G 2.71<66ad>-2.71 G 2.71(1h)-2.71 G .21(ad been gi)-2.71 F -.15(ve)-.25
G 2.71(n. This).15 F .21(is an e)2.71 F .21(xception to the usual)-.15 F
-F1(printf)2.71 E F0(beha)180 518.4 Q(vior)-.2 E(.)-.55 E(Ar)144 535.2 Q
+F1(printf)2.71 E F0(beha)180 664.8 Q(vior)-.2 E(.)-.55 E(Ar)144 681.6 Q
.464(guments to non-string format speci\214ers are treated as C constan\
ts, e)-.18 F .463(xcept that a leading plus or)-.15 F 1.258
-(minus sign is allo)144 547.2 R 1.259
+(minus sign is allo)144 693.6 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 559.2 Q(alue of the follo)
--.25 E(wing character)-.25 E(.)-.55 E(The)144 576 Q F2(format)3.424 E F0
-.923(is reused as necessary to consume all of the)3.424 F F2(ar)3.423 E
-(guments)-.37 E F0 5.923(.I)C 3.423(ft)-5.923 G(he)-3.423 E F2(format)
-3.423 E F0 .923(requires more)3.423 F F2(ar)144 588 Q(guments)-.37 E F0
-.033(than are supplied, the e)2.533 F .033
-(xtra format speci\214cations beha)-.15 F .333 -.15(ve a)-.2 H 2.533(si)
-.15 G 2.533(faz)-2.533 G .033(ero v)-2.533 F .034(alue or null string,)
--.25 F(as appropriate, had been supplied.)144 600 Q(The return v)5 E
-(alue is zero on success, non-zero on f)-.25 E(ailure.)-.1 E F1(pushd)
-108 616.8 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 628.8 Q F0([)2.5 E F1<ad6e>A F0
-2.5(][)C F2(dir)-2.5 E F0(])A .64(Adds a directory to the top of the di\
-rectory stack, or rotates the stack, making the ne)144 640.8 R 3.139(wt)
--.25 G .639(op of the)-3.139 F .416(stack the current w)144 652.8 R .416
-(orking directory)-.1 F 5.416(.W)-.65 G .416(ith no ar)-5.816 F
-(guments,)-.18 E F1(pushd)2.916 E F0 -.15(ex)2.916 G .416
-(changes the top tw).15 F 2.917(od)-.1 G(irectories)-2.917 E 1.625
-(and returns 0, unless the directory stack is empty)144 664.8 R 6.625
-(.A)-.65 G -.18(rg)-6.625 G 1.625(uments, if supplied, ha).18 F 1.925
--.15(ve t)-.2 H 1.625(he follo).15 F(wing)-.25 E(meanings:)144 676.8 Q
-F1<ad6e>144 688.8 Q F0 1.811(Suppresses the normal change of directory \
-when rotating or adding directories to the)180 688.8 R
-(stack, so that only the stack is manipulated.)180 700.8 Q F1(+)144
-712.8 Q F2(n)A F0 1.268(Rotates the stack so that the)180 712.8 R F2(n)
-3.768 E F0 1.267(th directory \(counting from the left of the list sho)B
-1.267(wn by)-.25 F F1(dirs)180 724.8 Q F0 2.5(,s)C
-(tarting with zero\) is at the top.)-2.5 E(GNU Bash 5.0)72 768 Q
-(2004 Apr 20)149.565 E(12)198.725 E 0 Cg EP
+-.25 F 1.259(alue is the)-.25 F(ASCII v)144 705.6 Q(alue of the follo)
+-.25 E(wing character)-.25 E(.)-.55 E(The)144 722.4 Q F2(format)3.424 E
+F0 .923(is reused as necessary to consume all of the)3.424 F F2(ar)3.423
+E(guments)-.37 E F0 5.923(.I)C 3.423(ft)-5.923 G(he)-3.423 E F2(format)
+3.423 E F0 .923(requires more)3.423 F(GNU Bash 5.0)72 768 Q(2004 Apr 20)
+149.565 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 87.61
(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
-E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF<ad>144 84 Q/F2 10
-/Times-Italic@0 SF(n)A F0 .92(Rotates the stack so that the)180 84 R 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 96 Q F0 2.5(,s)C
-(tarting with zero\) is at the top.)-2.5 E F2(dir)144.35 108 Q F0(Adds)
-180 108 Q F2(dir)3.138 E F0 .288
+E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Italic@0 SF(ar)144 84 Q
+(guments)-.37 E F0 .033(than are supplied, the e)2.533 F .033
+(xtra format speci\214cations beha)-.15 F .333 -.15(ve a)-.2 H 2.533(si)
+.15 G 2.533(faz)-2.533 G .033(ero v)-2.533 F .034(alue or null string,)
+-.25 F(as appropriate, had been supplied.)144 96 Q(The return v)5 E
+(alue is zero on success, non-zero on f)-.25 E(ailure.)-.1 E/F2 10
+/Times-Bold@0 SF(pushd)108 112.8 Q F0([)2.5 E F2<ad6e>A F0 2.5(][)C(+)
+-2.5 E F1(n)A F0 2.5(][)C<ad>-2.5 E F1(n)A F0(])A F2(pushd)108 124.8 Q
+F0([)2.5 E F2<ad6e>A F0 2.5(][)C F1(dir)-2.5 E F0(])A .64(Adds a direct\
+ory to the top of the directory stack, or rotates the stack, making the\
+ ne)144 136.8 R 3.139(wt)-.25 G .639(op of the)-3.139 F .416
+(stack the current w)144 148.8 R .416(orking directory)-.1 F 5.416(.W)
+-.65 G .416(ith no ar)-5.816 F(guments,)-.18 E F2(pushd)2.916 E F0 -.15
+(ex)2.916 G .416(changes the top tw).15 F 2.917(od)-.1 G(irectories)
+-2.917 E 1.625(and returns 0, unless the directory stack is empty)144
+160.8 R 6.625(.A)-.65 G -.18(rg)-6.625 G 1.625(uments, if supplied, ha)
+.18 F 1.925 -.15(ve t)-.2 H 1.625(he follo).15 F(wing)-.25 E(meanings:)
+144 172.8 Q F2<ad6e>144 184.8 Q F0 1.811(Suppresses the normal change o\
+f directory when rotating or adding directories to the)180 184.8 R
+(stack, so that only the stack is manipulated.)180 196.8 Q F2(+)144
+208.8 Q F1(n)A F0 1.268(Rotates the stack so that the)180 208.8 R 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 220.8 Q F0 2.5(,s)C
+(tarting with zero\) is at the top.)-2.5 E F2<ad>144 232.8 Q F1(n)A F0
+.92(Rotates the stack so that the)180 232.8 R 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 244.8 Q F0 2.5(,s)C(tarting with zero\) is at the top.)
+-2.5 E F1(dir)144.35 256.8 Q F0(Adds)180 256.8 Q F1(dir)3.138 E F0 .288
(to the directory stack at the top, making it the ne)3.518 F 2.787(wc)
-.25 G .287(urrent w)-2.787 F .287(orking directory as)-.1 F
-(if it had been supplied as the ar)180 120 Q(gument to the)-.18 E F1(cd)
-2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .488(If the)144 136.8 R F1(pushd)2.988
-E F0 .488(command is successful, a)2.988 F F1(dirs)2.988 E F0 .488
+(if it had been supplied as the ar)180 268.8 Q(gument to the)-.18 E F2
+(cd)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .488(If the)144 285.6 R F2(pushd)
+2.988 E F0 .488(command is successful, a)2.988 F F2(dirs)2.988 E F0 .488
(is performed as well.)2.988 F .489(If the \214rst form is used,)5.488 F
-F1(pushd)2.989 E F0 1.04(returns 0 unless the cd to)144 148.8 R F2(dir)
+F2(pushd)2.989 E F0 1.04(returns 0 unless the cd to)144 297.6 R F1(dir)
3.89 E F0 -.1(fa)4.27 G 3.539(ils. W).1 F 1.039(ith the second form,)-.4
-F F1(pushd)3.539 E F0 1.039(returns 0 unless the directory)3.539 F .846
-(stack is empty)144 160.8 R 3.346(,an)-.65 G(on-e)-3.346 E .847(xistent\
+F F2(pushd)3.539 E F0 1.039(returns 0 unless the directory)3.539 F .846
+(stack is empty)144 309.6 R 3.346(,an)-.65 G(on-e)-3.346 E .847(xistent\
directory stack element is speci\214ed, or the directory change to the)
--.15 F(speci\214ed ne)144 172.8 Q 2.5(wc)-.25 G(urrent directory f)-2.5
-E(ails.)-.1 E F1(pwd)108 189.6 Q F0([)2.5 E F1(\255LP)A F0(])A .845
-(Print the absolute pathname of the current w)144 201.6 R .845
+-.15 F(speci\214ed ne)144 321.6 Q 2.5(wc)-.25 G(urrent directory f)-2.5
+E(ails.)-.1 E F2(pwd)108 338.4 Q F0([)2.5 E F2(\255LP)A F0(])A .845
+(Print the absolute pathname of the current w)144 350.4 R .845
(orking directory)-.1 F 5.844(.T)-.65 G .844
(he pathname printed contains no)-5.844 F .181(symbolic links if the)144
-213.6 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
+362.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 225.6 R(the)3.264 E F1<ad4c>3.264 E F0 .763
+(enabled. If)144 374.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 237.6 R -.25(va)
--.4 G(lid).25 E(option is supplied.)144 249.6 Q F1 -.18(re)108 266.4 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 278.4 Q F2(name)A
+ reading the name of the current directory or an in)144 386.4 R -.25(va)
+-.4 G(lid).25 E(option is supplied.)144 398.4 Q F2 -.18(re)108 415.2 S
+(ad).18 E F0([)3.817 E F2(\255ers)A F0 3.817(][)C F2<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 427.2 Q F1(name)A
F0(...])2.5 E .516(One line is read from the standard input, or from th\
-e \214le descriptor)144 290.4 R F2(fd)3.016 E F0 .516(supplied as an ar)
-3.016 F .517(gument to)-.18 F(the)144 302.4 Q F1<ad75>3.848 E F0 1.348
+e \214le descriptor)144 439.2 R F1(fd)3.016 E F0 .516(supplied as an ar)
+3.016 F .517(gument to)-.18 F(the)144 451.2 Q F2<ad75>3.848 E F0 1.348
(option, split into w)3.848 F 1.348(ords as described abo)-.1 F 1.647
--.15(ve u)-.15 H(nder).15 E F1 -.75(Wo)3.847 G 1.347(rd Splitting).75 F
+-.15(ve u)-.15 H(nder).15 E F2 -.75(Wo)3.847 G 1.347(rd Splitting).75 F
F0 3.847(,a)C 1.347(nd the \214rst w)-3.847 F 1.347(ord is)-.1 F 1.465
-(assigned to the \214rst)144 314.4 R F2(name)3.965 E F0 3.965(,t).18 G
-1.465(he second w)-3.965 F 1.465(ord to the second)-.1 F F2(name)3.965 E
+(assigned to the \214rst)144 463.2 R F1(name)3.965 E F0 3.965(,t).18 G
+1.465(he second w)-3.965 F 1.465(ord to the second)-.1 F F1(name)3.965 E
F0 3.965(,a).18 G 1.465(nd so on.)-3.965 F 1.465(If there are more)6.465
-F -.1(wo)144 326.4 S 1.112(rds than names, the remaining w).1 F 1.112
+F -.1(wo)144 475.2 S 1.112(rds than names, the remaining w).1 F 1.112
(ords and their interv)-.1 F 1.112
-(ening delimiters are assigned to the last)-.15 F F2(name)144 338.4 Q F0
+(ening delimiters are assigned to the last)-.15 F F1(name)144 487.2 Q F0
5.722(.I).18 G 3.222(ft)-5.722 G .722(here are fe)-3.222 F .722(wer w)
-.25 F .723
(ords read from the input stream than names, the remaining names are)-.1
-F .532(assigned empty v)144 350.4 R 3.032(alues. The)-.25 F .532
+F .532(assigned empty v)144 499.2 R 3.032(alues. The)-.25 F .532
(characters in)3.032 F/F3 9/Times-Bold@0 SF(IFS)3.032 E F0 .531
(are used to split the line into w)2.782 F .531(ords using the same)-.1
-F .197(rules the shell uses for e)144 362.4 R .197
-(xpansion \(described abo)-.15 F .497 -.15(ve u)-.15 H(nder).15 E F1
+F .197(rules the shell uses for e)144 511.2 R .197
+(xpansion \(described abo)-.15 F .497 -.15(ve u)-.15 H(nder).15 E F2
-.75(Wo)2.697 G .197(rd Splitting).75 F F0 2.697(\). The)B .197
-(backslash charac-)2.697 F .157(ter \()144 374.4 R F1(\\)A F0 2.657(\)m)
+(backslash charac-)2.697 F .157(ter \()144 523.2 R F2(\\)A F0 2.657(\)m)
C .157(ay be used to remo)-2.657 F .457 -.15(ve a)-.15 H .457 -.15(ny s)
.15 H .157(pecial meaning for the ne).15 F .156
(xt character read and for line continu-)-.15 F 2.5(ation. 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 F1<ad61>144 398.4 Q F2(aname)2.5 E F0 1.049
-(The w)180 410.4 R 1.049
+535.2 R(if supplied, ha)2.5 E .3 -.15(ve t)-.2 H(he follo).15 E
+(wing meanings:)-.25 E F2<ad61>144 547.2 Q F1(aname)2.5 E F0 1.049
+(The w)180 559.2 R 1.049
(ords are assigned to sequential indices of the array v)-.1 F(ariable)
--.25 E F2(aname)3.55 E F0 3.55(,s).18 G 1.05(tarting at 0.)-3.55 F F2
-(aname)180.33 422.4 Q F0(is unset before an)2.68 E 2.5(yn)-.15 G .5 -.25
-(ew va)-2.5 H(lues are assigned.).25 E(Other)5 E F2(name)2.5 E F0(ar)2.5
-E(guments are ignored.)-.18 E F1<ad64>144 434.4 Q F2(delim)2.5 E F0
-1.318(The \214rst character of)180 446.4 R F2(delim)3.818 E F0 1.317
+-.25 E F1(aname)3.55 E F0 3.55(,s).18 G 1.05(tarting at 0.)-3.55 F F1
+(aname)180.33 571.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 583.2 Q F1(delim)2.5 E F0
+1.318(The \214rst character of)180 595.2 R F1(delim)3.818 E F0 1.317
(is used to terminate the input line, rather than ne)3.818 F 3.817
-(wline. If)-.25 F F2(delim)180 458.4 Q F0(is the empty string,)2.5 E F1
+(wline. If)-.25 F F1(delim)180 607.2 Q F0(is the empty string,)2.5 E F2
-.18(re)2.5 G(ad).18 E F0
-(will terminate a line when it reads a NUL character)2.5 E(.)-.55 E F1
-<ad65>144 470.4 Q F0 .372
-(If the standard input is coming from a terminal,)180 470.4 R F1 -.18
+(will terminate a line when it reads a NUL character)2.5 E(.)-.55 E F2
+<ad65>144 619.2 Q F0 .372
+(If the standard input is coming from a terminal,)180 619.2 R 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 482.4 R .218
+.218(to obtain the line.)180 631.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 494.4 Q -.15(ve)-.25 G 2.5(\)e).15 G(diting settings, b)-2.5 E
+(acti)180 643.2 Q -.15(ve)-.25 G 2.5(\)e).15 G(diting settings, b)-2.5 E
(ut uses Readline')-.2 E 2.5(sd)-.55 G(ef)-2.5 E
-(ault \214lename completion.)-.1 E F1<ad69>144 506.4 Q F2(te)2.5 E(xt)
--.2 E F0(If)180 506.4 Q 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
+(ault \214lename completion.)-.1 E F2<ad69>144 655.2 Q F1(te)2.5 E(xt)
+-.2 E F0(If)180 655.2 Q 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 518.4 Q(gins.)-.15 E F1<ad6e>144 530.4 Q F2(nc)2.5 E
-(har)-.15 E(s)-.1 E F1 -.18(re)180 542.4 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
+-.25 F(ing be)180 667.2 Q(gins.)-.15 E F2<ad6e>144 679.2 Q F1(nc)2.5 E
+(har)-.15 E(s)-.1 E F2 -.18(re)180 691.2 S(ad).18 E F0 1.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 554.4 Q(ut honors 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
-566.4 Q F2(nc)2.5 E(har)-.15 E(s)-.1 E F1 -.18(re)180 578.4 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 590.4 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 602.4
-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 .609(characters are read.)180 614.4 R .608
-(The result is not split on the characters in)5.609 F F1(IFS)3.108 E F0
-3.108(;t)C .608(he intent is that the)-3.108 F -.25(va)180 626.4 S .669
-(riable is assigned e).25 F .669
-(xactly the characters read \(with the e)-.15 F .67
-(xception of backslash; see the)-.15 F F1<ad72>180 638.4 Q F0
-(option belo)2.5 E(w\).)-.25 E F1<ad70>144 650.4 Q F2(pr)2.5 E(ompt)-.45
-E F0(Display)180 662.4 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 674.4 Q
-2.5(yi)-.15 G 2.5(nput. The)-2.5 F
-(prompt is displayed only if input is coming from a terminal.)2.5 E F1
-<ad72>144 686.4 Q F0 .543(Backslash does not act as an escape character)
-180 686.4 R 5.543(.T)-.55 G .544
-(he backslash is considered to be part of)-5.543 F(the line.)180 698.4 Q
-(In particular)5 E 2.5(,ab)-.4 G(ackslash-ne)-2.5 E
-(wline pair may not be used as a line continuation.)-.25 E F1<ad73>144
-710.4 Q F0(Silent mode.)180 710.4 Q
-(If input is coming from a terminal, characters are not echoed.)5 E
-(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(13)198.725 E 0 Cg EP
+-.1 F(input, b)180 703.2 Q(ut honors 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 5.0)72
+768 Q(2004 Apr 20)149.565 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 87.61
(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
-E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF<ad74>144 84 Q/F2 10
-/Times-Italic@0 SF(timeout)2.5 E F0(Cause)180 96 Q F1 -.18(re)2.929 G
+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 .609(characters are read.)180 132 R .608
+(The result is not split on the characters in)5.609 F F1(IFS)3.108 E F0
+3.108(;t)C .608(he intent is that the)-3.108 F -.25(va)180 144 S .669
+(riable is assigned e).25 F .669
+(xactly the characters read \(with the e)-.15 F .67
+(xception of backslash; see the)-.15 F F1<ad72>180 156 Q F0(option belo)
+2.5 E(w\).)-.25 E F1<ad70>144 168 Q F2(pr)2.5 E(ompt)-.45 E F0(Display)
+180 180 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 192 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 204 Q F0 .543(Backslash does not act as an escape character)
+180 204 R 5.543(.T)-.55 G .544(he backslash is considered to be part of)
+-5.543 F(the line.)180 216 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 228 Q F0(Silent mode.)180 228 Q
+(If input is coming from a terminal, characters are not echoed.)5 E F1
+<ad74>144 240 Q F2(timeout)2.5 E F0(Cause)180 252 Q F1 -.18(re)2.929 G
(ad).18 E F0 .428(to time out and return f)2.929 F .428
(ailure if a complete line of input \(or a speci\214ed num-)-.1 F .56
-(ber of characters\) is not read within)180 108 R F2(timeout)3.061 E F0
+(ber of characters\) is not read within)180 264 R F2(timeout)3.061 E F0
(seconds.)3.061 E F2(timeout)5.561 E F0 .561(may be a decimal number)
-3.061 F(with a fractional portion follo)180 120 Q
+3.061 F(with a fractional portion follo)180 276 Q
(wing the decimal point.)-.25 E(This option is only ef)5 E(fecti)-.25 E
.3 -.15(ve i)-.25 H(f).15 E F1 -.18(re)2.5 G(ad).18 E F0 .506(is readin\
g input from a terminal, pipe, or other special \214le; it has no ef)180
-132 R .506(fect when reading)-.25 F .59(from re)180 144 R .59
+288 R .506(fect when reading)-.25 F .59(from re)180 300 R .59
(gular \214les.)-.15 F(If)5.59 E F1 -.18(re)3.09 G(ad).18 E F0 .589
(times out,)3.09 F F1 -.18(re)3.089 G(ad).18 E F0(sa)3.089 E -.15(ve)-.2
G 3.089(sa).15 G .889 -.15(ny p)-3.089 H .589
-(artial input read into the speci\214ed).15 F -.25(va)180 156 S(riable)
+(artial input read into the speci\214ed).15 F -.25(va)180 312 S(riable)
.25 E F2(name)2.77 E F0 5.27(.I)C(f)-5.27 E F2(timeout)2.77 E F0 .27
(is 0,)2.77 F F1 -.18(re)2.77 G(ad).18 E F0 .27(returns immediately)2.77
F 2.77(,w)-.65 G .27(ithout trying to read an)-2.77 F 2.77(yd)-.15 G
-(ata.)-2.77 E 1.12(The e)180 168 R 1.12(xit status is 0 if input is a)
+(ata.)-2.77 E 1.12(The e)180 324 R 1.12(xit status is 0 if input is a)
-.15 F -.25(va)-.2 G 1.12(ilable on the speci\214ed \214le descriptor)
.25 F 3.62(,n)-.4 G 1.12(on-zero other)-3.62 F(-)-.2 E 2.5(wise. The)180
-180 R -.15(ex)2.5 G(it status is greater than 128 if the timeout is e)
-.15 E(xceeded.)-.15 E F1<ad75>144 192 Q F2(fd)2.5 E F0
-(Read input from \214le descriptor)180 192 Q F2(fd)2.5 E F0(.)A .476
-(If no)144 208.8 R F2(names)3.336 E F0 .476
+336 R -.15(ex)2.5 G(it status is greater than 128 if the timeout is e)
+.15 E(xceeded.)-.15 E F1<ad75>144 348 Q F2(fd)2.5 E F0
+(Read input from \214le descriptor)180 348 Q F2(fd)2.5 E F0(.)A .476
+(If no)144 364.8 R F2(names)3.336 E F0 .476
(are supplied, the line read is assigned to the v)3.246 F(ariable)-.25 E
/F3 9/Times-Bold@0 SF(REPL)2.977 E(Y)-.828 E/F4 9/Times-Roman@0 SF(.)A
F0 .477(The e)4.977 F .477(xit status is zero,)-.15 F .773
-(unless end-of-\214le is encountered,)144 220.8 R F1 -.18(re)3.273 G(ad)
+(unless end-of-\214le is encountered,)144 376.8 R F1 -.18(re)3.273 G(ad)
.18 E F0 .772
(times out \(in which case the status is greater than 128\), a)3.273 F
--.25(va)144 232.8 S 2.004
+-.25(va)144 388.8 S 2.004
(riable assignment error \(such as assigning to a readonly v).25 F 2.005
(ariable\) occurs, or an in)-.25 F -.25(va)-.4 G 2.005(lid \214le).25 F
-(descriptor is supplied as the ar)144 244.8 Q(gument to)-.18 E F1<ad75>
-2.5 E F0(.)A F1 -.18(re)108 261.6 S(adonly).18 E F0([)2.5 E F1(\255aAf)A
+(descriptor is supplied as the ar)144 400.8 Q(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(\255aAf)A
F0 2.5(][)C F1<ad70>-2.5 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 273.6 R -.15(ve)-.25 G
+(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.096(quent assignment.)144 285.6 R
+(may not be changed by subse-)3.54 F 1.096(quent assignment.)144 441.6 R
1.096(If the)6.096 F F1<ad66>3.596 E F0 1.097
(option is supplied, the functions corresponding to the)3.596 F F2
-(names)3.597 E F0 1.097(are so)3.597 F(mark)144 297.6 Q 3.334(ed. The)
+(names)3.597 E F0 1.097(are so)3.597 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
(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 .776(ables to associati)144 309.6 R 1.076 -.15(ve a)-.25 H 3.276
+-.25 E .776(ables to associati)144 465.6 R 1.076 -.15(ve a)-.25 H 3.276
(rrays. If).15 F .777(both options are supplied,)3.276 F F1<ad41>3.277 E
F0(tak)3.277 E .777(es precedence.)-.1 F .777(If no)5.777 F F2(name)
-3.637 E F0(ar)3.457 E(gu-)-.18 E .522(ments are gi)144 321.6 R -.15(ve)
+3.637 E F0(ar)3.457 E(gu-)-.18 E .522(ments are gi)144 477.6 R -.15(ve)
-.25 G .521(n, or if the).15 F F1<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 333.6 R(The)5.296 E F1
+to a subset of the set of readonly names.)144 489.6 R(The)5.296 E F1
<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 345.6 R .786(If a v)5.786 F .785(ariable name is fol-)-.25 F(lo)144
-357.6 Q .717(wed by =)-.25 F F2(wor)A(d)-.37 E F0 3.218(,t)C .718(he v)
+144 501.6 R .786(If a v)5.786 F .785(ariable name is fol-)-.25 F(lo)144
+513.6 Q .717(wed by =)-.25 F F2(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 F2(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 369.6 R F2(names)3.12 E F0 .26(is not a v)3.03 F .26(alid shell v)
+144 525.6 R F2(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 F1<ad66>2.76 E F0 .26
-(is supplied with a)2.76 F F2(name)144.36 381.6 Q F0
-(that is not a function.)2.68 E F1 -.18(re)108 398.4 S(tur).18 E(n)-.15
-E F0([)2.5 E F2(n)A F0(])A .02(Causes a function to stop e)144 410.4 R
+(is supplied with a)2.76 F F2(name)144.36 537.6 Q F0
+(that is not a function.)2.68 E F1 -.18(re)108 554.4 S(tur).18 E(n)-.15
+E F0([)2.5 E F2(n)A F0(])A .02(Causes a function to stop e)144 566.4 R
-.15(xe)-.15 G .02(cuting and return the v).15 F .021
(alue speci\214ed by)-.25 F F2(n)2.881 E F0 .021(to its caller)2.761 F
5.021(.I)-.55 G(f)-5.021 E F2(n)2.881 E F0 .021(is omitted,)2.761 F .597
-(the return status is that of the last command e)144 422.4 R -.15(xe)
+(the return status is that of the last command e)144 578.4 R -.15(xe)
-.15 G .596(cuted in the function body).15 F 5.596(.I)-.65 G(f)-5.596 E
F1 -.18(re)3.096 G(tur).18 E(n)-.15 E F0 .596(is e)3.096 F -.15(xe)-.15
-G(cuted).15 E 1.238(by a trap handler)144 434.4 R 3.738(,t)-.4 G 1.238
+G(cuted).15 E 1.238(by a trap handler)144 590.4 R 3.738(,t)-.4 G 1.238
(he last command used to determine the status is the last command e)
-3.738 F -.15(xe)-.15 G(cuted).15 E 1.033(before the trap handler)144
-446.4 R 6.033(.I)-.55 G(f)-6.033 E F1 -.18(re)3.533 G(tur).18 E(n)-.15 E
+602.4 R 6.033(.I)-.55 G(f)-6.033 E F1 -.18(re)3.533 G(tur).18 E(n)-.15 E
F0 1.033(is e)3.533 F -.15(xe)-.15 G 1.033(cuted during a).15 F F1(DEB)
3.532 E(UG)-.1 E F0 1.032(trap, the last command used to)3.532 F .389
-(determine the status is the last command e)144 458.4 R -.15(xe)-.15 G
+(determine the status is the last command e)144 614.4 R -.15(xe)-.15 G
.389(cuted by the trap handler before).15 F F1 -.18(re)2.89 G(tur).18 E
(n)-.15 E F0 -.1(wa)2.89 G 2.89(si).1 G -1.9 -.4(nv o)-2.89 H -.1(ke).4
-G(d.).1 E(If)144 470.4 Q F1 -.18(re)2.584 G(tur).18 E(n)-.15 E F0 .084
+G(d.).1 E(If)144 626.4 Q F1 -.18(re)2.584 G(tur).18 E(n)-.15 E F0 .084
(is used outside a function, b)2.584 F .084(ut during e)-.2 F -.15(xe)
-.15 G .084(cution of a script by the).15 F F1(.)2.584 E F0(\()5.084 E
F1(sour)A(ce)-.18 E F0 2.583(\)c)C .083(ommand, it)-2.583 F .588
-(causes the shell to stop e)144 482.4 R -.15(xe)-.15 G .588
+(causes the shell to stop e)144 638.4 R -.15(xe)-.15 G .588
(cuting that script and return either).15 F F2(n)3.448 E F0 .589
(or the e)3.329 F .589(xit status of the last com-)-.15 F .326(mand e)
-144 494.4 R -.15(xe)-.15 G .326(cuted within the script as the e).15 F
+144 650.4 R -.15(xe)-.15 G .326(cuted within the script as the e).15 F
.326(xit status of the script.)-.15 F(If)5.326 E F2(n)2.826 E F0 .325
(is supplied, the return v)2.826 F .325(alue is)-.25 F .444
-(its least signi\214cant 8 bits.)144 506.4 R .444
+(its least signi\214cant 8 bits.)144 662.4 R .444
(The return status is non-zero if)5.444 F F1 -.18(re)2.945 G(tur).18 E
(n)-.15 E F0 .445(is supplied a non-numeric ar)2.945 F(gu-)-.18 E .381
-(ment, or is used outside a function and not during e)144 518.4 R -.15
+(ment, or is used outside a function and not during e)144 674.4 R -.15
(xe)-.15 G .381(cution of a script by).15 F F1(.)2.881 E F0(or)3.714 E
F1(sour)2.881 E(ce)-.18 E F0 5.38(.A)C .68 -.15(ny c)-5.38 H(om-).15 E
-.749(mand associated with the)144 530.4 R F1(RETURN)3.249 E F0 .749
+.749(mand associated with the)144 686.4 R F1(RETURN)3.249 E F0 .749
(trap is e)3.249 F -.15(xe)-.15 G .749(cuted before e).15 F -.15(xe)-.15
-G .75(cution resumes after the function).15 F(or script.)144 542.4 Q F1
-(set)108 559.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 571.2 Q F0([)2.5 E F1(+abefhkmnptuvxBCEHPT)A F0
+G .75(cution resumes after the function).15 F(or script.)144 698.4 Q
+(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 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 87.61
+(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
+E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(set)108 84 Q F0([)2.5
+E F1(\255\255abefhkmnptuvxBCEHPT)A F0 2.5(][)C F1<ad6f>-2.5 E/F2 10
+/Times-Italic@0 SF(option\255name)2.5 E F0 2.5(][)C F2(ar)-2.5 E(g)-.37
+E F0(...])2.5 E F1(set)108 96 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 583.2 S .836
+(g)-.37 E F0(...])2.5 E -.4(Wi)144 108 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 595.2
-R 3.284(ariables. Read-only)-.25 F -.25(va)3.284 G .784
-(riables cannot be).25 F 2.912(reset. In)144 607.2 R F2(posix)2.912 E F0
-.412(mode, only shell v)2.912 F .412(ariables are listed.)-.25 F .412
-(The output is sorted according to the current)5.412 F 3.53
-(locale. When)144 619.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 631.2 R 1.623
+(reused as input for setting or resetting the currently-set v)144 120 R
+3.284(ariables. Read-only)-.25 F -.25(va)3.284 G .784(riables cannot be)
+.25 F 2.947(reset. In)144 132 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 144 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 156 R 1.623
(alues for the positional parameters and are assigned, in)-.25 F(order)
-144 643.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 655.2 Q
-F0 1.377(Each v)184 655.2 R 1.377
+144 168 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 180 Q F0
+1.377(Each v)184 180 R 1.377
(ariable or function that is created or modi\214ed is gi)-.25 F -.15(ve)
-.25 G 3.877(nt).15 G 1.377(he e)-3.877 F 1.378(xport attrib)-.15 F
-1.378(ute and)-.2 F(mark)184 667.2 Q(ed for e)-.1 E(xport to the en)-.15
-E(vironment of subsequent commands.)-.4 E F1<ad62>144 679.2 Q F0 .132
-(Report the status of terminated background jobs immediately)184 679.2 R
+1.378(ute and)-.2 F(mark)184 192 Q(ed for e)-.1 E(xport to the en)-.15 E
+(vironment of subsequent commands.)-.4 E F1<ad62>144 204 Q F0 .132
+(Report the status of terminated background jobs immediately)184 204 R
2.632(,r)-.65 G .131(ather than before the ne)-2.632 F(xt)-.15 E
-(primary prompt.)184 691.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 703.2 Q F0
-.087(Exit immediately if a)184 703.2 R F2(pipeline)2.587 E F0 .087
+(primary prompt.)184 216 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 228 Q F0 .087
+(Exit immediately if a)184 228 R F2(pipeline)2.587 E F0 .087
(\(which may consist of a single)2.587 F F2 .088(simple command)2.588 F
-F0 .088(\), a)B F2(list)2.588 E F0 2.588(,o)C(r)-2.588 E(a)184 715.2 Q
-F2 1.521(compound command)4.021 F F0(\(see)4.021 E F3 1.521
-(SHELL GRAMMAR)4.021 F F0(abo)3.771 E -.15(ve)-.15 G 1.521(\), e).15 F
-1.521(xits with a non-zero status.)-.15 F .079(The shell does not e)184
-727.2 R .079(xit if the command that f)-.15 F .08
-(ails is part of the command list immediately)-.1 F(GNU Bash 5.0)72 768
-Q(2004 Apr 20)149.565 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 87.61
-(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
-E(UIL)-.1 E(TINS\(1\))-.92 E(follo)184 84 Q 1.655(wing a)-.25 F/F1 10
-/Times-Bold@0 SF(while)4.155 E F0(or)4.155 E F1(until)4.155 E F0 -.1(ke)
-4.155 G(yw)-.05 E 1.655(ord, part of the test follo)-.1 F 1.654
+F0 .088(\), a)B F2(list)2.588 E F0 2.588(,o)C(r)-2.588 E(a)184 240 Q F2
+1.521(compound command)4.021 F F0(\(see)4.021 E/F3 9/Times-Bold@0 SF
+1.521(SHELL GRAMMAR)4.021 F F0(abo)3.771 E -.15(ve)-.15 G 1.521(\), e)
+.15 F 1.521(xits with a non-zero status.)-.15 F .079
+(The shell does not e)184 252 R .079(xit if the command that f)-.15 F
+.08(ails is part of the command list immediately)-.1 F(follo)184 264 Q
+1.655(wing a)-.25 F F1(while)4.155 E F0(or)4.155 E F1(until)4.155 E F0
+-.1(ke)4.155 G(yw)-.05 E 1.655(ord, part of the test follo)-.1 F 1.654
(wing the)-.25 F F1(if)4.154 E F0(or)4.154 E F1(elif)4.154 E F0(reserv)
-4.154 E(ed)-.15 E -.1(wo)184 96 S .581(rds, part of an).1 F 3.081(yc)
+4.154 E(ed)-.15 E -.1(wo)184 276 S .581(rds, part of an).1 F 3.081(yc)
-.15 G .581(ommand e)-3.081 F -.15(xe)-.15 G .581(cuted in a).15 F F1
(&&)3.081 E F0(or)3.081 E F1(||)3.081 E F0 .582(list e)3.082 F .582
-(xcept the command follo)-.15 F(wing)-.25 E .918(the \214nal)184 108 R
+(xcept the command follo)-.15 F(wing)-.25 E .918(the \214nal)184 288 R
F1(&&)3.418 E F0(or)3.418 E F1(||)3.418 E F0 3.418(,a)C 1.218 -.15(ny c)
-3.418 H .918(ommand in a pipeline b).15 F .917
(ut the last, or if the command')-.2 F 3.417(sr)-.55 G(eturn)-3.417 E
--.25(va)184 120 S .66(lue is being in).25 F -.15(ve)-.4 G .66(rted with)
+-.25(va)184 300 S .66(lue is being in).25 F -.15(ve)-.4 G .66(rted with)
.15 F F1(!)3.16 E F0 5.661(.I)C 3.161(fac)-5.661 G .661
(ompound command other than a subshell returns a)-3.161 F 1.113
-(non-zero status because a command f)184 132 R 1.112(ailed while)-.1 F
+(non-zero status because a command f)184 312 R 1.112(ailed while)-.1 F
F1<ad65>3.612 E F0 -.1(wa)3.612 G 3.612(sb).1 G 1.112
-(eing ignored, the shell does)-3.612 F .177(not e)184 144 R 2.677
+(eing ignored, the shell does)-3.612 F .177(not e)184 324 R 2.677
(xit. A)-.15 F .177(trap on)2.677 F F1(ERR)2.677 E F0 2.677(,i)C 2.678
(fs)-2.677 G .178(et, is e)-2.678 F -.15(xe)-.15 G .178
(cuted before the shell e).15 F 2.678(xits. This)-.15 F .178
-(option applies to)2.678 F .618(the shell en)184 156 R .617
+(option applies to)2.678 F .618(the shell en)184 336 R .617
(vironment and each subshell en)-.4 F .617(vironment separately \(see)
--.4 F/F2 9/Times-Bold@0 SF .617(COMMAND EXE-)3.117 F .642(CUTION ENVIR)
-184 168 R(ONMENT)-.27 E F0(abo)2.893 E -.15(ve)-.15 G .643
+-.4 F F3 .617(COMMAND EXE-)3.117 F .642(CUTION ENVIR)184 348 R(ONMENT)
+-.27 E F0(abo)2.893 E -.15(ve)-.15 G .643
(\), and may cause subshells to e).15 F .643(xit before e)-.15 F -.15
-(xe)-.15 G .643(cuting all).15 F(the commands in the subshell.)184 180 Q
-2.042(If a compound command or shell function e)184 198 R -.15(xe)-.15 G
+(xe)-.15 G .643(cuting all).15 F(the commands in the subshell.)184 360 Q
+2.042(If a compound command or shell function e)184 378 R -.15(xe)-.15 G
2.042(cutes in a conte).15 F 2.042(xt where)-.15 F F1<ad65>4.542 E F0
-2.042(is being)4.542 F 1.435(ignored, none of the commands e)184 210 R
+2.042(is being)4.542 F 1.435(ignored, none of the commands e)184 390 R
-.15(xe)-.15 G 1.436(cuted within the compound command or function).15 F
-.194(body will be af)184 222 R .194(fected by the)-.25 F F1<ad65>2.694 E
+.194(body will be af)184 402 R .194(fected by the)-.25 F F1<ad65>2.694 E
F0 .193(setting, e)2.693 F -.15(ve)-.25 G 2.693(ni).15 G(f)-2.693 E F1
<ad65>2.693 E F0 .193(is set and a command returns a f)2.693 F(ailure)
--.1 E 3.39(status. If)184 234 R 3.39(ac)3.39 G .89
+-.1 E 3.39(status. If)184 414 R 3.39(ac)3.39 G .89
(ompound command or shell function sets)-3.39 F F1<ad65>3.39 E F0 .89
(while e)3.39 F -.15(xe)-.15 G .89(cuting in a conte).15 F(xt)-.15 E
-(where)184 246 Q F1<ad65>3.154 E F0 .654
+(where)184 426 Q F1<ad65>3.154 E F0 .654
(is ignored, that setting will not ha)3.154 F .953 -.15(ve a)-.2 H .953
-.15(ny e).15 H -.25(ff).15 G .653(ect until the compound command).25 F
-(or the command containing the function call completes.)184 258 Q F1
-<ad66>144 270 Q F0(Disable pathname e)184 270 Q(xpansion.)-.15 E F1
-<ad68>144 282 Q F0 2.238(Remember the location of commands as the)184
-282 R 4.738(ya)-.15 G 2.239(re look)-4.738 F 2.239(ed up for e)-.1 F
+(or the command containing the function call completes.)184 438 Q F1
+<ad66>144 450 Q F0(Disable pathname e)184 450 Q(xpansion.)-.15 E F1
+<ad68>144 462 Q F0 2.238(Remember the location of commands as the)184
+462 R 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
-294 Q(ault.)-.1 E F1<ad6b>144 306 Q F0 .514(All ar)184 306 R .514
+474 Q(ault.)-.1 E F1<ad6b>144 486 Q F0 .514(All ar)184 486 R .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 318 Q F1
-<ad6d>144 330 Q F0 .148(Monitor mode.)184 330 R .148
+(command, not just those that precede the command name.)184 498 Q F1
+<ad6d>144 510 Q F0 .148(Monitor mode.)184 510 R .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 .651
-(on systems that support it \(see)184 342 R F2 .651(JOB CONTR)3.151 F
+(on systems that support it \(see)184 522 R F3 .651(JOB CONTR)3.151 F
(OL)-.27 E F0(abo)2.901 E -.15(ve)-.15 G 3.151(\). All).15 F .65
-(processes run in a separate)3.151 F .678(process group.)184 354 R .679
+(processes run in a separate)3.151 F .678(process group.)184 534 R .679
(When a background job completes, the shell prints a line containing it\
-s)5.678 F -.15(ex)184 366 S(it status.).15 E F1<ad6e>144 378 Q F0 .653
-(Read commands b)184 378 R .653(ut do not e)-.2 F -.15(xe)-.15 G .653
+s)5.678 F -.15(ex)184 546 S(it status.).15 E F1<ad6e>144 558 Q F0 .653
+(Read commands b)184 558 R .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 390 Q(This is ignored by interacti)5 E .3
--.15(ve s)-.25 H(hells.).15 E F1<ad6f>144 402 Q/F3 10/Times-Italic@0 SF
-(option\255name)2.5 E F0(The)184 414 Q F3(option\255name)2.5 E F0
-(can be one of the follo)2.5 E(wing:)-.25 E F1(allexport)184 426 Q F0
-(Same as)224 438 Q F1<ad61>2.5 E F0(.)A F1(braceexpand)184 450 Q F0
-(Same as)224 462 Q F1<ad42>2.5 E F0(.)A F1(emacs)184 474 Q F0 .089
-(Use an emacs-style command line editing interf)224 474 R 2.589
+5.653 F(syntax errors.)184 570 Q(This is ignored by interacti)5 E .3
+-.15(ve s)-.25 H(hells.).15 E F1<ad6f>144 582 Q F2(option\255name)2.5 E
+F0(The)184 594 Q F2(option\255name)2.5 E F0(can be one of the follo)2.5
+E(wing:)-.25 E F1(allexport)184 606 Q F0(Same as)224 618 Q F1<ad61>2.5 E
+F0(.)A F1(braceexpand)184 630 Q F0(Same as)224 642 Q F1<ad42>2.5 E F0(.)
+A F1(emacs)184 654 Q F0 .089
+(Use an emacs-style command line editing interf)224 654 R 2.589
(ace. This)-.1 F .089(is enabled by def)2.589 F(ault)-.1 E .95
-(when the shell is interacti)224 486 R -.15(ve)-.25 G 3.45(,u).15 G .95
+(when the shell is interacti)224 666 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 498 R(also af)2.5 E(fects the editing interf)
+F0 2.5(option. This)224 678 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 510 Q(exit)-.18 E F0(Same as)224 510 Q F1<ad65>2.5 E F0(.)A F1
-(errtrace)184 522 Q F0(Same as)224 522 Q F1<ad45>2.5 E F0(.)A F1
-(functrace)184 534 Q F0(Same as)224 546 Q F1<ad54>2.5 E F0(.)A F1
-(hashall)184 558 Q F0(Same as)224 558 Q F1<ad68>2.5 E F0(.)A F1
-(histexpand)184 570 Q F0(Same as)224 582 Q F1<ad48>2.5 E F0(.)A F1
-(history)184 594 Q F0 .586(Enable command history)224 594 R 3.087(,a)
--.65 G 3.087(sd)-3.087 G .587(escribed abo)-3.087 F .887 -.15(ve u)-.15
-H(nder).15 E F2(HIST)3.087 E(OR)-.162 E(Y)-.315 E/F4 9/Times-Roman@0 SF
-(.)A F0 .587(This option is)5.087 F(on by def)224 606 Q
-(ault in interacti)-.1 E .3 -.15(ve s)-.25 H(hells.).15 E F1(ignor)184
-618 Q(eeof)-.18 E F0 1.657(The ef)224 630 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
-642 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 654 S(yw).1 E(ord)-.1 E F0(Same as)224 666 Q F1
-<ad6b>2.5 E F0(.)A F1(monitor)184 678 Q F0(Same as)224 678 Q F1<ad6d>2.5
-E F0(.)A F1(noclob)184 690 Q(ber)-.1 E F0(Same as)224 702 Q F1<ad43>2.5
-E F0(.)A F1(noexec)184 714 Q F0(Same as)224 714 Q F1<ad6e>2.5 E F0(.)A
+184 690 Q(exit)-.18 E F0(Same as)224 690 Q F1<ad65>2.5 E F0(.)A F1
+(errtrace)184 702 Q F0(Same as)224 702 Q F1<ad45>2.5 E F0(.)A
(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(15)198.725 E 0 Cg EP
%%Page: 16 16
%%BeginPageSetup
@@ -2101,552 +2103,542 @@ BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61
(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
-E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(noglob)184 84 Q F0
-(Same as)224 84 Q F1<ad66>2.5 E F0(.)A F1(nolog)184 96 Q F0
-(Currently ignored.)224 96 Q F1(notify)184 108 Q F0(Same as)224 108 Q F1
-<ad62>2.5 E F0(.)A F1(nounset)184 120 Q F0(Same as)224 120 Q F1<ad75>2.5
-E F0(.)A F1(onecmd)184 132 Q F0(Same as)224 132 Q F1<ad74>2.5 E F0(.)A
-F1(ph)184 144 Q(ysical)-.15 E F0(Same as)224 144 Q F1<ad50>2.5 E F0(.)A
-F1(pipefail)184 156 Q F0 1.029(If set, the return v)224 156 R 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
+E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(functrace)184 84 Q F0
+(Same as)224 96 Q F1<ad54>2.5 E F0(.)A F1(hashall)184 108 Q F0(Same as)
+224 108 Q F1<ad68>2.5 E F0(.)A F1(histexpand)184 120 Q F0(Same as)224
+132 Q F1<ad48>2.5 E F0(.)A F1(history)184 144 Q F0 .586
+(Enable command history)224 144 R 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 156 Q
+(ault in interacti)-.1 E .3 -.15(ve s)-.25 H(hells.).15 E F1(ignor)184
+168 Q(eeof)-.18 E F0 1.657(The ef)224 180 R 1.657
+(fect is as if the shell command)-.25 F/F4 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
+192 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 204 S(yw).1 E(ord)-.1 E F0(Same as)224 216 Q F1
+<ad6b>2.5 E F0(.)A F1(monitor)184 228 Q F0(Same as)224 228 Q F1<ad6d>2.5
+E F0(.)A F1(noclob)184 240 Q(ber)-.1 E F0(Same as)224 252 Q F1<ad43>2.5
+E F0(.)A F1(noexec)184 264 Q F0(Same as)224 264 Q F1<ad6e>2.5 E F0(.)A
+F1(noglob)184 276 Q F0(Same as)224 276 Q F1<ad66>2.5 E F0(.)A F1(nolog)
+184 288 Q F0(Currently ignored.)224 288 Q F1(notify)184 300 Q F0
+(Same as)224 300 Q F1<ad62>2.5 E F0(.)A F1(nounset)184 312 Q F0(Same as)
+224 312 Q F1<ad75>2.5 E F0(.)A F1(onecmd)184 324 Q F0(Same as)224 324 Q
+F1<ad74>2.5 E F0(.)A F1(ph)184 336 Q(ysical)-.15 E F0(Same as)224 336 Q
+F1<ad50>2.5 E F0(.)A F1(pipefail)184 348 Q F0 1.029
+(If set, the return v)224 348 R 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 360
+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)224 192 R 2.091(vior of)-.2 F F1(bash)4.591 E F0
+-.15 F -.15(ex)224 372 S(it successfully).15 E 5(.T)-.65 G
+(his option is disabled by def)-5 E(ault.)-.1 E F1(posix)184 384 Q F0
+2.09(Change the beha)224 384 R 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 1.212(POSIX standard to match the standard \()224
-204 R/F2 10/Times-Italic@0 SF 1.212(posix mode)B F0 3.712(\). See)B/F3 9
-/Times-Bold@0 SF 1.212(SEE ALSO)3.712 F F0(belo)3.462 E(w)-.25 E 2.306
-(for a reference to a document that details ho)224 216 R 4.807(wp)-.25 G
+396 R/F5 10/Times-Italic@0 SF 1.212(posix mode)B F0 3.712(\). See)B F2
+1.212(SEE ALSO)3.712 F F0(belo)3.462 E(w)-.25 E 2.306
+(for a reference to a document that details ho)224 408 R 4.807(wp)-.25 G
2.307(osix mode af)-4.807 F 2.307(fects bash')-.25 F(s)-.55 E(beha)224
-228 Q(vior)-.2 E(.)-.55 E F1(pri)184 240 Q(vileged)-.1 E F0(Same as)224
-252 Q F1<ad70>2.5 E F0(.)A F1 -.1(ve)184 264 S(rbose).1 E F0(Same as)224
-264 Q F1<ad76>2.5 E F0(.)A F1(vi)184 276 Q F0 1.466
-(Use a vi-style command line editing interf)224 276 R 3.965(ace. This)
+420 Q(vior)-.2 E(.)-.55 E F1(pri)184 432 Q(vileged)-.1 E F0(Same as)224
+444 Q F1<ad70>2.5 E F0(.)A F1 -.1(ve)184 456 S(rbose).1 E F0(Same as)224
+456 Q F1<ad76>2.5 E F0(.)A F1(vi)184 468 Q F0 1.466
+(Use a vi-style command line editing interf)224 468 R 3.965(ace. This)
-.1 F 1.465(also af)3.965 F 1.465(fects the editing)-.25 F(interf)224
-288 Q(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0(.)A F1
-(xtrace)184 300 Q F0(Same as)224 300 Q F1<ad78>2.5 E F0(.)A(If)184 318 Q
-F1<ad6f>3.052 E F0 .552(is supplied with no)3.052 F F2(option\255name)
+480 Q(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0(.)A F1
+(xtrace)184 492 Q F0(Same as)224 492 Q F1<ad78>2.5 E F0(.)A(If)184 510 Q
+F1<ad6f>3.052 E F0 .552(is supplied with no)3.052 F F5(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
-330 Q F0 1.072(is supplied with no)3.572 F F2(option\255name)3.572 E F0
+522 Q F0 1.072(is supplied with no)3.572 F F5(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 342 Q F1<ad70>
-144 354 Q F0 -.45(Tu)184 354 S 1.071(rn on).45 F F2(privile)4.821 E -.1
+(option settings is displayed on the standard output.)184 534 Q F1<ad70>
+144 546 Q F0 -.45(Tu)184 546 S 1.071(rn on).45 F F5(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
+F2($ENV)3.572 E F0(and)3.322 E F2($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 366 R 1.5
-(vironment, and the)-.4 F F3(SHELLOPTS)4 E/F4 9/Times-Roman@0 SF(,)A F3
--.27(BA)184 378 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 390 R .38
+(cessed, shell functions are not inherited from the en)184 558 R 1.5
+(vironment, and the)-.4 F F2(SHELLOPTS)4 E F3(,)A F2 -.27(BA)184 570 S
+(SHOPTS).27 E F3(,)A F2(CDP)2.774 E -.855(AT)-.666 G(H).855 E F3(,)A F0
+(and)2.774 E F2(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 582 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 402 R F1<ad70>2.961 E F0 .461
+(user \(group\) id, and the)184 594 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 414 Q .695 -.15(ve u)-.25 H .395
+(en and the ef)-.1 F(fec-)-.25 E(ti)184 606 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 426 R -.45(Tu)5.386 G
+E -.15(ve)-.25 G .386(user id is not reset.)184 618 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 438 Q F1<ad74>144 450 Q F0
-(Exit after reading and e)184 450 Q -.15(xe)-.15 G(cuting one command.)
-.15 E F1<ad75>144 462 Q F0 -.35(Tr)184 462 S .044(eat unset v).35 F .044
+(set to the real user and group ids.)184 630 Q F1<ad74>144 642 Q F0
+(Exit after reading and e)184 642 Q -.15(xe)-.15 G(cuting one command.)
+.15 E F1<ad75>144 654 Q F0 -.35(Tr)184 654 S .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 474 R 2.682
+as an)-.25 F .182(error when performing parameter e)184 666 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 486 R 3.246(,t)-.4 G .746
+(able or parameter)184 678 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
-498 Q F1<ad76>144 510 Q F0(Print shell input lines as the)184 510 Q 2.5
-(ya)-.15 G(re read.)-2.5 E F1<ad78>144 522 Q F0 .315(After e)184 522 R
-.315(xpanding each)-.15 F F2 .315(simple command)2.815 F F0(,)A F1 -.25
+690 Q F1<ad76>144 702 Q F0(Print shell input lines as the)184 702 Q 2.5
+(ya)-.15 G(re read.)-2.5 E F1<ad78>144 714 Q F0 .315(After e)184 714 R
+.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
-534 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 546 Q
-(xpanded ar)-.15 E(guments or associated w)-.18 E(ord list.)-.1 E F1
-<ad42>144 558 Q F0 2.578(The shell performs brace e)184 558 R 2.578
+2.815 E F1(select)2.815 E F0(command,)2.815 E 3.26(or arithmetic)184 726
+R F1 -.25(fo)5.76 G(r).25 E F0 3.26(command, display the e)5.76 F 3.26
+(xpanded v)-.15 F 3.26(alue of)-.25 F F2(PS4)5.76 E F3(,)A F0(follo)
+5.509 E 3.259(wed by the)-.25 F(GNU Bash 5.0)72 768 Q(2004 Apr 20)
+149.565 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 87.61
+(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
+E(UIL)-.1 E(TINS\(1\))-.92 E(command and its e)184 84 Q(xpanded ar)-.15
+E(guments or associated w)-.18 E(ord list.)-.1 E/F1 10/Times-Bold@0 SF
+<ad42>144 96 Q F0 2.578(The shell performs brace e)184 96 R 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 570 Q
-(ault.)-.1 E F1<ad43>144 582 Q F0 .214(If set,)184 582 R F1(bash)2.714 E
+-.15(ve)-.15 G 5.079(\). This).15 F 2.579(is on by)5.079 F(def)184 108 Q
+(ault.)-.1 E F1<ad43>144 120 Q F0 .214(If set,)184 120 R 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 594 R .553(may be o)3.053 F -.15(ve)-.15 G .553
+3.053(tors. This)184 132 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 606 Q F1(>|)2.5 E F0(instead of)2.5 E F1(>)2.5 E F0(.)A F1
-<ad45>144 618 Q F0 .104(If set, an)184 618 R 2.604(yt)-.15 G .104
+.15 F(tor)184 144 Q F1(>|)2.5 E F0(instead of)2.5 E F1(>)2.5 E F0(.)A F1
+<ad45>144 156 Q F0 .104(If set, an)184 156 R 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 630 R -.15(xe)-.15 G .838(cuted in a subshell en).15
+F .838(mands e)184 168 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 642 Q F1
-<ad48>144 654 Q F0(Enable)184 654 Q F1(!)3.032 E F0 .532
+(trap is normally not inherited in)3.339 F(such cases.)184 180 Q F1
+<ad48>144 192 Q F0(Enable)184 192 Q 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 666 Q -.15
-(ve)-.25 G(.).15 E F1<ad50>144 678 Q F0 .959
-(If set, the shell does not resolv)184 678 R 3.459(es)-.15 G .959
+F .531(ault when the shell is inter)-.1 F(-)-.2 E(acti)184 204 Q -.15
+(ve)-.25 G(.).15 E F1<ad50>144 216 Q F0 .959
+(If set, the shell does not resolv)184 216 R 3.459(es)-.15 G .959
(ymbolic links when e)-3.459 F -.15(xe)-.15 G .96
(cuting commands such as).15 F F1(cd)3.46 E F0 2.822
-(that change the current w)184 690 R 2.822(orking directory)-.1 F 7.822
+(that change the current w)184 228 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 702 R(def)2.685
+(ysical directory structure)-.05 F 2.685(instead. By)184 240 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 714 Q(.)-.65 E
-(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 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 87.61
-(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
-E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF<ad54>144 84 Q F0 .89
-(If set, an)184 84 R 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
+(mands which change the current directory)184 252 Q(.)-.65 E F1<ad54>144
+264 Q F0 .89(If set, an)184 264 R 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 96 R -.15(xe)-.15 G 1.932
+(substitutions, and commands e)184 276 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 108 Q F0
-(traps are normally not inherited in such cases.)2.5 E F1<adad>144 120 Q
-F0 .401(If no ar)184 120 R .401(guments follo)-.18 F 2.901(wt)-.25 G
+(UG)-.1 E F0(and)4.432 E F1(RETURN)184 288 Q F0
+(traps are normally not inherited in such cases.)2.5 E F1<adad>144 300 Q
+F0 .401(If no ar)184 300 R .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 132 Q/F2
+(Otherwise,)5.4 E(the positional parameters are set to the)184 312 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 144 Q F0 1.944
-(Signal the end of options, cause all remaining)184 144 R F2(ar)4.444 E
+F0(.)A F1<ad>144 324 Q F0 1.944
+(Signal the end of options, cause all remaining)184 324 R 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 156 R F1
+(ssigned to the positional)-4.445 F 3.446(parameters. The)184 336 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 168 Q .425(The options are of)144
-184.8 R 2.925(fb)-.25 G 2.925(yd)-2.925 G(ef)-2.925 E .425
+(parameters remain unchanged.)184 348 Q .425(The options are of)144
+364.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 196.8 R 2.678(f. The)-.25 F .178
+(to be turned of)144 376.8 R 2.678(f. The)-.25 F .178
(options can also be speci\214ed as ar)2.678 F .178(guments to an in)
-.18 F -.2(vo)-.4 G .177(cation of the shell.).2 F(The)5.177 E .066
-(current set of options may be found in)144 208.8 R F1<24ad>2.566 E F0
+(current set of options may be found in)144 388.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 220.8 Q F1(shift)108 237.6 Q F0([)2.5 E F2(n)A F0
-(])A .429(The positional parameters from)144 249.6 R F2(n)2.929 E F0
+(is encountered.)144 400.8 Q F1(shift)108 417.6 Q F0([)2.5 E F2(n)A F0
+(])A .429(The positional parameters from)144 429.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 261.6 Q F1($#)2.582
+.428(rameters represented by the num-).15 F(bers)144 441.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 273.6 R(If)5.06 E F2(n)2.92 E F0
+(is 0, no parameters are changed.)144 453.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 285.6 R
+(,t)C(he)-2.56 E .143(positional parameters are not changed.)144 465.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 297.6 Q F1(shopt)108 314.4 Q F0([)
+(or less than zero; otherwise 0.)144 477.6 Q F1(shopt)108 494.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 326.4 S .64(ggle the v).8 F .639
+-2.5 E F0(...])2.5 E -.8(To)144 506.4 S .64(ggle the v).8 F .639
(alues of settings controlling optional shell beha)-.25 F(vior)-.2 E
5.639(.T)-.55 G .639(he settings can be either those)-5.639 F .374
-(listed belo)144 338.4 R 1.674 -.65(w, o)-.25 H 1.174 -.4(r, i).65 H
+(listed belo)144 518.4 R 1.674 -.65(w, o)-.25 H 1.174 -.4(r, i).65 H
2.874(ft).4 G(he)-2.874 E F1<ad6f>2.874 E F0 .375
(option is used, those a)2.875 F -.25(va)-.2 G .375(ilable with the).25
F F1<ad6f>2.875 E F0 .375(option to the)2.875 F F1(set)2.875 E F0 -.2
-(bu)2.875 G .375(iltin com-).2 F 3.326(mand. W)144 350.4 R .826
+(bu)2.875 G .375(iltin com-).2 F 3.326(mand. W)144 530.4 R .826
(ith no options, or with the)-.4 F F1<ad70>3.326 E F0 .825
(option, a list of all settable options is displayed, with an)3.326 F
-.551(indication of whether or not each is set; if)144 362.4 R F2
+.551(indication of whether or not each is set; if)144 542.4 R F2
(optnames)3.052 E F0 .552
(are supplied, the output is restricted to those)3.052 F 2.55
-(options. The)144 374.4 R F1<ad70>2.55 E F0 .049(option causes output t\
+(options. The)144 554.4 R F1<ad70>2.55 E F0 .049(option causes output t\
o be displayed in a form that may be reused as input.)2.55 F(Other)5.049
-E(options ha)144 386.4 Q .3 -.15(ve t)-.2 H(he follo).15 E
-(wing meanings:)-.25 E F1<ad73>144 398.4 Q F0(Enable \(set\) each)180
-398.4 Q F2(optname)2.5 E F0(.)A F1<ad75>144 410.4 Q F0
-(Disable \(unset\) each)180 410.4 Q F2(optname)2.5 E F0(.)A F1<ad71>144
-422.4 Q F0 .003(Suppresses normal output \(quiet mode\); the return sta\
-tus indicates whether the)180 422.4 R F2(optname)2.504 E F0(is)2.504 E
-.256(set or unset.)180 434.4 R .256(If multiple)5.256 F F2(optname)2.756
+E(options ha)144 566.4 Q .3 -.15(ve t)-.2 H(he follo).15 E
+(wing meanings:)-.25 E F1<ad73>144 578.4 Q F0(Enable \(set\) each)180
+578.4 Q F2(optname)2.5 E F0(.)A F1<ad75>144 590.4 Q F0
+(Disable \(unset\) each)180 590.4 Q F2(optname)2.5 E F0(.)A F1<ad71>144
+602.4 Q F0 .003(Suppresses normal output \(quiet mode\); the return sta\
+tus indicates whether the)180 602.4 R F2(optname)2.504 E F0(is)2.504 E
+.256(set or unset.)180 614.4 R .256(If multiple)5.256 F F2(optname)2.756
E F0(ar)2.756 E .256(guments are gi)-.18 F -.15(ve)-.25 G 2.756(nw).15 G
(ith)-2.756 E F1<ad71>2.756 E F0 2.755(,t)C .255
-(he return status is zero if)-2.755 F(all)180 446.4 Q F2(optnames)2.5 E
-F0(are enabled; non-zero otherwise.)2.5 E F1<ad6f>144 458.4 Q F0
-(Restricts the v)180 458.4 Q(alues of)-.25 E F2(optname)2.5 E F0
+(he return status is zero if)-2.755 F(all)180 626.4 Q F2(optnames)2.5 E
+F0(are enabled; non-zero otherwise.)2.5 E F1<ad6f>144 638.4 Q F0
+(Restricts the v)180 638.4 Q(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 .624(If either)144 475.2 R F1
+E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .624(If either)144 655.2 R F1
<ad73>3.124 E F0(or)3.124 E F1<ad75>3.124 E F0 .624(is used with no)
3.124 F F2(optname)3.124 E F0(ar)3.124 E(guments,)-.18 E F1(shopt)3.124
E F0(sho)3.124 E .624(ws only those options which are)-.25 F 2.234
-(set or unset, respecti)144 487.2 R -.15(ve)-.25 G(ly).15 E 7.234(.U)
+(set or unset, respecti)144 667.2 R -.15(ve)-.25 G(ly).15 E 7.234(.U)
-.65 G 2.234(nless otherwise noted, the)-7.234 F F1(shopt)4.734 E F0
-2.234(options are disabled \(unset\) by)4.734 F(def)144 499.2 Q(ault.)
+2.234(options are disabled \(unset\) by)4.734 F(def)144 679.2 Q(ault.)
-.1 E 1.544(The return status when listing options is zero if all)144
-516 R F2(optnames)4.044 E F0 1.545(are enabled, non-zero otherwise.)
+696 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 528 R F2(optname)3.196 E F0 .696(is not a v)3.196 F .695(alid shell)
--.25 F(option.)144 540 Q(The list of)144 556.8 Q F1(shopt)2.5 E F0
-(options is:)2.5 E F1(assoc_expand_once)144 574.8 Q F0 1.944
-(If set, the shell suppresses multiple e)184 586.8 R -.25(va)-.25 G
+144 708 R F2(optname)3.196 E F0 .696(is not a v)3.196 F .695(alid shell)
+-.25 F(option.)144 720 Q(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 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 87.61
+(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
+E(UIL)-.1 E(TINS\(1\))-.92 E(The list of)144 84 Q/F1 10/Times-Bold@0 SF
+(shopt)2.5 E F0(options is:)2.5 E F1(assoc_expand_once)144 102 Q F0
+1.944(If set, the shell suppresses multiple e)184 114 R -.25(va)-.25 G
1.945(luation of associati).25 F 2.245 -.15(ve a)-.25 H 1.945
-(rray subscripts during).15 F .857(arithmetic e)184 598.8 R .857
+(rray subscripts during).15 F .857(arithmetic e)184 126 R .857
(xpression e)-.15 F -.25(va)-.25 G .857(luation and while e).25 F -.15
(xe)-.15 G .857(cuting b).15 F .857(uiltins that can perform v)-.2 F
-(ariable)-.25 E(assignments.)184 610.8 Q F1(autocd)144 622.8 Q F0 .199
-(If set, a command name that is the name of a directory is e)184 622.8 R
+(ariable)-.25 E(assignments.)184 138 Q F1(autocd)144 150 Q F0 .199
+(If set, a command name that is the name of a directory is e)184 150 R
-.15(xe)-.15 G .2(cuted as if it were the ar).15 F(gu-)-.18 E
-(ment to the)184 634.8 Q F1(cd)2.5 E F0 2.5(command. This)2.5 F
+(ment to the)184 162 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 646.8 Q(ars)-.1 E F0 .156(If set, an ar)184 658.8 R .156
+F1(cdable_v)144 174 Q(ars)-.1 E F0 .156(If set, an ar)184 186 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 670.8 Q(ariable whose v)-.25 E
-(alue is the directory to change to.)-.25 E F1(cdspell)144 682.8 Q F0
+(name of a v)184 198 Q(ariable whose v)-.25 E
+(alue is the directory to change to.)-.25 E F1(cdspell)144 210 Q F0
1.055
(If set, minor errors in the spelling of a directory component in a)184
-682.8 R F1(cd)3.555 E F0 1.055(command will be)3.555 F 3.988
-(corrected. The)184 694.8 R 1.488(errors check)3.988 F 1.487
+210 R F1(cd)3.555 E F0 1.055(command will be)3.555 F 3.988
+(corrected. The)184 222 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 .77(one character too man)184 706.8 R 4.57 -.65(y. I)
+-.4 G(nd)-3.987 E .77(one character too man)184 234 R 4.57 -.65(y. I)
-.15 H 3.27(fac).65 G .77
(orrection is found, the corrected \214lename is printed, and)-3.27 F
-(the command proceeds.)184 718.8 Q
-(This option is only used by interacti)5 E .3 -.15(ve s)-.25 H(hells.)
-.15 E(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 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 87.61
-(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
-E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(checkhash)144 84 Q F0
-.737(If set,)184 96 R F1(bash)3.237 E F0 .736
+(the command proceeds.)184 246 Q(This option is only used by interacti)5
+E .3 -.15(ve s)-.25 H(hells.).15 E F1(checkhash)144 258 Q F0 .737
+(If set,)184 270 R F1(bash)3.237 E F0 .736
(checks that a command found in the hash table e)3.237 F .736
-(xists before trying to e)-.15 F -.15(xe)-.15 G(-).15 E(cute it.)184 108
+(xists before trying to e)-.15 F -.15(xe)-.15 G(-).15 E(cute it.)184 282
Q(If a hashed command no longer e)5 E
-(xists, a normal path search is performed.)-.15 E F1(checkjobs)144 120 Q
-F0 .448(If set,)184 132 R F1(bash)2.948 E F0 .448
+(xists, a normal path search is performed.)-.15 E F1(checkjobs)144 294 Q
+F0 .448(If set,)184 306 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 144 R(an)3.439 E 3.439(yj)-.15 G
+F -.15(ve)-.25 G 3.439(shell. If)184 318 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 156 R 2.203(ening command \(see)-.15 F
+(attempted without an interv)184 330 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.704 E(al)184 168 Q -.1(wa)-.1
+-.15(ve)-.15 G 4.703(\). The).15 F(shell)4.704 E(al)184 342 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 180 Q F0 1.09(If set,)184
-192 R F1(bash)3.59 E F0 1.09(checks the windo)3.59 F 3.59(ws)-.25 G 1.09
+(obs are stopped.)-2.5 E F1(checkwinsize)144 354 Q F0 1.09(If set,)184
+366 R F1(bash)3.59 E F0 1.09(checks the windo)3.59 F 3.59(ws)-.25 G 1.09
(ize after each e)-3.59 F 1.09(xternal \(non-b)-.15 F 1.09
-(uiltin\) command and, if)-.2 F(necessary)184 204 Q 2.5(,u)-.65 G
+(uiltin\) command and, if)-.2 F(necessary)184 378 Q 2.5(,u)-.65 G
(pdates the v)-2.5 E(alues 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 216 Q F0 1.202
-(If set,)184 216 R F1(bash)3.702 E F0 1.202(attempts to sa)3.702 F 1.502
+(COLUMNS)2.5 E/F3 9/Times-Roman@0 SF(.)A F1(cmdhist)144 390 Q F0 1.202
+(If set,)184 390 R 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
-228 Q 6.133(.T)-.65 G 1.133(his allo)-6.133 F 1.133
+402 Q 6.133(.T)-.65 G 1.133(his allo)-6.133 F 1.133
(ws easy re-editing of multi-line commands.)-.25 F 1.132
-(This option is enabled by)6.132 F(def)184 240 Q .613(ault, b)-.1 F .613
+(This option is enabled by)6.132 F(def)184 414 Q .613(ault, b)-.1 F .613
(ut only has an ef)-.2 F .614
(fect if command history is enabled, as described abo)-.25 F .914 -.15
-(ve u)-.15 H(nder).15 E F2(HIST)184 252 Q(OR)-.162 E(Y)-.315 E F3(.)A F1
-(compat31)144 264 Q F0 .42(If set,)184 276 R F1(bash)2.92 E F0 .42
+(ve u)-.15 H(nder).15 E F2(HIST)184 426 Q(OR)-.162 E(Y)-.315 E F3(.)A F1
+(compat31)144 438 Q F0 .42(If set,)184 450 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 .461(to the)
-184 288 R F1([[)2.961 E F0 .462(conditional command')2.962 F(s)-.55 E F1
+184 462 R F1([[)2.961 E F0 .462(conditional command')2.962 F(s)-.55 E F1
(=~)2.962 E F0 .462
(operator and locale-speci\214c string comparison when)2.962 F .71
-(using the)184 300 R F1([[)3.21 E F0 .71(conditional command')3.21 F(s)
+(using the)184 474 R F1([[)3.21 E F0 .71(conditional command')3.21 F(s)
-.55 E F1(<)3.21 E F0(and)3.21 E F1(>)3.21 E F0 3.21(operators. Bash)
3.21 F -.15(ve)3.21 G .71(rsions prior to bash-4.1).15 F .82
-(use ASCII collation and)184 312 R/F4 10/Times-Italic@0 SF(str)3.321 E
+(use ASCII collation and)184 486 R/F4 10/Times-Italic@0 SF(str)3.321 E
(cmp)-.37 E F0 .821(\(3\); bash-4.1 and later use the current locale')
-.19 F 3.321(sc)-.55 G(ollation)-3.321 E(sequence and)184 324 Q F4(str)
-2.5 E(coll)-.37 E F0(\(3\).).51 E F1(compat32)144 336 Q F0 1.41(If set,)
-184 348 R F1(bash)3.91 E F0 1.41(changes its beha)3.91 F 1.409
+.19 F 3.321(sc)-.55 G(ollation)-3.321 E(sequence and)184 498 Q F4(str)
+2.5 E(coll)-.37 E F0(\(3\).).51 E F1(compat32)144 510 Q F0 1.41(If set,)
+184 522 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 .422
-(string comparison when using the)184 360 R F1([[)2.922 E F0 .422
+(string comparison when using the)184 534 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 .481
-(vious item\) and the ef)184 372 R .481
+(vious item\) and the ef)184 546 R .481
(fect of interrupting a command list.)-.25 F .48(Bash v)5.481 F .48
-(ersions 3.2 and earlier)-.15 F(continue with the ne)184 384 Q
+(ersions 3.2 and earlier)-.15 F(continue with the ne)184 558 Q
(xt command in the list after one terminates due to an interrupt.)-.15 E
-F1(compat40)144 396 Q F0 1.409(If set,)184 408 R F1(bash)3.909 E F0
+F1(compat40)144 570 Q F0 1.409(If set,)184 582 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 2.008
-(string comparison when using the)184 420 R F1([[)4.508 E F0 2.007
+(string comparison when using the)184 594 R F1([[)4.508 E F0 2.007
(conditional command')4.508 F(s)-.55 E F1(<)4.507 E F0(and)4.507 E F1(>)
-4.507 E F0 2.007(operators \(see)4.507 F .769(description of)184 432 R
+4.507 E F0 2.007(operators \(see)4.507 F .769(description of)184 606 R
F1(compat31)3.269 E F0 3.269(\)a)C .769(nd the ef)-3.269 F .769
(fect of interrupting a command list.)-.25 F .77(Bash v)5.77 F(ersions)
-.15 E .087(4.0 and later interrupt the list as if the shell recei)184
-444 R -.15(ve)-.25 G 2.586(dt).15 G .086(he interrupt; pre)-2.586 F .086
-(vious v)-.25 F .086(ersions con-)-.15 F(tinue with the ne)184 456 Q
-(xt command in the list.)-.15 E F1(compat41)144 468 Q F0 1.483(If set,)
-184 480 R F1(bash)3.983 E F0 3.983(,w)C 1.483(hen in)-3.983 F F4(posix)
-3.983 E F0 1.484
-(mode, treats a single quote in a double-quoted parameter)3.983 F -.15
-(ex)184 492 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 504
+618 R -.15(ve)-.25 G 2.586(dt).15 G .086(he interrupt; pre)-2.586 F .086
+(vious v)-.25 F .086(ersions con-)-.15 F(tinue with the ne)184 630 Q
+(xt command in the list.)-.15 E F1(compat41)144 642 Q F0 1.523(If set,)
+184 654 R F1(bash)4.023 E F0 4.023(,w)C 1.523(hen in)-4.023 F F4 1.523
+(posix mode)4.023 F F0 4.024(,t)C 1.524
+(reats a single quote in a double-quoted parameter)-4.024 F -.15(ex)184
+666 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 678
R .59(This is the beha)5.59 F .59(vior of)-.2 F .59
-(posix mode through v)184 516 R .589(ersion 4.1.)-.15 F .589(The def)
+(posix mode through v)184 690 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 528 Q F1(compat42)144 540 Q
-F0 1.796(If set,)184 552 R F1(bash)4.296 E F0 1.796
+(vious v)-.25 F(er)-.15 E(-)-.2 E(sions.)184 702 Q(GNU Bash 5.0)72 768 Q
+(2004 Apr 20)149.565 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 87.61
+(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
+E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(compat42)144 84 Q F0
+1.796(If set,)184 96 R F1(bash)4.296 E F0 1.796
(does not process the replacement string in the pattern substitution w)
-4.296 F(ord)-.1 E -.15(ex)184 564 S(pansion using quote remo).15 E -.25
-(va)-.15 G(l.).25 E F1(compat43)144 576 Q F0 .141(If set,)184 588 R F1
+4.296 F(ord)-.1 E -.15(ex)184 108 S(pansion using quote remo).15 E -.25
+(va)-.15 G(l.).25 E F1(compat43)144 120 Q F0 .141(If set,)184 132 R F1
(bash)2.641 E F0 .141(does not print a w)2.641 F .14
(arning message if an attempt is made to use a quoted com-)-.1 F .912
-(pound array assignment as an ar)184 600 R .912(gument to)-.18 F F1
+(pound array assignment as an ar)184 144 R .912(gument to)-.18 F F1
(declar)3.413 E(e)-.18 E F0 3.413(,m)C(ak)-3.413 E .913(es w)-.1 F .913
-(ord e)-.1 F .913(xpansion errors non-)-.15 F -.1(fa)184 612 S .353
+(ord e)-.1 F .913(xpansion errors non-)-.15 F -.1(fa)184 156 S .353
(tal errors that cause the current command to f).1 F .353(ail \(the def)
-.1 F .352(ault beha)-.1 F .352(vior is to mak)-.2 F 2.852(et)-.1 G(hem)
--2.852 E -.1(fa)184 624 S 1.057(tal errors that cause the shell to e).1
+-2.852 E -.1(fa)184 168 S 1.057(tal errors that cause the shell to e).1
F 1.058(xit\), and does not reset the loop state when a shell)-.15 F
-.375(function is e)184 636 R -.15(xe)-.15 G .375(cuted \(this allo).15 F
+.375(function is e)184 180 R -.15(xe)-.15 G .375(cuted \(this allo).15 F
(ws)-.25 E F1(br)2.875 E(eak)-.18 E F0(or)2.875 E F1(continue)2.875 E F0
.374(in a shell function to af)2.875 F .374(fect loops in)-.25 F
-(the caller')184 648 Q 2.5(sc)-.55 G(onte)-2.5 E(xt\).)-.15 E F1
-(compat44)144 660 Q F0 .441(If set,)184 672 R F1(bash)2.941 E F0(sa)
+(the caller')184 192 Q 2.5(sc)-.55 G(onte)-2.5 E(xt\).)-.15 E F1
+(compat44)144 204 Q F0 .441(If set,)184 216 R F1(bash)2.941 E F0(sa)
2.942 E -.15(ve)-.2 G 2.942(st).15 G .442(he positional parameters to B)
-2.942 F .442(ASH_ARGV and B)-.35 F .442(ASH_ARGC before)-.35 F(the)184
-684 Q 2.5(ya)-.15 G(re used, re)-2.5 E -.05(ga)-.15 G
+228 Q 2.5(ya)-.15 G(re used, re)-2.5 E -.05(ga)-.15 G
(rdless of whether or not e).05 E(xtended deb)-.15 E
-(ugging mode is enabled.)-.2 E F1(complete_fullquote)144 696 Q F0 .654
-(If set,)184 708 R F1(bash)3.153 E F0 .653(quotes all shell metacharact\
+(ugging mode is enabled.)-.2 E F1(complete_fullquote)144 240 Q F0 .654
+(If set,)184 252 R F1(bash)3.153 E F0 .653(quotes all shell metacharact\
ers in \214lenames and directory names when per)3.153 F(-)-.2 E 1.524
-(forming completion.)184 720 R 1.524(If not set,)6.524 F F1(bash)4.024 E
+(forming completion.)184 264 R 1.524(If not set,)6.524 F F1(bash)4.024 E
F0(remo)4.024 E -.15(ve)-.15 G 4.024(sm).15 G 1.524
-(etacharacters such as the dollar sign)-4.024 F(GNU Bash 5.0)72 768 Q
-(2004 Apr 20)149.565 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 87.61
-(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
-E(UIL)-.1 E(TINS\(1\))-.92 E 2.667(from the set of characters that will\
- be quoted in completed \214lenames when these)184 84 R .028
-(metacharacters appear in shell v)184 96 R .028(ariable references in w)
--.25 F .029(ords to be completed.)-.1 F .029(This means)5.029 F 1.073
-(that dollar signs in v)184 108 R 1.073(ariable names that e)-.25 F
-1.073(xpand to directories will not be quoted; ho)-.15 F(w-)-.25 E -2.15
--.25(ev e)184 120 T 1.922 -.4(r, a).25 H 1.422 -.15(ny d).4 H 1.123
+(etacharacters such as the dollar sign)-4.024 F 2.667(from the set of c\
+haracters that will be quoted in completed \214lenames when these)184
+276 R .028(metacharacters appear in shell v)184 288 R .028
+(ariable references in w)-.25 F .029(ords to be completed.)-.1 F .029
+(This means)5.029 F 1.073(that dollar signs in v)184 300 R 1.073
+(ariable names that e)-.25 F 1.073
+(xpand to directories will not be quoted; ho)-.15 F(w-)-.25 E -2.15 -.25
+(ev e)184 312 T 1.922 -.4(r, a).25 H 1.422 -.15(ny d).4 H 1.123
(ollar signs appearing in \214lenames will not be quoted, either).15 F
6.123(.T)-.55 G 1.123(his is acti)-6.123 F -.15(ve)-.25 G .59
(only when bash is using backslashes to quote completed \214lenames.)184
-132 R .59(This v)5.59 F .59(ariable is set)-.25 F(by def)184 144 Q
+324 R .59(This v)5.59 F .59(ariable is set)-.25 F(by def)184 336 Q
(ault, which is the def)-.1 E(ault bash beha)-.1 E(vior in v)-.2 E
-(ersions through 4.2.)-.15 E/F1 10/Times-Bold@0 SF(dir)144 156 Q(expand)
--.18 E F0 .486(If set,)184 168 R F1(bash)2.986 E F0 .486
+(ersions through 4.2.)-.15 E F1(dir)144 348 Q(expand)-.18 E F0 .486
+(If set,)184 360 R F1(bash)2.986 E F0 .486
(replaces directory names with the results of w)2.986 F .486(ord e)-.1 F
.487(xpansion when perform-)-.15 F .18(ing \214lename completion.)184
-180 R .179(This changes the contents of the readline editing b)5.18 F
+372 R .179(This changes the contents of the readline editing b)5.18 F
(uf)-.2 E(fer)-.25 E 5.179(.I)-.55 G 2.679(fn)-5.179 G(ot)-2.679 E(set,)
-184 192 Q F1(bash)2.5 E F0(attempts to preserv)2.5 E 2.5(ew)-.15 G
-(hat the user typed.)-2.5 E F1(dirspell)144 204 Q F0 .858(If set,)184
-204 R F1(bash)3.358 E F0 .858
+184 384 Q F1(bash)2.5 E F0(attempts to preserv)2.5 E 2.5(ew)-.15 G
+(hat the user typed.)-2.5 E F1(dirspell)144 396 Q F0 .858(If set,)184
+396 R 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 216 Q(xist.)-.15 E
-F1(dotglob)144 228 Q F0 .165(If set,)184 228 R F1(bash)2.665 E F0 .165
+(the directory name initially supplied does not e)184 408 Q(xist.)-.15 E
+F1(dotglob)144 420 Q F0 .165(If set,)184 420 R 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(The \214lenames)184 240 Q F1 -.63(``)2.5 G -.55(.').63
+(xpansion.)-.15 E(The \214lenames)184 432 Q F1 -.63(``)2.5 G -.55(.').63
G(')-.08 E F0(and)5 E F1 -.63(``)2.5 G(..).63 E -.63('')-.55 G F0
(must al)5.63 E -.1(wa)-.1 G(ys be matched e).1 E(xplicitly)-.15 E 2.5
(,e)-.65 G -.15(ve)-2.75 G 2.5(ni).15 G(f)-2.5 E F1(dotglob)2.5 E F0
-(is set.)2.5 E F1(execfail)144 252 Q F0 1.386(If set, a non-interacti)
-184 252 R 1.686 -.15(ve s)-.25 H 1.386(hell will not e).15 F 1.386
+(is set.)2.5 E F1(execfail)144 444 Q F0 1.386(If set, a non-interacti)
+184 444 R 1.686 -.15(ve s)-.25 H 1.386(hell will not e).15 F 1.386
(xit if it cannot e)-.15 F -.15(xe)-.15 G 1.387
-(cute the \214le speci\214ed as an).15 F(ar)184 264 Q(gument to the)-.18
+(cute the \214le speci\214ed as an).15 F(ar)184 456 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 276 Q F0 .717
-(If set, aliases are e)184 288 R .717(xpanded as described abo)-.15 F
+-.1(fa)2.5 G(ils.).1 E F1(expand_aliases)144 468 Q F0 .717
+(If set, aliases are e)184 480 R .717(xpanded as described abo)-.15 F
1.017 -.15(ve u)-.15 H(nder).15 E/F2 9/Times-Bold@0 SF(ALIASES)3.217 E
/F3 9/Times-Roman@0 SF(.)A F0 .716(This option is enabled)5.217 F
-(by def)184 300 Q(ault for interacti)-.1 E .3 -.15(ve s)-.25 H(hells.)
-.15 E F1(extdeb)144 312 Q(ug)-.2 E F0 .671(If set at shell in)184 324 R
+(by def)184 492 Q(ault for interacti)-.1 E .3 -.15(ve s)-.25 H(hells.)
+.15 E F1(extdeb)144 504 Q(ug)-.2 E F0 .671(If set at shell in)184 516 R
-.2(vo)-.4 G .671(cation, arrange to e).2 F -.15(xe)-.15 G .671
(cute the deb).15 F .672(ugger pro\214le before the shell starts,)-.2 F
-.221(identical to the)184 336 R F1<adad646562>2.721 E(ugger)-.2 E F0
+.221(identical to the)184 528 R F1<adad646562>2.721 E(ugger)-.2 E F0
2.721(option. If)2.721 F .221(set after in)2.721 F -.2(vo)-.4 G .221
-(cation, beha).2 F .22(vior intended for use by)-.2 F(deb)184 348 Q
-(uggers is enabled:)-.2 E F1(1.)184 360 Q F0(The)220 360 Q F1<ad46>4.25
+(cation, beha).2 F .22(vior intended for use by)-.2 F(deb)184 540 Q
+(uggers is enabled:)-.2 E F1(1.)184 552 Q F0(The)220 552 Q 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 372 Q
-(gument.)-.18 E F1(2.)184 384 Q F0 1.667(If the command run by the)220
-384 R 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 396
-Q -.15(xe)-.15 G(cuted.).15 E F1(3.)184 408 Q F0 .84
-(If the command run by the)220 408 R F1(DEB)3.34 E(UG)-.1 E F0 .841
+(number corresponding to each function name supplied as an ar)220 564 Q
+(gument.)-.18 E F1(2.)184 576 Q F0 1.667(If the command run by the)220
+576 R 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 588
+Q -.15(xe)-.15 G(cuted.).15 E F1(3.)184 600 Q F0 .84
+(If the command run by the)220 600 R 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 420 S .488
+(exe)220 612 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 432 Q(ce)-.18 E F0 -.2(bu)2.5 G
+(sour)220 624 Q(ce)-.18 E F0 -.2(bu)2.5 G
(iltins\), the shell simulates a call to).2 E F1 -.18(re)2.5 G(tur).18 E
-(n)-.15 E F0(.)A F1(4.)184 444 Q F2 -.27(BA)220 444 S(SH_ARGC).27 E F0
+(n)-.15 E F0(.)A F1(4.)184 636 Q F2 -.27(BA)220 636 S(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 456 Q
--.15(ve)-.15 G(.).15 E F1(5.)184 468 Q F0 1.637(Function tracing is ena\
-bled: command substitution, shell functions, and sub-)220 468 R
-(shells in)220 480 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1
+(are updated as described in their descriptions)3.154 F(abo)220 648 Q
+-.15(ve)-.15 G(.).15 E F1(5.)184 660 Q F0 1.637(Function tracing is ena\
+bled: command substitution, shell functions, and sub-)220 660 R
+(shells in)220 672 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1
(\()2.5 E/F4 10/Times-Italic@0 SF(command)2.5 E F1(\))2.5 E F0
(inherit the)2.5 E F1(DEB)2.5 E(UG)-.1 E F0(and)2.5 E F1(RETURN)2.5 E F0
-(traps.)2.5 E F1(6.)184 492 Q F0 1.082(Error tracing is enabled: comman\
-d substitution, shell functions, and subshells)220 492 R(in)220 504 Q
+(traps.)2.5 E F1(6.)184 684 Q F0 1.082(Error tracing is enabled: comman\
+d substitution, shell functions, and subshells)220 684 R(in)220 696 Q
-.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E F4(command)
2.5 E F1(\))2.5 E F0(inherit the)2.5 E F1(ERR)2.5 E F0(trap.)2.5 E F1
-(extglob)144 516 Q F0 .4(If set, the e)184 516 R .4
+(extglob)144 708 Q F0 .4(If set, the e)184 708 R .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 528 Q
-F0(are enabled.)2.5 E F1(extquote)144 540 Q F0 2.473(If set,)184 552 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 564 Q
-(This option is enabled by def)5 E(ault.)-.1 E F1(failglob)144 576 Q F0
-1.425(If set, patterns which f)184 576 R 1.425
-(ail to match \214lenames during pathname e)-.1 F 1.424
-(xpansion result in an)-.15 F -.15(ex)184 588 S(pansion error).15 E(.)
--.55 E F1 -.25(fo)144 600 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F0
-.936(If set, the suf)184 612 R<8c78>-.25 E .936(es speci\214ed by the)
--.15 F F2(FIGNORE)3.436 E F0 .936(shell v)3.186 F .936(ariable cause w)
--.25 F .937(ords to be ignored)-.1 F .32(when performing w)184 624 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 636 R F2 .447(SHELL V)2.947 F(ARIABLES)-1.215 E F0
-(abo)2.697 E .747 -.15(ve f)-.15 H .448(or a description of).15 F F2
-(FIGNORE)2.948 E F3(.)A F0 .448(This option is)4.948 F(enabled by def)
-184 648 Q(ault.)-.1 E F1(globasciiranges)144 660 Q F0 2.519
-(If set, range e)184 672 R 2.519
-(xpressions used in pattern matching brack)-.15 F 2.518(et e)-.1 F 2.518
-(xpressions \(see)-.15 F F2 -.09(Pa)5.018 G(tter).09 E(n)-.135 E
-(Matching)184 684 Q F0(abo)2.964 E -.15(ve)-.15 G 3.214(\)b).15 G(eha)
--3.214 E 1.014 -.15(ve a)-.2 H 3.214(si).15 G 3.214(fi)-3.214 G 3.214
-(nt)-3.214 G .714(he traditional C locale when performing comparisons.)
--3.214 F 1.02(That is, the current locale')184 696 R 3.52(sc)-.55 G 1.02
-(ollating sequence is not tak)-3.52 F 1.02(en into account, so)-.1 F F1
-(b)3.52 E F0 1.02(will not)3.52 F .956(collate between)184 708 R F1(A)
-3.456 E F0(and)3.456 E F1(B)3.456 E F0 3.457(,a)C .957(nd upper)-3.457 F
-.957(-case and lo)-.2 F(wer)-.25 E .957
-(-case ASCII characters will collate)-.2 F(together)184 720 Q(.)-.55 E
-(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(19)198.725 E 0 Cg EP
+-.15 H(nder).15 E F1 -.1(Pa)2.9 G .4(thname Expan-).1 F(sion)184 720 Q
+F0(are enabled.)2.5 E(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 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 87.61
(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
-E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(globstar)144 84 Q F0
-.519(If set, the pattern)184 84 R F1(**)3.019 E F0 .519
-(used in a pathname e)3.019 F .519(xpansion conte)-.15 F .518
+E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(extquote)144 84 Q F0
+2.473(If set,)184 96 R F1($)4.973 E F0<08>A/F2 10/Times-Italic@0 SF
+(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 108 Q(This option is enabled by def)5 E
+(ault.)-.1 E F1(failglob)144 120 Q F0 1.425(If set, patterns which f)184
+120 R 1.425(ail to match \214lenames during pathname e)-.1 F 1.424
+(xpansion result in an)-.15 F -.15(ex)184 132 S(pansion error).15 E(.)
+-.55 E F1 -.25(fo)144 144 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F0
+.936(If set, the suf)184 156 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 168 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 180 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
+192 Q(ault.)-.1 E F1(globasciiranges)144 204 Q F0 2.519(If set, range e)
+184 216 R 2.519(xpressions used in pattern matching brack)-.15 F 2.518
+(et e)-.1 F 2.518(xpressions \(see)-.15 F F3 -.09(Pa)5.018 G(tter).09 E
+(n)-.135 E(Matching)184 228 Q F0(abo)2.964 E -.15(ve)-.15 G 3.214(\)b)
+.15 G(eha)-3.214 E 1.014 -.15(ve a)-.2 H 3.214(si).15 G 3.214(fi)-3.214
+G 3.214(nt)-3.214 G .714
+(he traditional C locale when performing comparisons.)-3.214 F 1.02
+(That is, the current locale')184 240 R 3.52(sc)-.55 G 1.02
+(ollating sequence is not tak)-3.52 F 1.02(en into account, so)-.1 F F1
+(b)3.52 E F0 1.02(will not)3.52 F .956(collate between)184 252 R F1(A)
+3.456 E F0(and)3.456 E F1(B)3.456 E F0 3.457(,a)C .957(nd upper)-3.457 F
+.957(-case and lo)-.2 F(wer)-.25 E .957
+(-case ASCII characters will collate)-.2 F(together)184 264 Q(.)-.55 E
+F1(globstar)144 276 Q F0 .519(If set, the pattern)184 276 R 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 96 R .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
-108 Q F1(gnu_errfmt)144 120 Q F0(If set, shell error messages are writt\
-en in the standard GNU error message format.)184 132 Q F1(histappend)144
-144 Q F0 .676
+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
-156 R .676(alue of the)-.25 F/F2 9/Times-Bold@0 SF(HISTFILE)3.176 E F0
--.25(va)2.926 G(ri-).25 E(able when the shell e)184 168 Q
-(xits, rather than o)-.15 E -.15(ve)-.15 G(rwriting the \214le.).15 E F1
-(histr)144 180 Q(eedit)-.18 E F0 .575(If set, and)184 192 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 204 Q F1(histv)144 216 Q
-(erify)-.1 E F0 .403(If set, and)184 228 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 .661(passed to the shell parser)184 240 R 5.661(.I)-.55 G .662
+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 252 S -.25(ff).2 G(er).25 E
+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 264 Q F0 1.182(If set, and)184 276 R F1 -.18(re)3.682
+(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
-288 R 1.38(ord containing a)-.1 F F1(@)3.881 E F0 1.381
+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
-F2(READLINE)3.881 E F0(abo)184 300 Q -.15(ve)-.15 G 2.5(\). This).15 F
-(is enabled by def)2.5 E(ault.)-.1 E F1(huponexit)144 312 Q F0(If set,)
-184 324 Q F1(bash)2.5 E F0(will send)2.5 E F2(SIGHUP)2.5 E F0
+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(inherit_err)144 336 Q(exit)-.18 E F0 .22
-(If set, command substitution inherits the v)184 348 R .219(alue of the)
+.15 E(xits.)-.15 E F1(inherit_err)144 528 Q(exit)-.18 E F0 .22
+(If set, command substitution inherits the v)184 540 R .219(alue of the)
-.25 F F1(err)2.719 E(exit)-.18 E F0 .219(option, instead of unsetting)
-2.719 F(it in the subshell en)184 360 Q 2.5(vironment. This)-.4 F
-(option is enabled when)2.5 E/F3 10/Times-Italic@0 SF(posix mode)2.5 E
-F0(is enabled.)2.5 E F1(interacti)144 372 Q -.1(ve)-.1 G(_comments).1 E
-F0 .33(If set, allo)184 384 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
+2.719 F(it in the subshell en)184 552 Q 2.5(vironment. This)-.4 F
+(option is enabled when)2.5 E F2(posix mode)2.5 E F0(is enabled.)2.5 E
+F1(interacti)144 564 Q -.1(ve)-.1 G(_comments).1 E F0 .33(If set, allo)
+184 576 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 396 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 408 Q
-(ault.)-.1 E F1(lastpipe)144 420 Q F0 .066
-(If set, and job control is not acti)184 420 R -.15(ve)-.25 G 2.566(,t)
+(that line to be ignored in an interacti)184 588 R 1.267 -.15(ve s)-.25
+H .967(hell \(see).15 F F3(COMMENTS)3.467 E F0(abo)3.217 E -.15(ve)-.15
+G 3.467(\). This).15 F .967(option is)3.467 F(enabled by def)184 600 Q
+(ault.)-.1 E F1(lastpipe)144 612 Q F0 .066
+(If set, and job control is not acti)184 612 R -.15(ve)-.25 G 2.566(,t)
.15 G .066(he shell runs the last command of a pipeline not e)-2.566 F
-.15(xe)-.15 G(-).15 E(cuted in the background in the current shell en)
-184 432 Q(vironment.)-.4 E F1(lithist)144 444 Q F0 .655(If set, and the)
-184 444 R F1(cmdhist)3.155 E F0 .654
+184 624 Q(vironment.)-.4 E F1(lithist)144 636 Q F0 .655(If set, and the)
+184 636 R 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 456 Q
+(with embedded ne)184 648 Q
(wlines rather than using semicolon separators where possible.)-.25 E F1
-(localv)144 468 Q(ar_inherit)-.1 E F0 .421(If set, local v)184 480 R
+(localv)144 660 Q(ar_inherit)-.1 E F0 .421(If set, local v)184 672 R
.422(ariables inherit the v)-.25 F .422(alue and attrib)-.25 F .422
(utes of a v)-.2 F .422(ariable of the same name that)-.25 F -.15(ex)184
-492 S .174(ists at a pre).15 F .174(vious scope before an)-.25 F 2.673
+684 S .174(ists at a pre).15 F .174(vious scope before an)-.25 F 2.673
(yn)-.15 G .673 -.25(ew va)-2.673 H .173(lue is assigned.).25 F .173
-(The nameref attrib)5.173 F .173(ute is not)-.2 F(inherited.)184 504 Q
-F1(login_shell)144 516 Q F0 .486
-(The shell sets this option if it is started as a login shell \(see)184
-528 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 540 S(lue may not be changed.).25
-E F1(mailwar)144 552 Q(n)-.15 E F0 .815(If set, and a \214le that)184
-564 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 576 S 2.5(sc).1 G(heck)-2.5 E(ed, the message `)-.1 E
-(`The mail in)-.74 E F3(mail\214le)2.5 E F0(has been read')2.5 E 2.5('i)
--.74 G 2.5(sd)-2.5 G(isplayed.)-2.5 E F1(no_empty_cmd_completion)144 588
-Q F0 .324(If set, and)184 600 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 612 Q F1
-(nocaseglob)144 624 Q F0 .437(If set,)184 636 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 648 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 660 Q F0 1.193(If set,)184
-672 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 .551(while e)184 684 R -.15(xe)-.15 G(cuting).15 E F1(case)3.051 E F0
-(or)3.051 E F1([[)3.051 E F0 .551
-(conditional commands, when performing pattern substitution)3.051 F -.1
-(wo)184 696 S .622(rd e).1 F .623(xpansions, or when \214ltering possib\
-le completions as part of programmable com-)-.15 F(pletion.)184 708 Q
+(The nameref attrib)5.173 F .173(ute is not)-.2 F(inherited.)184 696 Q
(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(20)198.725 E 0 Cg EP
%%Page: 21 21
%%BeginPageSetup
@@ -2654,440 +2646,468 @@ BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61
(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
-E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(nullglob)144 84 Q F0
-.855(If set,)184 96 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 108 S(pand to a null string, rather than themselv)
-.15 E(es.)-.15 E F1(pr)144 120 Q(ogcomp)-.18 E F0 .676
-(If set, the programmable completion f)184 132 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 144 Q
-(This option is enabled by def)5 E(ault.)-.1 E F1(pr)144 156 Q(omptv)
--.18 E(ars)-.1 E F0 1.448(If set, prompt strings under)184 168 R 1.448
-(go parameter e)-.18 F 1.447(xpansion, command substitution, arithmetic)
--.15 F -.15(ex)184 180 S .17(pansion, and quote remo).15 F -.25(va)-.15
-G 2.67(la).25 G .17(fter being e)-2.67 F .17(xpanded as described in)
--.15 F/F2 9/Times-Bold@0 SF(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 192 Q(ault.)-.1
-E F1 -.18(re)144 204 S(stricted_shell).18 E F0 1.069
+E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(login_shell)144 84 Q
+F0 .486
+(The shell sets this option if it is started as a login shell \(see)184
+96 R/F2 9/Times-Bold@0 SF(INV)2.987 E(OCA)-.405 E(TION)-.855 E F0(abo)
+2.737 E -.15(ve)-.15 G 2.987(\). The).15 F -.25(va)184 108 S
+(lue may not be changed.).25 E F1(mailwar)144 120 Q(n)-.15 E F0 .815
+(If set, and a \214le that)184 132 R F1(bash)3.315 E F0 .814
+(is checking for mail has been accessed since the last time it)3.315 F
+-.1(wa)184 144 S 2.5(sc).1 G(heck)-2.5 E(ed, the message `)-.1 E
+(`The mail in)-.74 E/F3 10/Times-Italic@0 SF(mail\214le)2.5 E F0
+(has been read')2.5 E 2.5('i)-.74 G 2.5(sd)-2.5 G(isplayed.)-2.5 E F1
+(no_empty_cmd_completion)144 156 Q F0 .324(If set, and)184 168 R F1 -.18
+(re)2.824 G(adline).18 E F0 .324(is being used,)2.824 F F1(bash)2.824 E
+F0 .324(will not attempt to search the)2.824 F F2 -.666(PA)2.825 G(TH)
+-.189 E F0 .325(for possible)2.575 F
+(completions when completion is attempted on an empty line.)184 180 Q F1
+(nocaseglob)144 192 Q F0 .437(If set,)184 204 R F1(bash)2.937 E F0 .436
+(matches \214lenames in a case\255insensiti)2.937 F .736 -.15(ve f)-.25
+H .436(ashion when performing pathname).05 F -.15(ex)184 216 S
+(pansion \(see).15 E F1 -.1(Pa)2.5 G(thname Expansion).1 E F0(abo)2.5 E
+-.15(ve)-.15 G(\).).15 E F1(nocasematch)144 228 Q F0 1.193(If set,)184
+240 R F1(bash)3.693 E F0 1.194(matches patterns in a case\255insensiti)
+3.693 F 1.494 -.15(ve f)-.25 H 1.194(ashion when performing matching).05
+F .551(while e)184 252 R -.15(xe)-.15 G(cuting).15 E F1(case)3.051 E F0
+(or)3.051 E F1([[)3.051 E F0 .551
+(conditional commands, when performing pattern substitution)3.051 F -.1
+(wo)184 264 S .622(rd e).1 F .623(xpansions, or when \214ltering possib\
+le completions as part of programmable com-)-.15 F(pletion.)184 276 Q F1
+(nullglob)144 288 Q F0 .855(If set,)184 300 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 312 S
+(pand to a null string, rather than themselv).15 E(es.)-.15 E F1(pr)144
+324 Q(ogcomp)-.18 E F0 .676(If set, the programmable completion f)184
+336 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 348 Q(This option is enabled by def)5 E(ault.)-.1 E F1
+(pr)144 360 Q(omptv)-.18 E(ars)-.1 E F0 1.448
+(If set, prompt strings under)184 372 R 1.448(go parameter e)-.18 F
+1.447(xpansion, command substitution, arithmetic)-.15 F -.15(ex)184 384
+S .17(pansion, and quote remo).15 F -.25(va)-.15 G 2.67(la).25 G .17
+(fter being e)-2.67 F .17(xpanded as described in)-.15 F F2(PR)2.671 E
+(OMPTING)-.27 E F0(abo)2.421 E -.15(ve)-.15 G(.).15 E
+(This option is enabled by def)184 396 Q(ault.)-.1 E F1 -.18(re)144 408
+S(stricted_shell).18 E F0 1.069
(The shell sets this option if it is started in restricted mode \(see)
-184 216 R F2 1.069(RESTRICTED SHELL)3.569 F F0(belo)184 228 Q 2.86
+184 420 R F2 1.069(RESTRICTED SHELL)3.569 F F0(belo)184 432 Q 2.86
(w\). The)-.25 F -.25(va)2.86 G .36(lue may not be changed.).25 F .36
(This is not reset when the startup \214les are e)5.36 F -.15(xe)-.15 G
-(-).15 E(cuted, allo)184 240 Q(wing the startup \214les to disco)-.25 E
+(-).15 E(cuted, allo)184 444 Q(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 252 Q(erbose)-.1 E F0 .502(If set, the)184 264 R F1
+F1(shift_v)144 456 Q(erbose)-.1 E F0 .502(If set, the)184 468 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 276 Q F1(sour)
-144 288 Q(cepath)-.18 E F0 .77(If set, the)184 300 R F1(sour)3.27 E(ce)
+(xceeds the number)-.15 F(of positional parameters.)184 480 Q F1(sour)
+144 492 Q(cepath)-.18 E F0 .77(If set, the)184 504 R F1(sour)3.27 E(ce)
-.18 E F0(\()3.27 E F1(.)A F0 3.27(\)b)C .77(uiltin uses the v)-3.47 F
.771(alue of)-.25 F F2 -.666(PA)3.271 G(TH)-.189 E F0 .771
(to \214nd the directory containing the)3.021 F
-(\214le supplied as an ar)184 312 Q 2.5(gument. This)-.18 F
-(option is enabled by def)2.5 E(ault.)-.1 E F1(xpg_echo)144 324 Q F0
-(If set, the)184 336 Q F1(echo)2.5 E F0 -.2(bu)2.5 G(iltin e).2 E
+(\214le supplied as an ar)184 516 Q 2.5(gument. This)-.18 F
+(option is enabled by def)2.5 E(ault.)-.1 E F1(xpg_echo)144 528 Q F0
+(If set, the)184 540 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 352.8 Q F0([)2.5 E F1<ad66>A F0(])A 1.002(Suspend the e)144 364.8 R
+108 556.8 Q F0([)2.5 E F1<ad66>A F0(])A 1.002(Suspend the e)144 568.8 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 376.8 R F1<ad66>
+(login shell cannot be)3.501 F .022(suspended; the)144 580.8 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 388.8 S(nless the shell is a login shell and)-2.5 E
+5.023 F 2.5(0u)144 592.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 405.6 Q/F3 10/Times-Italic@0 SF -.2(ex)2.5 G(pr).2 E F1([)
-108 417.6 Q F3 -.2(ex)2.5 G(pr).2 E F1(])2.5 E F0 .878
-(Return a status of 0 \(true\) or 1 \(f)144 417.6 R .877
+E F1(test)108 609.6 Q F3 -.2(ex)2.5 G(pr).2 E F1([)108 621.6 Q F3 -.2
+(ex)2.5 G(pr).2 E F1(])2.5 E F0 .878
+(Return a status of 0 \(true\) or 1 \(f)144 621.6 R .877
(alse\) depending on the e)-.1 F -.25(va)-.25 G .877
-(luation of the conditional e).25 F(xpression)-.15 E F3 -.2(ex)144 429.6
+(luation of the conditional e).25 F(xpression)-.15 E F3 -.2(ex)144 633.6
S(pr).2 E F0 5.53(.E).73 G .53
(ach operator and operand must be a separate ar)-5.53 F 3.03
(gument. Expressions)-.18 F .53(are composed of the)3.03 F 3.08
-(primaries described abo)144 441.6 R 3.38 -.15(ve u)-.15 H(nder).15 E F2
+(primaries described abo)144 645.6 R 3.38 -.15(ve u)-.15 H(nder).15 E F2
(CONDITION)5.58 E 3.079(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(.)A
F1(test)7.579 E F0 3.079(does not accept an)5.579 F(y)-.15 E
-(options, nor does it accept and ignore an ar)144 453.6 Q(gument of)-.18
+(options, nor does it accept and ignore an ar)144 657.6 Q(gument of)-.18
E F1<adad>2.5 E F0(as signifying the end of options.)2.5 E .785
-(Expressions may be combined using the follo)144 471.6 R .786
+(Expressions may be combined using the follo)144 675.6 R .786
(wing operators, listed in decreasing order of prece-)-.25 F 3.412
-(dence. The)144 483.6 R -.25(eva)3.412 G .912
+(dence. The)144 687.6 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 495.6 Q 2.5(eo)-.15 G 2.5(rm)-2.5 G
-(ore ar)-2.5 E(guments.)-.18 E F1(!)144 507.6 Q F3 -.2(ex)2.5 G(pr).2 E
-F0 -.35(Tr)180 507.6 S(ue if).35 E F3 -.2(ex)2.5 G(pr).2 E F0(is f)3.23
-E(alse.)-.1 E F1(\()144 519.6 Q F3 -.2(ex)2.5 G(pr).2 E F1(\))2.5 E F0
-.26(Returns the v)180 519.6 R .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 531.6 Q F3 -.2
-(ex)144 543.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 555.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 567.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
-579.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 596.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 614.4 S -.18(rg)-2.5 G(uments).18 E(The e)
-180 626.4 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(1a)144 638.4 S -.18
-(rg)-2.5 G(ument).18 E(The e)180 650.4 Q
-(xpression is true if and only if the ar)-.15 E(gument is not null.)-.18
-E 2.5(2a)144 662.4 S -.18(rg)-2.5 G(uments).18 E .37(If the \214rst ar)
-180 674.4 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 686.4 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 698.4 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 710.4 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(GNU Bash 5.0)72 768 Q(2004 Apr 20)
-149.565 E(21)198.725 E 0 Cg EP
+(used when there are \214v)144 699.6 Q 2.5(eo)-.15 G 2.5(rm)-2.5 G
+(ore ar)-2.5 E(guments.)-.18 E F1(!)144 711.6 Q F3 -.2(ex)2.5 G(pr).2 E
+F0 -.35(Tr)180 711.6 S(ue if).35 E F3 -.2(ex)2.5 G(pr).2 E F0(is f)3.23
+E(alse.)-.1 E(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 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 87.61
(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
-E(UIL)-.1 E(TINS\(1\))-.92 E 2.5(3a)144 84 S -.18(rg)-2.5 G(uments).18 E
-.236(The follo)180 96 R .236
+E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(\()144 84 Q/F2 10
+/Times-Italic@0 SF -.2(ex)2.5 G(pr).2 E F1(\))2.5 E F0 .26
+(Returns the v)180 84 R .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 96 Q F2 -.2(ex)
+144 108 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 120 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 132 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 144 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 160.8 Q F0(and)2.5 E F1([)2.5 E
+F0 -.25(eva)2.5 G(luate conditional e).25 E
+(xpressions using a set of rules based on the number of ar)-.15 E
+(guments.)-.18 E 2.5(0a)144 178.8 S -.18(rg)-2.5 G(uments).18 E(The e)
+180 190.8 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(1a)144 202.8 S -.18
+(rg)-2.5 G(ument).18 E(The e)180 214.8 Q
+(xpression is true if and only if the ar)-.15 E(gument is not null.)-.18
+E 2.5(2a)144 226.8 S -.18(rg)-2.5 G(uments).18 E .37(If the \214rst ar)
+180 238.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 250.8 R .38
+(gument is one of the unary conditional operators listed abo)-.18 F .68
+-.15(ve u)-.15 H(nder).15 E/F3 9/Times-Bold@0 SF(CONDI-)2.88 E(TION)180
+262.8 Q .553(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(,)A F0 .552
+(the e)2.802 F .552(xpression is true if the unary test is true.)-.15 F
+.552(If the \214rst ar)5.552 F(gu-)-.18 E(ment is not a v)180 274.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 286.8 S -.18(rg)-2.5 G
+(uments).18 E .236(The follo)180 298.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 108 R 1.155 -.15(ve u)
--.15 H(nder).15 E/F1 9/Times-Bold@0 SF(CONDITION)3.355 E .855
-(AL EXPRESSIONS)-.18 F/F2 9/Times-Roman@0 SF(,)A F0(the)3.104 E .578
-(result of the e)180 120 R .578(xpression is the result of the binary t\
-est using the \214rst and third ar)-.15 F(guments)-.18 E 1.333
-(as operands.)180 132 R(The)6.333 E/F3 10/Times-Bold@0 SF<ad61>3.833 E
-F0(and)3.833 E F3<ad6f>3.832 E F0 1.332
+(the binary conditional operators listed abo)180 310.8 R 1.155 -.15
+(ve u)-.15 H(nder).15 E F3(CONDITION)3.355 E .855(AL EXPRESSIONS)-.18 F
+F4(,)A F0(the)3.104 E .578(result of the e)180 322.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 334.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 144 R 3.058(guments. If)-.18 F .558(the \214rst ar)3.058 F
-.558(gument is)-.18 F F3(!)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 156 R 3.021
-(guments. If)-.18 F .521(the \214rst ar)3.021 F .52(gument is e)-.18 F
-(xactly)-.15 E F3(\()3.02 E F0 .52(and the third)3.02 F(ar)180 168 Q
-.485(gument is e)-.18 F(xactly)-.15 E F3(\))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 180 Q
-(xpression is f)-.15 E(alse.)-.1 E 2.5(4a)144 192 S -.18(rg)-2.5 G
-(uments).18 E .385(If the \214rst ar)180 204 R .385(gument is)-.18 F F3
-(!)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 216 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 228 Q -.15(ve)
--.15 G(.).15 E 2.5(5o)144 240 S 2.5(rm)-2.5 G(ore ar)-2.5 E(guments)-.18
-E 1.635(The e)180 252 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 264 Q -.15(ve)-.15 G(.).15 E(When used with)144 282 Q F3(test)
-2.5 E F0(or)2.5 E F3([)2.5 E F0 2.5(,t)C(he)-2.5 E F3(<)2.5 E F0(and)2.5
-E F3(>)2.5 E F0(operators sort le)2.5 E
-(xicographically using ASCII ordering.)-.15 E F3(times)108 298.8 Q F0
+(three ar)180 346.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
+358.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 370.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 382.8 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(4a)144
+394.8 S -.18(rg)-2.5 G(uments).18 E .385(If the \214rst ar)180 406.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 418.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
+430.8 Q -.15(ve)-.15 G(.).15 E 2.5(5o)144 442.8 S 2.5(rm)-2.5 G(ore ar)
+-2.5 E(guments)-.18 E 1.635(The e)180 454.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
+466.8 Q -.15(ve)-.15 G(.).15 E(When used with)144 484.8 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 501.6 Q F0
1.229(Print the accumulated user and system times for the shell and for\
- processes run from the shell.)144 298.8 R(The return status is 0.)144
-310.8 Q F3(trap)108 327.6 Q F0([)2.5 E F3(\255lp)A F0 2.5(][)C([)-2.5 E
-/F4 10/Times-Italic@0 SF(ar)A(g)-.37 E F0(])A F4(sigspec)2.5 E F0(...])
-2.5 E .703(The command)144 339.6 R F4(ar)3.533 E(g)-.37 E F0 .703
-(is to be read and e)3.423 F -.15(xe)-.15 G .702
-(cuted when the shell recei).15 F -.15(ve)-.25 G 3.202(ss).15 G
-(ignal\(s\))-3.202 E F4(sigspec)3.202 E F0 5.702(.I).31 G(f)-5.702 E F4
-(ar)3.532 E(g)-.37 E F0(is)3.422 E .608(absent \(and there is a single)
-144 351.6 R F4(sigspec)3.108 E F0 3.108(\)o)C(r)-3.108 E F3<ad>3.108 E
-F0 3.108(,e)C .608
+ processes run from the shell.)144 501.6 R(The return status is 0.)144
+513.6 Q F1(trap)108 530.4 Q F0([)2.5 E F1(\255lp)A F0 2.5(][)C([)-2.5 E
+F2(ar)A(g)-.37 E F0(])A F2(sigspec)2.5 E F0(...])2.5 E .703(The command)
+144 542.4 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 554.4 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
-.659(\(the v)144 363.6 R .659(alue it had upon entrance to the shell\).)
--.25 F(If)5.658 E F4(ar)3.488 E(g)-.37 E F0 .658
-(is the null string the signal speci\214ed by each)3.378 F F4(sigspec)
-144.34 375.6 Q F0 .58(is ignored by the shell and by the commands it in)
-3.39 F -.2(vo)-.4 G -.1(ke).2 G 3.081(s. If).1 F F4(ar)3.411 E(g)-.37 E
-F0 .581(is not present and)3.301 F F3<ad70>3.081 E F0(has)3.081 E 1.215
-(been supplied, then the trap commands associated with each)144 387.6 R
-F4(sigspec)4.054 E F0 1.214(are displayed.)4.024 F 1.214(If no ar)6.214
-F(gu-)-.18 E .86(ments are supplied or if only)144 399.6 R F3<ad70>3.36
-E F0 .86(is gi)3.36 F -.15(ve)-.25 G(n,).15 E F3(trap)3.36 E F0 .86
+.659(\(the v)144 566.4 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 578.4 Q F0 .58(is ignored by the shell and by the commands it in)
+3.39 F -.2(vo)-.4 G -.1(ke).2 G 3.081(s. If).1 F 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 590.4 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 602.4 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 411.6 R F3<ad6c>2.83 E F0 .33(option causes the shell \
+(signal. The)144 614.4 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 423.6 R F4(sigspec)4.65 E F0 1.811
-(is either a signal name de\214ned in <)4.62 F F4(signal.h)A F0 1.811
+(bers. Each)144 626.4 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 435.6 Q .3 -.15(ve a)-.25 H(nd the).15 E
-F1(SIG)2.5 E F0(pre\214x is optional.)2.25 E 1.649(If a)144 453.6 R F4
-(sigspec)4.489 E F0(is)4.459 E F1(EXIT)4.149 E F0 1.649
-(\(0\) the command)3.899 F F4(ar)4.479 E(g)-.37 E F0 1.649(is e)4.369 F
+(names are case insensiti)144 638.4 Q .3 -.15(ve a)-.25 H(nd the).15 E
+F3(SIG)2.5 E F0(pre\214x is optional.)2.25 E 1.649(If a)144 656.4 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 F4(sigspec)4.488 E F0(is)4.458 E F1(DEB)144 465.6 Q
-(UG)-.09 E F2(,)A F0 1.167(the command)3.417 F F4(ar)3.997 E(g)-.37 E F0
+1.648(If a)6.648 F F2(sigspec)4.488 E F0(is)4.458 E F3(DEB)144 668.4 Q
+(UG)-.09 E F4(,)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 F4 1.168(simple command)3.667 F F0(,)A F4(for)3.668 E F0
-(command,)3.668 E F4(case)3.668 E F0(com-)3.668 E(mand,)144 477.6 Q F4
+-.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 680.4 Q F2
(select)2.647 E F0 .147(command, e)2.647 F -.15(ve)-.25 G .147
-(ry arithmetic).15 F F4(for)2.647 E F0 .146
+(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 489.6 R F1 .145
+(cutes in a).15 F .145(shell function \(see)144 692.4 R F3 .145
(SHELL GRAMMAR)2.645 F F0(abo)2.395 E -.15(ve)-.15 G 2.646(\). Refer).15
-F .146(to the description of the)2.646 F F3(extdeb)2.646 E(ug)-.2 E F0
-.146(option to)2.646 F(the)144 501.6 Q F3(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 F3(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
-F1(RETURN)3.2 E F2(,)A F0 .7(the com-)2.95 F(mand)144 513.6 Q F4(ar)
+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 704.4 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 716.4 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
-.644(cuted with the).15 F F3(.)3.144 E F0(or)3.144 E F3(sour)3.144 E(ce)
--.18 E F0 -.2(bu)3.144 G(iltins).2 E(\214nishes e)144 525.6 Q -.15(xe)
--.15 G(cuting.).15 E .961(If a)144 543.6 R F4(sigspec)3.801 E F0(is)
-3.771 E F1(ERR)3.461 E F2(,)A F0 .961(the command)3.211 F F4(ar)3.791 E
-(g)-.37 E F0 .961(is e)3.681 F -.15(xe)-.15 G .961(cuted whene).15 F
--.15(ve)-.25 G 3.461(ra).15 G .96(pipeline \(which may consist of a)
--.001 F .185(single simple command\), a list, or a compound command ret\
-urns a non\255zero e)144 555.6 R .185(xit status, subject to)-.15 F .452
-(the follo)144 567.6 R .452(wing conditions.)-.25 F(The)5.452 E F1(ERR)
-2.952 E F0 .451(trap is not e)2.701 F -.15(xe)-.15 G .451
-(cuted if the f).15 F .451(ailed command is part of the com-)-.1 F .387
-(mand list immediately follo)144 579.6 R .387(wing a)-.25 F F3(while)
-2.887 E F0(or)2.887 E F3(until)2.888 E F0 -.1(ke)2.888 G(yw)-.05 E .388
-(ord, part of the test in an)-.1 F F4(if)2.898 E F0 .388
-(statement, part)4.848 F .778(of a command e)144 591.6 R -.15(xe)-.15 G
-.778(cuted in a).15 F F3(&&)3.278 E F0(or)3.278 E F3(||)3.278 E F0 .778
-(list e)3.278 F .778(xcept the command follo)-.15 F .778
-(wing the \214nal)-.25 F F3(&&)3.278 E F0(or)3.278 E F3(||)3.277 E F0
-3.277(,a)C -.15(ny)-3.277 G 1.28(command in a pipeline b)144 603.6 R
-1.28(ut the last, or if the command')-.2 F 3.78(sr)-.55 G 1.28(eturn v)
--3.78 F 1.28(alue is being in)-.25 F -.15(ve)-.4 G 1.28(rted using).15 F
-F3(!)3.78 E F0(.)A(These are the same conditions obe)144 615.6 Q
-(yed by the)-.15 E F3(err)2.5 E(exit)-.18 E F0(\()2.5 E F3<ad65>A F0 2.5
-(\)o)C(ption.)-2.5 E 1.095
+.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 728.4 Q -.15(xe)
+-.15 G(cuting.).15 E(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(22)
+198.725 E 0 Cg EP
+%%Page: 23 23
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61
+(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
+E(UIL)-.1 E(TINS\(1\))-.92 E .961(If a)144 84 R/F1 10/Times-Italic@0 SF
+(sigspec)3.801 E F0(is)3.771 E/F2 9/Times-Bold@0 SF(ERR)3.461 E/F3 9
+/Times-Roman@0 SF(,)A F0 .961(the command)3.211 F F1(ar)3.791 E(g)-.37 E
+F0 .961(is e)3.681 F -.15(xe)-.15 G .961(cuted whene).15 F -.15(ve)-.25
+G 3.461(ra).15 G .96(pipeline \(which may consist of a)-.001 F .185(sin\
+gle simple command\), a list, or a compound command returns a non\255ze\
+ro e)144 96 R .185(xit status, subject to)-.15 F .452(the follo)144 108
+R .452(wing conditions.)-.25 F(The)5.452 E F2(ERR)2.952 E F0 .451
+(trap is not e)2.701 F -.15(xe)-.15 G .451(cuted if the f).15 F .451
+(ailed command is part of the com-)-.1 F .387
+(mand list immediately follo)144 120 R .387(wing a)-.25 F/F4 10
+/Times-Bold@0 SF(while)2.887 E F0(or)2.887 E F4(until)2.888 E F0 -.1(ke)
+2.888 G(yw)-.05 E .388(ord, part of the test in an)-.1 F F1(if)2.898 E
+F0 .388(statement, part)4.848 F .778(of a command e)144 132 R -.15(xe)
+-.15 G .778(cuted in a).15 F F4(&&)3.278 E F0(or)3.278 E F4(||)3.278 E
+F0 .778(list e)3.278 F .778(xcept the command follo)-.15 F .778
+(wing the \214nal)-.25 F F4(&&)3.278 E F0(or)3.278 E F4(||)3.277 E F0
+3.277(,a)C -.15(ny)-3.277 G 1.28(command in a pipeline b)144 144 R 1.28
+(ut the last, or if the command')-.2 F 3.78(sr)-.55 G 1.28(eturn v)-3.78
+F 1.28(alue is being in)-.25 F -.15(ve)-.4 G 1.28(rted using).15 F F4(!)
+3.78 E F0(.)A(These are the same conditions obe)144 156 Q(yed by the)
+-.15 E F4(err)2.5 E(exit)-.18 E F0(\()2.5 E F4<ad65>A F0 2.5(\)o)C
+(ption.)-2.5 E 1.095
(Signals ignored upon entry to the shell cannot be trapped or reset.)144
-633.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 645.6 R .662
+174 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 186 R .662
(alues in a subshell or subshell en)-.25 F .662(vironment when one is)
--.4 F 2.5(created. The)144 657.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 F3(trap)2.5 E F0(returns true.)2.5 E F3(type)108
-674.4 Q F0([)2.5 E F3(\255aftpP)A F0(])A F4(name)2.5 E F0([)2.5 E F4
-(name)A F0(...])2.5 E -.4(Wi)144 686.4 S .174
-(th no options, indicate ho).4 F 2.674(we)-.25 G(ach)-2.674 E F4(name)
+-.4 F 2.5(created. The)144 198 R(return status is f)2.5 E(alse if an)-.1
+E(y)-.15 E F1(sigspec)2.84 E F0(is in)2.81 E -.25(va)-.4 G
+(lid; otherwise).25 E F4(trap)2.5 E F0(returns true.)2.5 E F4(type)108
+214.8 Q F0([)2.5 E F4(\255aftpP)A F0(])A F1(name)2.5 E F0([)2.5 E F1
+(name)A F0(...])2.5 E -.4(Wi)144 226.8 S .174
+(th no options, indicate ho).4 F 2.674(we)-.25 G(ach)-2.674 E F1(name)
3.034 E F0 -.1(wo)2.854 G .173
(uld be interpreted if used as a command name.).1 F .173(If the)5.173 F
-F3<ad74>144 698.4 Q F0 .842(option is used,)3.342 F F3(type)3.342 E F0
-.843(prints a string which is one of)3.343 F F4(alias)3.343 E F0(,).27 E
-F4 -.1(ke)3.343 G(ywor)-.2 E(d)-.37 E F0(,).77 E F4(function)3.343 E F0
-(,).24 E F4 -.2(bu)3.343 G(iltin).2 E F0 3.343(,o).24 G(r)-3.343 E F4
-(\214le)5.253 E F0(if)3.523 E F4(name)144.36 710.4 Q F0 .087
+F4<ad74>144 238.8 Q F0 .842(option is used,)3.342 F F4(type)3.342 E F0
+.843(prints a string which is one of)3.343 F F1(alias)3.343 E F0(,).27 E
+F1 -.1(ke)3.343 G(ywor)-.2 E(d)-.37 E F0(,).77 E F1(function)3.343 E F0
+(,).24 E F1 -.2(bu)3.343 G(iltin).2 E F0 3.343(,o).24 G(r)-3.343 E F1
+(\214le)5.253 E F0(if)3.523 E F1(name)144.36 250.8 Q F0 .087
(is an alias, shell reserv)2.767 F .087(ed w)-.15 F .087
(ord, function, b)-.1 F .086(uiltin, or disk \214le, respecti)-.2 F -.15
-(ve)-.25 G(ly).15 E 5.086(.I)-.65 G 2.586(ft)-5.086 G(he)-2.586 E F4
+(ve)-.25 G(ly).15 E 5.086(.I)-.65 G 2.586(ft)-5.086 G(he)-2.586 E F1
(name)2.946 E F0 .086(is not)2.766 F .118
-(found, then nothing is printed, and an e)144 722.4 R .118
+(found, then nothing is printed, and an e)144 262.8 R .118
(xit status of f)-.15 F .118(alse is returned.)-.1 F .119(If the)5.119 F
-F3<ad70>2.619 E F0 .119(option is used,)2.619 F F3(type)2.619 E F0
-(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(22)198.725 E 0 Cg EP
-%%Page: 23 23
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61
-(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
-E(UIL)-.1 E(TINS\(1\))-.92 E .855
-(either returns the name of the disk \214le that w)144 84 R .855
-(ould be e)-.1 F -.15(xe)-.15 G .855(cuted if).15 F/F1 10/Times-Italic@0
-SF(name)3.715 E F0 .855(were speci\214ed as a com-)3.535 F .64
-(mand name, or nothing if)144 96 R/F2 10/Courier@0 SF .64(type -t name)
-3.14 F F0 -.1(wo)3.14 G .641(uld not return).1 F F1(\214le)3.141 E F0
-5.641(.T).18 G(he)-5.641 E/F3 10/Times-Bold@0 SF<ad50>3.141 E F0 .641
-(option forces a)3.141 F/F4 9/Times-Bold@0 SF -.666(PA)3.141 G(TH)-.189
-E F0 .113(search for each)144 108 R F1(name)2.613 E F0 2.613(,e)C -.15
-(ve)-2.863 G 2.613(ni).15 G(f)-2.613 E F2 .113(type -t name)2.613 F F0
--.1(wo)2.613 G .113(uld not return).1 F F1(\214le)2.613 E F0 5.113(.I)
-.18 G 2.613(fa)-5.113 G .112(command is hashed,)-.001 F F3<ad70>2.612 E
-F0(and)144 120 Q F3<ad50>3.23 E F0 .73(print the hashed v)3.23 F .731
+F4<ad70>2.619 E F0 .119(option is used,)2.619 F F4(type)2.619 E F0 .855
+(either returns the name of the disk \214le that w)144 274.8 R .855
+(ould be e)-.1 F -.15(xe)-.15 G .855(cuted if).15 F F1(name)3.715 E F0
+.855(were speci\214ed as a com-)3.535 F .64(mand name, or nothing if)144
+286.8 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 F1(\214le)3.141 E F0 5.641(.T).18 G(he)-5.641 E F4
+<ad50>3.141 E F0 .641(option forces a)3.141 F F2 -.666(PA)3.141 G(TH)
+-.189 E F0 .113(search for each)144 298.8 R F1(name)2.613 E F0 2.613(,e)
+C -.15(ve)-2.863 G 2.613(ni).15 G(f)-2.613 E F5 .113(type -t name)2.613
+F F0 -.1(wo)2.613 G .113(uld not return).1 F F1(\214le)2.613 E F0 5.113
+(.I).18 G 2.613(fa)-5.113 G .112(command is hashed,)-.001 F F4<ad70>
+2.612 E F0(and)144 310.8 Q F4<ad50>3.23 E F0 .73(print the hashed v)3.23
+F .731
(alue, which is not necessarily the \214le that appears \214rst in)-.25
-F F4 -.666(PA)3.231 G(TH)-.189 E/F5 9/Times-Roman@0 SF(.)A F0 .731
-(If the)5.231 F F3<ad61>144 132 Q F0 1.749(option is used,)4.249 F F3
-(type)4.248 E F0 1.748(prints all of the places that contain an e)4.248
-F -.15(xe)-.15 G 1.748(cutable named).15 F F1(name)4.248 E F0 6.748(.T)
-.18 G(his)-6.748 E .744
-(includes aliases and functions, if and only if the)144 144 R F3<ad70>
+F F2 -.666(PA)3.231 G(TH)-.189 E F3(.)A F0 .731(If the)5.231 F F4<ad61>
+144 322.8 Q F0 1.749(option is used,)4.249 F F4(type)4.248 E F0 1.748
+(prints all of the places that contain an e)4.248 F -.15(xe)-.15 G 1.748
+(cutable named).15 F F1(name)4.248 E F0 6.748(.T).18 G(his)-6.748 E .744
+(includes aliases and functions, if and only if the)144 334.8 R F4<ad70>
3.244 E F0 .744(option is not also used.)3.244 F .744
(The table of hashed)5.744 F 1.223(commands is not consulted when using)
-144 156 R F3<ad61>3.723 E F0 6.223(.T)C(he)-6.223 E F3<ad66>3.723 E F0
+144 346.8 R F4<ad61>3.723 E F0 6.223(.T)C(he)-6.223 E F4<ad66>3.723 E F0
1.223(option suppresses shell function lookup, as)3.723 F .325(with the)
-144 168 R F3(command)2.825 E F0 -.2(bu)2.825 G(iltin.).2 E F3(type)5.325
-E F0 .325(returns true if all of the ar)2.825 F .326
+144 358.8 R F4(command)2.825 E F0 -.2(bu)2.825 G(iltin.).2 E F4(type)
+5.325 E F0 .325(returns true if all of the ar)2.825 F .326
(guments are found, f)-.18 F .326(alse if an)-.1 F 2.826(ya)-.15 G .326
-(re not)-2.826 F(found.)144 180 Q F3(ulimit)108 196.8 Q F0([)2.5 E F3
+(re not)-2.826 F(found.)144 370.8 Q F4(ulimit)108 387.6 Q F0([)2.5 E F4
(\255HSabcde\214klmnpqrstuvxPT)A F0([)2.5 E F1(limit)A F0(]])A(Pro)144
-208.8 Q .244(vides control o)-.15 F -.15(ve)-.15 G 2.744(rt).15 G .244
+399.6 Q .244(vides control o)-.15 F -.15(ve)-.15 G 2.744(rt).15 G .244
(he resources a)-2.744 F -.25(va)-.2 G .244
(ilable to the shell and to processes started by it, on systems).25 F
-.943(that allo)144 220.8 R 3.443(ws)-.25 G .943(uch control.)-3.443 F
-(The)5.943 E F3<ad48>3.443 E F0(and)3.443 E F3<ad53>3.444 E F0 .944
+.943(that allo)144 411.6 R 3.443(ws)-.25 G .943(uch control.)-3.443 F
+(The)5.943 E F4<ad48>3.443 E F0(and)3.443 E F4<ad53>3.444 E F0 .944
(options specify that the hard or soft limit is set for the)3.444 F(gi)
-144 232.8 Q -.15(ve)-.25 G 2.709(nr).15 G 2.709(esource. A)-2.709 F .208
+144 423.6 Q -.15(ve)-.25 G 2.709(nr).15 G 2.709(esource. A)-2.709 F .208
(hard limit cannot be increased by a non-root user once it is set; a so\
-ft limit may)2.709 F .425(be increased up to the v)144 244.8 R .425
-(alue of the hard limit.)-.25 F .426(If neither)5.425 F F3<ad48>2.926 E
-F0(nor)2.926 E F3<ad53>2.926 E F0 .426
+ft limit may)2.709 F .425(be increased up to the v)144 435.6 R .425
+(alue of the hard limit.)-.25 F .426(If neither)5.425 F F4<ad48>2.926 E
+F0(nor)2.926 E F4<ad53>2.926 E F0 .426
(is speci\214ed, both the soft and)2.926 F .139(hard limits are set.)144
-256.8 R .139(The v)5.139 F .139(alue of)-.25 F F1(limit)2.729 E F0 .139
+447.6 R .139(The v)5.139 F .139(alue of)-.25 F F1(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 268.8 R(alues)-.25 E F3(hard)3.241 E F0(,)A F3
-(soft)3.241 E F0 3.241(,o)C(r)-3.241 E F3(unlimited)3.241 E F0 3.241(,w)
+.741(of the special v)144 459.6 R(alues)-.25 E F4(hard)3.241 E F0(,)A F4
+(soft)3.241 E F0 3.241(,o)C(r)-3.241 E F4(unlimited)3.241 E F0 3.241(,w)
C .741(hich stand for the current hard limit, the current)-3.241 F .78
-(soft limit, and no limit, respecti)144 280.8 R -.15(ve)-.25 G(ly).15 E
+(soft limit, and no limit, respecti)144 471.6 R -.15(ve)-.25 G(ly).15 E
5.78(.I)-.65 G(f)-5.78 E F1(limit)3.37 E F0 .78
(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 292.8 R F3<ad48>2.999 E F0
+F .498(resource is printed, unless the)144 483.6 R F4<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 304.8 Q 2.5
-(alue. Other)-.25 F(options are interpreted as follo)2.5 E(ws:)-.25 E F3
-<ad61>144 316.8 Q F0(All current limits are reported)180 316.8 Q F3
-<ad62>144 328.8 Q F0(The maximum sock)180 328.8 Q(et b)-.1 E(uf)-.2 E
-(fer size)-.25 E F3<ad63>144 340.8 Q F0
-(The maximum size of core \214les created)180 340.8 Q F3<ad64>144 352.8
-Q F0(The maximum size of a process')180 352.8 Q 2.5(sd)-.55 G(ata se)
--2.5 E(gment)-.15 E F3<ad65>144 364.8 Q F0
-(The maximum scheduling priority \("nice"\))180 364.8 Q F3<ad66>144
-376.8 Q F0
+(limit name and unit are printed before the v)144 495.6 Q 2.5
+(alue. Other)-.25 F(options are interpreted as follo)2.5 E(ws:)-.25 E F4
+<ad61>144 507.6 Q F0(All current limits are reported)180 507.6 Q F4
+<ad62>144 519.6 Q F0(The maximum sock)180 519.6 Q(et b)-.1 E(uf)-.2 E
+(fer size)-.25 E F4<ad63>144 531.6 Q F0
+(The maximum size of core \214les created)180 531.6 Q F4<ad64>144 543.6
+Q F0(The maximum size of a process')180 543.6 Q 2.5(sd)-.55 G(ata se)
+-2.5 E(gment)-.15 E F4<ad65>144 555.6 Q F0
+(The maximum scheduling priority \("nice"\))180 555.6 Q F4<ad66>144
+567.6 Q F0
(The maximum size of \214les written by the shell and its children)180
-376.8 Q F3<ad69>144 388.8 Q F0(The maximum number of pending signals)180
-388.8 Q F3<ad6b>144 400.8 Q F0
-(The maximum number of kqueues that may be allocated)180 400.8 Q F3
-<ad6c>144 412.8 Q F0(The maximum size that may be lock)180 412.8 Q
-(ed into memory)-.1 E F3<ad6d>144 424.8 Q F0
-(The maximum resident set size \(man)180 424.8 Q 2.5(ys)-.15 G
-(ystems do not honor this limit\))-2.5 E F3<ad6e>144 436.8 Q F0 .791(Th\
+567.6 Q F4<ad69>144 579.6 Q F0(The maximum number of pending signals)180
+579.6 Q F4<ad6b>144 591.6 Q F0
+(The maximum number of kqueues that may be allocated)180 591.6 Q F4
+<ad6c>144 603.6 Q F0(The maximum size that may be lock)180 603.6 Q
+(ed into memory)-.1 E F4<ad6d>144 615.6 Q F0
+(The maximum resident set size \(man)180 615.6 Q 2.5(ys)-.15 G
+(ystems do not honor this limit\))-2.5 E F4<ad6e>144 627.6 Q F0 .791(Th\
e maximum number of open \214le descriptors \(most systems do not allo)
-180 436.8 R 3.29(wt)-.25 G .79(his v)-3.29 F .79(alue to)-.25 F
-(be set\))180 448.8 Q F3<ad70>144 460.8 Q F0
-(The pipe size in 512-byte blocks \(this may not be set\))180 460.8 Q F3
-<ad71>144 472.8 Q F0
-(The maximum number of bytes in POSIX message queues)180 472.8 Q F3
-<ad72>144 484.8 Q F0(The maximum real-time scheduling priority)180 484.8
-Q F3<ad73>144 496.8 Q F0(The maximum stack size)180 496.8 Q F3<ad74>144
-508.8 Q F0(The maximum amount of cpu time in seconds)180 508.8 Q F3
-<ad75>144 520.8 Q F0(The maximum number of processes a)180 520.8 Q -.25
-(va)-.2 G(ilable to a single user).25 E F3<ad76>144 532.8 Q F0 .47
-(The maximum amount of virtual memory a)180 532.8 R -.25(va)-.2 G .47
-(ilable to the shell and, on some systems, to).25 F(its children)180
-544.8 Q F3<ad78>144 556.8 Q F0(The maximum number of \214le locks)180
-556.8 Q F3<ad50>144 568.8 Q F0(The maximum number of pseudoterminals)180
-568.8 Q F3<ad54>144 580.8 Q F0(The maximum number of threads)180 580.8 Q
-(If)144 597.6 Q F1(limit)3.058 E F0 .468(is gi)3.648 F -.15(ve)-.25 G
-.468(n, and the).15 F F3<ad61>2.968 E F0 .468(option is not used,)2.968
-F F1(limit)2.968 E F0 .468(is the ne)2.968 F 2.968(wv)-.25 G .468
-(alue of the speci\214ed resource.)-3.218 F(If)5.468 E .044
-(no option is gi)144 609.6 R -.15(ve)-.25 G .044(n, then).15 F F3<ad66>
-2.544 E F0 .045(is assumed.)2.545 F -1.11(Va)5.045 G .045
-(lues are in 1024-byte increments, e)1.11 F .045(xcept for)-.15 F F3
+180 627.6 R 3.29(wt)-.25 G .79(his v)-3.29 F .79(alue to)-.25 F
+(be set\))180 639.6 Q F4<ad70>144 651.6 Q F0
+(The pipe size in 512-byte blocks \(this may not be set\))180 651.6 Q F4
+<ad71>144 663.6 Q F0
+(The maximum number of bytes in POSIX message queues)180 663.6 Q F4
+<ad72>144 675.6 Q F0(The maximum real-time scheduling priority)180 675.6
+Q F4<ad73>144 687.6 Q F0(The maximum stack size)180 687.6 Q F4<ad74>144
+699.6 Q F0(The maximum amount of cpu time in seconds)180 699.6 Q F4
+<ad75>144 711.6 Q F0(The maximum number of processes a)180 711.6 Q -.25
+(va)-.2 G(ilable to a single user).25 E(GNU Bash 5.0)72 768 Q
+(2004 Apr 20)149.565 E(23)198.725 E 0 Cg EP
+%%Page: 24 24
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61
+(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
+E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF<ad76>144 84 Q F0 .47
+(The maximum amount of virtual memory a)180 84 R -.25(va)-.2 G .47
+(ilable to the shell and, on some systems, to).25 F(its children)180 96
+Q F1<ad78>144 108 Q F0(The maximum number of \214le locks)180 108 Q F1
+<ad50>144 120 Q F0(The maximum number of pseudoterminals)180 120 Q F1
+<ad54>144 132 Q F0(The maximum number of threads)180 132 Q(If)144 148.8
+Q/F2 10/Times-Italic@0 SF(limit)3.058 E F0 .468(is gi)3.648 F -.15(ve)
+-.25 G .468(n, and the).15 F F1<ad61>2.968 E F0 .468
+(option is not used,)2.968 F F2(limit)2.968 E F0 .468(is the ne)2.968 F
+2.968(wv)-.25 G .468(alue of the speci\214ed resource.)-3.218 F(If)5.468
+E .044(no option is gi)144 160.8 R -.15(ve)-.25 G .044(n, then).15 F F1
+<ad66>2.544 E F0 .045(is assumed.)2.545 F -1.11(Va)5.045 G .045
+(lues are in 1024-byte increments, e)1.11 F .045(xcept for)-.15 F F1
<ad74>2.545 E F0 2.545(,w)C .045(hich is)-2.545 F 1.589(in seconds;)144
-621.6 R F3<ad70>4.089 E F0 4.089(,w)C 1.589
-(hich is in units of 512-byte blocks;)-4.089 F F3<ad50>4.089 E F0(,)A F3
-<ad54>4.089 E F0(,)A F3<ad62>4.089 E F0(,)A F3<ad6b>4.089 E F0(,)A F3
-<ad6e>4.089 E F0 4.089(,a)C(nd)-4.089 E F3<ad75>4.089 E F0 4.088(,w)C
-1.588(hich are)-4.088 F 1.438(unscaled v)144 633.6 R 1.438
-(alues; and, when in Posix mode,)-.25 F F3<ad63>3.939 E F0(and)3.939 E
-F3<ad66>3.939 E F0 3.939(,w)C 1.439(hich are in 512-byte increments.)
--3.939 F(The)6.439 E .404(return status is 0 unless an in)144 645.6 R
+172.8 R F1<ad70>4.089 E F0 4.089(,w)C 1.589
+(hich is in units of 512-byte blocks;)-4.089 F F1<ad50>4.089 E F0(,)A F1
+<ad54>4.089 E F0(,)A F1<ad62>4.089 E F0(,)A F1<ad6b>4.089 E F0(,)A F1
+<ad6e>4.089 E F0 4.089(,a)C(nd)-4.089 E F1<ad75>4.089 E F0 4.088(,w)C
+1.588(hich are)-4.088 F 1.476(unscaled v)144 184.8 R 1.476
+(alues; and, when in posix mode,)-.25 F F1<ad63>3.976 E F0(and)3.976 E
+F1<ad66>3.976 E F0 3.976(,w)C 1.476(hich are in 512-byte increments.)
+-3.976 F(The)6.476 E .404(return status is 0 unless an in)144 196.8 R
-.25(va)-.4 G .404(lid option or ar).25 F .404
(gument is supplied, or an error occurs while setting)-.18 F 2.5(an)144
-657.6 S .5 -.25(ew l)-2.5 H(imit.).25 E F3(umask)108 674.4 Q F0([)2.5 E
-F3<ad70>A F0 2.5(][)C F3<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 686.4 R F1(mode)2.7 E F0
-5.2(.I).18 G(f)-5.2 E F1(mode)3.08 E F0(be)2.88 E .2
+208.8 S .5 -.25(ew l)-2.5 H(imit.).25 E F1(umask)108 225.6 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 237.6 R F2(mode)2.7 E F0
+5.2(.I).18 G(f)-5.2 E F2(mode)3.08 E F0(be)2.88 E .2
(gins with a digit, it is interpreted as an octal)-.15 F .066(number; o\
therwise it is interpreted as a symbolic mode mask similar to that acce\
-pted by)144 698.4 R F1 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144
-710.4 Q F1(mode)3.262 E F0 .382(is omitted, the current v)3.062 F .382
-(alue of the mask is printed.)-.25 F(The)5.382 E F3<ad53>2.882 E F0 .382
+pted by)144 249.6 R F2 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144
+261.6 Q F2(mode)3.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
(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 273.6 R .547
(ault output is an octal number)-.1 F 5.547(.I)-.55 G 3.047(ft)-5.547 G
-(he)-3.047 E F3<ad70>3.047 E F0 .547(option is supplied, and)3.047 F
-(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(23)198.725 E 0 Cg EP
-%%Page: 24 24
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61
-(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
-E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Italic@0 SF(mode)144.38 84 Q F0
-.551(is omitted, the output is in a form that may be reused as input.)
-3.231 F .552(The return status is 0 if the)5.552 F(mode w)144 96 Q
-(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
-(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<ad>-2.5 E F2(n)A F0 2.5(][)C F1(name)-2.5 E F0(...])
-2.5 E -.15(Fo)144 165.6 S 3.827(re).15 G(ach)-3.827 E F1(name)3.827 E F0
+(he)-3.047 E F1<ad70>3.047 E F0 .547(option is supplied, and)3.047 F F2
+(mode)144.38 285.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 297.6 Q
+(as successfully changed or if no)-.1 E F2(mode)2.5 E F0(ar)2.5 E
+(gument w)-.18 E(as supplied, and f)-.1 E(alse otherwise.)-.1 E F1
+(unalias)108 314.4 Q F0<5bad>2.5 E F1(a)A F0 2.5(][)C F2(name)-2.5 E F0
+(...])2.5 E(Remo)144 326.4 Q 1.955 -.15(ve e)-.15 H(ach).15 E F2(name)
+4.155 E F0 1.655(from the list of de\214ned aliases.)4.155 F(If)6.655 E
+F1<ad61>4.155 E F0 1.655(is supplied, all alias de\214nitions are)4.155
+F(remo)144 338.4 Q -.15(ve)-.15 G 2.5(d. The).15 F(return v)2.5 E
+(alue is true unless a supplied)-.25 E F2(name)2.86 E F0
+(is not a de\214ned alias.)2.68 E F1(unset)108 355.2 Q F0<5bad>2.5 E F1
+(fv)A F0 2.5(][)C<ad>-2.5 E F1(n)A F0 2.5(][)C F2(name)-2.5 E F0(...])
+2.5 E -.15(Fo)144 367.2 S 3.827(re).15 G(ach)-3.827 E F2(name)3.827 E F0
3.827(,r).18 G(emo)-3.827 E 1.627 -.15(ve t)-.15 H 1.327
(he corresponding v).15 F 1.327(ariable or function.)-.25 F 1.327
-(If the)6.327 F F2<ad76>3.828 E F0 1.328(option is gi)3.828 F -.15(ve)
--.25 G 1.328(n, each).15 F F1(name)144.36 177.6 Q F0 1.551
+(If the)6.327 F F1<ad76>3.828 E F0 1.328(option is gi)3.828 F -.15(ve)
+-.25 G 1.328(n, each).15 F F2(name)144.36 379.2 Q F0 1.551
(refers to a shell v)4.231 F 1.551(ariable, and that v)-.25 F 1.551
(ariable is remo)-.25 F -.15(ve)-.15 G 4.05(d. Read-only).15 F -.25(va)
-4.05 G 1.55(riables may not be).25 F 4.641(unset. If)144 189.6 R F2
-<ad66>4.641 E F0 2.141(is speci\214ed, each)4.641 F F1(name)5.001 E F0
+4.05 G 1.55(riables may not be).25 F 4.641(unset. If)144 391.2 R F1
+<ad66>4.641 E F0 2.141(is speci\214ed, each)4.641 F F2(name)5.001 E F0
2.141(refers to a shell function, and the function de\214nition is)4.821
-F(remo)144 201.6 Q -.15(ve)-.15 G 2.538(d. If).15 F(the)2.537 E F2<ad6e>
-2.537 E F0 .037(option is supplied, and)2.537 F F1(name)2.537 E F0 .037
-(is a v)2.537 F .037(ariable with the)-.25 F F1(namer)2.537 E(ef)-.37 E
-F0(attrib)2.537 E(ute,)-.2 E F1(name)2.537 E F0(will)2.537 E .492
-(be unset rather than the v)144 213.6 R .492(ariable it references.)-.25
-F F2<ad6e>5.492 E F0 .492(has no ef)2.992 F .492(fect if the)-.25 F F2
+F(remo)144 403.2 Q -.15(ve)-.15 G 2.538(d. If).15 F(the)2.537 E F1<ad6e>
+2.537 E F0 .037(option is supplied, and)2.537 F F2(name)2.537 E F0 .037
+(is a v)2.537 F .037(ariable with the)-.25 F F2(namer)2.537 E(ef)-.37 E
+F0(attrib)2.537 E(ute,)-.2 E F2(name)2.537 E F0(will)2.537 E .492
+(be unset rather than the v)144 415.2 R .492(ariable it references.)-.25
+F F1<ad6e>5.492 E F0 .492(has no ef)2.992 F .492(fect if the)-.25 F F1
<ad66>2.992 E F0 .492(option is supplied.)2.992 F .493(If no)5.493 F
-.221(options are supplied, each)144 225.6 R F1(name)2.721 E F0 .221
+.221(options are supplied, each)144 427.2 R F2(name)2.721 E F0 .221
(refers to a v)2.721 F .22(ariable; if there is no v)-.25 F .22
(ariable by that name, an)-.25 F 2.72(yf)-.15 G(unc-)-2.72 E 1.188
-(tion with that name is unset.)144 237.6 R 1.189(Each unset v)6.189 F
+(tion with that name is unset.)144 439.2 R 1.189(Each unset v)6.189 F
1.189(ariable or function is remo)-.25 F -.15(ve)-.15 G 3.689(df).15 G
1.189(rom the en)-3.689 F(vironment)-.4 E 3.206
-(passed to subsequent commands.)144 249.6 R 3.206(If an)8.206 F 5.706
+(passed to subsequent commands.)144 451.2 R 3.206(If an)8.206 F 5.706
(yo)-.15 G(f)-5.706 E/F3 9/Times-Bold@0 SF(COMP_W)5.706 E(ORDBREAKS)-.09
E/F4 9/Times-Roman@0 SF(,)A F3(RANDOM)5.455 E F4(,)A F3(SECONDS)5.455 E
-F4(,)A F3(LINENO)144 261.6 Q F4(,)A F3(HISTCMD)4.347 E F4(,)A F3(FUNCN)
+F4(,)A F3(LINENO)144 463.2 Q F4(,)A F3(HISTCMD)4.347 E F4(,)A F3(FUNCN)
4.347 E(AME)-.18 E F4(,)A F3(GR)4.347 E(OUPS)-.27 E F4(,)A F0(or)4.348 E
F3(DIRST)4.598 E -.495(AC)-.81 G(K).495 E F0 2.098(are unset, the)4.348
F 4.598(yl)-.15 G 2.098(ose their special)-4.598 F(properties, e)144
-273.6 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G(he)-2.5 E 2.5(ya)-.15
+475.2 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G(he)-2.5 E 2.5(ya)-.15
G(re subsequently reset.)-2.5 E(The e)5 E(xit status is true unless a)
--.15 E F1(name)2.86 E F0(is readonly)2.68 E(.)-.65 E F2(wait)108 290.4 Q
-F0([)2.5 E F2(\255fn)A F0 2.5(][)C F1(id ...)-2.5 E F0(])A -.8(Wa)144
-302.4 S .659(it for each speci\214ed child process and return its termi\
-nation status.).8 F(Each)5.659 E F1(id)3.169 E F0 .658(may be a process)
-3.928 F .008(ID or a job speci\214cation; if a job spec is gi)144 314.4
-R -.15(ve)-.25 G .009(n, all processes in that job').15 F 2.509(sp)-.55
-G .009(ipeline are w)-2.509 F .009(aited for)-.1 F 5.009(.I)-.55 G(f)
--5.009 E F1(id)144.01 326.4 Q F0 .522(is not gi)3.792 F -.15(ve)-.25 G
+-.15 E F2(name)2.86 E F0(is readonly)2.68 E(.)-.65 E F1(wait)108 492 Q
+F0([)2.5 E F1(\255fn)A F0 2.5(][)C F2(id ...)-2.5 E F0(])A -.8(Wa)144
+504 S .659(it for each speci\214ed child process and return its termina\
+tion status.).8 F(Each)5.659 E F2(id)3.169 E F0 .658(may be a process)
+3.928 F .008(ID or a job speci\214cation; if a job spec is gi)144 516 R
+-.15(ve)-.25 G .009(n, all processes in that job').15 F 2.509(sp)-.55 G
+.009(ipeline are w)-2.509 F .009(aited for)-.1 F 5.009(.I)-.55 G(f)
+-5.009 E F2(id)144.01 528 Q F0 .522(is not gi)3.792 F -.15(ve)-.25 G
.521(n, all currently acti).15 F .821 -.15(ve c)-.25 H .521
(hild processes are w).15 F .521(aited for)-.1 F 3.021(,a)-.4 G .521
-(nd the return status is zero.)-3.021 F(If)5.521 E(the)144 338.4 Q F2
-<ad6e>3.056 E F0 .556(option is supplied,)3.056 F F2(wait)3.057 E F0 -.1
+(nd the return status is zero.)-3.021 F(If)5.521 E(the)144 540 Q F1
+<ad6e>3.056 E F0 .556(option is supplied,)3.056 F F1(wait)3.057 E F0 -.1
(wa)3.057 G .557(its for an).1 F 3.057(yj)-.15 G .557
(ob to terminate and returns its e)-3.057 F .557(xit status.)-.15 F .557
-(If the)5.557 F F2<ad66>3.057 E F0 .587
-(option is supplied, and job control is enabled,)144 350.4 R F2(wait)
-3.086 E F0(forces)3.086 E F1(id)3.086 E F0 .586
+(If the)5.557 F F1<ad66>3.057 E F0 .587
+(option is supplied, and job control is enabled,)144 552 R F1(wait)3.086
+E F0(forces)3.086 E F2(id)3.086 E F0 .586
(to terminate before returning its sta-)3.086 F .755
-(tus, instead of returning when it changes status.)144 362.4 R(If)5.756
-E F1(id)3.266 E F0 .756(speci\214es a non-e)4.026 F .756
-(xistent process or job, the)-.15 F .365(return status is 127.)144 374.4
-R .365(Otherwise, the return status is the e)5.365 F .365
-(xit status of the last process or job w)-.15 F(aited)-.1 E(for)144
-386.4 Q(.)-.55 E/F5 10.95/Times-Bold@0 SF(SEE ALSO)72 403.2 Q F0
-(bash\(1\), sh\(1\))108 415.2 Q(GNU Bash 5.0)72 768 Q(2004 Apr 20)
+(tus, instead of returning when it changes status.)144 564 R(If)5.756 E
+F2(id)3.266 E F0 .756(speci\214es a non-e)4.026 F .756
+(xistent process or job, the)-.15 F .365(return status is 127.)144 576 R
+.365(Otherwise, the return status is the e)5.365 F .365
+(xit status of the last process or job w)-.15 F(aited)-.1 E(for)144 588
+Q(.)-.55 E/F5 10.95/Times-Bold@0 SF(SEE ALSO)72 604.8 Q F0
+(bash\(1\), sh\(1\))108 616.8 Q(GNU Bash 5.0)72 768 Q(2004 Apr 20)
149.565 E(24)198.725 E 0 Cg EP
%%Trailer
end
diff --git a/doc/rbash.ps b/doc/rbash.ps
index 9c4c5fd0..53602e2c 100644
--- a/doc/rbash.ps
+++ b/doc/rbash.ps
@@ -1,6 +1,6 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.22.3
-%%CreationDate: Mon Mar 19 09:43:23 2018
+%%CreationDate: Fri Sep 7 15:34:15 2018
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%DocumentSuppliedResources: procset grops 1.22 3
diff --git a/doc/version.texi b/doc/version.texi
index 2072eeed..7df19724 100644
--- a/doc/version.texi
+++ b/doc/version.texi
@@ -2,10 +2,10 @@
Copyright (C) 1988-2018 Free Software Foundation, Inc.
@end ignore
-@set LASTCHANGE Thu Mar 15 11:29:49 EDT 2018
+@set LASTCHANGE Tue Aug 7 12:01:22 EDT 2018
@set EDITION 5.0
@set VERSION 5.0
-@set UPDATED 15 March 2018
-@set UPDATED-MONTH March 2018
+@set UPDATED 7 August 2018
+@set UPDATED-MONTH August 2018
diff --git a/eval.c b/eval.c
index 3104bffe..f02d6e40 100644
--- a/eval.c
+++ b/eval.c
@@ -69,6 +69,9 @@ reader_loop ()
our_indirection_level = ++indirection_level;
+ if (just_one_command)
+ reset_readahead_token ();
+
while (EOF_Reached == 0)
{
int code;
diff --git a/examples/loadables/sleep.c b/examples/loadables/sleep.c
index 736c8af1..92b1a8fa 100644
--- a/examples/loadables/sleep.c
+++ b/examples/loadables/sleep.c
@@ -48,13 +48,6 @@
#include "builtins.h"
#include "common.h"
-#define RETURN(x) \
- do { \
- if (sp) *sp = sec; \
- if (usp) *usp = usec; \
- return (x); \
- } while (0)
-
int
sleep_builtin (list)
WORD_LIST *list;
diff --git a/execute_cmd.c b/execute_cmd.c
index 3759376e..c5972c8d 100644
--- a/execute_cmd.c
+++ b/execute_cmd.c
@@ -1522,6 +1522,11 @@ execute_in_subshell (command, asynchronous, pipe_in, pipe_out, fds_to_close)
/* Subshells are neither login nor interactive. */
login_shell = interactive = 0;
+ /* And we're no longer in a loop. See Posix interp 842 (we are not in the
+ "same execution environment"). */
+ if (shell_compatibility_level > 44)
+ loop_level = 0;
+
if (user_subshell)
{
subshell_environment = SUBSHELL_PAREN; /* XXX */
@@ -1556,13 +1561,13 @@ execute_in_subshell (command, asynchronous, pipe_in, pipe_out, fds_to_close)
setup_async_signals ();
asynchronous = 0;
}
+ else
+ set_sigint_handler ();
#if defined (JOB_CONTROL)
set_sigchld_handler ();
#endif /* JOB_CONTROL */
- set_sigint_handler ();
-
/* Delete all traces that there were any jobs running. This is
only for subshells. */
without_job_control ();
@@ -1672,6 +1677,7 @@ execute_in_subshell (command, asynchronous, pipe_in, pipe_out, fds_to_close)
return_code = (return_code == EXECUTION_SUCCESS) ? EXECUTION_FAILURE
: EXECUTION_SUCCESS;
+
/* If we were explicitly placed in a subshell with (), we need
to do the `shell cleanup' things, such as running traps[0]. */
if (user_subshell && signal_is_trapped (0))
@@ -2432,7 +2438,7 @@ static void
lastpipe_cleanup (s)
int s;
{
- unfreeze_jobs_list ();
+ set_jobs_list_frozen (s);
}
static int
@@ -2442,7 +2448,7 @@ 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;
+ int lstdin, lastpipe_flag, lastpipe_jid, old_frozen;
COMMAND *cmd;
struct fd_bitmap *fd_bitmap;
pid_t lastpid;
@@ -2557,9 +2563,9 @@ execute_pipeline (command, asynchronous, pipe_in, pipe_out, fds_to_close)
prev = NO_PIPE;
add_unwind_protect (restore_stdin, lstdin);
lastpipe_flag = 1;
- freeze_jobs_list ();
+ old_frozen = freeze_jobs_list ();
lastpipe_jid = stop_pipeline (0, (COMMAND *)NULL); /* XXX */
- add_unwind_protect (lastpipe_cleanup, lastpipe_jid);
+ add_unwind_protect (lastpipe_cleanup, old_frozen);
}
if (cmd)
cmd->flags |= CMD_LASTPIPE;
@@ -2605,9 +2611,9 @@ execute_pipeline (command, asynchronous, pipe_in, pipe_out, fds_to_close)
else if (pipefail_opt)
exec_result = exec_result | lstdin; /* XXX */
/* otherwise we use exec_result */
-
#endif
- unfreeze_jobs_list ();
+
+ set_jobs_list_frozen (old_frozen);
}
discard_unwind_frame ("lastpipe-exec");
@@ -4062,9 +4068,13 @@ fix_assignment_words (words)
/* If we have an assignment builtin that does not create local variables,
make sure we create global variables even if we internally call
`declare'. The CHKLOCAL flag means to set attributes or values on
- an existing local variable */
+ an existing local variable, if there is one. */
if (b && ((b->flags & (ASSIGNMENT_BUILTIN|LOCALVAR_BUILTIN)) == ASSIGNMENT_BUILTIN))
w->word->flags |= W_ASSNGLOBAL|W_CHKLOCAL;
+#if 0
+ else if (b && (b->flags & ASSIGNMENT_BUILTIN) && (b->flags & LOCALVAR_BUILTIN))
+ w->word->flags |= W_CHKLOCAL;
+#endif
}
#if defined (ARRAY_VARS)
/* Note that we saw an associative array option to a builtin that takes
diff --git a/externs.h b/externs.h
index 9faf3059..b00e56e0 100644
--- a/externs.h
+++ b/externs.h
@@ -109,6 +109,7 @@ extern int return_EOF __P((void));
extern void push_token __P((int));
extern char *xparse_dolparen __P((char *, char *, int *, int));
extern void reset_parser __P((void));
+extern void reset_readahead_token __P((void));
extern WORD_LIST *parse_string_to_word_list __P((char *, int, const char *));
extern int parser_in_command_position __P((void));
@@ -485,6 +486,14 @@ extern unsigned int fsleep __P((unsigned int, unsigned int));
extern int u32cconv __P((unsigned long, char *));
extern void u32reset __P((void));
+/* declarations for functions defined in lib/sh/utf8.c */
+extern char *utf8_mbschr __P((const char *, int));
+extern int utf8_mbscmp __P((const char *, const char *));
+extern char *utf8_mbsmbchar __P((const char *));
+extern int utf8_mbsnlen __P((const char *, size_t, int));
+extern int utf8_mblen __P((const char *, size_t));
+extern size_t utf8_mbstrlen __P((const char *));
+
/* declarations for functions defined in lib/sh/wcsnwidth.c */
#if defined (HANDLE_MULTIBYTE)
extern int wcsnwidth __P((const wchar_t *, size_t, int));
diff --git a/general.h b/general.h
index 14cbe833..d89eec8e 100644
--- a/general.h
+++ b/general.h
@@ -110,6 +110,13 @@ extern char *strcpy __P((char *, const char *));
((TYPE_WIDTH (t) - TYPE_SIGNED (t)) * 302 / 1000 \
+ 1 + TYPE_SIGNED (t))
+/* Updated version adapted from gnulib/intprops.h, not used right now.
+ Changes the approximation of log10(2) from 302/1000 to 146/485. */
+#if 0
+#define INT_STRLEN_BOUND(t) \
+ (INT_BITS_STRLEN_BOUND (TYPE_WIDTH (t) - TYPE_SIGNED (t)) + TYPE_SIGNED(t))
+#endif
+
/* Bound on buffer size needed to represent an integer type or expression T,
including the terminating null. */
#define INT_BUFSIZE_BOUND(t) (INT_STRLEN_BOUND (t) + 1)
diff --git a/include/shmbutil.h b/include/shmbutil.h
index 264cae33..36902f16 100644
--- a/include/shmbutil.h
+++ b/include/shmbutil.h
@@ -50,6 +50,10 @@ extern int locale_utf8locale; /* XXX */
#define MBLEN(s, n) ((MB_CUR_MAX > 1) ? mblen ((s), (n)) : 1)
#define MBRLEN(s, n, p) ((MB_CUR_MAX > 1) ? mbrlen ((s), (n), (p)) : 1)
+#define UTF8_SINGLEBYTE(c) (((c) & 0x80) == 0)
+#define UTF8_MBFIRSTCHAR(c) (((c) & 0xc0) == 0xc0)
+#define UTF8_MBCHAR(c) (((c) & 0xc0) == 0x80)
+
#else /* !HANDLE_MULTIBYTE */
#undef MB_LEN_MAX
@@ -75,6 +79,9 @@ extern int locale_utf8locale; /* XXX */
# define wchar_t int
#endif
+#define UTF8_SINGLEBYTE(c) (1)
+#define UTF8_MBFIRSTCHAR(c) (0)
+
#endif /* !HANDLE_MULTIBYTE */
/* Declare and initialize a multibyte state. Call must be terminated
@@ -111,7 +118,7 @@ extern int locale_utf8locale; /* XXX */
if (_f) \
mblength = 1; \
else if (locale_utf8locale && (((_str)[_i] & 0x80) == 0)) \
- mblength = 1; \
+ mblength = (_str)[_i] != 0; \
else \
{ \
state_bak = state; \
@@ -152,6 +159,8 @@ extern int locale_utf8locale; /* XXX */
_f = is_basic (*(_str)); \
if (_f) \
mblength = 1; \
+ else if (locale_utf8locale && ((*(_str) & 0x80) == 0)) \
+ mblength = *(_str) != 0; \
else \
{ \
state_bak = state; \
@@ -271,7 +280,7 @@ extern int locale_utf8locale; /* XXX */
if (_k) \
mblength = 1; \
else if (locale_utf8locale && ((*(_src) & 0x80) == 0)) \
- mblength = 1; \
+ mblength = *(_src) != 0; \
else \
{ \
state_bak = state; \
@@ -445,6 +454,8 @@ extern int locale_utf8locale; /* XXX */
i = is_basic (*((_src) + (_si))); \
if (i) \
mblength = 1; \
+ else if (locale_utf8locale && (((_src)[_si] & 0x80) == 0)) \
+ mblength = (_src)[_si] != 0; \
else \
{ \
state_bak = state; \
@@ -483,6 +494,8 @@ extern int locale_utf8locale; /* XXX */
i = is_basic (*((_src) + (_si))); \
if (i) \
mblength = 1; \
+ else if (locale_utf8locale && (((_src)[_si] & 0x80) == 0)) \
+ mblength = (_src)[_si] != 0; \
else \
{ \
state_bak = state; \
diff --git a/jobs.c b/jobs.c
index 45ee572d..f517a248 100644
--- a/jobs.c
+++ b/jobs.c
@@ -863,7 +863,7 @@ pshash_delindex (psi)
*bucket = ps->bucket_next; /* deleting chain head in hash table */
}
- /* clear out this cell, just in case */
+ /* clear out this cell, in case it gets reused. */
ps->pid = NO_PID;
ps->bucket_next = ps->bucket_prev = NO_PIDSTAT;
}
@@ -4771,6 +4771,13 @@ unfreeze_jobs_list ()
jobs_list_frozen = 0;
}
+void
+set_jobs_list_frozen (s)
+ int s;
+{
+ jobs_list_frozen = s;
+}
+
/* Allow or disallow job control to take place. Returns the old value
of job_control. */
int
diff --git a/jobs.h b/jobs.h
index 4eca6260..6ebaf4de 100644
--- a/jobs.h
+++ b/jobs.h
@@ -259,7 +259,8 @@ extern int give_terminal_to __P((pid_t, int));
extern void run_sigchld_trap __P((int));
extern int freeze_jobs_list __P((void));
-extern void unfreeze_jobs_list __P((void));
+extern void unfreeeze_jobs_list __P((void));
+extern void set_jobs_list_frozen __P((int));
extern int set_job_control __P((int));
extern void without_job_control __P((void));
extern void end_job_control __P((void));
diff --git a/lib/malloc/malloc.c b/lib/malloc/malloc.c
index 88d777e5..5621adf4 100644
--- a/lib/malloc/malloc.c
+++ b/lib/malloc/malloc.c
@@ -84,6 +84,10 @@
#include <errno.h>
#include <stdio.h>
+#if defined (HAVE_MMAP)
+#include <sys/mman.h>
+#endif
+
/* Define getpagesize () if the system does not. */
#ifndef HAVE_GETPAGESIZE
# include "getpagesize.h"
@@ -111,6 +115,7 @@
# define NO_VALLOC
#endif
+/* SIZEOF_LONG * 4 - 2, usable bins from 1..NBUCKETS-1 */
#define NBUCKETS 30
#define ISALLOC ((char) 0xf7) /* magic byte that implies allocation */
@@ -197,6 +202,23 @@ typedef union _malloc_guard {
#define STARTBUCK 1
+/* Should we use mmap for large allocations? */
+#if defined (HAVE_MMAP)
+# if !defined (MAP_ANON) && defined (MAP_ANONYMOUS)
+# define MAP_ANON MAP_ANONYMOUS
+# endif
+#endif
+
+#if defined (HAVE_MMAP) && defined (MAP_ANON)
+# define USE_MMAP
+#endif
+
+#if defined (USE_MMAP)
+# define MMAP_THRESHOLD 14 /* must be >= SPLIT_MAX, COMBINE_MAX */
+#else
+# define MMAP_THRESHOLD (8 * SIZEOF_LONG)
+#endif
+
/* Flags for the internal functions. */
#define MALLOC_WRAPPER 0x01 /* wrapper function */
#define MALLOC_INTERNAL 0x02 /* internal function calling another */
@@ -288,6 +310,9 @@ int malloc_flags = 0; /* future use */
int malloc_trace = 0; /* trace allocations and frees to stderr */
int malloc_register = 0; /* future use */
+/* Use a variable in case we want to dynamically adapt it in the future */
+int malloc_mmap_threshold = MMAP_THRESHOLD;
+
#ifdef MALLOC_TRACE
char _malloc_trace_buckets[NBUCKETS];
@@ -594,7 +619,7 @@ morecore (nu)
/* Try to split a larger block here, if we're within the range of sizes
to split. */
- if (nu >= SPLIT_MIN)
+ if (nu >= SPLIT_MIN && nu <= malloc_mmap_threshold)
{
bsplit (nu);
if (nextf[nu] != 0)
@@ -603,7 +628,7 @@ morecore (nu)
/* Try to coalesce two adjacent blocks from the free list on nextf[nu - 1],
if we can, and we're within the range of the block coalescing limits. */
- if (nu >= COMBINE_MIN && nu < COMBINE_MAX && busy[nu - 1] == 0 && nextf[nu - 1])
+ if (nu >= COMBINE_MIN && nu < COMBINE_MAX && nu <= malloc_mmap_threshold && busy[nu - 1] == 0 && nextf[nu - 1])
{
bcoalesce (nu);
if (nextf[nu] != 0)
@@ -632,6 +657,25 @@ morecore (nu)
nblks = 1;
}
+#if defined (USE_MMAP)
+ if (nu > malloc_mmap_threshold)
+ {
+ mp = (union mhead *)mmap (0, sbrk_amt, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
+ if ((void *)mp == MAP_FAILED)
+ goto morecore_done;
+ nextf[nu] = mp;
+ mp->mh_alloc = ISFREE;
+ mp->mh_index = nu;
+ CHAIN (mp) = 0;
+#ifdef MALLOC_STATS
+ _mstats.nmmap++;
+ _mstats.tmmap += sbrk_amt;
+#endif
+ goto morecore_done;
+ }
+#endif
+
+
#ifdef MALLOC_STATS
_mstats.nsbrk++;
_mstats.tsbrk += sbrk_amt;
@@ -915,6 +959,17 @@ internal_free (mem, file, line, flags)
if (mg.i != p->mh_nbytes)
xbotch (mem, ERR_ASSERT_FAILED, _("free: start and end chunk sizes differ"), file, line);
+#if defined (USE_MMAP)
+ if (nunits > malloc_mmap_threshold)
+ {
+ munmap (p, binsize (nunits));
+#if defined (MALLOC_STATS)
+ _mstats.nlesscore[nunits]++;
+#endif
+ goto free_return;
+ }
+#endif
+
#if GLIBC21
if (nunits >= LESSCORE_MIN && ((char *)p + binsize(nunits) == sbrk (0)))
#else
@@ -1053,12 +1108,9 @@ internal_realloc (mem, n, file, line, flags)
/* If ok, use the same block, just marking its size as changed. */
if (RIGHT_BUCKET(nbytes, nunits) || RIGHT_BUCKET(nbytes, nunits-1))
{
-#if 0
- m = (char *)mem + p->mh_nbytes;
-#else
/* Compensate for increment above. */
m -= 4;
-#endif
+
*m++ = 0; *m++ = 0; *m++ = 0; *m++ = 0;
m = (char *)mem + (p->mh_nbytes = n);
@@ -1076,6 +1128,8 @@ internal_realloc (mem, n, file, line, flags)
_mstats.nrcopy++;
#endif
+ /* If we are using mmap and have mremap, we could use it here. */
+
if ((m = internal_malloc (n, file, line, MALLOC_INTERNAL|MALLOC_NOTRACE|MALLOC_NOREG)) == 0)
return 0;
FASTCOPY (mem, m, tocopy);
@@ -1120,11 +1174,7 @@ internal_memalign (alignment, size, file, line, flags)
if (((long) ptr & (alignment - 1)) == 0)
return ptr;
/* Otherwise, get address of byte in the block that has that alignment. */
-#if 0
- aligned = (char *) (((long) ptr + alignment - 1) & -alignment);
-#else
aligned = (char *) (((long) ptr + alignment - 1) & (~alignment + 1));
-#endif
/* Store a suitable indication of how to free the block,
so that free can find the true beginning of it. */
diff --git a/lib/malloc/mstats.h b/lib/malloc/mstats.h
index 11389ffc..dac02980 100644
--- a/lib/malloc/mstats.h
+++ b/lib/malloc/mstats.h
@@ -25,6 +25,7 @@
#ifdef MALLOC_STATS
+/* This needs to change if the definition in malloc.c changes */
#ifndef NBUCKETS
# define NBUCKETS 30
#endif
@@ -77,6 +78,8 @@ struct _malstats {
int nsplit[NBUCKETS];
int tbcoalesce;
int ncoalesce[NBUCKETS];
+ int nmmap;
+ bits32_t tmmap;
};
/* Return statistics describing allocation of blocks of size BLOCKSIZE.
@@ -98,6 +101,7 @@ struct bucket_stats {
int nlesscore;
int nsplit;
int ncoalesce;
+ int nmmap; /* currently unused */
};
extern struct bucket_stats malloc_bucket_stats __P((int));
diff --git a/lib/malloc/stats.c b/lib/malloc/stats.c
index ae555a1d..05247970 100644
--- a/lib/malloc/stats.c
+++ b/lib/malloc/stats.c
@@ -36,6 +36,8 @@
extern int malloc_free_blocks __P((int));
+extern int malloc_mmap_threshold;
+
extern struct _malstats _mstats;
extern FILE *_imalloc_fopen __P((char *, char *, char *, char *, size_t));
@@ -103,8 +105,12 @@ _print_malloc_stats (s, fp)
for (i = totused = totfree = 0; i < NBUCKETS; i++)
{
v = malloc_bucket_stats (i);
+ /* Show where the mmap threshold is; sizes greater than this use mmap to
+ allocate and munmap to free (munmap shows up as lesscore). */
+ if (i == malloc_mmap_threshold+1)
+ fprintf (fp, "--------\n");
if (v.nmal > 0)
- fprintf (fp, "%8lu\t%4d\t%6d\t%5d\t%8d\t%d %5d %8d\n", (unsigned long)v.blocksize, v.nfree, v.nused, v.nmal, v.nmorecore, v.nlesscore, v.nsplit, v.ncoalesce);
+ fprintf (fp, "%8lu\t%4d\t%6d\t%5d\t%8d\t%8d %5d %8d\n", (unsigned long)v.blocksize, v.nfree, v.nused, v.nmal, v.nmorecore, v.nlesscore, v.nsplit, v.ncoalesce);
totfree += v.nfree * v.blocksize;
totused += v.nused * v.blocksize;
}
@@ -115,6 +121,8 @@ _print_malloc_stats (s, fp)
_mstats.nmal, _mstats.nfre, _mstats.nrealloc, _mstats.nrcopy);
fprintf (fp, "Total sbrks: %d, total bytes via sbrk: %d\n",
_mstats.nsbrk, _mstats.tsbrk);
+ fprintf (fp, "Total mmaps: %d, total bytes via mmap: %d\n",
+ _mstats.nmmap, _mstats.tmmap);
fprintf (fp, "Total blocks split: %d, total block coalesces: %d\n",
_mstats.tbsplit, _mstats.tbcoalesce);
}
diff --git a/lib/readline/display.c b/lib/readline/display.c
index 75019efc..b2ed1154 100644
--- a/lib/readline/display.c
+++ b/lib/readline/display.c
@@ -2987,7 +2987,8 @@ _rl_update_final (void)
putc (last_line[_rl_screenwidth - 1 + woff], rl_outstream);
}
_rl_vis_botlin = 0;
- rl_crlf ();
+ if (botline_length > 0 || _rl_last_c_pos > 0)
+ rl_crlf ();
fflush (rl_outstream);
rl_display_fixed++;
}
diff --git a/lib/readline/doc/hstech.texi b/lib/readline/doc/hstech.texi
index d28bd485..dbc21c14 100644
--- a/lib/readline/doc/hstech.texi
+++ b/lib/readline/doc/hstech.texi
@@ -403,7 +403,7 @@ to the ``normal'' terminating characters.
Return an array of tokens parsed out of @var{string}, much as the
shell might. The tokens are split on the characters in the
@var{history_word_delimiters} variable,
-and shell quoting conventions are obeyed.
+and shell quoting conventions are obeyed as described below.
@end deftypefun
@deftypefun {char *} history_arg_extract (int first, int last, const char *string)
@@ -476,8 +476,24 @@ carriage return, and @samp{=}.
@end deftypevar
@deftypevar int history_quotes_inhibit_expansion
-If non-zero, double-quoted words are not scanned for the history expansion
-character or the history comment character. The default value is 0.
+If non-zero, the history expansion code implements shell-like quoting:
+single-quoted words are not scanned for the history expansion
+character or the history comment character, and double-quoted words may
+have history expansion performed, since single quotes are not special
+within double quotes.
+The default value is 0.
+@end deftypevar
+
+@deftypevar int history_quoting_state
+An application may set this variable to indicate that the current line
+being expanded is subject to existing quoting. If set to @samp{'}, the
+history expansion function will assume that the line is single-quoted and
+inhibit expansion until it reads an unquoted closing single quote; if set
+to @samp{"}, history expansion will assume the line is double quoted until
+it reads an unquoted closing double quote. If set to zero, the default,
+the history expansion function will assume the line is not quoted and
+treat quote characters within the line as described above.
+This is only effective if @var{history_quotes_inhibit_expansion} is set.
@end deftypevar
@deftypevar {rl_linebuf_func_t *} history_inhibit_expansion_function
diff --git a/lib/readline/doc/hsuser.texi b/lib/readline/doc/hsuser.texi
index d21f65d0..521ccc70 100644
--- a/lib/readline/doc/hsuser.texi
+++ b/lib/readline/doc/hsuser.texi
@@ -262,8 +262,8 @@ fix errors in previous commands quickly.
@ifset BashFeatures
History expansion is performed immediately after a complete line
is read, before the shell breaks it into words, and is performed
-on each line individually without taking quoting on previous lines into
-account.
+on each line individually. Bash attempts to inform the history
+expansion functions about quoting still in effect from previous lines.
@end ifset
History expansion takes place in two parts. The first is to determine
@@ -277,9 +277,19 @@ that Bash does, so that several words
surrounded by quotes are considered one word.
History expansions are introduced by the appearance of the
history expansion character, which is @samp{!} by default.
+
+History expansion implements shell-like quoting conventions:
+a backslash can be used to remove the special handling for the next character;
+single quotes enclose verbatim sequences of characters, and can be used to
+inhibit history expansion;
+and characters enclosed within double quotes may be subject to history
+expansion, since backslash can escape the history expansion character,
+but single quotes may not, since they are not treated specially within
+double quotes.
+
@ifset BashFeatures
-Only @samp{\} and @samp{'} may be used to escape the history expansion
-character, but the history expansion character is
+When using the shell, only @samp{\} and @samp{'} may be used to escape the
+history expansion character, but the history expansion character is
also treated as quoted if it immediately precedes the closing double quote
in a double-quoted string.
@end ifset
diff --git a/lib/readline/doc/rltech.texi b/lib/readline/doc/rltech.texi
index 7d22b2cb..baf036df 100644
--- a/lib/readline/doc/rltech.texi
+++ b/lib/readline/doc/rltech.texi
@@ -846,12 +846,16 @@ Return the function invoked by @var{keyseq} in keymap @var{map}.
If @var{map} is @code{NULL}, the current keymap is used. If @var{type} is
not @code{NULL}, the type of the object is returned in the @code{int} variable
it points to (one of @code{ISFUNC}, @code{ISKMAP}, or @code{ISMACR}).
+It takes a "translated" key sequence and should not be used if the key sequence
+can include NUL.
@end deftypefun
-@deftypefun {rl_command_func_t *} rl_function_of_keyseq_len (const char *keyseq, size_t len Keymap map, int *type)
+@deftypefun {rl_command_func_t *} rl_function_of_keyseq_len (const char *keyseq, size_t len, Keymap map, int *type)
Return the function invoked by @var{keyseq} of length @var{len}
in keymap @var{map}. Equivalent to @code{rl_function_of_keyseq} with the
addition of the @var{len} parameter.
+It takes a "translated" key sequence and should be used if the key sequence
+can include NUL.
@end deftypefun
@deftypefun {char **} rl_invoking_keyseqs (rl_command_func_t *function)
diff --git a/lib/readline/doc/rluser.texi b/lib/readline/doc/rluser.texi
index 1c9acdcc..1acc8cda 100644
--- a/lib/readline/doc/rluser.texi
+++ b/lib/readline/doc/rluser.texi
@@ -475,6 +475,7 @@ The default value is @samp{off}.
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.
+The default value is @samp{off}.
@item completion-prefix-display-length
@vindex completion-prefix-display-length
@@ -802,7 +803,7 @@ Meta-Rubout: backward-kill-word
Control-o: "> output"
@end example
-In the above example, @kbd{C-u} is bound to the function
+In the example above, @kbd{C-u} is bound to the function
@code{universal-argument},
@kbd{M-DEL} is bound to the function @code{backward-kill-word}, and
@kbd{C-o} is bound to run the macro
@@ -1352,7 +1353,7 @@ This function is intended to be bound to the "bracketed paste" escape
sequence sent by some terminals, and such a binding is assigned by default.
It allows Readline to insert the pasted text as a single unit without treating
each character as if it had been read from the keyboard. The characters
-are inserted as if each one was bound to @code{self-insert}) instead of
+are inserted as if each one was bound to @code{self-insert} instead of
executing any editing commands.
@item transpose-chars (C-t)
@@ -2019,10 +2020,10 @@ matches were generated.
@item complete
@btindex complete
@example
-@code{complete [-abcdefgjksuv] [-o @var{comp-option}] [-DE] [-A @var{action}] [-G @var{globpat}] [-W @var{wordlist}]
-[-F @var{function}] [-C @var{command}] [-X @var{filterpat}]
+@code{complete [-abcdefgjksuv] [-o @var{comp-option}] [-DEI] [-A @var{action}] [-G @var{globpat}]
+[-W @var{wordlist}] [-F @var{function}] [-C @var{command}] [-X @var{filterpat}]
[-P @var{prefix}] [-S @var{suffix}] @var{name} [@var{name} @dots{}]}
-@code{complete -pr [-DE] [@var{name} @dots{}]}
+@code{complete -pr [-DEI] [@var{name} @dots{}]}
@end example
Specify how arguments to each @var{name} should be completed.
@@ -2032,16 +2033,24 @@ reused as input.
The @option{-r} option removes a completion specification for
each @var{name}, or, if no @var{name}s are supplied, all
completion specifications.
-The @option{-D} option indicates that the remaining options and actions should
+The @option{-D} option indicates that other supplied 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 @option{-E} option indicates that the remaining options and actions should
+The @option{-E} option indicates that other supplied options and actions should
apply to ``empty'' command completion; that is, completion attempted on a
blank line.
+The @option{-I} option indicates that other supplied options and actions should
+apply to completion on the inital non-assignment word on the line, or after a
+command delimiter such as @samp{;} or @samp{|}, which is usually command
+name completion.
+If multiple options are supplied, the @option{-D} option takes precedence
+over @option{-E}, and both take precedence over @option{-I}.
+If any of @option{-D}, @option{-E}, or @option{-I} are supplied, any other
+@var{name} arguments are ignored; these completions only apply to the case
+specified by the option.
The process of applying these completion specifications when word completion
-is attempted is described above (@pxref{Programmable Completion}). The
-@option{-D} option takes precedence over @option{-E}.
+is attempted is described above (@pxref{Programmable Completion}).
Other options, if specified, have the following meanings.
The arguments to the @option{-G}, @option{-W}, and @option{-X} options
@@ -2071,7 +2080,7 @@ Perform directory name completion if the compspec generates no matches.
@item filenames
Tell Readline that the compspec generates filenames, so it can perform any
-filename-specific processing (like adding a slash to directory names
+filename-specific processing (like adding a slash to directory names,
quoting special characters, or suppressing trailing spaces).
This option is intended to be used with shell functions specified
with @option{-F}.
@@ -2226,7 +2235,7 @@ an error occurs adding a completion specification.
@item compopt
@btindex compopt
@example
-@code{compopt} [-o @var{option}] [-DE] [+o @var{option}] [@var{name}]
+@code{compopt} [-o @var{option}] [-DEI] [+o @var{option}] [@var{name}]
@end example
Modify completion options for each @var{name} according to the
@var{option}s, or for the currently-executing completion if no @var{name}s
@@ -2235,14 +2244,19 @@ If no @var{option}s are given, display the completion options for each
@var{name} or the current completion.
The possible values of @var{option} are those valid for the @code{complete}
builtin described above.
-The @option{-D} option indicates that the remaining options should
+The @option{-D} option indicates that other supplied options should
apply to the ``default'' command completion; that is, completion attempted
on a command for which no completion has previously been defined.
-The @option{-E} option indicates that the remaining options should
+The @option{-E} option indicates that other supplied options should
apply to ``empty'' command completion; that is, completion attempted on a
blank line.
+The @option{-I} option indicates that other supplied options should
+apply to completion on the inital non-assignment word on the line, or after a
+command delimiter such as @samp{;} or @samp{|}, which is usually command
+name completion.
-The @option{-D} option takes precedence over @option{-E}.
+If multiple options are supplied, the @option{-D} option takes precedence
+over @option{-E}, and both take precedence over @option{-I}
The return value is true unless an invalid option is supplied, an attempt
is made to modify the options for a @var{name} for which no completion
@@ -2289,7 +2303,7 @@ _comp_cd()
local cur _skipdot _cdpath
local i j k
- # Tilde expansion, with side effect of expanding tilde to full pathname
+ # Tilde expansion, which also expands tilde to full pathname
case "$2" in
\~*) eval cur="$2" ;;
*) cur=$2 ;;
diff --git a/lib/readline/doc/version.texi b/lib/readline/doc/version.texi
index 9fefcfae..79f41917 100644
--- a/lib/readline/doc/version.texi
+++ b/lib/readline/doc/version.texi
@@ -1,10 +1,10 @@
@ignore
-Copyright (C) 1988-2017 Free Software Foundation, Inc.
+Copyright (C) 1988-2018 Free Software Foundation, Inc.
@end ignore
-@set EDITION 7.0
-@set VERSION 7.0
-@set UPDATED 28 December 2017
-@set UPDATED-MONTH December 2017
+@set EDITION 8.0
+@set VERSION 8.0
+@set UPDATED 6 July 2018
+@set UPDATED-MONTH July 2018
-@set LASTCHANGE Thu Dec 28 14:44:16 EST 2017
+@set LASTCHANGE Fri Jul 6 16:25:22 MDT 2018
diff --git a/lib/readline/histexpand.c b/lib/readline/histexpand.c
index e9c333d7..92b996f9 100644
--- a/lib/readline/histexpand.c
+++ b/lib/readline/histexpand.c
@@ -1,6 +1,6 @@
/* histexpand.c -- history expansion. */
-/* Copyright (C) 1989-2017 Free Software Foundation, Inc.
+/* Copyright (C) 1989-2018 Free Software Foundation, Inc.
This file contains the GNU History Library (History), a set of
routines for managing the text of previously typed lines.
@@ -107,6 +107,8 @@ char *history_word_delimiters = HISTORY_WORD_DELIMITERS;
particular history expansion should be performed. */
rl_linebuf_func_t *history_inhibit_expansion_function;
+int history_quoting_state = 0;
+
/* **************************************************************** */
/* */
/* History Expansion */
@@ -961,7 +963,22 @@ history_expand (char *hstring, char **output)
/* `!' followed by one of the characters in history_no_expand_chars
is NOT an expansion. */
- for (i = dquote = squote = 0; string[i]; i++)
+ dquote = history_quoting_state == '"';
+ squote = history_quoting_state == '\'';
+
+ /* If the calling application tells us we are already reading a
+ single-quoted string, consume the rest of the string right now
+ and then go on. */
+ i = 0;
+ if (squote && history_quotes_inhibit_expansion)
+ {
+ hist_string_extract_single_quoted (string, &i, 0);
+ squote = 0;
+ if (string[i])
+ i++;
+ }
+
+ for ( ; string[i]; i++)
{
#if defined (HANDLE_MULTIBYTE)
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
@@ -1049,7 +1066,29 @@ history_expand (char *hstring, char **output)
}
/* Extract and perform the substitution. */
- for (passc = dquote = squote = i = j = 0; i < l; i++)
+ dquote = history_quoting_state == '"';
+ squote = history_quoting_state == '\'';
+
+ /* If the calling application tells us we are already reading a
+ single-quoted string, consume the rest of the string right now
+ and then go on. */
+ i = j = 0;
+ if (squote && history_quotes_inhibit_expansion)
+ {
+ int c;
+
+ hist_string_extract_single_quoted (string, &i, 0);
+ squote = 0;
+ for (c = 0; c < i; c++)
+ ADD_CHAR (string[c]);
+ if (string[i])
+ {
+ ADD_CHAR (string[i]);
+ i++;
+ }
+ }
+
+ for (passc = 0; i < l; i++)
{
int qc, tchar = string[i];
@@ -1429,11 +1468,11 @@ history_tokenize_word (const char *string, int ind)
}
}
- if (member (string[i], "<>;&|$"))
+ if (member (string[i], "<>;&|"))
{
int peek = string[i + 1];
- if (peek == string[i] && peek != '$')
+ if (peek == string[i])
{
if (peek == '<' && string[i + 2] == '-')
i++;
@@ -1456,9 +1495,8 @@ history_tokenize_word (const char *string, int ind)
i += 2;
return i;
}
- /* XXX - separated out for later -- bash-4.2 */
- else if ((peek == '(' && (string[i] == '>' || string[i] == '<')) || /* ) */
- (peek == '(' && string[i] == '$')) /*)*/
+ /* XXX - process substitution -- separated out for later -- bash-4.2 */
+ else if (peek == '(' && (string[i] == '>' || string[i] == '<')) /*)*/
{
i += 2;
delimopen = '(';
@@ -1466,34 +1504,9 @@ history_tokenize_word (const char *string, int ind)
nestdelim = 1;
goto get_word;
}
-#if 0
- else if (peek == '\'' && string[i] == '$')
- {
- i += 2; /* XXX */
- return i;
- }
-#endif
-
- if (string[i] != '$')
- {
- i++;
- return i;
- }
- }
-
- /* 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;
- }
+ i++;
+ return i;
}
get_word:
@@ -1538,6 +1551,16 @@ get_word:
continue;
}
+ /* Command and process substitution; shell extended globbing patterns */
+ if (nestdelim == 0 && delimiter == 0 && member (string[i], "<>$!@?+*") && string[i+1] == '(') /*)*/
+ {
+ i += 2;
+ delimopen = '(';
+ delimiter = ')';
+ nestdelim = 1;
+ continue;
+ }
+
if (delimiter == 0 && (member (string[i], history_word_delimiters)))
break;
diff --git a/lib/readline/histfile.c b/lib/readline/histfile.c
index 399bcc39..dc64bde1 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-2017 Free Software Foundation, Inc.
+/* Copyright (C) 1989-2018 Free Software Foundation, Inc.
This file contains the GNU History Library (History), a set of
routines for managing the text of previously typed lines.
@@ -396,7 +396,7 @@ read_history_range (const char *filename, int from, int to)
{
if (HIST_TIMESTAMP_START(line_start) == 0)
{
- if (last_ts == NULL && history_multiline_entries)
+ if (last_ts == NULL && history_length > 0 && history_multiline_entries)
_hs_append_history_line (history_length - 1, line_start);
else
add_history (line_start);
diff --git a/lib/readline/history.h b/lib/readline/history.h
index fceb99ca..cc3de29a 100644
--- a/lib/readline/history.h
+++ b/lib/readline/history.h
@@ -261,7 +261,9 @@ extern char *history_word_delimiters;
extern char history_comment_char;
extern char *history_no_expand_chars;
extern char *history_search_delimiter_chars;
+
extern int history_quotes_inhibit_expansion;
+extern int history_quoting_state;
extern int history_write_timestamps;
diff --git a/lib/readline/kill.c b/lib/readline/kill.c
index 983a9848..9fdfc772 100644
--- a/lib/readline/kill.c
+++ b/lib/readline/kill.c
@@ -322,7 +322,7 @@ rl_unix_word_rubout (int count, int key)
rl_point--;
while (rl_point && (whitespace (rl_line_buffer[rl_point - 1]) == 0))
- rl_point--;
+ rl_point--; /* XXX - multibyte? */
}
rl_kill_text (orig_point, rl_point);
@@ -359,7 +359,7 @@ rl_unix_filename_rubout (int count, int key)
while (rl_point && (whitespace (c) == 0) && c != '/')
{
- rl_point--;
+ rl_point--; /* XXX - multibyte? */
c = rl_line_buffer[rl_point - 1];
}
}
@@ -677,7 +677,7 @@ rl_bracketed_paste_begin (int count, int key)
size_t len, cap;
char *buf;
- retval = 1;
+ retval = 0;
len = 0;
buf = xmalloc (cap = 64);
@@ -708,7 +708,7 @@ rl_bracketed_paste_begin (int count, int key)
if (len == cap)
buf = xrealloc (buf, cap + 1);
buf[len] = '\0';
- retval = rl_insert_text (buf);
+ retval = rl_insert_text (buf) == len ? 0 : 1;
}
xfree (buf);
diff --git a/lib/readline/mbutil.c b/lib/readline/mbutil.c
index 65543416..17716357 100644
--- a/lib/readline/mbutil.c
+++ b/lib/readline/mbutil.c
@@ -75,6 +75,57 @@ int _rl_utf8locale = 0;
#if defined(HANDLE_MULTIBYTE)
+/* **************************************************************** */
+/* */
+/* UTF-8 specific Character Utility Functions */
+/* */
+/* **************************************************************** */
+
+/* Return the length in bytes of the possibly-multibyte character beginning
+ at S. Encoding is UTF-8. */
+static int
+_rl_utf8_mblen (const char *s, size_t n)
+{
+ unsigned char c, c1;
+
+ if (s == 0)
+ return (0); /* no shift states */
+ if (n <= 0)
+ return (-1);
+
+ c = (unsigned char)*s;
+ if (c < 0x80)
+ return (c != 0);
+ if (c >= 0xc2)
+ {
+ c1 = (unsigned char)s[1];
+ if (c < 0xe0)
+ {
+ if (n >= 2 && (s[1] ^ 0x80) < 0x40)
+ return 2;
+ }
+ else if (c < 0xf0)
+ {
+ if (n >= 3
+ && (s[1] ^ 0x80) < 0x40 && (s[2] ^ 0x80) < 0x40
+ && (c >= 0xe1 || c1 >= 0xa0)
+ && (c != 0xed || c1 < 0xa0))
+ return 3;
+ }
+ else if (c < 0xf8)
+ {
+ if (n >= 4
+ && (s[1] ^ 0x80) < 0x40 && (s[2] ^ 0x80) < 0x40
+ && (s[3] ^ 0x80) < 0x40
+ && (c >= 0xf1 || c1 >= 0x90)
+ && (c < 0xf4 || (c == 0xf4 && c1 < 0x90)))
+ return 4;
+ }
+ }
+ /* invalid or incomplete multibyte character */
+ return -1;
+}
+
static int
_rl_find_next_mbchar_internal (char *string, int seed, int count, int find_non_zero)
{
@@ -228,11 +279,16 @@ _rl_get_char_len (char *src, mbstate_t *ps)
/* Look at no more than MB_CUR_MAX characters */
l = (size_t)strlen (src);
- mb_cur_max = MB_CUR_MAX;
- tmp = mbrlen((const char *)src, (l < mb_cur_max) ? l : mb_cur_max, ps);
+ if (_rl_utf8locale && l > 0 && UTF8_SINGLEBYTE(*src))
+ tmp = (*src != 0) ? 1 : 0;
+ else
+ {
+ mb_cur_max = MB_CUR_MAX;
+ tmp = mbrlen((const char *)src, (l < mb_cur_max) ? l : mb_cur_max, ps);
+ }
if (tmp == (size_t)(-2))
{
- /* shorted to compose multibyte char */
+ /* too short to compose multibyte char */
if (ps)
memset (ps, 0, sizeof(mbstate_t));
return -2;
diff --git a/lib/readline/readline.c b/lib/readline/readline.c
index 4842a02e..678f989c 100644
--- a/lib/readline/readline.c
+++ b/lib/readline/readline.c
@@ -214,6 +214,9 @@ int _rl_eof_char = CTRL ('D');
/* Non-zero makes this the next keystroke to read. */
int rl_pending_input = 0;
+/* If non-zero when readline_internal returns, it means we found EOF */
+int _rl_eof_found = 0;
+
/* Pointer to a useful terminal name. */
const char *rl_terminal_name = (const char *)NULL;
@@ -222,7 +225,7 @@ int _rl_horizontal_scroll_mode = 0;
/* Non-zero means to display an asterisk at the starts of history lines
which have been modified. */
-int _rl_mark_modified_lines = 0;
+int _rl_mark_modified_lines = 0;
/* The style of `bell' notification preferred. This can be set to NO_BELL,
AUDIBLE_BELL, or VISIBLE_BELL. */
@@ -664,11 +667,9 @@ readline_internal_charloop (void)
static char *
readline_internal (void)
{
- int eof;
-
readline_internal_setup ();
- eof = readline_internal_charloop ();
- return (readline_internal_teardown (eof));
+ _rl_eof_found = readline_internal_charloop ();
+ return (readline_internal_teardown (_rl_eof_found));
}
void
@@ -1055,7 +1056,7 @@ _rl_subseq_result (int r, Keymap map, int key, int got_subseq)
/* We probably shadowed a keymap, so keep going. */
r = _rl_dispatch (ANYOTHERKEY, m);
}
- else if (r && map[ANYOTHERKEY].function)
+ else if (r < 0 && map[ANYOTHERKEY].function)
{
/* We didn't match (r is probably -1), so return something to
tell the caller that it should try ANYOTHERKEY for an
diff --git a/lib/readline/readline.h b/lib/readline/readline.h
index 2081b197..4e08b2e9 100644
--- a/lib/readline/readline.h
+++ b/lib/readline/readline.h
@@ -39,8 +39,8 @@ extern "C" {
#endif
/* Hex-encoded Readline version number. */
-#define RL_READLINE_VERSION 0x0700 /* Readline 7.0 */
-#define RL_VERSION_MAJOR 7
+#define RL_READLINE_VERSION 0x0800 /* Readline 8.0 */
+#define RL_VERSION_MAJOR 8
#define RL_VERSION_MINOR 0
/* Readline data structures. */
diff --git a/lib/readline/rlmbutil.h b/lib/readline/rlmbutil.h
index 8b88de40..6fd03f6a 100644
--- a/lib/readline/rlmbutil.h
+++ b/lib/readline/rlmbutil.h
@@ -173,6 +173,8 @@ _rl_wcwidth (wc)
#endif
#define UTF8_SINGLEBYTE(c) (((c) & 0x80) == 0)
+#define UTF8_MBFIRSTCHAR(c) (((c) & 0xc0) == 0xc0)
+#define UTF8_MBCHAR(c) (((c) & 0xc0) == 0x80)
#else /* !HANDLE_MULTIBYTE */
diff --git a/lib/readline/rlprivate.h b/lib/readline/rlprivate.h
index 05ee9302..69943de5 100644
--- a/lib/readline/rlprivate.h
+++ b/lib/readline/rlprivate.h
@@ -382,6 +382,7 @@ extern void _rl_set_cursor PARAMS((int, int));
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_backward_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));
@@ -511,6 +512,7 @@ extern FILE *_rl_in_stream;
extern FILE *_rl_out_stream;
extern int _rl_last_command_was_kill;
extern int _rl_eof_char;
+extern int _rl_eof_found;
extern procenv_t _rl_top_level;
extern _rl_keyseq_cxt *_rl_kscxt;
extern int _rl_keyseq_timeout;
diff --git a/lib/readline/rltty.c b/lib/readline/rltty.c
index 6d907192..2ee36a7c 100644
--- a/lib/readline/rltty.c
+++ b/lib/readline/rltty.c
@@ -691,7 +691,11 @@ rl_deprep_terminal (void)
tty = rl_instream ? fileno (rl_instream) : fileno (stdin);
if (terminal_prepped & TPX_BRACKPASTE)
- fprintf (rl_outstream, BRACK_PASTE_FINI);
+ {
+ fprintf (rl_outstream, BRACK_PASTE_FINI);
+ if (_rl_eof_found)
+ fprintf (rl_outstream, "\n");
+ }
if (_rl_enable_keypad)
_rl_control_keypad (0);
diff --git a/lib/readline/text.c b/lib/readline/text.c
index 81de2a99..cddaeebd 100644
--- a/lib/readline/text.c
+++ b/lib/readline/text.c
@@ -297,13 +297,40 @@ _rl_forward_char_internal (int count)
#endif
if (rl_end < 0)
- rl_end = 0;
+ rl_end = 0;
#else
point = rl_point + count;
+#endif
+
if (point > rl_end)
point = rl_end;
+ return (point);
+}
+
+int
+_rl_backward_char_internal (int count)
+{
+ int point;
+
+ point = rl_point;
+#if defined (HANDLE_MULTIBYTE)
+ if (count > 0)
+ {
+ while (count > 0 && point > 0)
+ {
+ point = _rl_find_prev_mbchar (rl_line_buffer, point, MB_FIND_NONZERO);
+ count--;
+ }
+ if (count > 0)
+ return 0; /* XXX - rl_ding() here? */
+ }
+#else
+ if (count > 0)
+ point -= count;
#endif
+ if (point < 0)
+ point = 0;
return (point);
}
diff --git a/lib/readline/vi_mode.c b/lib/readline/vi_mode.c
index 3cb7e8c9..d6fa38e9 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-2017 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2018 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.
@@ -63,6 +63,19 @@
#define member(c, s) ((c) ? (char *)strchr ((s), (c)) != (char *)NULL : 0)
#endif
+/* Increment START to the next character in RL_LINE_BUFFER, handling multibyte chars */
+#if defined (HANDLE_MULTIBYTE)
+#define INCREMENT_POS(start) \
+ do { \
+ if (MB_CUR_MAX == 1 || rl_byte_oriented) \
+ start++; \
+ else \
+ start = _rl_find_next_mbchar (rl_line_buffer, start, 1, MB_FIND_ANY); \
+ } while (0)
+#else /* !HANDLE_MULTIBYTE */
+#define INCREMENT_POS(start) (start)++
+#endif /* !HANDLE_MULTIBYTE */
+
/* This is global so other parts of the code can check whether the last
command was a text modification command. */
int _rl_vi_last_command = 'i'; /* default `.' puts you in insert mode */
@@ -118,7 +131,7 @@ static void _rl_vi_save_insert PARAMS((UNDO_LIST *));
static void vi_save_insert_buffer PARAMS ((int, int));
-static void _rl_vi_backup PARAMS((void));
+static inline void _rl_vi_backup PARAMS((void));
static int _rl_vi_arg_dispatch PARAMS((int));
static int rl_digit_loop1 PARAMS((void));
@@ -126,6 +139,9 @@ static int rl_digit_loop1 PARAMS((void));
static int _rl_vi_set_mark PARAMS((void));
static int _rl_vi_goto_mark PARAMS((void));
+static inline int _rl_vi_advance_point PARAMS((void));
+static inline int _rl_vi_backup_point PARAMS((void));
+
static void _rl_vi_append_forward PARAMS((int));
static int _rl_vi_callback_getchar PARAMS((char *, int));
@@ -383,7 +399,7 @@ rl_vi_complete (int ignore, int key)
{
if (!whitespace (rl_line_buffer[rl_point + 1]))
rl_vi_end_word (1, 'E');
- rl_point++;
+ _rl_vi_advance_point ();
}
if (key == '*')
@@ -451,6 +467,69 @@ rl_vi_next_word (int count, int key)
return (0);
}
+static inline int
+_rl_vi_advance_point (void)
+{
+ int point;
+
+ point = rl_point;
+ if (rl_point < rl_end)
+#if defined (HANDLE_MULTIBYTE)
+ {
+ if (MB_CUR_MAX == 1 || rl_byte_oriented)
+ rl_point++;
+ else
+ {
+ point = rl_point;
+ rl_point = _rl_forward_char_internal (1);
+ if (point == rl_point || rl_point > rl_end)
+ rl_point = rl_end;
+ }
+ }
+#else
+ rl_point++;
+#endif
+
+ return point;
+}
+
+/* Move the cursor back one character. */
+static inline void
+_rl_vi_backup (void)
+{
+ 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--;
+}
+
+/* Move the point back one character, returning the starting value and not
+ doing anything at the beginning of the line */
+static inline int
+_rl_vi_backup_point (void)
+{
+ int point;
+
+ point = rl_point;
+ if (rl_point > 0)
+#if defined (HANDLE_MULTIBYTE)
+ {
+ if (MB_CUR_MAX == 1 || rl_byte_oriented)
+ rl_point--;
+ else
+ {
+ point = rl_point;
+ rl_point = _rl_backward_char_internal (1);
+ if (rl_point < 0)
+ rl_point = 0; /* XXX - not really necessary */
+ }
+ }
+#else
+ rl_point--;
+#endif
+ return point;
+}
+
/* Move to the end of the ?next? word. */
int
rl_vi_end_word (int count, int key)
@@ -476,11 +555,11 @@ rl_vi_fWord (int count, int ignore)
{
/* Skip until whitespace. */
while (!whitespace (rl_line_buffer[rl_point]) && rl_point < rl_end)
- rl_point++;
+ _rl_vi_advance_point ();
/* Now skip whitespace. */
while (whitespace (rl_line_buffer[rl_point]) && rl_point < rl_end)
- rl_point++;
+ _rl_vi_advance_point ();
}
return (0);
}
@@ -497,12 +576,18 @@ rl_vi_bWord (int count, int ignore)
rl_point--;
while (rl_point > 0 && whitespace (rl_line_buffer[rl_point]))
- rl_point--;
+ _rl_vi_backup_point ();
if (rl_point > 0)
{
- while (--rl_point >= 0 && !whitespace (rl_line_buffer[rl_point]));
- rl_point++;
+ do
+ _rl_vi_backup_point ();
+ while (rl_point > 0 && !whitespace (rl_line_buffer[rl_point]));
+ if (rl_point > 0) /* hit whitespace */
+ rl_point++;
+
+ if (rl_point < 0)
+ rl_point = 0;
}
}
return (0);
@@ -511,28 +596,32 @@ rl_vi_bWord (int count, int ignore)
int
rl_vi_eWord (int count, int ignore)
{
+ int opoint;
+
while (count-- && rl_point < (rl_end - 1))
{
- if (!whitespace (rl_line_buffer[rl_point]))
- rl_point++;
+ if (whitespace (rl_line_buffer[rl_point]) == 0)
+ _rl_vi_advance_point ();
/* Move to the next non-whitespace character (to the start of the
next word). */
while (rl_point < rl_end && whitespace (rl_line_buffer[rl_point]))
- rl_point++;
+ _rl_vi_advance_point ();
if (rl_point && rl_point < rl_end)
{
+ opoint = rl_point;
+
/* Skip whitespace. */
while (rl_point < rl_end && whitespace (rl_line_buffer[rl_point]))
- rl_point++;
+ opoint = _rl_vi_advance_point (); /* XXX - why? */
/* Skip until whitespace. */
while (rl_point < rl_end && !whitespace (rl_line_buffer[rl_point]))
- rl_point++;
+ opoint = _rl_vi_advance_point ();
/* Move back to the last character of the word. */
- rl_point--;
+ rl_point = opoint;
}
}
return (0);
@@ -541,24 +630,28 @@ rl_vi_eWord (int count, int ignore)
int
rl_vi_fword (int count, int ignore)
{
+ int opoint;
+
while (count-- && rl_point < (rl_end - 1))
{
/* Move to white space (really non-identifer). */
if (_rl_isident (rl_line_buffer[rl_point]))
{
while (_rl_isident (rl_line_buffer[rl_point]) && rl_point < rl_end)
- rl_point++;
+ _rl_vi_advance_point ();
}
else /* if (!whitespace (rl_line_buffer[rl_point])) */
{
while (!_rl_isident (rl_line_buffer[rl_point]) &&
!whitespace (rl_line_buffer[rl_point]) && rl_point < rl_end)
- rl_point++;
+ _rl_vi_advance_point ();
}
+ opoint = rl_point;
+
/* Move past whitespace. */
while (whitespace (rl_line_buffer[rl_point]) && rl_point < rl_end)
- rl_point++;
+ opoint = _rl_vi_advance_point ();
}
return (0);
}
@@ -566,9 +659,11 @@ rl_vi_fword (int count, int ignore)
int
rl_vi_bword (int count, int ignore)
{
+ int opoint;
+
while (count-- && rl_point > 0)
{
- int last_is_ident;
+ int prev_is_ident, cur_is_ident;
/* If we are at the start of a word, move back to whitespace
so we will go back to the start of the previous word. */
@@ -581,22 +676,35 @@ rl_vi_bword (int count, int ignore)
back so we don't get messed up by the rl_point++ down there in
the while loop. Without this code, words like `l;' screw up the
function. */
- last_is_ident = _rl_isident (rl_line_buffer[rl_point - 1]);
- if ((_rl_isident (rl_line_buffer[rl_point]) && !last_is_ident) ||
- (!_rl_isident (rl_line_buffer[rl_point]) && last_is_ident))
- rl_point--;
+ cur_is_ident = _rl_isident (rl_line_buffer[rl_point]);
+ opoint = _rl_vi_backup_point ();
+ prev_is_ident = _rl_isident (rl_line_buffer[rl_point]);
+ if ((cur_is_ident && !prev_is_ident) || (!cur_is_ident && prev_is_ident))
+ ; /* leave point alone, we backed it up one character */
+ else
+ rl_point = opoint;
while (rl_point > 0 && whitespace (rl_line_buffer[rl_point]))
- rl_point--;
+ _rl_vi_backup_point ();
if (rl_point > 0)
{
+ opoint = rl_point;
if (_rl_isident (rl_line_buffer[rl_point]))
- while (--rl_point >= 0 && _rl_isident (rl_line_buffer[rl_point]));
+ do
+ opoint = _rl_vi_backup_point ();
+ while (rl_point > 0 && _rl_isident (rl_line_buffer[rl_point]));
else
- while (--rl_point >= 0 && !_rl_isident (rl_line_buffer[rl_point]) &&
+ do
+ opoint = _rl_vi_backup_point ();
+ while (rl_point > 0 && !_rl_isident (rl_line_buffer[rl_point]) &&
!whitespace (rl_line_buffer[rl_point]));
- rl_point++;
+
+ if (rl_point > 0)
+ rl_point = opoint;
+
+ if (rl_point < 0)
+ rl_point = 0;
}
}
return (0);
@@ -605,23 +713,34 @@ rl_vi_bword (int count, int ignore)
int
rl_vi_eword (int count, int ignore)
{
- while (count-- && rl_point < rl_end - 1)
+ int opoint;
+
+ while (count-- && rl_point < (rl_end - 1))
{
- if (!whitespace (rl_line_buffer[rl_point]))
- rl_point++;
+ if (whitespace (rl_line_buffer[rl_point]) == 0)
+ _rl_vi_advance_point ();
while (rl_point < rl_end && whitespace (rl_line_buffer[rl_point]))
- rl_point++;
+ _rl_vi_advance_point ();
+ opoint = rl_point;
if (rl_point < rl_end)
{
if (_rl_isident (rl_line_buffer[rl_point]))
- while (++rl_point < rl_end && _rl_isident (rl_line_buffer[rl_point]));
+ do
+ {
+ opoint = _rl_vi_advance_point ();
+ }
+ while (rl_point < rl_end && _rl_isident (rl_line_buffer[rl_point]));
else
- while (++rl_point < rl_end && !_rl_isident (rl_line_buffer[rl_point])
+ do
+ {
+ opoint = _rl_vi_advance_point ();
+ }
+ while (rl_point < rl_end && !_rl_isident (rl_line_buffer[rl_point])
&& !whitespace (rl_line_buffer[rl_point]));
}
- rl_point--;
+ rl_point = opoint;
}
return (0);
}
@@ -637,20 +756,7 @@ rl_vi_insert_beg (int count, int key)
static void
_rl_vi_append_forward (int key)
{
- int point;
-
- if (rl_point < rl_end)
- {
- if (MB_CUR_MAX == 1 || rl_byte_oriented)
- rl_point++;
- else
- {
- point = rl_point;
- rl_point = _rl_forward_char_internal (1);
- if (point == rl_point)
- rl_point = rl_end;
- }
- }
+ _rl_vi_advance_point ();
}
int
@@ -859,7 +965,7 @@ _rl_vi_change_mbchar_case (int count)
rl_begin_undo_group ();
rl_vi_delete (1, 0);
if (rl_point < p) /* Did we retreat at EOL? */
- rl_point++; /* XXX - should we advance more than 1 for mbchar? */
+ _rl_vi_advance_point ();
rl_insert_text (mb);
rl_end_undo_group ();
rl_vi_check ();
@@ -931,27 +1037,12 @@ rl_vi_put (int count, int key)
return (0);
}
-/* Move the cursor back one character. */
-static void
-_rl_vi_backup (void)
-{
- 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--;
-}
-
/* Move the cursor back one character if you're at the end of the line */
int
rl_vi_check (void)
{
if (rl_point && rl_point == rl_end)
- {
- if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
- rl_point = _rl_find_prev_mbchar (rl_line_buffer, rl_point, MB_FIND_NONZERO);
- else
- rl_point--;
- }
+ _rl_vi_backup ();
return (0);
}
@@ -962,7 +1053,10 @@ rl_vi_column (int count, int key)
if (count > rl_end)
rl_end_of_line (1, key);
else
- rl_point = count - 1;
+ {
+ rl_point = 0;
+ rl_point = _rl_forward_char_internal (count - 1);
+ }
return (0);
}
@@ -1113,7 +1207,7 @@ _rl_vi_domove_motion_cleanup (int c, _rl_vimotion_cxt *m)
non-whitespace character, move back one (presumably to whitespace). */
if ((_rl_to_upper (c) == 'W') && rl_point < rl_end && rl_point > rl_mark &&
!whitespace (rl_line_buffer[rl_point]))
- rl_point--;
+ rl_point--; /* XXX */
/* 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. */
@@ -1126,14 +1220,14 @@ _rl_vi_domove_motion_cleanup (int c, _rl_vimotion_cxt *m)
/* 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_vi_advance_point ();
else
{
/* Move past the end of the word so that the kill doesn't
remove the last letter of the previous word. Only do this
if we are not at the end of the line. */
if (rl_point >= 0 && rl_point < (rl_end - 1) && !whitespace (rl_line_buffer[rl_point]))
- rl_point++;
+ _rl_vi_advance_point ();
}
}
@@ -1271,7 +1365,7 @@ vi_delete_dispatch (_rl_vimotion_cxt *m)
mark. */
if (((strchr (" l|h^0bBFT`", m->motion) == 0) && (rl_point >= m->start)) &&
(rl_mark < rl_end))
- rl_mark++;
+ INCREMENT_POS (rl_mark);
rl_kill_text (rl_point, rl_mark);
return (0);
@@ -1334,7 +1428,7 @@ vi_change_dispatch (_rl_vimotion_cxt *m)
and already leave the mark at the correct location. */
if (((strchr (" l|hwW^0bBFT`", m->motion) == 0) && (rl_point >= m->start)) &&
(rl_mark < rl_end))
- rl_mark++;
+ INCREMENT_POS (rl_mark);
/* The cursor never moves with c[wW]. */
if ((_rl_to_upper (m->motion) == 'W') && rl_point < m->start)
@@ -1421,7 +1515,7 @@ vi_yank_dispatch (_rl_vimotion_cxt *m)
mark. */
if (((strchr (" l|h^0%bBFT`", m->motion) == 0) && (rl_point >= m->start)) &&
(rl_mark < rl_end))
- rl_mark++;
+ INCREMENT_POS (rl_mark);
rl_begin_undo_group ();
rl_kill_text (rl_point, rl_mark);
@@ -1611,8 +1705,8 @@ rl_vi_unix_word_rubout (int count, int key)
while (rl_point && vi_unix_word_boundary (rl_line_buffer[rl_point - 1]))
rl_point--;
else if (rl_point > 0 && vi_unix_word_boundary (rl_line_buffer[rl_point]) == 0)
- while (rl_point && (vi_unix_word_boundary (rl_line_buffer[rl_point - 1]) == 0))
- rl_point--;
+ while (rl_point > 0 && (vi_unix_word_boundary (rl_line_buffer[rl_point - 1]) == 0))
+ _rl_vi_backup_point ();
}
rl_kill_text (orig_point, rl_point);
@@ -2100,7 +2194,7 @@ rl_vi_possible_completions (void)
{
while (rl_point < rl_end && rl_line_buffer[rl_point] != ' ' &&
rl_line_buffer[rl_point] != ';')
- rl_point++;
+ _rl_vi_advance_point ();
}
else if (rl_line_buffer[rl_point - 1] == ';')
{
diff --git a/lib/sh/Makefile.in b/lib/sh/Makefile.in
index b1a086d6..06917ba4 100644
--- a/lib/sh/Makefile.in
+++ b/lib/sh/Makefile.in
@@ -92,7 +92,8 @@ CSOURCES = clktck.c clock.c getcwd.c getenv.c oslib.c setlinebuf.c \
mktime.c strftime.c mbschr.c zcatfd.c zmapfd.c winsize.c eaccess.c \
wcsdup.c fpurge.c zgetline.c mbscmp.c uconvert.c ufuncs.c \
casemod.c dprintf.c input_avail.c mbscasecmp.c fnxform.c \
- strchrnul.c unicode.c wcswidth.c wcsnwidth.c shmbchar.c strdup.c
+ strchrnul.c unicode.c wcswidth.c wcsnwidth.c shmbchar.c strdup.c \
+ utf8.c
# The header files for this library.
HSOURCES =
@@ -107,7 +108,7 @@ OBJECTS = clktck.o clock.o getenv.o oslib.o setlinebuf.o strnlen.o \
fmtullong.o fmtumax.o zcatfd.o zmapfd.o winsize.o wcsdup.o \
fpurge.o zgetline.o mbscmp.o uconvert.o ufuncs.o casemod.o \
input_avail.o mbscasecmp.o fnxform.o unicode.o shmbchar.o \
- wcsnwidth.o ${LIBOBJS}
+ utf8.o wcsnwidth.o ${LIBOBJS}
SUPPORT = Makefile
@@ -200,6 +201,7 @@ tmpfile.o: tmpfile.c
uconvert.o: uconvert.c
ufuncs.o: ufuncs.c
unicode.o: unicode.c
+utf8.o: utf8.c
vprint.o: vprint.c
wcsdup.o: wcsdup.c
wcsnwidth.o: wcsnwidth.c
@@ -277,6 +279,7 @@ tmpfile.o: ${BUILD_DIR}/config.h
uconvert.o: ${BUILD_DIR}/config.h
ufuncs.o: ${BUILD_DIR}/config.h
unicode.o: ${BUILD_DIR}/config.h
+utf8.o: ${BUILD_DIR}/config.h
vprint.o: ${BUILD_DIR}/config.h
wcsdup.o: ${BUILD_DIR}/config.h
wcsnwidth.o: ${BUILD_DIR}/config.h
@@ -612,6 +615,10 @@ unicode.o: ${topdir}/bashansi.h ${BASHINCDIR}/ansi_stdlib.h
unicode.o: ${BASHINCDIR}/stdc.h
unicode.o: ${topdir}/xmalloc.h
+utf8.o: ${topdir}/bashansi.h
+utf8.o: ${BASHINCDIR}/ansi_stdlib.h
+utf8.o: ${BASHINCDIR}/shmbutil.h ${BASHINCDIR}/shmbchar.h
+
winsize.o: ${BASHINCDIR}/stdc.h
winsize.o: ${topdir}/xmalloc.h
winsize.o: ${topdir}/bashtypes.h
diff --git a/lib/sh/getenv.c b/lib/sh/getenv.c
index 8b5e3406..1e682aef 100644
--- a/lib/sh/getenv.c
+++ b/lib/sh/getenv.c
@@ -69,7 +69,7 @@ getenv (name)
if (var && exported_p (var))
return (value_cell (var));
}
- else
+ else if (environ)
{
register int i, len;
diff --git a/lib/sh/mbschr.c b/lib/sh/mbschr.c
index fdce6d5a..639962d4 100644
--- a/lib/sh/mbschr.c
+++ b/lib/sh/mbschr.c
@@ -32,13 +32,7 @@ extern int locale_utf8locale;
#undef mbschr
-static inline char *
-utf8_mbschr (s, c)
- const char *s;
- int c;
-{
- return strchr (s, c); /* for now */
-}
+extern char *utf8_mbschr (const char *, int); /* XXX */
/* In some locales, the non-first byte of some multibyte characters have
the same value as some ascii character. Faced with these strings, a
diff --git a/lib/sh/mbscmp.c b/lib/sh/mbscmp.c
index aaf81f5e..c7c84435 100644
--- a/lib/sh/mbscmp.c
+++ b/lib/sh/mbscmp.c
@@ -1,6 +1,6 @@
/* mbscmp - multibyte string comparison. */
-/* Copyright (C) 1995-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2018 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -26,6 +26,10 @@
#include <stddef.h>
#include <string.h>
+extern int locale_utf8locale;
+
+extern int utf8_mbscmp (const char *, const char *);
+
/* Compare MBS1 and MBS2. */
int
mbscmp (mbs1, mbs2)
diff --git a/lib/sh/shmbchar.c b/lib/sh/shmbchar.c
index 80858ebf..f2f2582b 100644
--- a/lib/sh/shmbchar.c
+++ b/lib/sh/shmbchar.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2006, 2009, 2010, 2012, 2015 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2006, 2009, 2010, 2012, 2015-2018 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
@@ -45,102 +45,9 @@ const unsigned int is_basic_table [UCHAR_MAX / 32 + 1] =
extern int locale_utf8locale;
-/* We can optimize this if we know the locale is UTF-8, but needs to handle
- malformed byte sequences. */
-static inline size_t
-utf8_mbstrlen(s)
- const char *s;
-{
- size_t num = 0;
- register unsigned char c;
-
- while ((c = *s++))
- /* bytes 0xc0 through 0xff are first byte of multi-byte sequence */
- if ((c & 0xc0) != 0x80) /* skip continuation bytes */
- ++num;
- return (num);
-}
-
-/* Adapted from GNU libutf8 */
-static inline int
-utf8_mblen (s, n)
- const char *s;
- int n;
-{
- unsigned char c;
-
- if (s == 0)
- return 0;
- else if (n == 0)
- return -1;
-
- c = (unsigned char) *s;
- if (c < 0x80)
- return (c != 0);
- else if (c < 0xc0)
- goto return_error;
- else
- {
- const char *start = s;
- size_t count;
- int check_unsafe;
+extern char *utf8_mbsmbchar (const char *);
+extern int utf8_mblen (const char *, size_t);
- if (c < 0xe0)
- {
- count = 1;
- if (c < 0xc2)
- goto return_error;
- check_unsafe = 0;
- }
- else if (c < 0xf0)
- {
- count = 2;
- check_unsafe = (c == 0xe0);
- }
-#if SIZEOF_WCHAR_T == 4
- else if (c < 0xf8)
- {
- count = 3;
- check_unsafe = (c == 0xe0);
- }
- else if (c < 0xfc)
- {
- count = 4;
- check_unsafe = (c == 0xf8);
- }
- else if (c < 0xfe)
- {
- count = 5;
- check_unsafe = (c == 0xfc);
- }
-#endif
- else
- goto return_error;
- if (n <= count)
- return -1;
- s++;
- c = (unsigned char) *s++ ^ 0x80;
- if (c >= 0x40)
- goto return_error;
- if (--count > 0)
- {
- if (check_unsafe && ((c >> (6 - count)) == 0))
- goto return_error;
- do
- {
- c = (unsigned char) *s++ ^ 0x80;
- if (c >= 0x40)
- goto return_error;
- }
- while (--count > 0);
- }
- return s - start;
- }
-return_error:
- errno = EILSEQ;
- return -1;
-}
-
/* Count the number of characters in S, counting multi-byte characters as a
single character. */
size_t
@@ -170,18 +77,6 @@ mbstrlen (s)
return nc;
}
-static inline char *
-utf8_mbsmbchar (str)
- const char *str;
-{
- register char *s;
-
- for (s = (char *)str; *s; s++)
- if ((*s & 0xc0) == 0x80)
- return s;
- return (0);
-}
-
/* Return pointer to first multibyte char in S, or NULL if none. */
/* XXX - if we know that the locale is UTF-8, we can just check whether or
not any byte has the eighth bit turned on */
@@ -219,22 +114,6 @@ mbsmbchar (s)
return 0;
}
-static inline int
-utf_mbsnlen(src, srclen, maxlen)
- const char *src;
- size_t srclen;
- int maxlen;
-{
- register int sind, count;
-
- for (sind = count = 0; src[sind] && sind <= maxlen; sind++)
- {
- if ((src[sind] & 0xc0) != 0x80)
- count++;
- }
- return (count);
-}
-
int
sh_mbsnlen(src, srclen, maxlen)
const char *src;
diff --git a/lib/sh/snprintf.c b/lib/sh/snprintf.c
index 87ca2173..6e5892ee 100644
--- a/lib/sh/snprintf.c
+++ b/lib/sh/snprintf.c
@@ -142,9 +142,11 @@ extern char *fmtullong __P((unsigned long long int, int, char *, size_t, int));
302 / 1000 is log10 (2) rounded up;
add one for integer division truncation;
add one more for a minus sign if t is signed. */
+#ifndef INT_STRLEN_BOUND
#define INT_STRLEN_BOUND(t) \
((sizeof (t) * CHAR_BIT - TYPE_SIGNED (t)) * 302 / 1000 \
+ 1 + TYPE_SIGNED (t))
+#endif
/* conversion flags */
#define PF_ALTFORM 0x00001 /* # */
diff --git a/lib/sh/utf8.c b/lib/sh/utf8.c
new file mode 100644
index 00000000..d27fcf54
--- /dev/null
+++ b/lib/sh/utf8.c
@@ -0,0 +1,147 @@
+/* utf8.c - UTF-8 character handling functions */
+
+/* Copyright (C) 2018 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>
+
+#ifdef HAVE_STDLIB_H
+# include <stdlib.h>
+#endif
+
+#include "bashansi.h"
+#include "shmbutil.h"
+
+extern int locale_mb_cur_max;
+extern int locale_utf8locale;
+
+#if defined (HANDLE_MULTIBYTE)
+
+char *
+utf8_mbschr (s, c)
+ const char *s;
+ int c;
+{
+ return strchr (s, c); /* for now */
+}
+
+int
+utf8_mbscmp (s1, s2)
+ const char *s1, *s2;
+{
+ /* Use the fact that the UTF-8 encoding preserves lexicographic order. */
+ return strcmp (s1, s2);
+}
+
+char *
+utf8_mbsmbchar (str)
+ const char *str;
+{
+ register char *s;
+
+ for (s = (char *)str; *s; s++)
+ if ((*s & 0xc0) == 0x80)
+ return s;
+ return (0);
+}
+
+int
+utf8_mbsnlen(src, srclen, maxlen)
+ const char *src;
+ size_t srclen;
+ int maxlen;
+{
+ register int sind, count;
+
+ for (sind = count = 0; src[sind] && sind <= maxlen; sind++)
+ {
+ if ((src[sind] & 0xc0) != 0x80)
+ count++;
+ }
+ return (count);
+}
+
+/* Adapted from GNU gnulib */
+int
+utf8_mblen (s, n)
+ const char *s;
+ size_t n;
+{
+ unsigned char c, c1;
+
+ if (s == 0)
+ return (0); /* no shift states */
+ if (n <= 0)
+ return (-1);
+
+ c = (unsigned char)*s;
+ if (c < 0x80)
+ return (c != 0);
+ if (c >= 0xc2)
+ {
+ c1 = (unsigned char)s[1];
+ if (c < 0xe0)
+ {
+ if (n >= 2 && (s[1] ^ 0x80) < 0x40)
+ return 2;
+ }
+ else if (c < 0xf0)
+ {
+ if (n >= 3
+ && (s[1] ^ 0x80) < 0x40 && (s[2] ^ 0x80) < 0x40
+ && (c >= 0xe1 || c1 >= 0xa0)
+ && (c != 0xed || c1 < 0xa0))
+ return 3;
+ }
+ else if (c < 0xf8)
+ {
+ if (n >= 4
+ && (s[1] ^ 0x80) < 0x40 && (s[2] ^ 0x80) < 0x40
+ && (s[3] ^ 0x80) < 0x40
+ && (c >= 0xf1 || c1 >= 0x90)
+ && (c < 0xf4 || (c == 0xf4 && c1 < 0x90)))
+ return 4;
+ }
+ }
+ /* invalid or incomplete multibyte character */
+ return -1;
+}
+
+/* We can optimize this if we know the locale is UTF-8, but needs to handle
+ malformed byte sequences. */
+size_t
+utf8_mbstrlen(s)
+ const char *s;
+{
+ size_t clen, nc;
+ int mb_cur_max;
+
+ nc = 0;
+ mb_cur_max = MB_CUR_MAX;
+ while (*s && (clen = (size_t)utf8_mblen(s, mb_cur_max)) != 0)
+ {
+ if (MB_INVALIDCH(clen))
+ clen = 1; /* assume single byte */
+
+ s += clen;
+ nc++;
+ }
+ return nc;
+}
+
+#endif
diff --git a/locale.c b/locale.c
index c42046bb..d62547f6 100644
--- a/locale.c
+++ b/locale.c
@@ -43,7 +43,7 @@
extern int errno;
#endif
-int locale_utf8locale; /* set but unused for now */
+int locale_utf8locale;
int locale_mb_cur_max; /* value of MB_CUR_MAX for current locale (LC_CTYPE) */
int locale_shiftstates;
diff --git a/nojobs.c b/nojobs.c
index 472624b9..2201a29a 100644
--- a/nojobs.c
+++ b/nojobs.c
@@ -1037,6 +1037,12 @@ unfreeze_jobs_list ()
{
}
+void
+set_jobs_list_frozen (s)
+ int s;
+{
+}
+
int
count_all_jobs ()
{
diff --git a/parse.y b/parse.y
index 6457782b..0eb64130 100644
--- a/parse.y
+++ b/parse.y
@@ -2414,20 +2414,21 @@ shell_getc (remove_quoted_newline)
{
char *expansions;
# if defined (BANG_HISTORY)
- int old_hist;
-
/* If the current delimiter is a single quote, we should not be
performing history expansion, even if we're on a different
line from the original single quote. */
- old_hist = history_expansion_inhibited;
if (current_delimiter (dstack) == '\'')
- history_expansion_inhibited = 1;
+ history_quoting_state = '\'';
+ else if (current_delimiter (dstack) == '"')
+ history_quoting_state = '"';
+ else
+ history_quoting_state = 0;
# endif
/* Calling with a third argument of 1 allows remember_on_history to
determine whether or not the line is saved to the history list */
expansions = pre_process_line (shell_input_line, 1, 1);
# if defined (BANG_HISTORY)
- history_expansion_inhibited = old_hist;
+ history_quoting_state = 0;
# endif
if (expansions != shell_input_line)
{
@@ -3167,6 +3168,13 @@ reset_parser ()
token_to_read = '\n';
}
+void
+reset_readahead_token ()
+{
+ if (token_to_read == '\n')
+ token_to_read = 0;
+}
+
/* Read the next token. Command can be READ (normal operation) or
RESET (to normalize state). */
static int
diff --git a/parser-built b/parser-built
index 6efd7371..d5b5c099 100644
--- a/parser-built
+++ b/parser-built
@@ -148,7 +148,7 @@ extern int yydebug;
union YYSTYPE
{
-#line 328 "/usr/homes/chet/src/bash/src/parse.y" /* yacc.c:1909 */
+#line 328 "./parse.y" /* yacc.c:1909 */
WORD_DESC *word; /* the word that we read. */
int number; /* the number that we read. */
diff --git a/pcomplete.c b/pcomplete.c
index 7a5f102f..8f0b4808 100644
--- a/pcomplete.c
+++ b/pcomplete.c
@@ -151,7 +151,7 @@ static int progcomp_debug = 0;
int prog_completion_enabled = 1;
-#ifdef ALIAS
+#ifdef ALIAS /* bash-5.0-beta */
int progcomp_alias = 0; /* unavailable to user code for now */
#endif
@@ -1688,7 +1688,7 @@ programmable_completions (cmd, word, start, end, foundp)
/* Find the first word of the alias value and use that as OCMD. We
don't check the alias value to see whether it begins with a valid
command name, so this can be fooled. */
- ind = skip_to_delim (ntxt, 0, "()<>;&| \t\n", SD_NOJMP|SD_COMPLETE); /*)*/
+ ind = skip_to_delim (ntxt, 0, "()<>;&| \t\n", SD_NOJMP|SD_COMPLETE);
if (ind > 0)
ncmd = substring (ntxt, 0, ind);
else
diff --git a/pcomplete.h b/pcomplete.h
index 2ae8224e..38932ac2 100644
--- a/pcomplete.h
+++ b/pcomplete.h
@@ -107,6 +107,7 @@ typedef struct _list_of_items {
#define EMPTYCMD "_EmptycmD_"
#define DEFAULTCMD "_DefaultCmD_"
+#define INITIALWORD "_InitialWorD_"
extern HASH_TABLE *prog_completes;
diff --git a/po/Makefile.in.in b/po/Makefile.in.in
index 67306653..5217a12e 100644
--- a/po/Makefile.in.in
+++ b/po/Makefile.in.in
@@ -277,7 +277,7 @@ mostlyclean:
clean: mostlyclean
distclean: clean
- rm -f Makefile Makefile.in POTFILES *.mo
+ rm -f Makefile Makefile.in POTFILES *.mo stamp-po
maintainer-clean: distclean
@echo "This command is intended for maintainers to use;"
diff --git a/po/bash.pot b/po/bash.pot
index c6953b85..e0ab2c75 100644
--- a/po/bash.pot
+++ b/po/bash.pot
@@ -8,10 +8,11 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-04-27 14:15-0400\n"
+"POT-Creation-Date: 2018-09-07 16:16-0400\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"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -21,52 +22,52 @@ msgstr ""
msgid "bad array subscript"
msgstr ""
-#: arrayfunc.c:373 builtins/declare.def:618 variables.c:2188 variables.c:2214
-#: variables.c:2922
+#: arrayfunc.c:375 builtins/declare.def:638 variables.c:2230 variables.c:2256
+#: variables.c:3072
#, c-format
msgid "%s: removing nameref attribute"
msgstr ""
-#: arrayfunc.c:398 builtins/declare.def:831
+#: arrayfunc.c:400 builtins/declare.def:851
#, c-format
msgid "%s: cannot convert indexed to associative array"
msgstr ""
-#: arrayfunc.c:582
+#: arrayfunc.c:584
#, c-format
msgid "%s: invalid associative array key"
msgstr ""
-#: arrayfunc.c:584
+#: arrayfunc.c:586
#, c-format
msgid "%s: cannot assign to non-numeric index"
msgstr ""
-#: arrayfunc.c:629
+#: arrayfunc.c:631
#, c-format
msgid "%s: %s: must use subscript when assigning associative array"
msgstr ""
-#: bashhist.c:436
+#: bashhist.c:451
#, c-format
msgid "%s: cannot create: %s"
msgstr ""
-#: bashline.c:4111
+#: bashline.c:4120
msgid "bash_execute_unix_command: cannot find keymap for command"
msgstr ""
-#: bashline.c:4221
+#: bashline.c:4230
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
msgstr ""
-#: bashline.c:4250
+#: bashline.c:4259
#, c-format
msgid "no closing `%c' in %s"
msgstr ""
-#: bashline.c:4284
+#: bashline.c:4293
#, c-format
msgid "%s: missing colon separator"
msgstr ""
@@ -86,7 +87,7 @@ msgstr ""
msgid "brace expansion: failed to allocate memory for `%s'"
msgstr ""
-#: builtins/alias.def:131
+#: builtins/alias.def:131 variables.c:1818
#, c-format
msgid "`%s': invalid alias name"
msgstr ""
@@ -144,7 +145,7 @@ msgstr ""
msgid "HOME not set"
msgstr ""
-#: builtins/cd.def:327 builtins/common.c:161 test.c:889
+#: builtins/cd.def:327 builtins/common.c:161 test.c:891
msgid "too many arguments"
msgstr ""
@@ -196,7 +197,7 @@ msgstr ""
msgid "%s: invalid option name"
msgstr ""
-#: builtins/common.c:230 execute_cmd.c:2342 general.c:294 general.c:299
+#: builtins/common.c:230 execute_cmd.c:2358 general.c:294 general.c:299
#, c-format
msgid "`%s': not a valid identifier"
msgstr ""
@@ -299,26 +300,26 @@ msgstr ""
msgid "help not available in this version"
msgstr ""
-#: builtins/complete.def:278
+#: builtins/complete.def:281
#, c-format
msgid "%s: invalid action name"
msgstr ""
-#: builtins/complete.def:452 builtins/complete.def:653
-#: builtins/complete.def:874
+#: builtins/complete.def:474 builtins/complete.def:679
+#: builtins/complete.def:910
#, c-format
msgid "%s: no completion specification"
msgstr ""
-#: builtins/complete.def:707
+#: builtins/complete.def:733
msgid "warning: -F option may not work as you expect"
msgstr ""
-#: builtins/complete.def:709
+#: builtins/complete.def:735
msgid "warning: -C option may not work as you expect"
msgstr ""
-#: builtins/complete.def:847
+#: builtins/complete.def:883
msgid "not currently executing completion function"
msgstr ""
@@ -326,47 +327,47 @@ msgstr ""
msgid "can only be used in a function"
msgstr ""
-#: builtins/declare.def:369 builtins/declare.def:736
+#: builtins/declare.def:369 builtins/declare.def:756
#, c-format
msgid "%s: reference variable cannot be an array"
msgstr ""
-#: builtins/declare.def:380 variables.c:3161
+#: builtins/declare.def:380 variables.c:3322
#, c-format
msgid "%s: nameref variable self references not allowed"
msgstr ""
-#: builtins/declare.def:385 variables.c:2018 variables.c:3083 variables.c:3095
-#: variables.c:3158
+#: builtins/declare.def:385 variables.c:2060 variables.c:3233 variables.c:3245
+#: variables.c:3319
#, c-format
msgid "%s: circular name reference"
msgstr ""
-#: builtins/declare.def:390 builtins/declare.def:742 builtins/declare.def:753
+#: builtins/declare.def:390 builtins/declare.def:762 builtins/declare.def:773
#, c-format
msgid "`%s': invalid variable name for name reference"
msgstr ""
-#: builtins/declare.def:500
+#: builtins/declare.def:520
msgid "cannot use `-f' to make functions"
msgstr ""
-#: builtins/declare.def:512 execute_cmd.c:5797
+#: builtins/declare.def:532 execute_cmd.c:5823
#, c-format
msgid "%s: readonly function"
msgstr ""
-#: builtins/declare.def:804
+#: builtins/declare.def:824
#, c-format
msgid "%s: quoted compound array assignment deprecated"
msgstr ""
-#: builtins/declare.def:818
+#: builtins/declare.def:838
#, c-format
msgid "%s: cannot destroy array variables in this way"
msgstr ""
-#: builtins/declare.def:825 builtins/read.def:784
+#: builtins/declare.def:845 builtins/read.def:785
#, c-format
msgid "%s: cannot convert associative to indexed array"
msgstr ""
@@ -400,7 +401,7 @@ msgstr ""
msgid "%s: cannot delete: %s"
msgstr ""
-#: builtins/evalfile.c:138 builtins/hash.def:184 execute_cmd.c:5629
+#: builtins/evalfile.c:138 builtins/hash.def:184 execute_cmd.c:5655
#, c-format
msgid "%s: is a directory"
msgstr ""
@@ -728,7 +729,7 @@ msgstr ""
msgid "%s: invalid timeout specification"
msgstr ""
-#: builtins/read.def:729
+#: builtins/read.def:730
#, c-format
msgid "read error: %d: %s"
msgstr ""
@@ -746,7 +747,7 @@ msgstr ""
msgid "%s: cannot unset"
msgstr ""
-#: builtins/set.def:902 variables.c:3597
+#: builtins/set.def:902 variables.c:3764
#, c-format
msgid "%s: cannot unset: readonly %s"
msgstr ""
@@ -770,11 +771,11 @@ msgstr ""
msgid "shift count"
msgstr ""
-#: builtins/shopt.def:301
+#: builtins/shopt.def:312
msgid "cannot set and unset shell options simultaneously"
msgstr ""
-#: builtins/shopt.def:403
+#: builtins/shopt.def:422
#, c-format
msgid "%s: invalid shell option name"
msgstr ""
@@ -910,7 +911,7 @@ msgstr ""
msgid "%s: unbound variable"
msgstr ""
-#: eval.c:242
+#: eval.c:245
#, c-format
msgid "\atimed out waiting for input: auto-logout\n"
msgstr ""
@@ -920,66 +921,66 @@ msgstr ""
msgid "cannot redirect standard input from /dev/null: %s"
msgstr ""
-#: execute_cmd.c:1294
+#: execute_cmd.c:1304
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr ""
-#: execute_cmd.c:2330
+#: execute_cmd.c:2346
#, c-format
msgid "execute_coproc: coproc [%d:%s] still exists"
msgstr ""
-#: execute_cmd.c:2456
+#: execute_cmd.c:2472
msgid "pipe error"
msgstr ""
-#: execute_cmd.c:4624
+#: execute_cmd.c:4644
#, c-format
msgid "eval: maximum eval nesting level exceeded (%d)"
msgstr ""
-#: execute_cmd.c:4636
+#: execute_cmd.c:4656
#, c-format
msgid "%s: maximum source nesting level exceeded (%d)"
msgstr ""
-#: execute_cmd.c:4742
+#: execute_cmd.c:4762
#, c-format
msgid "%s: maximum function nesting level exceeded (%d)"
msgstr ""
-#: execute_cmd.c:5285
+#: execute_cmd.c:5311
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
msgstr ""
-#: execute_cmd.c:5383
+#: execute_cmd.c:5409
#, c-format
msgid "%s: command not found"
msgstr ""
-#: execute_cmd.c:5627
+#: execute_cmd.c:5653
#, c-format
msgid "%s: %s"
msgstr ""
-#: execute_cmd.c:5665
+#: execute_cmd.c:5691
#, c-format
msgid "%s: %s: bad interpreter"
msgstr ""
-#: execute_cmd.c:5702
+#: execute_cmd.c:5728
#, c-format
msgid "%s: cannot execute binary file: %s"
msgstr ""
-#: execute_cmd.c:5788
+#: execute_cmd.c:5814
#, c-format
msgid "`%s': is a special builtin"
msgstr ""
-#: execute_cmd.c:5840
+#: execute_cmd.c:5866
#, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr ""
@@ -1058,7 +1059,7 @@ msgstr ""
msgid "getcwd: cannot access parent directories"
msgstr ""
-#: input.c:99 subst.c:5858
+#: input.c:99 subst.c:5867
#, c-format
msgid "cannot reset nodelay mode for fd %d"
msgstr ""
@@ -1222,51 +1223,51 @@ msgstr ""
msgid "no job control in this shell"
msgstr ""
-#: lib/malloc/malloc.c:306
+#: lib/malloc/malloc.c:331
#, c-format
msgid "malloc: failed assertion: %s\n"
msgstr ""
-#: lib/malloc/malloc.c:322
+#: lib/malloc/malloc.c:347
#, c-format
msgid ""
"\r\n"
"malloc: %s:%d: assertion botched\r\n"
msgstr ""
-#: lib/malloc/malloc.c:323
+#: lib/malloc/malloc.c:348
msgid "unknown"
msgstr ""
-#: lib/malloc/malloc.c:811
+#: lib/malloc/malloc.c:855
msgid "malloc: block on free list clobbered"
msgstr ""
-#: lib/malloc/malloc.c:888
+#: lib/malloc/malloc.c:932
msgid "free: called with already freed block argument"
msgstr ""
-#: lib/malloc/malloc.c:891
+#: lib/malloc/malloc.c:935
msgid "free: called with unallocated block argument"
msgstr ""
-#: lib/malloc/malloc.c:910
+#: lib/malloc/malloc.c:954
msgid "free: underflow detected; mh_nbytes out of range"
msgstr ""
-#: lib/malloc/malloc.c:916
+#: lib/malloc/malloc.c:960
msgid "free: start and end chunk sizes differ"
msgstr ""
-#: lib/malloc/malloc.c:1015
+#: lib/malloc/malloc.c:1070
msgid "realloc: called with unallocated block argument"
msgstr ""
-#: lib/malloc/malloc.c:1030
+#: lib/malloc/malloc.c:1085
msgid "realloc: underflow detected; mh_nbytes out of range"
msgstr ""
-#: lib/malloc/malloc.c:1036
+#: lib/malloc/malloc.c:1091
msgid "realloc: start and end chunk sizes differ"
msgstr ""
@@ -1376,103 +1377,103 @@ msgid ""
"truncated"
msgstr ""
-#: parse.y:2772
+#: parse.y:2773
msgid "maximum here-document count exceeded"
msgstr ""
-#: parse.y:3511 parse.y:3881
+#: parse.y:3519 parse.y:3889
#, c-format
msgid "unexpected EOF while looking for matching `%c'"
msgstr ""
-#: parse.y:4581
+#: parse.y:4589
msgid "unexpected EOF while looking for `]]'"
msgstr ""
-#: parse.y:4586
+#: parse.y:4594
#, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
msgstr ""
-#: parse.y:4590
+#: parse.y:4598
msgid "syntax error in conditional expression"
msgstr ""
-#: parse.y:4668
+#: parse.y:4676
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr ""
-#: parse.y:4672
+#: parse.y:4680
msgid "expected `)'"
msgstr ""
-#: parse.y:4700
+#: parse.y:4708
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr ""
-#: parse.y:4704
+#: parse.y:4712
msgid "unexpected argument to conditional unary operator"
msgstr ""
-#: parse.y:4750
+#: parse.y:4758
#, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr ""
-#: parse.y:4754
+#: parse.y:4762
msgid "conditional binary operator expected"
msgstr ""
-#: parse.y:4776
+#: parse.y:4784
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr ""
-#: parse.y:4780
+#: parse.y:4788
msgid "unexpected argument to conditional binary operator"
msgstr ""
-#: parse.y:4791
+#: parse.y:4799
#, c-format
msgid "unexpected token `%c' in conditional command"
msgstr ""
-#: parse.y:4794
+#: parse.y:4802
#, c-format
msgid "unexpected token `%s' in conditional command"
msgstr ""
-#: parse.y:4798
+#: parse.y:4806
#, c-format
msgid "unexpected token %d in conditional command"
msgstr ""
-#: parse.y:6220
+#: parse.y:6228
#, c-format
msgid "syntax error near unexpected token `%s'"
msgstr ""
-#: parse.y:6238
+#: parse.y:6246
#, c-format
msgid "syntax error near `%s'"
msgstr ""
-#: parse.y:6248
+#: parse.y:6256
msgid "syntax error: unexpected end of file"
msgstr ""
-#: parse.y:6248
+#: parse.y:6256
msgid "syntax error"
msgstr ""
-#: parse.y:6310
+#: parse.y:6318
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr ""
-#: parse.y:6472
+#: parse.y:6480
msgid "unexpected EOF while looking for matching `)'"
msgstr ""
@@ -1548,7 +1549,7 @@ msgstr ""
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr ""
-#: redir.c:870 redir.c:985 redir.c:1046 redir.c:1211
+#: redir.c:870 redir.c:985 redir.c:1046 redir.c:1214
msgid "redirection error: cannot duplicate fd"
msgstr ""
@@ -1646,7 +1647,7 @@ msgstr ""
msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
msgstr ""
-#: sig.c:695
+#: sig.c:727
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr ""
@@ -1820,107 +1821,107 @@ msgstr ""
msgid "Unknown Signal #%d"
msgstr ""
-#: subst.c:1450 subst.c:1641
+#: subst.c:1453 subst.c:1644
#, c-format
msgid "bad substitution: no closing `%s' in %s"
msgstr ""
-#: subst.c:3209
+#: subst.c:3216
#, c-format
msgid "%s: cannot assign list to array member"
msgstr ""
-#: subst.c:5734 subst.c:5750
+#: subst.c:5743 subst.c:5759
msgid "cannot make pipe for process substitution"
msgstr ""
-#: subst.c:5796
+#: subst.c:5805
msgid "cannot make child for process substitution"
msgstr ""
-#: subst.c:5848
+#: subst.c:5857
#, c-format
msgid "cannot open named pipe %s for reading"
msgstr ""
-#: subst.c:5850
+#: subst.c:5859
#, c-format
msgid "cannot open named pipe %s for writing"
msgstr ""
-#: subst.c:5873
+#: subst.c:5882
#, c-format
msgid "cannot duplicate named pipe %s as fd %d"
msgstr ""
-#: subst.c:5990
+#: subst.c:5999
msgid "command substitution: ignored null byte in input"
msgstr ""
-#: subst.c:6121
+#: subst.c:6127
msgid "cannot make pipe for command substitution"
msgstr ""
-#: subst.c:6164
+#: subst.c:6170
msgid "cannot make child for command substitution"
msgstr ""
-#: subst.c:6190
+#: subst.c:6196
msgid "command_substitute: cannot duplicate pipe as fd 1"
msgstr ""
-#: subst.c:6641 subst.c:9483
+#: subst.c:6647 subst.c:9515
#, c-format
msgid "%s: invalid variable name for name reference"
msgstr ""
-#: subst.c:6737 subst.c:6755 subst.c:6903
+#: subst.c:6743 subst.c:6761 subst.c:6915
#, c-format
msgid "%s: invalid indirect expansion"
msgstr ""
-#: subst.c:6771 subst.c:6910
+#: subst.c:6777 subst.c:6922
#, c-format
msgid "%s: invalid variable name"
msgstr ""
-#: subst.c:6962
+#: subst.c:6974
#, c-format
msgid "%s: parameter not set"
msgstr ""
-#: subst.c:6964
+#: subst.c:6976
#, c-format
msgid "%s: parameter null or not set"
msgstr ""
-#: subst.c:7201 subst.c:7216
+#: subst.c:7213 subst.c:7228
#, c-format
msgid "%s: substring expression < 0"
msgstr ""
-#: subst.c:8839 subst.c:8860
+#: subst.c:8871 subst.c:8892
#, c-format
msgid "%s: bad substitution"
msgstr ""
-#: subst.c:8948
+#: subst.c:8980
#, c-format
msgid "$%s: cannot assign in this way"
msgstr ""
-#: subst.c:9346
+#: subst.c:9378
msgid ""
"future versions of the shell will force evaluation as an arithmetic "
"substitution"
msgstr ""
-#: subst.c:9903
+#: subst.c:9937
#, c-format
msgid "bad substitution: no closing \"`\" in %s"
msgstr ""
-#: subst.c:10907
+#: subst.c:10965
#, c-format
msgid "no match: %s"
msgstr ""
@@ -1943,17 +1944,17 @@ msgstr ""
msgid "`)' expected, found %s"
msgstr ""
-#: test.c:282 test.c:748 test.c:751
+#: test.c:282 test.c:750 test.c:753
#, c-format
msgid "%s: unary operator expected"
msgstr ""
-#: test.c:469 test.c:791
+#: test.c:469 test.c:793
#, c-format
msgid "%s: binary operator expected"
msgstr ""
-#: test.c:873
+#: test.c:875
msgid "missing `]'"
msgstr ""
@@ -1977,78 +1978,78 @@ msgstr ""
msgid "trap_handler: bad signal %d"
msgstr ""
-#: variables.c:399
+#: variables.c:408
#, c-format
msgid "error importing function definition for `%s'"
msgstr ""
-#: variables.c:801
+#: variables.c:817
#, c-format
msgid "shell level (%d) too high, resetting to 1"
msgstr ""
-#: variables.c:2512
+#: variables.c:2620
msgid "make_local_variable: no function context at current scope"
msgstr ""
-#: variables.c:2531
+#: variables.c:2639
#, c-format
msgid "%s: variable may not be assigned value"
msgstr ""
-#: variables.c:3246
+#: variables.c:3407
#, c-format
msgid "%s: assigning integer to name reference"
msgstr ""
-#: variables.c:4149
+#: variables.c:4316
msgid "all_local_variables: no function context at current scope"
msgstr ""
-#: variables.c:4437
+#: variables.c:4652
#, c-format
msgid "%s has null exportstr"
msgstr ""
-#: variables.c:4442 variables.c:4451
+#: variables.c:4657 variables.c:4666
#, c-format
msgid "invalid character %d in exportstr for %s"
msgstr ""
-#: variables.c:4457
+#: variables.c:4672
#, c-format
msgid "no `=' in exportstr for %s"
msgstr ""
-#: variables.c:4911
+#: variables.c:5167
msgid "pop_var_context: head of shell_variables not a function context"
msgstr ""
-#: variables.c:4924
+#: variables.c:5180
msgid "pop_var_context: no global_variables context"
msgstr ""
-#: variables.c:4999
+#: variables.c:5260
msgid "pop_scope: head of shell_variables not a temporary environment scope"
msgstr ""
-#: variables.c:5862
+#: variables.c:6196
#, c-format
msgid "%s: %s: cannot open as FILE"
msgstr ""
-#: variables.c:5867
+#: variables.c:6201
#, c-format
msgid "%s: %s: invalid value for trace file descriptor"
msgstr ""
-#: variables.c:5912
+#: variables.c:6246
#, c-format
msgid "%s: %s: compatibility value out of range"
msgstr ""
#: version.c:46 version2.c:46
-msgid "Copyright (C) 2016 Free Software Foundation, Inc."
+msgid "Copyright (C) 2018 Free Software Foundation, Inc."
msgstr ""
#: version.c:47 version2.c:47
@@ -2378,7 +2379,7 @@ msgstr ""
#: builtins.c:231
msgid ""
-"complete [-abcdefgjksuv] [-pr] [-DE] [-o option] [-A action] [-G globpat] [-"
+"complete [-abcdefgjksuv] [-pr] [-DEI] [-o option] [-A action] [-G globpat] [-"
"W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S "
"suffix] [name ...]"
msgstr ""
@@ -2390,7 +2391,7 @@ msgid ""
msgstr ""
#: builtins.c:239
-msgid "compopt [-o|+o option] [-DE] [name ...]"
+msgid "compopt [-o|+o option] [-DEI] [name ...]"
msgstr ""
#: builtins.c:242
@@ -2510,7 +2511,7 @@ msgid ""
" \n"
" Exit Status:\n"
" Returns the exit status of SHELL-BUILTIN, or false if SHELL-BUILTIN is\n"
-" not a shell builtin.."
+" not a shell builtin."
msgstr ""
#: builtins.c:369
@@ -4031,8 +4032,8 @@ msgid ""
"successive\n"
" argument.\n"
" \n"
-" In addition to the standard format specifications described in printf"
-"(1),\n"
+" In addition to the standard format specifications described in "
+"printf(1),\n"
" printf interprets:\n"
" \n"
" %b\texpand backslash escape sequences in the corresponding argument\n"
@@ -4071,16 +4072,20 @@ msgid ""
" \t\twithout any specific completion defined\n"
" -E\tapply the completions and actions to \"empty\" commands --\n"
" \t\tcompletion attempted on a blank line\n"
+" -I\tapply the completions and actions to the intial (usually the\n"
+" \t\tcommand) word\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"
+" uppercase-letter options are listed above. If multiple options are "
+"supplied,\n"
+" the -D option takes precedence over -E, and both take precedence over -"
+"I.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1985
+#: builtins.c:1987
msgid ""
"Display possible completions depending on the options.\n"
" \n"
@@ -4093,7 +4098,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:2000
+#: builtins.c:2002
msgid ""
"Modify or display completion options.\n"
" \n"
@@ -4108,6 +4113,7 @@ msgid ""
" \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"
+" \t-I\t\tChange options for completion on the initial word\n"
" \n"
" Using `+o' instead of `-o' turns off the specified option.\n"
" \n"
@@ -4124,7 +4130,7 @@ msgid ""
" have a completion specification defined."
msgstr ""
-#: builtins.c:2030
+#: builtins.c:2033
msgid ""
"Read lines from the standard input into an indexed array variable.\n"
" \n"
@@ -4166,7 +4172,7 @@ msgid ""
" not an indexed array."
msgstr ""
-#: builtins.c:2066
+#: builtins.c:2069
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
diff --git a/po/de.po b/po/de.po
index b9920027..752238ec 100644
--- a/po/de.po
+++ b/po/de.po
@@ -1,139 +1,135 @@
# German language file for GNU Bash 4.4
# Copyright (C) 2011 Free Software Foundation, Inc.
# This file is distributed under the same license as the bash package.
-# Nils Naumann <nau@gmx.net>, 1996-2017.
+# Nils Naumann <nau@gmx.net>, 1996-2018.
msgid ""
msgstr ""
"Project-Id-Version: bash 4.4\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-04-27 14:15-0400\n"
-"PO-Revision-Date: 2017-06-11 12:12+0200\n"
+"POT-Creation-Date: 2016-09-10 12:42-0400\n"
+"PO-Revision-Date: 2018-07-22 00:02+0200\n"
"Last-Translator: Nils Naumann <nau@gmx.net>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
+"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
-"Language: de\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: arrayfunc.c:58
+#: arrayfunc.c:54
msgid "bad array subscript"
msgstr "Falscher Feldbezeichner."
-#: arrayfunc.c:373 builtins/declare.def:618 variables.c:2188 variables.c:2214
-#: variables.c:2922
+#: arrayfunc.c:368 builtins/declare.def:574 variables.c:2092 variables.c:2118
+#: variables.c:2730
#, c-format
msgid "%s: removing nameref attribute"
msgstr "%s: Entferne das Nameref Attribut."
-#: arrayfunc.c:398 builtins/declare.def:831
+#: arrayfunc.c:393 builtins/declare.def:780
#, c-format
msgid "%s: cannot convert indexed to associative array"
msgstr "%s: Kann nicht das indizierte in ein assoziatives Array umwandeln."
-#: arrayfunc.c:582
+#: arrayfunc.c:578
#, c-format
msgid "%s: invalid associative array key"
msgstr "%s: Ungültiger Schlüssel für das assoziative Array."
-#: arrayfunc.c:584
+#: arrayfunc.c:580
#, c-format
msgid "%s: cannot assign to non-numeric index"
msgstr "%s: Kann nicht auf einen nicht-numerischen Index zuweisen."
-#: arrayfunc.c:629
+#: arrayfunc.c:625
#, c-format
msgid "%s: %s: must use subscript when assigning associative array"
-msgstr ""
-"%s: %s: Ein Feldbezeicher wird zum Zuweisen eines assoziativen Arrays "
-"benötigt."
+msgstr "%s: %s: Ein Feldbezeicher wird zum Zuweisen eines assoziativen Arrays benötigt."
-#: bashhist.c:436
+#: bashhist.c:421
#, c-format
msgid "%s: cannot create: %s"
msgstr "%s: Kann die Datei %s nicht erzeugen."
-#: bashline.c:4111
+#: bashline.c:4091
msgid "bash_execute_unix_command: cannot find keymap for command"
-msgstr ""
-"bash_execute_unix_command: Kann nicht die Tastenzuordnung für das Kommando "
-"finden."
+msgstr "bash_execute_unix_command: Kann nicht die Tastenzuordnung für das Kommando finden."
-#: bashline.c:4221
+#: bashline.c:4189
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
msgstr " %s: Das erste Zeichen ist nicht `\\'."
-#: bashline.c:4250
+#: bashline.c:4218
#, c-format
msgid "no closing `%c' in %s"
msgstr "fehlende schließende `%c' in %s."
-#: bashline.c:4284
+#: bashline.c:4252
#, c-format
msgid "%s: missing colon separator"
msgstr "%s: Fehlender Doppelpunkt."
-#: braces.c:331
+#: braces.c:329
#, c-format
msgid "brace expansion: cannot allocate memory for %s"
msgstr "Klammererweiterung: Konnte keinen Speicher für %s zuweisen."
-#: braces.c:429
-#, fuzzy, c-format
-msgid "brace expansion: failed to allocate memory for %u elements"
+#: braces.c:427
+#, c-format
+msgid "brace expansion: failed to allocate memory for %d elements"
msgstr "Klammererweiterung: Konnte für %d Elemente keinen Speicher zuweisen."
-#: braces.c:473
+#: braces.c:471
#, c-format
msgid "brace expansion: failed to allocate memory for `%s'"
msgstr "Klammererweiterung: Konnte keinen Speicher für `%s' zuweisen."
-#: builtins/alias.def:131
+#: builtins/alias.def:133
#, c-format
msgid "`%s': invalid alias name"
msgstr "`%s': Ungültiger Alias Name."
-#: builtins/bind.def:122 builtins/bind.def:125
+#: builtins/bind.def:123 builtins/bind.def:126
msgid "line editing not enabled"
msgstr "Zeileneditierung ist nicht aktiviert."
-#: builtins/bind.def:212
+#: builtins/bind.def:213
#, c-format
msgid "`%s': invalid keymap name"
msgstr "`%s': Ungültiger KEYMAP-Name."
-#: builtins/bind.def:252
+#: builtins/bind.def:253
#, c-format
msgid "%s: cannot read: %s"
msgstr "%s: Nicht lesbar: %s"
-#: builtins/bind.def:304 builtins/bind.def:334
+#: builtins/bind.def:270
+#, c-format
+msgid "`%s': cannot unbind"
+msgstr "`%s': Bindung kann nicht gelöst werden."
+
+#: builtins/bind.def:308 builtins/bind.def:338
#, c-format
msgid "`%s': unknown function name"
msgstr "%s: Unbekannter Funktionsname."
-#: builtins/bind.def:312
+#: builtins/bind.def:316
#, c-format
msgid "%s is not bound to any keys.\n"
msgstr "%s ist keiner Taste zugeordnet.\n"
-#: builtins/bind.def:316
+#: builtins/bind.def:320
#, c-format
msgid "%s can be invoked via "
msgstr "%s kann aufgerufen werden durch "
-#: builtins/bind.def:353 builtins/bind.def:368
-#, c-format
-msgid "`%s': cannot unbind"
-msgstr "`%s': Bindung kann nicht gelöst werden."
-
-#: builtins/break.def:77 builtins/break.def:119
+#: builtins/break.def:79 builtins/break.def:121
msgid "loop count"
msgstr "Schleifen Zähler"
-#: builtins/break.def:139
+#: builtins/break.def:141
msgid "only meaningful in a `for', `while', or `until' loop"
msgstr "nur in einer `for', `while' oder `until' Schleife sinnvoll."
@@ -145,163 +141,163 @@ msgid ""
" Without EXPR, returns "
msgstr ""
-#: builtins/cd.def:319
+#: builtins/cd.def:321
msgid "HOME not set"
msgstr "HOME ist nicht zugewiesen."
-#: builtins/cd.def:327 builtins/common.c:161 test.c:889
+#: builtins/cd.def:329 builtins/common.c:167 test.c:885
msgid "too many arguments"
msgstr "Zu viele Argumente."
-#: builtins/cd.def:334
+#: builtins/cd.def:336
msgid "null directory"
msgstr "NULL Verzeichnis"
-#: builtins/cd.def:345
+#: builtins/cd.def:347
msgid "OLDPWD not set"
msgstr "OLDPWD ist nicht zugewiesen."
# Debug Ausgabe
-#: builtins/common.c:96
+#: builtins/common.c:102
#, c-format
msgid "line %d: "
msgstr "Zeile %d: "
-#: builtins/common.c:134 error.c:264
+#: builtins/common.c:140 error.c:265
#, c-format
msgid "warning: "
msgstr "Warnung: "
-#: builtins/common.c:148
+#: builtins/common.c:154
#, c-format
msgid "%s: usage: "
msgstr "%s: Aufruf: "
-#: builtins/common.c:193 shell.c:510 shell.c:838
+#: builtins/common.c:199 shell.c:514 shell.c:825
#, c-format
msgid "%s: option requires an argument"
msgstr "%s: Die Option erfordert ein Argument."
-#: builtins/common.c:200
+#: builtins/common.c:206
#, c-format
msgid "%s: numeric argument required"
msgstr "%s: Ein numerischer Parameter ist erforderlich."
-#: builtins/common.c:207
+#: builtins/common.c:213
#, c-format
msgid "%s: not found"
msgstr "%s: Nicht gefunden."
-#: builtins/common.c:216 shell.c:851
+#: builtins/common.c:222 shell.c:838
#, c-format
msgid "%s: invalid option"
msgstr "%s: Ungültige Option"
-#: builtins/common.c:223
+#: builtins/common.c:229
#, c-format
msgid "%s: invalid option name"
msgstr "%s: Ungültiger Optionsname."
-#: builtins/common.c:230 execute_cmd.c:2342 general.c:294 general.c:299
+#: builtins/common.c:236 general.c:293 general.c:298
#, c-format
msgid "`%s': not a valid identifier"
msgstr "`%s': Ist kein gültiger Bezeichner."
-#: builtins/common.c:240
+#: builtins/common.c:246
msgid "invalid octal number"
msgstr "Ungültige Oktalzahl."
-#: builtins/common.c:242
+#: builtins/common.c:248
msgid "invalid hex number"
msgstr "Ungültige hexadezimale Zahl."
-#: builtins/common.c:244 expr.c:1538
+#: builtins/common.c:250 expr.c:1473
msgid "invalid number"
msgstr "Ungültige Zahl."
-#: builtins/common.c:252
+#: builtins/common.c:258
#, c-format
msgid "%s: invalid signal specification"
msgstr "%s: Ungültige Signalbezeichnung."
-#: builtins/common.c:259
+#: builtins/common.c:265
#, c-format
msgid "`%s': not a pid or valid job spec"
msgstr "`%s': Ist keine gültige Prozess- oder Jobbezeichnung."
-#: builtins/common.c:266 error.c:510
+#: builtins/common.c:272 error.c:511
#, c-format
msgid "%s: readonly variable"
msgstr "%s: Schreibgeschützte Variable."
-#: builtins/common.c:274
+#: builtins/common.c:280
#, c-format
msgid "%s: %s out of range"
msgstr "%s: %s ist außerhalb des Gültigkeitsbereiches."
-#: builtins/common.c:274 builtins/common.c:276
+#: builtins/common.c:280 builtins/common.c:282
msgid "argument"
msgstr "Argument"
-#: builtins/common.c:276
+#: builtins/common.c:282
#, c-format
msgid "%s out of range"
msgstr "%s ist außerhalb des Gültigkeitsbereiches."
-#: builtins/common.c:284
+#: builtins/common.c:290
#, c-format
msgid "%s: no such job"
msgstr "%s: Kein solcher Job."
-#: builtins/common.c:292
+#: builtins/common.c:298
#, c-format
msgid "%s: no job control"
msgstr "%s: Keine Job Steuerung in dieser Shell."
-#: builtins/common.c:294
+#: builtins/common.c:300
msgid "no job control"
msgstr "Keine Job Steuerung in dieser Shell."
-#: builtins/common.c:304
+#: builtins/common.c:310
#, c-format
msgid "%s: restricted"
msgstr "%s: gesperrt"
-#: builtins/common.c:306
+#: builtins/common.c:312
msgid "restricted"
msgstr "gesperrt"
-#: builtins/common.c:314
+#: builtins/common.c:320
#, c-format
msgid "%s: not a shell builtin"
msgstr "%s: Ist kein Shell Kommando."
-#: builtins/common.c:323
+#: builtins/common.c:329
#, c-format
msgid "write error: %s"
msgstr "Schreibfehler: %s."
-#: builtins/common.c:331
+#: builtins/common.c:337
#, c-format
msgid "error setting terminal attributes: %s"
msgstr "Fehler beim Setzen der Terminalattribute: %s"
-#: builtins/common.c:333
+#: builtins/common.c:339
#, c-format
msgid "error getting terminal attributes: %s"
msgstr "Fehler beim Ermitteln der Terminalattribute: %s"
-#: builtins/common.c:579
+#: builtins/common.c:585
#, c-format
msgid "%s: error retrieving current directory: %s: %s\n"
msgstr "%s: Kann das aktuelle Verzeichnis nicht wiederfinden: %s: %s\n"
-#: builtins/common.c:645 builtins/common.c:647
+#: builtins/common.c:651 builtins/common.c:653
#, c-format
msgid "%s: ambiguous job spec"
msgstr "%s: Mehrdeutige Job Bezeichnung."
-#: builtins/common.c:908
+#: builtins/common.c:918
msgid "help not available in this version"
msgstr "In dieser Version ist keine Hilfe verfügbar."
@@ -310,73 +306,72 @@ msgstr "In dieser Version ist keine Hilfe verfügbar."
msgid "%s: invalid action name"
msgstr "%s: Ungültige Methode."
-#: builtins/complete.def:452 builtins/complete.def:653
-#: builtins/complete.def:874
+#: builtins/complete.def:452 builtins/complete.def:647
+#: builtins/complete.def:858
#, c-format
msgid "%s: no completion specification"
msgstr "%s: Keine Komplettierung angegeben."
-#: builtins/complete.def:707
+#: builtins/complete.def:699
msgid "warning: -F option may not work as you expect"
msgstr "Warnung: Die -F Option könnte unerwartete Ergebnisse liefern."
-#: builtins/complete.def:709
+#: builtins/complete.def:701
msgid "warning: -C option may not work as you expect"
msgstr "Warnung: Die -C Option könnte unerwartete Ergebnisse liefern."
-#: builtins/complete.def:847
+#: builtins/complete.def:831
msgid "not currently executing completion function"
msgstr "Gegenwärtig wird keine Komplettierungsfunktion ausgeführt."
-#: builtins/declare.def:132
+#: builtins/declare.def:127
msgid "can only be used in a function"
msgstr "kann nur innerhalb einer Funktion benutzt werden."
-#: builtins/declare.def:369 builtins/declare.def:736
+#: builtins/declare.def:332 builtins/declare.def:685
#, c-format
msgid "%s: reference variable cannot be an array"
msgstr ""
-#: builtins/declare.def:380 variables.c:3161
+#: builtins/declare.def:343 variables.c:2959
#, c-format
msgid "%s: nameref variable self references not allowed"
msgstr ""
-#: builtins/declare.def:385 variables.c:2018 variables.c:3083 variables.c:3095
-#: variables.c:3158
+#: builtins/declare.def:348 variables.c:1928 variables.c:2877 variables.c:2889
+#: variables.c:2956
#, c-format
msgid "%s: circular name reference"
msgstr "%s: Zirkularbezug auf indirekte Variable."
-#: builtins/declare.def:390 builtins/declare.def:742 builtins/declare.def:753
+#: builtins/declare.def:353 builtins/declare.def:691 builtins/declare.def:702
#, c-format
msgid "`%s': invalid variable name for name reference"
msgstr "`%s': Ungültiger Name für indirekte Variablenreferenz."
-#: builtins/declare.def:500
+#: builtins/declare.def:463
msgid "cannot use `-f' to make functions"
msgstr "Mit `-f' können keine Funktionen erzeugt werden."
-#: builtins/declare.def:512 execute_cmd.c:5797
+#: builtins/declare.def:475 execute_cmd.c:5632
#, c-format
msgid "%s: readonly function"
msgstr "%s: Schreibgeschützte Funktion."
-#: builtins/declare.def:804
+#: builtins/declare.def:753
#, c-format
msgid "%s: quoted compound array assignment deprecated"
msgstr ""
-#: builtins/declare.def:818
+#: builtins/declare.def:767
#, c-format
msgid "%s: cannot destroy array variables in this way"
msgstr "%s: Kann Feldvariablen nicht auf diese Art löschen."
-#: builtins/declare.def:825 builtins/read.def:784
+#: builtins/declare.def:774 builtins/read.def:751
#, c-format
msgid "%s: cannot convert associative to indexed array"
-msgstr ""
-"%s: Konvertieren von assoziativen in indizierte Arrays ist nicht möglich."
+msgstr "%s: Konvertieren von assoziativen in indizierte Arrays ist nicht möglich."
#: builtins/enable.def:143 builtins/enable.def:151
msgid "dynamic loading not available"
@@ -407,68 +402,68 @@ msgstr "%s: Ist nicht dynamisch geladen."
msgid "%s: cannot delete: %s"
msgstr "%s: Kann nicht löschen: %s"
-#: builtins/evalfile.c:138 builtins/hash.def:184 execute_cmd.c:5629
+#: builtins/evalfile.c:144 builtins/hash.def:172 execute_cmd.c:5472
#, c-format
msgid "%s: is a directory"
msgstr "%s: ist ein Verzeichnis."
-#: builtins/evalfile.c:144
+#: builtins/evalfile.c:150
#, c-format
msgid "%s: not a regular file"
msgstr "%s: Ist keine normale Datei."
-#: builtins/evalfile.c:153
+#: builtins/evalfile.c:159
#, c-format
msgid "%s: file is too large"
msgstr "%s: Die Datei ist zu groß."
-#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1623
+#: builtins/evalfile.c:194 builtins/evalfile.c:212 shell.c:1578
#, c-format
msgid "%s: cannot execute binary file"
msgstr "%s: Kann die Datei nicht ausführen."
-#: builtins/exec.def:155 builtins/exec.def:157 builtins/exec.def:237
+#: builtins/exec.def:156 builtins/exec.def:158 builtins/exec.def:235
#, c-format
msgid "%s: cannot execute: %s"
msgstr "%s: Kann nicht ausführen: %s"
-#: builtins/exit.def:64
+#: builtins/exit.def:67
#, c-format
msgid "logout\n"
msgstr "Abgemeldet\n"
-#: builtins/exit.def:89
+#: builtins/exit.def:92
msgid "not login shell: use `exit'"
msgstr "Keine Login Shell: Mit `exit' abmelden!"
-#: builtins/exit.def:121
+#: builtins/exit.def:124
#, c-format
msgid "There are stopped jobs.\n"
msgstr "Es gibt noch angehaltene Prozesse.\n"
-#: builtins/exit.def:123
+#: builtins/exit.def:126
#, c-format
msgid "There are running jobs.\n"
msgstr "Es gibt noch laufende Prozesse.\n"
-#: builtins/fc.def:265
+#: builtins/fc.def:269
msgid "no command found"
msgstr "Kein Kommando gefunden."
-#: builtins/fc.def:323 builtins/fc.def:372
+#: builtins/fc.def:327 builtins/fc.def:376
msgid "history specification"
msgstr ""
-#: builtins/fc.def:393
+#: builtins/fc.def:397
#, c-format
msgid "%s: cannot open temp file: %s"
msgstr "%s: Kann die tempräre Datei nicht öffnen: %s"
-#: builtins/fg_bg.def:152 builtins/jobs.def:284
+#: builtins/fg_bg.def:153 builtins/jobs.def:284
msgid "current"
msgstr "gegenwärtig"
-#: builtins/fg_bg.def:161
+#: builtins/fg_bg.def:162
#, c-format
msgid "job %d started without job control"
msgstr "Job %d wurde ohne Jobsteuerung gestartet."
@@ -483,40 +478,38 @@ msgstr "%s: Ungültige Option -- %c\n"
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: Diese Option erfordert ein Argument -- %c\n"
-#: builtins/hash.def:91
+#: builtins/hash.def:92
msgid "hashing disabled"
msgstr "Hashing deaktiviert."
-#: builtins/hash.def:138
+#: builtins/hash.def:139
#, c-format
msgid "%s: hash table empty\n"
msgstr "%s: Die Hashtabelle ist leer.\n"
-#: builtins/hash.def:266
+#: builtins/hash.def:254
#, c-format
msgid "hits\tcommand\n"
msgstr "Treffer\tBefehl\n"
-#: builtins/help.def:133
+#: builtins/help.def:135
+#, c-format
msgid "Shell commands matching keyword `"
msgid_plural "Shell commands matching keywords `"
msgstr[0] "Shell Kommandos auf die das Schlüsselwort zutrifft `"
msgstr[1] "Shell Kommandos auf die die Schlüsselwörter zutreffen `"
-#: builtins/help.def:185
+#: builtins/help.def:187
#, c-format
-msgid ""
-"no help topics match `%s'. Try `help help' or `man -k %s' or `info %s'."
-msgstr ""
-"Auf `%s' trifft kein Hilfethema zu. Probieren Sie `help help', `man -k %s' "
-"oder `info %s'."
+msgid "no help topics match `%s'. Try `help help' or `man -k %s' or `info %s'."
+msgstr "Auf `%s' trifft kein Hilfethema zu. Probieren Sie `help help', `man -k %s' oder `info %s'."
-#: builtins/help.def:224
+#: builtins/help.def:226
#, c-format
msgid "%s: cannot open: %s"
msgstr "%s: Kann die Datei nicht öffnen: %s"
-#: builtins/help.def:524
+#: builtins/help.def:526
#, c-format
msgid ""
"These shell commands are defined internally. Type `help' to see this list.\n"
@@ -536,21 +529,20 @@ msgstr ""
"Ein Stern (*) neben dem Namen kennzeichnet deaktivierte Kommandos.\n"
"\n"
-#: builtins/history.def:154
+#: builtins/history.def:155
msgid "cannot use more than one of -anrw"
msgstr "Es darf nur eine Option aus -anrw angegeben werden."
-#: builtins/history.def:187 builtins/history.def:197 builtins/history.def:212
-#: builtins/history.def:229 builtins/history.def:241 builtins/history.def:248
+#: builtins/history.def:187
msgid "history position"
msgstr "Kommandostapelposition."
-#: builtins/history.def:331
+#: builtins/history.def:264
#, c-format
msgid "%s: invalid timestamp"
msgstr "%s: Ungültiger Zeitstempel."
-#: builtins/history.def:442
+#: builtins/history.def:375
#, c-format
msgid "%s: history expansion failed"
msgstr "%s: Kommandoersetzung gescheitert."
@@ -564,16 +556,16 @@ 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:202
#, 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:265
msgid "Unknown error"
msgstr "Unbekannter Fehler."
-#: builtins/let.def:97 builtins/let.def:122 expr.c:614 expr.c:632
+#: builtins/let.def:97 builtins/let.def:122 expr.c:583 expr.c:598
msgid "expression expected"
msgstr "Ausdruck erwartet."
@@ -582,69 +574,69 @@ msgstr "Ausdruck erwartet."
msgid "%s: not an indexed array"
msgstr "%s: Ist kein indiziertes Array."
-#: builtins/mapfile.def:271 builtins/read.def:305
+#: builtins/mapfile.def:272 builtins/read.def:306
#, c-format
msgid "%s: invalid file descriptor specification"
msgstr "%s: Ungültige Datei-Deskriptor Angabe."
-#: builtins/mapfile.def:279 builtins/read.def:312
+#: builtins/mapfile.def:280 builtins/read.def:313
#, c-format
msgid "%d: invalid file descriptor: %s"
msgstr "%d: Ungültiger Datei-Deskriptor: %s"
-#: builtins/mapfile.def:288 builtins/mapfile.def:326
+#: builtins/mapfile.def:289 builtins/mapfile.def:327
#, c-format
msgid "%s: invalid line count"
msgstr "%s: Ungültige Zeilenanzahlangabe."
-#: builtins/mapfile.def:299
+#: builtins/mapfile.def:300
#, c-format
msgid "%s: invalid array origin"
msgstr "%s: Ungültiger Zeilenindex für den Array Beginn."
-#: builtins/mapfile.def:316
+#: builtins/mapfile.def:317
#, c-format
msgid "%s: invalid callback quantum"
msgstr ""
-#: builtins/mapfile.def:349
+#: builtins/mapfile.def:350
msgid "empty array variable name"
msgstr "Fehlender Name für die Array Variable."
-#: builtins/mapfile.def:370
+#: builtins/mapfile.def:371
msgid "array variable support required"
msgstr "Die Array Variablen Unterstützung ist in dieser Shell nicht vorhanden."
-#: builtins/printf.def:416
+#: builtins/printf.def:412
#, c-format
msgid "`%s': missing format character"
msgstr "`%s': Fehlendes Formatierungszeichen."
-#: builtins/printf.def:471
+#: builtins/printf.def:467
#, c-format
msgid "`%c': invalid time format specification"
msgstr "`%c': Ungültige Zeitformatangabe."
-#: builtins/printf.def:673
+#: builtins/printf.def:669
#, c-format
msgid "`%c': invalid format character"
msgstr "`%c': Ungültiges Formatierungszeichen."
-#: builtins/printf.def:699
+#: builtins/printf.def:695
#, c-format
msgid "warning: %s: %s"
msgstr "Warnung: %s: %s"
-#: builtins/printf.def:785
+#: builtins/printf.def:781
#, c-format
msgid "format parsing problem: %s"
msgstr "Formatleseproblem: %s"
-#: builtins/printf.def:882
+#: builtins/printf.def:878
msgid "missing hex digit for \\x"
msgstr "Fehlende hexadezimale Ziffer nach \\x."
-#: builtins/printf.def:897
+#: builtins/printf.def:893
#, c-format
msgid "missing unicode digit for \\%c"
msgstr "Fehlendes Unicode Zeichen für \\%c."
@@ -658,19 +650,19 @@ msgstr "kein anderes Verzeichnis"
msgid "%s: invalid argument"
msgstr "%s: Ungültiges Argument."
-#: builtins/pushd.def:480
+#: builtins/pushd.def:475
msgid "<no current directory>"
msgstr "<kein aktuelles Verzeichnis>"
-#: builtins/pushd.def:524
+#: builtins/pushd.def:519
msgid "directory stack empty"
msgstr "Der Verzeichnisstapel ist leer."
-#: builtins/pushd.def:526
+#: builtins/pushd.def:521
msgid "directory stack index"
msgstr "Verzeichnisstapelindex"
-#: builtins/pushd.def:701
+#: builtins/pushd.def:696
msgid ""
"Display the list of currently remembered directories. Directories\n"
" find their way onto the list with the `pushd' command; you can get\n"
@@ -685,12 +677,10 @@ msgid ""
" \twith its position in the stack\n"
" \n"
" Arguments:\n"
-" +N\tDisplays the Nth entry counting from the left of the list shown "
-"by\n"
+" +N\tDisplays the Nth entry counting from the left of the list shown by\n"
" \tdirs when invoked without options, starting with zero.\n"
" \n"
-" -N\tDisplays the Nth entry counting from the right of the list shown "
-"by\n"
+" -N\tDisplays the Nth entry counting from the right of the list shown by\n"
"\tdirs when invoked without options, starting with zero."
msgstr ""
"Zeigt die Liste der gegenwärtig gespeicherten Verzeichnisse an. Durch\n"
@@ -712,7 +702,7 @@ msgstr ""
"\t-N\tZeigt den N'ten Eintrag von rechts an, der von »dirs« ausgegeben\n"
"\twird, wenn es ohne Optionen aufgerufen wird, beginnend mit Null."
-#: builtins/pushd.def:723
+#: builtins/pushd.def:718
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"
@@ -758,7 +748,7 @@ msgstr ""
" \n"
" Das `dirs' Kommando zeigt den Verueichnisstapel an."
-#: builtins/pushd.def:748
+#: builtins/pushd.def:743
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"
@@ -799,48 +789,45 @@ msgstr ""
" \n"
" Das `dirs' Kommando zeigt den Verzeichnisstapel an."
-#: builtins/read.def:277
+#: builtins/read.def:279
#, c-format
msgid "%s: invalid timeout specification"
msgstr "%s: Ungültige Wartezeitangebe."
-#: builtins/read.def:729
+#: builtins/read.def:696
#, c-format
msgid "read error: %d: %s"
msgstr "Lesefehler: %d: %s"
-#: builtins/return.def:68
+#: builtins/return.def:71
msgid "can only `return' from a function or sourced script"
-msgstr ""
-"»Return« ist nur aus einer Funktion oder einem mit »source« ausgeführten "
-"Skript möglich."
+msgstr "»Return« ist nur aus einer Funktion oder einem mit »source« ausgeführten Skript möglich."
-#: builtins/set.def:834
+#: builtins/set.def:841
msgid "cannot simultaneously unset a function and a variable"
-msgstr ""
-"Gleichzeitiges `unset' einer Funktion und einer Variable ist nicht möglich."
+msgstr "Gleichzeitiges `unset' einer Funktion und einer Variable ist nicht möglich."
-#: builtins/set.def:881
+#: builtins/set.def:888
#, c-format
msgid "%s: cannot unset"
msgstr "%s: `unset' nicht möglich."
-#: builtins/set.def:902 variables.c:3597
+#: builtins/set.def:909 variables.c:3389
#, c-format
msgid "%s: cannot unset: readonly %s"
msgstr "%s: `unset' nicht möglich: Schreibgeschützt %s"
-#: builtins/set.def:915
+#: builtins/set.def:922
#, c-format
msgid "%s: not an array variable"
msgstr "%s: Ist keine Feldvariable."
-#: builtins/setattr.def:189
+#: builtins/setattr.def:191
#, c-format
msgid "%s: not a function"
msgstr "%s: Ist keine Funktion."
-#: builtins/setattr.def:194
+#: builtins/setattr.def:196
#, c-format
msgid "%s: cannot export"
msgstr "%s: exportieren nicht möglich."
@@ -849,20 +836,20 @@ msgstr "%s: exportieren nicht möglich."
msgid "shift count"
msgstr "Verschiebezähler"
-#: builtins/shopt.def:301
+#: builtins/shopt.def:289
msgid "cannot set and unset shell options simultaneously"
msgstr "Kann nicht Shell Optinen gleichzeitig aktivieren und deaktivieren."
-#: builtins/shopt.def:403
+#: builtins/shopt.def:391
#, c-format
msgid "%s: invalid shell option name"
msgstr "%s: Ungültiger Shell Optionen Name."
-#: builtins/source.def:128
+#: builtins/source.def:131
msgid "filename argument required"
-msgstr "Ein Dateiname wird as Argument benötigt."
+msgstr "Ein Dateiname wird als Argument benötigt."
-#: builtins/source.def:154
+#: builtins/source.def:157
#, c-format
msgid "%s: file not found"
msgstr "%s: Datei nicht gefunden."
@@ -876,61 +863,61 @@ msgstr "Kann die Shell nicht unterbrechen."
msgid "cannot suspend a login shell"
msgstr "Kann die Loginshell nicht unterbrechen."
-#: builtins/type.def:235
+#: builtins/type.def:236
#, c-format
msgid "%s is aliased to `%s'\n"
msgstr "%s ist ein Alias von `%s'.\n"
-#: builtins/type.def:256
+#: builtins/type.def:257
#, c-format
msgid "%s is a shell keyword\n"
msgstr "%s Ist ein reserviertes Schlüsselwort der Shell.\n"
-#: builtins/type.def:275
+#: builtins/type.def:276
#, c-format
msgid "%s is a function\n"
msgstr "%s ist eine Funktion.\n"
-#: builtins/type.def:299
+#: builtins/type.def:300
#, c-format
msgid "%s is a special shell builtin\n"
msgstr "%s ist eine spezielle eingebaute Funktion.\n"
-#: builtins/type.def:301
+#: builtins/type.def:302
#, c-format
msgid "%s is a shell builtin\n"
msgstr "%s ist eine von der Shell mitgelieferte Funktion.\n"
-#: builtins/type.def:323 builtins/type.def:408
+#: builtins/type.def:324 builtins/type.def:409
#, c-format
msgid "%s is %s\n"
msgstr "%s ist %s\n"
-#: builtins/type.def:343
+#: builtins/type.def:344
#, c-format
msgid "%s is hashed (%s)\n"
msgstr ""
-#: builtins/ulimit.def:396
+#: builtins/ulimit.def:398
#, c-format
msgid "%s: invalid limit argument"
msgstr "%s: Ungültiges Grenzwertargument."
-#: builtins/ulimit.def:422
+#: builtins/ulimit.def:424
#, c-format
msgid "`%c': bad command"
msgstr "`%c': Falsches Kommando."
-#: builtins/ulimit.def:451
+#: builtins/ulimit.def:453
#, c-format
msgid "%s: cannot get limit: %s"
msgstr "%s: Kann die nicht Grenze setzen: %s"
-#: builtins/ulimit.def:477
+#: builtins/ulimit.def:479
msgid "limit"
msgstr "Grenze"
-#: builtins/ulimit.def:489 builtins/ulimit.def:789
+#: builtins/ulimit.def:491 builtins/ulimit.def:791
#, c-format
msgid "%s: cannot modify limit: %s"
msgstr "%s: Kann die Grenze nicht ändern: %s"
@@ -949,210 +936,204 @@ msgstr "`%c': Ungültiger Operator für den symbolischen Modus."
msgid "`%c': invalid symbolic mode character"
msgstr "`%c': Ungültiges Zeichen im symbolischen Modus."
-#: error.c:89 error.c:347 error.c:349 error.c:351
+#: error.c:90 error.c:348 error.c:350 error.c:352
msgid " line "
msgstr " Zeile "
-#: error.c:164
+#: error.c:165
#, c-format
msgid "last command: %s\n"
msgstr "Letztes Kommando: %s\n"
-#: error.c:172
+#: error.c:173
#, c-format
msgid "Aborting..."
msgstr "Abbruch..."
#. TRANSLATORS: this is a prefix for informational messages.
-#: error.c:287
+#: error.c:288
#, c-format
msgid "INFORM: "
msgstr "INFO: "
-#: error.c:462
+#: error.c:463
msgid "unknown command error"
msgstr "Unbekanntes Kommando"
-#: error.c:463
+#: error.c:464
msgid "bad command type"
msgstr ""
# Programmierfehler
-#: error.c:464
+#: error.c:465
msgid "bad connector"
msgstr ""
-#: error.c:465
+#: error.c:466
msgid "bad jump"
msgstr "Falscher Sprung"
-#: error.c:503
+#: error.c:504
#, c-format
msgid "%s: unbound variable"
msgstr "%s ist nicht gesetzt."
-#: eval.c:242
+#: eval.c:209
#, c-format
msgid "\atimed out waiting for input: auto-logout\n"
msgstr "\aZu lange keine Eingabe: Automatisch ausgeloggt.\n"
-#: execute_cmd.c:536
+#: execute_cmd.c:527
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
msgstr "Kann nicht die Standardeingabe von /dev/null umleiten: %s"
-#: execute_cmd.c:1294
+#: execute_cmd.c:1275
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr "TIMEFORMAT: `%c': Ungültiges Formatzeichen."
-#: execute_cmd.c:2330
+#: execute_cmd.c:2273
#, c-format
msgid "execute_coproc: coproc [%d:%s] still exists"
msgstr ""
-#: execute_cmd.c:2456
+#: execute_cmd.c:2377
msgid "pipe error"
msgstr "Pipe-Fehler"
-#: execute_cmd.c:4624
+#: execute_cmd.c:4496
#, c-format
msgid "eval: maximum eval nesting level exceeded (%d)"
msgstr "eval: Maximale Schachtelungstiefe überschritten (%d)"
-#: execute_cmd.c:4636
+#: execute_cmd.c:4508
#, c-format
msgid "%s: maximum source nesting level exceeded (%d)"
msgstr "%s: Maximale Quellcode Schachtelungstiefe überschritten (%d)"
-#: execute_cmd.c:4742
+#: execute_cmd.c:4616
#, c-format
msgid "%s: maximum function nesting level exceeded (%d)"
msgstr "%s: maximale Funkrionsschachtelungstiefe überschritten (%d)"
-#: execute_cmd.c:5285
+#: execute_cmd.c:5144
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
msgstr "%s: Verboten: `/' ist in Kommandonamen unzulässig."
-#: execute_cmd.c:5383
+#: execute_cmd.c:5232
#, c-format
msgid "%s: command not found"
msgstr "%s: Kommando nicht gefunden."
-#: execute_cmd.c:5627
+#: execute_cmd.c:5470
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: execute_cmd.c:5665
+#: execute_cmd.c:5508
#, c-format
msgid "%s: %s: bad interpreter"
msgstr "%s: %s: Defekter Interpreter"
-#: execute_cmd.c:5702
+#: execute_cmd.c:5545
#, c-format
msgid "%s: cannot execute binary file: %s"
msgstr "%s: Kann die Binärdatei nicht ausführen: %s"
-#: execute_cmd.c:5788
+#: execute_cmd.c:5623
#, c-format
msgid "`%s': is a special builtin"
msgstr "`%s' ist eine spezielle eingebaute Funktion."
-#: execute_cmd.c:5840
+#: execute_cmd.c:5675
#, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr "Kann fd %d nicht auf fd %d verdoppeln."
-#: expr.c:263
+#: expr.c:259
msgid "expression recursion level exceeded"
msgstr "Zu viele Rekursionen in Ausdruck."
-#: expr.c:291
+#: expr.c:283
msgid "recursion stack underflow"
msgstr "Rekursionsstapel leer."
-#: expr.c:453
+#: expr.c:431
msgid "syntax error in expression"
msgstr "Syntaxfehler im Ausdruck."
-#: expr.c:497
+#: expr.c:475
msgid "attempted assignment to non-variable"
msgstr "Versuchte Zuweisung zu keiner Variablen."
-#: expr.c:506
-#, fuzzy
-msgid "syntax error in variable assignment"
-msgstr "Syntaxfehler im Ausdruck."
-
-#: expr.c:520 expr.c:886
+#: expr.c:495 expr.c:858
msgid "division by 0"
msgstr "Division durch 0."
-#: expr.c:567
+#: expr.c:542
msgid "bug: bad expassign token"
msgstr "Fehler: Falscher Zuweisungsoperator."
-#: expr.c:621
+#: expr.c:595
msgid "`:' expected for conditional expression"
msgstr "`:' für ein bedingten Ausdruck erwaret."
-#: expr.c:947
+#: expr.c:919
msgid "exponent less than 0"
msgstr "Der Exponent ist kleiner als 0."
-#: expr.c:1004
+#: expr.c:976
msgid "identifier expected after pre-increment or pre-decrement"
-msgstr ""
-"Nach einem Präinkrement oder Prädekrement wird ein Bezeichner erwartet."
+msgstr "Nach einem Präinkrement oder Prädekrement wird ein Bezeichner erwartet."
-#: expr.c:1030
+#: expr.c:1002
msgid "missing `)'"
msgstr "Fehlende `)'"
-#: expr.c:1081 expr.c:1458
+#: expr.c:1053 expr.c:1393
msgid "syntax error: operand expected"
msgstr "Syntax Fehler: Operator erwartet."
-#: expr.c:1460
+#: expr.c:1395
msgid "syntax error: invalid arithmetic operator"
msgstr "Syntaxfehler: Ungültiger arithmetischer Operator."
-#: expr.c:1484
+#: expr.c:1419
#, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
msgstr "%s%s%s: %s (Fehlerverursachendes Zeichen ist \\\"%s\\\")."
-#: expr.c:1542
+#: expr.c:1477
msgid "invalid arithmetic base"
msgstr "Ungültige Basis."
-#: expr.c:1562
+#: expr.c:1497
msgid "value too great for base"
msgstr "Der Wert ist für die aktuelle Basis zu groß."
-#: expr.c:1611
+#: expr.c:1546
#, c-format
msgid "%s: expression error\n"
msgstr "%s: Fehler im Ausdruck.\n"
-#: general.c:69
+#: general.c:68
msgid "getcwd: cannot access parent directories"
msgstr "getwd: Kann auf das übergeordnete Verzeichnis nicht zugreifen."
-#: input.c:99 subst.c:5858
+#: input.c:102 subst.c:5858
#, 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:266
+#: input.c:271
#, 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:274
+#: input.c:279
#, 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."
@@ -1161,165 +1142,159 @@ msgstr "save_bash_input: Es existiert bereits ein Puffer für den neuen fd %d."
msgid "start_pipeline: pgrp pipe"
msgstr "start_pipeline: pgrp pipe"
-#: jobs.c:1080
+#: jobs.c:1035
#, c-format
msgid "forked pid %d appears in running job %d"
msgstr "Die geforkte PID %d erscheint im laufenden Prozess %d."
-#: jobs.c:1199
+#: jobs.c:1154
#, c-format
msgid "deleting stopped job %d with process group %ld"
msgstr "Lösche den gestoppten Prozess %d der Prozessgruppe %ld."
-#: jobs.c:1303
+#: jobs.c:1258
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
msgstr ""
-#: jobs.c:1306
+#: jobs.c:1261
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
msgstr ""
# Programmierfehler
-#: jobs.c:1635
+#: jobs.c:1590
#, c-format
msgid "describe_pid: %ld: no such pid"
msgstr "describe_pid: %ld: Prozessnummer existiert nicht."
-#: jobs.c:1650
+#: jobs.c:1605
#, c-format
msgid "Signal %d"
msgstr "Signal %d"
-#: jobs.c:1664 jobs.c:1690
+#: jobs.c:1619 jobs.c:1645
msgid "Done"
msgstr "Fertig"
-#: jobs.c:1669 siglist.c:123
+#: jobs.c:1624 siglist.c:123
msgid "Stopped"
msgstr "Angehalten"
-#: jobs.c:1673
+#: jobs.c:1628
#, c-format
msgid "Stopped(%s)"
msgstr "Angehalten(%s)"
-#: jobs.c:1677
+#: jobs.c:1632
msgid "Running"
msgstr "Läuft"
-#: jobs.c:1694
+#: jobs.c:1649
#, c-format
msgid "Done(%d)"
msgstr "Fertig(%d)"
-#: jobs.c:1696
+#: jobs.c:1651
#, c-format
msgid "Exit %d"
msgstr "Exit %d"
-#: jobs.c:1699
+#: jobs.c:1654
msgid "Unknown status"
msgstr "Unbekannter Status"
-#: jobs.c:1786
+#: jobs.c:1741
#, c-format
msgid "(core dumped) "
msgstr "(Speicherabzug geschrieben) "
-#: jobs.c:1805
+#: jobs.c:1760
#, c-format
msgid " (wd: %s)"
msgstr " (wd: %s)"
# interner Fehler
-#: jobs.c:2033
+#: jobs.c:1985
#, c-format
msgid "child setpgid (%ld to %ld)"
msgstr ""
-#: jobs.c:2395 nojobs.c:657
+#: jobs.c:2347 nojobs.c:654
#, c-format
msgid "wait: pid %ld is not a child of this shell"
msgstr "wait: Prozess %ld wurde nicht von dieser Shell gestartet."
-#: jobs.c:2687
+#: jobs.c:2602
#, c-format
msgid "wait_for: No record of process %ld"
msgstr ""
-#: jobs.c:3048
+#: jobs.c:2929
#, c-format
msgid "wait_for_job: job %d is stopped"
msgstr "wait_for_job: Der Job %d ist gestoppt."
-#: jobs.c:3355
+#: jobs.c:3221
#, c-format
msgid "%s: job has terminated"
msgstr "%s: Der Job ist beendet."
-#: jobs.c:3364
+#: jobs.c:3230
#, c-format
msgid "%s: job %d already in background"
msgstr "%s: Der Job %d läuft bereits im Hintergrund."
-#: jobs.c:3590
+#: jobs.c:3455
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
msgstr ""
# Debug Ausgabe
-#: jobs.c:4114
+#: jobs.c:3970
#, c-format
msgid "%s: line %d: "
msgstr "%s: Zeile %d: "
-#: jobs.c:4128 nojobs.c:900
+#: jobs.c:3984 nojobs.c:897
#, c-format
msgid " (core dumped)"
msgstr " (Speicherabzug geschrieben)"
-#: jobs.c:4140 jobs.c:4153
+#: jobs.c:3996 jobs.c:4009
#, c-format
msgid "(wd now: %s)\n"
msgstr "(gegenwärtiges Arbeitsverzeichnis ist: %s)\n"
# interner Fehler
-#: jobs.c:4185
+#: jobs.c:4041
msgid "initialize_job_control: getpgrp failed"
msgstr "initialize_jobs: getpgrp war nicht erfolgreich."
# interner Fehler
-#: jobs.c:4241
-#, fuzzy
-msgid "initialize_job_control: no job control in background"
-msgstr "initialize_job_control: line discipline"
-
-# interner Fehler
-#: jobs.c:4257
+#: jobs.c:4104
msgid "initialize_job_control: line discipline"
msgstr "initialize_job_control: line discipline"
# interner Fehler
-#: jobs.c:4267
+#: jobs.c:4114
msgid "initialize_job_control: setpgid"
msgstr "initialize_job_control: setpgid"
-#: jobs.c:4288 jobs.c:4297
+#: jobs.c:4135 jobs.c:4144
#, c-format
msgid "cannot set terminal process group (%d)"
msgstr "Kann die Prozessgruppe des Terminals nicht setzen (%d)."
-#: jobs.c:4302
+#: jobs.c:4149
msgid "no job control in this shell"
msgstr "Keine Job Steuerung in dieser Shell."
-#: lib/malloc/malloc.c:306
+#: lib/malloc/malloc.c:296
#, c-format
msgid "malloc: failed assertion: %s\n"
msgstr "malloc: Speicherzusicherung gescheitert: %s.\n"
-#: lib/malloc/malloc.c:322
+#: lib/malloc/malloc.c:312
#, c-format
msgid ""
"\r\n"
@@ -1328,63 +1303,56 @@ msgstr ""
"\\r\n"
"malloc: %s:%d: Speicherzusicherung verpfuscht\\r\n"
-#: lib/malloc/malloc.c:323
+#: lib/malloc/malloc.c:313
msgid "unknown"
msgstr "Unbekannt"
-#: lib/malloc/malloc.c:811
+#: lib/malloc/malloc.c:801
msgid "malloc: block on free list clobbered"
-msgstr ""
-"Malloc: Ein frei gekennzeichneter Speicherbereich wurde überschrieben."
+msgstr "Malloc: Ein frei gekennzeichneter Speicherbereich wurde überschrieben."
-#: lib/malloc/malloc.c:888
+#: lib/malloc/malloc.c:878
msgid "free: called with already freed block argument"
msgstr "free: Wurde für bereits freigegebenen Speicherbereich aufgerufen."
-#: lib/malloc/malloc.c:891
+#: lib/malloc/malloc.c:881
msgid "free: called with unallocated block argument"
msgstr "free: Wurde für nicht zugeordneten Speicherbereich aufgerufen."
-#: lib/malloc/malloc.c:910
+#: lib/malloc/malloc.c:900
msgid "free: underflow detected; mh_nbytes out of range"
msgstr "free: Underflow erkannt; mh_nbytes außerhalb des Gültigkeitsbereichs."
-#: lib/malloc/malloc.c:916
+#: lib/malloc/malloc.c:906
msgid "free: start and end chunk sizes differ"
msgstr "free: Beginn und Ende Segmentgrößen sind unterschiedlich."
-#: lib/malloc/malloc.c:1015
+#: lib/malloc/malloc.c:1005
msgid "realloc: called with unallocated block argument"
msgstr "realloc: Mit nicht zugewiesenen Argument aufgerufen."
-#: lib/malloc/malloc.c:1030
+#: lib/malloc/malloc.c:1020
msgid "realloc: underflow detected; mh_nbytes out of range"
-msgstr ""
-"realloc: Underflow erkannt; mh_nbytes außerhalb des Gültigkeitsbereichs."
+msgstr "realloc: Underflow erkannt; mh_nbytes außerhalb des Gültigkeitsbereichs."
-#: lib/malloc/malloc.c:1036
+#: lib/malloc/malloc.c:1026
msgid "realloc: start and end chunk sizes differ"
msgstr "realloc: Beginn und Ende Segmentgrößen sind unterschiedlich.<"
#: lib/malloc/table.c:191
#, c-format
msgid "register_alloc: alloc table is full with FIND_ALLOC?\n"
-msgstr ""
-"register_alloc: Speicherzuordnungstabelle ist mit FIND_ALLOC gefüllt?\n"
+msgstr "register_alloc: Speicherzuordnungstabelle ist mit FIND_ALLOC gefüllt?\n"
#: lib/malloc/table.c:200
#, c-format
msgid "register_alloc: %p already in table as allocated?\n"
-msgstr ""
-"register_alloc: %p ist bereits in der Speicherzuordnungstabelle als belegt "
-"gekennzeichnet?\n"
+msgstr "register_alloc: %p ist bereits in der Speicherzuordnungstabelle als belegt gekennzeichnet?\n"
#: lib/malloc/table.c:253
#, c-format
msgid "register_free: %p already in table as free?\n"
-msgstr ""
-"register_free: %p ist bereits in der Speicherzuordnungstabelle als frei "
-"gekennzeichnet?\n"
+msgstr "register_free: %p ist bereits in der Speicherzuordnungstabelle als frei gekennzeichnet?\n"
#: lib/sh/fmtulong.c:102
msgid "invalid base"
@@ -1409,22 +1377,22 @@ msgstr "%s: Fehlerhafte Netzwerkspfadangabe."
msgid "network operations not supported"
msgstr "Der Netzwerkbetrieb ist nicht unterstützt."
-#: locale.c:205
+#: locale.c:200
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s)"
msgstr "setlocale: LC_ALL: Kann die Locale nicht ändern (%s)."
-#: locale.c:207
+#: locale.c:202
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
msgstr "setlocale: LC_ALL: Kann die Locale nicht ändern (%s): %s"
-#: locale.c:272
+#: locale.c:259
#, c-format
msgid "setlocale: %s: cannot change locale (%s)"
msgstr "setlocale: %s: Kann die Standorteinstellungen nicht ändern (%s)."
-#: locale.c:274
+#: locale.c:261
#, c-format
msgid "setlocale: %s: cannot change locale (%s): %s"
msgstr "setlocale: %s: Kann nicht die Locale ändern (%s): %s"
@@ -1443,151 +1411,147 @@ msgstr "Sie haben neue Post in $_."
msgid "The mail in %s has been read\n"
msgstr "Die Post in %s wurde bereits gelesen.\n"
-#: make_cmd.c:317
+#: make_cmd.c:329
msgid "syntax error: arithmetic expression required"
msgstr "Syntaxfehler: Es wird ein arithmetischer Ausdruck benötigt."
-#: make_cmd.c:319
+#: make_cmd.c:331
msgid "syntax error: `;' unexpected"
msgstr "Syntax Fehler: unerwartetes `;'."
-#: make_cmd.c:320
+#: make_cmd.c:332
#, c-format
msgid "syntax error: `((%s))'"
msgstr "Syntax Fehler: `((%s))'."
# interner Fehler
-#: make_cmd.c:572
+#: make_cmd.c:584
#, c-format
msgid "make_here_document: bad instruction type %d"
msgstr "make_here_document: Falscher Befehlstyp %d."
-#: make_cmd.c:657
+#: make_cmd.c:669
#, c-format
msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
-msgstr ""
-"Das in der Zeile %d beginnende Here-Dokument geht bis zum Dateiende "
-"(erwartet wird `%s')."
+msgstr "Das in der Zeile %d beginnende Here-Dokument geht bis zum Dateiende (erwartet wird `%s')."
-#: make_cmd.c:756
+#: make_cmd.c:768
#, c-format
msgid "make_redirection: redirection instruction `%d' out of range"
msgstr ""
-#: parse.y:2369
+#: parse.y:2324
#, c-format
-msgid ""
-"shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line "
-"truncated"
+msgid "shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line truncated"
msgstr ""
-#: parse.y:2772
+#: parse.y:2700
msgid "maximum here-document count exceeded"
msgstr ""
-#: parse.y:3511 parse.y:3881
+#: parse.y:3390 parse.y:3748
#, c-format
msgid "unexpected EOF while looking for matching `%c'"
msgstr "Dateiende beim Suchen nach `%c' erreicht."
-#: parse.y:4581
+#: parse.y:4410
msgid "unexpected EOF while looking for `]]'"
msgstr "Dateiende beim Suchen nach `]]' erreicht."
-#: parse.y:4586
+#: parse.y:4415
#, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
msgstr "Syntaxfehler im bedingten Ausdruck: Unerwartetes Zeichen `%s'."
-#: parse.y:4590
+#: parse.y:4419
msgid "syntax error in conditional expression"
msgstr "Syntaxfehler im bedingen Ausdruck."
-#: parse.y:4668
+#: parse.y:4497
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr "Unerwartetes Zeichen: `%s' anstatt von `)'"
-#: parse.y:4672
+#: parse.y:4501
msgid "expected `)'"
msgstr "`)' erwartet."
-#: parse.y:4700
+#: parse.y:4529
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr ""
-#: parse.y:4704
+#: parse.y:4533
msgid "unexpected argument to conditional unary operator"
msgstr ""
-#: parse.y:4750
+#: parse.y:4579
#, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr ""
-#: parse.y:4754
+#: parse.y:4583
msgid "conditional binary operator expected"
msgstr ""
-#: parse.y:4776
+#: parse.y:4605
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr ""
-#: parse.y:4780
+#: parse.y:4609
msgid "unexpected argument to conditional binary operator"
msgstr ""
-#: parse.y:4791
+#: parse.y:4620
#, c-format
msgid "unexpected token `%c' in conditional command"
msgstr ""
-#: parse.y:4794
+#: parse.y:4623
#, c-format
msgid "unexpected token `%s' in conditional command"
msgstr ""
-#: parse.y:4798
+#: parse.y:4627
#, c-format
msgid "unexpected token %d in conditional command"
msgstr ""
-#: parse.y:6220
+#: parse.y:5996
#, c-format
msgid "syntax error near unexpected token `%s'"
msgstr "Syntaxfehler beim unerwarteten Wort `%s'"
-#: parse.y:6238
+#: parse.y:6014
#, c-format
msgid "syntax error near `%s'"
msgstr "Syntaxfehler beim unerwarteten Wort `%s'"
-#: parse.y:6248
+#: parse.y:6024
msgid "syntax error: unexpected end of file"
msgstr "Syntax Fehler: Unerwartetes Dateiende."
-#: parse.y:6248
+#: parse.y:6024
msgid "syntax error"
msgstr "Syntax Fehler"
# Du oder Sie?
-#: parse.y:6310
+#: parse.y:6086
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr "Benutze \"%s\" um die Shell zu verlassen.\n"
-#: parse.y:6472
+#: parse.y:6248
msgid "unexpected EOF while looking for matching `)'"
msgstr "Dateiende beim Suchen nach passender `)' erreicht."
-#: pcomplete.c:1132
+#: pcomplete.c:1126
#, c-format
msgid "completion: function `%s' not found"
msgstr ""
-#: pcomplete.c:1722
+#: pcomplete.c:1646
#, c-format
msgid "programmable_completion: %s: possible retry loop"
msgstr ""
@@ -1597,113 +1561,109 @@ msgstr ""
msgid "progcomp_insert: %s: NULL COMPSPEC"
msgstr ""
-#: print_cmd.c:300
+#: print_cmd.c:302
#, c-format
msgid "print_command: bad connector `%d'"
msgstr "print_command: Falsches Verbindungszeichen `%d'."
-#: print_cmd.c:373
+#: print_cmd.c:375
#, c-format
msgid "xtrace_set: %d: invalid file descriptor"
msgstr "xtrace_set: %d: Ungültige Dateibeschreibung."
-#: print_cmd.c:378
+#: print_cmd.c:380
msgid "xtrace_set: NULL file pointer"
msgstr ""
-#: print_cmd.c:382
+#: print_cmd.c:384
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
msgstr ""
-#: print_cmd.c:1538
+#: print_cmd.c:1534
#, c-format
msgid "cprintf: `%c': invalid format character"
msgstr ""
-#: redir.c:121 redir.c:167
+#: redir.c:124 redir.c:171
msgid "file descriptor out of range"
msgstr ""
-#: redir.c:174
+#: redir.c:178
#, c-format
msgid "%s: ambiguous redirect"
msgstr "%s: Mehrdeutige Umlenkung."
-#: redir.c:178
+#: redir.c:182
#, c-format
msgid "%s: cannot overwrite existing file"
msgstr "%s: Kann existierende Datei nicht überschreiben."
-#: redir.c:183
+#: redir.c:187
#, c-format
msgid "%s: restricted: cannot redirect output"
msgstr "%s: Gesperrt: Die Ausgabe darf nicht umgeleitet werden."
-#: redir.c:188
+#: redir.c:192
#, c-format
msgid "cannot create temp file for here-document: %s"
msgstr "Kann die temporäre Datei für das Hier Dokument nicht anlegen: %s"
-#: redir.c:192
+#: redir.c:196
#, c-format
msgid "%s: cannot assign fd to variable"
msgstr "%s: Kann fd keiner Variable zuweisen."
-#: redir.c:588
+#: redir.c:586
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr "/dev/(tcp|udp)/host/port Wird ohne Netzwerk nicht unterstützt"
-#: redir.c:870 redir.c:985 redir.c:1046 redir.c:1211
+#: redir.c:868 redir.c:983 redir.c:1044 redir.c:1209
msgid "redirection error: cannot duplicate fd"
msgstr ""
-#: shell.c:343
+#: shell.c:347
msgid "could not find /tmp, please create!"
msgstr "Konnte das /tmp Verzeichnis nicht finden, bitte anlegen."
-#: shell.c:347
+#: shell.c:351
msgid "/tmp must be a valid directory name"
msgstr "/tmp muss ein gültiger Verzeichnisname sein."
-#: shell.c:798
-msgid "pretty-printing mode ignored in interactive shells"
-msgstr ""
-
-#: shell.c:940
+#: shell.c:927
#, c-format
msgid "%c%c: invalid option"
msgstr "%c%c: Ungültige Option"
-#: shell.c:1299
+#: shell.c:1282
#, c-format
msgid "cannot set uid to %d: effective uid %d"
msgstr "Konnte nicht die uid in %d ändern: Die geltende uid ist %d"
-#: shell.c:1306
+#: shell.c:1289
#, c-format
msgid "cannot set gid to %d: effective gid %d"
msgstr "Konnte nicht die gid in %d ändern: Die geltende gid ist %d"
-#: shell.c:1494
+#: shell.c:1458
msgid "cannot start debugger; debugging mode disabled"
msgstr "Kann keinen Debugger starten. Der Debugmodus ist gesperrt."
-#: shell.c:1608
+#: shell.c:1566
#, c-format
msgid "%s: Is a directory"
msgstr "%s: Ist ein Verzeichnis."
-#: shell.c:1826
+#: shell.c:1777
msgid "I have no name!"
msgstr "Ich habe keinen Benutzernamen!"
-#: shell.c:1980
+#: shell.c:1930
#, c-format
msgid "GNU bash, version %s-(%s)\n"
msgstr "GNU bash, Version %s-(%s)\n"
-#: shell.c:1981
+#: shell.c:1931
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
@@ -1712,50 +1672,49 @@ msgstr ""
"Aufruf:\t%s [Lange GNU Option] [Option] ...\n"
"\t\t%s [Lange GNU Option] [Option] Script-Datei ...\n"
-#: shell.c:1983
+#: shell.c:1933
msgid "GNU long options:\n"
msgstr "Lange GNU Optionen:\n"
-#: shell.c:1987
+#: shell.c:1937
msgid "Shell options:\n"
msgstr "Shell-Optionen:\n"
-#: shell.c:1988
+#: shell.c:1938
msgid "\t-ilrsD or -c command or -O shopt_option\t\t(invocation only)\n"
-msgstr ""
-"\t-ilrsD oder -c Kommando\toder -O shopt_option (Nur Aufruf)\n"
+msgstr "\t-ilrsD oder -c Kommando\toder -O shopt_option (Nur Aufruf)\n"
-#: shell.c:2003
+#: shell.c:1953
#, c-format
msgid "\t-%s or -o option\n"
msgstr "\t-%s oder Option -o\n"
-#: shell.c:2009
+#: shell.c:1959
#, 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:2010
+#: shell.c:1960
#, 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:2011
+#: shell.c:1961
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
msgstr "Mit dem `bashbug' Kommando können Fehler gemeldet werden.\n"
-#: shell.c:2013
+#: shell.c:1963
#, c-format
msgid "bash home page: <http://www.gnu.org/software/bash>\n"
msgstr "Bash Homepage: <http://www.gnu.org/software/bash>\n"
-#: shell.c:2014
+#: shell.c:1964
#, c-format
msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
msgstr "Allgemeine Hilfe für GNU Software: <http://www.gnu.org/gethelp/>\n"
-#: sig.c:695
+#: sig.c:707
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr "sigprocmask: %d: Ungültige Operation"
@@ -1929,21 +1888,21 @@ msgstr "Unbekannte Signalnummer."
msgid "Unknown Signal #%d"
msgstr "Unbekanntes Signal Nr.: %d."
-#: subst.c:1450 subst.c:1641
+#: subst.c:1445 subst.c:1608
#, c-format
msgid "bad substitution: no closing `%s' in %s"
msgstr "Falsche Ersetzung: Keine schließende `%s' in `%s' enthalten."
-#: subst.c:3209
+#: subst.c:3154
#, c-format
msgid "%s: cannot assign list to array member"
msgstr "%s: Kann einem Feldelement keine Liste zuweisen."
-#: subst.c:5734 subst.c:5750
+#: subst.c:5740 subst.c:5756
msgid "cannot make pipe for process substitution"
msgstr "Kann keine Pipe für die Prozessersetzung erzeugen."
-#: subst.c:5796
+#: subst.c:5798
msgid "cannot make child for process substitution"
msgstr "Kann den Kindsprozess für die Prozessersetzung nicht erzeugen."
@@ -1962,78 +1921,69 @@ msgstr "Kann nicht die benannte Pipe %s zum schreiben öffnen."
msgid "cannot duplicate named pipe %s as fd %d"
msgstr "Kann die benannte Pipe %s nicht auf fd %d."
-#: subst.c:5990
+#: subst.c:5959
msgid "command substitution: ignored null byte in input"
msgstr "Kommansosubstitution: NULL byte in der Eingabe ignoriert."
-#: subst.c:6121
+#: subst.c:6083
msgid "cannot make pipe for command substitution"
msgstr "Kann keine Pipes für Kommandoersetzung erzeugen."
-#: subst.c:6164
+#: subst.c:6127
msgid "cannot make child for command substitution"
msgstr "Kann keinen Unterprozess für die Kommandoersetzung erzeugen."
# interner Fehler
-#: subst.c:6190
+#: subst.c:6153
msgid "command_substitute: cannot duplicate pipe as fd 1"
msgstr "Kommandosubstitution: Kann Pipe nicht als fd 1 duplizieren."
-#: subst.c:6641 subst.c:9483
+#: subst.c:6580 subst.c:8939
#, c-format
msgid "%s: invalid variable name for name reference"
msgstr ""
-#: subst.c:6737 subst.c:6755 subst.c:6903
+#: subst.c:6666 subst.c:8351 subst.c:8371
+#, c-format
+msgid "%s: bad substitution"
+msgstr "%s: Falsche Substitution."
+
+#: subst.c:6800
#, c-format
msgid "%s: invalid indirect expansion"
msgstr "%s: Ungültige indirekte Expansion"
-#: subst.c:6771 subst.c:6910
+#: subst.c:6807
#, c-format
msgid "%s: invalid variable name"
msgstr "`%s': Ungültiger Variablenname."
-#: subst.c:6962
-#, fuzzy, c-format
-msgid "%s: parameter not set"
-msgstr "%s: Parameter ist Null oder nicht gesetzt."
-
-#: subst.c:6964
+#: subst.c:6854
#, c-format
msgid "%s: parameter null or not set"
msgstr "%s: Parameter ist Null oder nicht gesetzt."
# interner Fehler
-#: subst.c:7201 subst.c:7216
+#: subst.c:7089 subst.c:7104
#, c-format
msgid "%s: substring expression < 0"
msgstr "%s: Teilstring-Ausdruck < 0."
-#: subst.c:8839 subst.c:8860
-#, c-format
-msgid "%s: bad substitution"
-msgstr "%s: Falsche Substitution."
-
-#: subst.c:8948
+#: subst.c:8450
#, c-format
msgid "$%s: cannot assign in this way"
msgstr "$%s: Kann so nicht zuweisen."
-#: subst.c:9346
-msgid ""
-"future versions of the shell will force evaluation as an arithmetic "
-"substitution"
-msgstr ""
-"Zukünftige Versionen dieser Shell werden das Auswerten arithmetischer "
-"Ersetzungen erzwingen."
+#: subst.c:8802
+msgid "future versions of the shell will force evaluation as an arithmetic substitution"
+msgstr "Zukünftige Versionen dieser Shell werden das Auswerten arithmetischer Ersetzungen erzwingen."
-#: subst.c:9903
+#: subst.c:9349
#, c-format
msgid "bad substitution: no closing \"`\" in %s"
msgstr "Falsche Ersetzung: Keine schließende \"`\" in %s."
-#: subst.c:10907
+#: subst.c:10298
#, c-format
msgid "no match: %s"
msgstr "Keine Entsprechung: %s"
@@ -2056,107 +2006,106 @@ msgstr "`)' erwartet."
msgid "`)' expected, found %s"
msgstr "`)' erwartet, %s gefunden."
-#: test.c:282 test.c:748 test.c:751
+#: test.c:282 test.c:744 test.c:747
#, c-format
msgid "%s: unary operator expected"
msgstr "%s: Einstelliger (unärer) Operator erwartet."
-#: test.c:469 test.c:791
+#: test.c:469 test.c:787
#, c-format
msgid "%s: binary operator expected"
msgstr "%s: Zweistelliger (binärer) Operator erwartet."
-#: test.c:873
+#: test.c:869
msgid "missing `]'"
msgstr "Fehlende `]'"
-#: trap.c:216
+#: trap.c:224
msgid "invalid signal number"
msgstr "Ungültige Signalnummer."
-#: trap.c:379
+#: trap.c:387
#, c-format
msgid "run_pending_traps: bad value in trap_list[%d]: %p"
msgstr "run_pending_traps: Ungültiger Wert in trap_list[%d]: %p"
-#: trap.c:383
+#: trap.c:391
#, c-format
-msgid ""
-"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
+msgid "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
msgstr ""
# Programmierfehler
-#: trap.c:439
+#: trap.c:447
#, c-format
msgid "trap_handler: bad signal %d"
msgstr "trap_handler: Falsches Signal %d."
-#: variables.c:399
+#: variables.c:409
#, c-format
msgid "error importing function definition for `%s'"
msgstr "Fehler beim Importieren der Funktionsdefinition für `%s'."
-#: variables.c:801
+#: variables.c:814
#, c-format
msgid "shell level (%d) too high, resetting to 1"
msgstr "Der Shell Level (%d) ist zu hoch und wird auf 1 zurückgesetzt."
-#: variables.c:2512
+#: variables.c:2413
msgid "make_local_variable: no function context at current scope"
msgstr ""
-#: variables.c:2531
+#: variables.c:2432
#, c-format
msgid "%s: variable may not be assigned value"
msgstr "%s: Der Variable könnte kein Wert zugewiesen sein."
-#: variables.c:3246
+#: variables.c:3043
#, c-format
msgid "%s: assigning integer to name reference"
msgstr ""
-#: variables.c:4149
+#: variables.c:3940
msgid "all_local_variables: no function context at current scope"
msgstr ""
-#: variables.c:4437
+#: variables.c:4218
#, c-format
msgid "%s has null exportstr"
msgstr ""
-#: variables.c:4442 variables.c:4451
+#: variables.c:4223 variables.c:4232
#, c-format
msgid "invalid character %d in exportstr for %s"
msgstr ""
-#: variables.c:4457
+#: variables.c:4238
#, c-format
msgid "no `=' in exportstr for %s"
msgstr ""
-#: variables.c:4911
+#: variables.c:4684
msgid "pop_var_context: head of shell_variables not a function context"
msgstr ""
-#: variables.c:4924
+#: variables.c:4697
msgid "pop_var_context: no global_variables context"
msgstr ""
-#: variables.c:4999
+#: variables.c:4772
msgid "pop_scope: head of shell_variables not a temporary environment scope"
msgstr ""
-#: variables.c:5862
+#: variables.c:5619
#, c-format
msgid "%s: %s: cannot open as FILE"
msgstr "%s: %s: Kann nicht als Datei geöffnet werden."
-#: variables.c:5867
+#: variables.c:5624
#, c-format
msgid "%s: %s: invalid value for trace file descriptor"
msgstr ""
-#: variables.c:5912
+#: variables.c:5669
#, c-format
msgid "%s: %s: compatibility value out of range"
msgstr "%s: %s: Kompatibilitätswert außerhalb des Gültigkeitsbereiches."
@@ -2166,12 +2115,8 @@ msgid "Copyright (C) 2016 Free Software Foundation, Inc."
msgstr "Copyright (C) 2016 Free Software Foundation, Inc."
#: version.c:47 version2.c:47
-msgid ""
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>\n"
-msgstr ""
-"Lizenz GPLv3+: GNU GPL Version 3 oder jünger <http://gnu.org/licenses/gpl."
-"html>\n"
+msgid "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+msgstr "Lizenz GPLv3+: GNU GPL Version 3 oder jünger <http://gnu.org/licenses/gpl.html>\n"
#: version.c:86 version2.c:86
#, c-format
@@ -2186,22 +2131,22 @@ msgstr "Dies ist freie Software. Sie darf verändert und verteilt werden."
msgid "There is NO WARRANTY, to the extent permitted by law."
msgstr "Es wird keine Garantie gewährt, soweit das Gesetz es zulässt."
-#: xmalloc.c:93
+#: xmalloc.c:91
#, c-format
msgid "%s: cannot allocate %lu bytes (%lu bytes allocated)"
msgstr "%s: Konnte nicht %lu Bytes reservieren (%lu bytes reserviert)."
-#: xmalloc.c:95
+#: xmalloc.c:93
#, c-format
msgid "%s: cannot allocate %lu bytes"
msgstr "%s: Konnte nicht %lu Bytes reservieren."
-#: xmalloc.c:165
+#: xmalloc.c:163
#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
msgstr "%s: %s:%d: Konnte nicht %lu Bytes reservieren (%lu bytes reserviert)."
-#: xmalloc.c:167
+#: xmalloc.c:165
#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes"
msgstr "%s: %s:%d: Konnte nicht %lu Bytes reservieren."
@@ -2215,13 +2160,10 @@ msgid "unalias [-a] name [name ...]"
msgstr "unalias [-a] Name [Name ...]"
#: builtins.c:53
-msgid ""
-"bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-"
-"x keyseq:shell-command] [keyseq:readline-function or readline-command]"
+msgid "bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-x keyseq:shell-command] [keyseq:readline-function or readline-command]"
msgstr ""
"bind [-lpsvPSVX] [-m Tastaturtabelle] [-f Dateiname] [-q Name] [-u\n"
-"Name] [-r Tastenfolge] [-x Tastenfolge:Shell Kommando] [Tastenfolge:readline-"
-"Funktion oder -Kommando]"
+"Name] [-r Tastenfolge] [-x Tastenfolge:Shell Kommando] [Tastenfolge:readline-Funktion oder -Kommando]"
#: builtins.c:56
msgid "break [n]"
@@ -2298,9 +2240,7 @@ msgstr "logout [n]"
#: builtins.c:105
msgid "fc [-e ename] [-lnr] [first] [last] or fc -s [pat=rep] [command]"
-msgstr ""
-"fc [-e Editor] [-lnr] [Anfang] [Ende] oder fc -s [Muster=Ersetzung] "
-"[Kommando]"
+msgstr "fc [-e Editor] [-lnr] [Anfang] [Ende] oder fc -s [Muster=Ersetzung] [Kommando]"
#: builtins.c:109
msgid "fg [job_spec]"
@@ -2319,12 +2259,8 @@ msgid "help [-dms] [pattern ...]"
msgstr "help [-dms] [Muster ...]"
#: builtins.c:123
-msgid ""
-"history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg "
-"[arg...]"
-msgstr ""
-"history [-c] [-d Offset] [n] oder history -anrw [Dateiname] oder history -ps "
-"Argument [Argument...]"
+msgid "history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]"
+msgstr "history [-c] [-d Offset] [n] oder history -anrw [Dateiname] oder history -ps Argument [Argument...]"
#: builtins.c:127
msgid "jobs [-lnprs] [jobspec ...] or jobs -x command [args]"
@@ -2335,24 +2271,16 @@ msgid "disown [-h] [-ar] [jobspec ... | pid ...]"
msgstr "disown [-h] [-ar] [Jobbezeichnung ... | pid ...]"
#: builtins.c:134
-msgid ""
-"kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l "
-"[sigspec]"
-msgstr ""
-"kill [-s Signalname | -n Signalnummer | -Signalname] pid | jobspec ... oder "
-"kill -l [Signalname]"
+msgid "kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]"
+msgstr "kill [-s Signalname | -n Signalnummer | -Signalname] pid | jobspec ... oder kill -l [Signalname]"
#: builtins.c:136
msgid "let arg [arg ...]"
msgstr "let Argument [Argument ...]"
#: builtins.c:138
-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] [-N "
-"Zeichenanzahl] [-p Prompt] [-t Zeitlimit] [-u fd] [Name ...]"
+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] [-N Zeichenanzahl] [-p Prompt] [-t Zeitlimit] [-u fd] [Name ...]"
#: builtins.c:140
msgid "return [n]"
@@ -2415,8 +2343,7 @@ msgid "umask [-p] [-S] [mode]"
msgstr "umask [-p] [-S] [Modus]"
#: builtins.c:177
-#, fuzzy
-msgid "wait [-fn] [id ...]"
+msgid "wait [-n] [id ...]"
msgstr "wait [-n] [id ...]"
#: builtins.c:181
@@ -2444,12 +2371,8 @@ msgid "case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac"
msgstr "case Wort in [Muster [| Muster]...) Kommandos ;;]... esac"
#: builtins.c:194
-msgid ""
-"if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else "
-"COMMANDS; ] fi"
-msgstr ""
-"if Kommandos; then Kommandos; [ elif Kommandos; then Kommandos; ]... [ else "
-"Kommandos; ] fi"
+msgid "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMMANDS; ] fi"
+msgstr "if Kommandos; then Kommandos; [ elif Kommandos; then Kommandos; ]... [ else Kommandos; ] fi"
#: builtins.c:196
msgid "while COMMANDS; do COMMANDS; done"
@@ -2508,44 +2431,24 @@ msgid "printf [-v var] format [arguments]"
msgstr "printf [-v var] Format [Argumente]"
#: builtins.c:231
-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 Option] [-A Aktion] [-G Suchmuster] "
-"[-W Wortliste] [-F Funktion] [-C Kommando] [-X Filtermuster] [-P Prefix] [-"
-"S Suffix] [Name ...]"
+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 Option] [-A Aktion] [-G Suchmuster] [-W Wortliste] [-F Funktion] [-C Kommando] [-X Filtermuster] [-P Prefix] [-S Suffix] [Name ...]"
#: builtins.c:235
-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 Aktion] [-G Suchmuster] [-W "
-"Wortliste] [-F Funktion] [-C Kommando] [-X Filtermuster] [-P Prefix] [-S "
-"Suffix] [Wort]"
+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 Aktion] [-G Suchmuster] [-W Wortliste] [-F Funktion] [-C Kommando] [-X Filtermuster] [-P Prefix] [-S Suffix] [Wort]"
#: builtins.c:239
msgid "compopt [-o|+o option] [-DE] [name ...]"
msgstr "compopt [-o|+o Option] [-DE] [Name ...]"
#: builtins.c:242
-msgid ""
-"mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
-msgstr ""
-"mapfile [-d Begrenzer] [-n Anzahl] [-O Quelle] [-s Anzahl] [-t] [-u fd] [-C "
-"Callback] [-c Menge] [Feldvariable]"
+msgid "mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
+msgstr "mapfile [-d Begrenzer] [-n Anzahl] [-O Quelle] [-s Anzahl] [-t] [-u fd] [-C Callback] [-c Menge] [Feldvariable]"
#: builtins.c:244
-#, fuzzy
-msgid ""
-"readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
-msgstr ""
-"readarray [-n Anzahl] [-O Quelle] [-s Anzahl] [-t] [-u fd] [-C Callback] [-c "
-"Menge] [Feldvariable]"
+msgid "readarray [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
+msgstr "readarray [-n Anzahl] [-O Quelle] [-s Anzahl] [-t] [-u fd] [-C Callback] [-c Menge] [Feldvariable]"
# alias
#: builtins.c:256
@@ -2563,8 +2466,7 @@ msgid ""
" -p\tprint all defined aliases in a reusable format\n"
" \n"
" Exit Status:\n"
-" alias returns true unless a NAME is supplied for which no alias has "
-"been\n"
+" alias returns true unless a NAME is supplied for which no alias has been\n"
" defined."
msgstr ""
"Definiert Aliase oder zeigt sie an.\n"
@@ -2614,30 +2516,25 @@ msgid ""
" Options:\n"
" -m keymap Use KEYMAP as the keymap for the duration of this\n"
" command. Acceptable keymap names are emacs,\n"
-" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-"
-"move,\n"
+" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,\n"
" vi-command, and vi-insert.\n"
" -l List names of functions.\n"
" -P List function names and bindings.\n"
" -p List functions and bindings in a form that can be\n"
" reused as input.\n"
-" -S List key sequences that invoke macros and their "
-"values\n"
-" -s List key sequences that invoke macros and their "
-"values\n"
+" -S List key sequences that invoke macros and their values\n"
+" -s List key sequences that invoke macros and their values\n"
" in a form that can be reused as input.\n"
" -V List variable names and values\n"
" -v List variable names and values in a form that can\n"
" be reused as input.\n"
" -q function-name Query about which keys invoke the named function.\n"
-" -u function-name Unbind all keys which are bound to the named "
-"function.\n"
+" -u function-name Unbind all keys which are bound to the named function.\n"
" -r keyseq Remove the binding for KEYSEQ.\n"
" -f filename Read key bindings from FILENAME.\n"
" -x keyseq:shell-command\tCause SHELL-COMMAND to be executed when\n"
" \t\t\t\tKEYSEQ is entered.\n"
-" -X List key sequences bound with -x and associated "
-"commands\n"
+" -X List key sequences bound with -x and associated commands\n"
" in a form that can be reused as input.\n"
" \n"
" Exit Status:\n"
@@ -2652,47 +2549,33 @@ msgstr ""
" re-read-init-file'.\n"
" \n"
" Optionen:\n"
-" -m Keymap Benutzt KEYMAP as Tastaturbelegung für die "
-"Laufzeit\n"
-" dieses Kommandos. Gültige Keymapnamen sind: "
-"emacs,\n"
-" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-"
-"move,\n"
+" -m Keymap Benutzt KEYMAP as Tastaturbelegung für die Laufzeit\n"
+" dieses Kommandos. Gültige Keymapnamen 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 Listet Tastenfolgen und deren Werte auf, die "
-"Makros \n"
+" -p Listet Funktionsnamen und Tastenzuordnungen so auf,\n"
+" dass sie direkt als Eingabe verwendet werden können.\n"
+" -S Listet Tastenfolgen und deren Werte auf, die Makros \n"
" aufrufen.\n"
-" -s Listet Tastenfolgen und deren Werte auf, die "
-"Makros \n"
-" aufrufen, dass sie als Eingabe wiederverwendet "
-"werden\n"
+" -s Listet Tastenfolgen und deren Werte auf, die Makros \n"
+" aufrufen, dass sie als Eingabe wiederverwendet werden\n"
" können.\n"
" -V Listet Variablennamen und Werte auf.\n"
-" -v Listet Variablennamen und Werte so auf, dass sie "
-"als\n"
+" -v Listet Variablennamen und Werte so auf, dass sie als\n"
" Eingabe verwendet werden können.\n"
" -q Funktionsname Sucht die Tastenfolgen, welche die angegebene\n"
" Funktion aufrufen.\n"
-" -u Funktionsname Entfernt alle der Funktion zugeordneten "
-"Tastenfolgen.\n"
-" -r Tastenfolge Entfernt die Zuweisungen der angegebeben "
-"Tastenfolge.\n"
-" -f Dateiname Liest die Tastenzuordnungen aus der angegebenen "
-"Datei.\n"
-" -x Tastenfolge:Shellkommando\tWeist der Tastenfolge das "
-"Shellkommando\n"
+" -u Funktionsname Entfernt alle der Funktion zugeordneten Tastenfolgen.\n"
+" -r Tastenfolge Entfernt die Zuweisungen der angegebeben Tastenfolge.\n"
+" -f Dateiname Liest die Tastenzuordnungen aus der angegebenen Datei.\n"
+" -x Tastenfolge:Shellkommando\tWeist der Tastenfolge das Shellkommando\n"
" \t\t\t\t\tzu.\n"
" -X Listet mit -x erzeugte\n"
" Tastenfolgen und deren Werte\n"
" auf, die Makros aufrufen, dass\n"
-" sie als Eingabe wiederverwendet "
-"werden\n"
+" sie als Eingabe wiederverwendet werden\n"
" können.\n"
" \n"
" Rückgabewert: \n"
@@ -2746,8 +2629,7 @@ msgid ""
" \n"
" Execute SHELL-BUILTIN with arguments ARGs without performing command\n"
" lookup. This is useful when you wish to reimplement a shell builtin\n"
-" as a shell function, but need to execute the builtin within the "
-"function.\n"
+" as a shell function, but need to execute the builtin within the function.\n"
" \n"
" Exit Status:\n"
" Returns the exit status of SHELL-BUILTIN, or false if SHELL-BUILTIN is\n"
@@ -2783,16 +2665,14 @@ msgstr ""
"Gibt Informationen zum aktuellen Subrutinenaufruf aus.\n"
" \n"
" Ohne Argument wird die Zeilennummer und der Dateeiname angezeigt. Mit\n"
-" Argument werden Zeilennummer, Subroutinnenname und Dateiname "
-"ausgegeben.\n"
+" Argument werden Zeilennummer, Subroutinnenname und Dateiname ausgegeben.\n"
" Mit diesen Informationen kann ein Stack Trace erzeugt werden.\n"
" \n"
" Das Argument gibt die angezeigte Position im Funktionsaufrufstapel an,\n"
" wobei 0 der aktuelle Funktionsaufruf ist.\n"
" \n"
" Rückgabewert:\n"
-" Ist ungleich 0 wenn keine Shellfunktion ausgeführt wird oder das "
-"Argument\n"
+" Ist ungleich 0 wenn keine Shellfunktion ausgeführt wird oder das Argument\n"
" ungültig ist, sonst 0."
# cd
@@ -2800,22 +2680,16 @@ msgstr ""
msgid ""
"Change the shell working directory.\n"
" \n"
-" Change the current directory to DIR. The default DIR is the value of "
-"the\n"
+" Change the current directory to DIR. The default DIR is the value of the\n"
" HOME shell variable.\n"
" \n"
-" The variable CDPATH defines the search path for the directory "
-"containing\n"
-" DIR. Alternative directory names in CDPATH are separated by a colon "
-"(:).\n"
-" A null directory name is the same as the current directory. If DIR "
-"begins\n"
+" The variable CDPATH defines the search path for the directory containing\n"
+" DIR. Alternative directory names in CDPATH are separated by a colon (:).\n"
+" A null directory name is the same as the current directory. If DIR begins\n"
" with a slash (/), then CDPATH is not used.\n"
" \n"
-" If the directory is not found, and the shell option `cdable_vars' is "
-"set,\n"
-" the word is assumed to be a variable name. If that variable has a "
-"value,\n"
+" If the directory is not found, and the shell option `cdable_vars' is set,\n"
+" the word is assumed to be a variable name. If that variable has a value,\n"
" its value is used for DIR.\n"
" \n"
" Options:\n"
@@ -2831,18 +2705,16 @@ msgid ""
" \t\tattributes as a directory containing the file attributes\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
-" `..' is processed by removing the immediately previous pathname "
-"component\n"
+" `..' is processed by removing the immediately previous pathname component\n"
" back to a slash or the beginning of DIR.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed, and if $PWD is set successfully "
-"when\n"
+" 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"
-" Wechselt in das angegebene Abeitsverzeichnis. Ohne Angabe eines\n"
+" Wechselt in das angegebene Arbeitsverzeichnis. Ohne Angabe eines\n"
" Verzeichnisses wird in das in der HOME Variable definierte\n"
" Verzeichnis gewechselt.\n"
"\n"
@@ -2960,8 +2832,7 @@ msgid ""
"Execute a simple command or display information about commands.\n"
" \n"
" Runs COMMAND with ARGS suppressing shell function lookup, or display\n"
-" information about the specified COMMANDs. Can be used to invoke "
-"commands\n"
+" information about the specified COMMANDs. Can be used to invoke commands\n"
" on disk when a function with the same name exists.\n"
" \n"
" Options:\n"
@@ -2973,8 +2844,7 @@ msgid ""
" Exit Status:\n"
" Returns exit status of COMMAND, or failure if COMMAND is not found."
msgstr ""
-"Führt ein einfaches Kommando aus oder zeigt Informationen über Kommandos "
-"an.\n"
+"Führt ein einfaches Kommando aus oder zeigt Informationen über Kommandos an.\n"
"\n"
" Führt das Kommando mit den angegebeneb Argumenten aus, ohne\n"
" Shell-Funktion nachzuschlagen oder zeigt Informationen über die\n"
@@ -2982,21 +2852,18 @@ msgstr ""
" werden, wenn eine Shell-Funktion gleichen Namens existiert.\n"
" \n"
" Optionen:\n"
-" -p\ts wird ein Standardwert für PATH verwendet, der garantiert, dass "
-"alle\n"
+" -p\ts wird ein Standardwert für PATH verwendet, der garantiert, dass alle\n"
" \t\tStandard-Dienstprogramme gefunden werden.\n"
" -v\tBeschreibung des Kommandos ausgeben.\n"
" \t\tÄhnlich dem eingebauten Kommando »type«.\n"
" -V\tEine ausführlichere Beschreibung jedes Kommandos ausgeben.\n"
" \n"
" Rückgabewert:\n"
-" Gibt den Rückgabewert des Kommandos zurück, oder eine Fehlermeldung, "
-"wenn\n"
+" Gibt den Rückgabewert des Kommandos zurück, oder eine Fehlermeldung, wenn\n"
" das Kommando nicht gefunden wird."
# declare
#: builtins.c:490
-#, fuzzy
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -3015,11 +2882,11 @@ msgid ""
" -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 the value of each NAME to lower case on assignment\n"
+" -l\tto convert NAMEs to lower case on assignment\n"
" -n\tmake NAME a reference to the variable named by its value\n"
" -r\tto make NAMEs readonly\n"
" -t\tto make NAMEs have the `trace' attribute\n"
-" -u\tto convert the value of each NAME to upper case on assignment\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"
@@ -3027,8 +2894,7 @@ msgid ""
" Variables with the integer attribute have arithmetic evaluation (see\n"
" the `let' command) performed when the variable is assigned a value.\n"
" \n"
-" When used in a function, `declare' makes NAMEs local, as with the "
-"`local'\n"
+" When used in a function, `declare' makes NAMEs local, as with the `local'\n"
" command. The `-g' option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
@@ -3119,8 +2985,7 @@ msgstr ""
msgid ""
"Write arguments to the standard output.\n"
" \n"
-" Display the ARGs, separated by a single space character and followed by "
-"a\n"
+" Display the ARGs, separated by a single space character and followed by a\n"
" newline, on the standard output.\n"
" \n"
" Options:\n"
@@ -3262,8 +3127,7 @@ msgstr ""
msgid ""
"Execute arguments as a shell command.\n"
" \n"
-" Combine ARGs into a single string, use the result as input to the "
-"shell,\n"
+" Combine ARGs into a single string, use the result as input to the shell,\n"
" and execute the resulting commands.\n"
" \n"
" Exit Status:\n"
@@ -3365,8 +3229,7 @@ msgid ""
"Replace the shell with the given command.\n"
" \n"
" Execute COMMAND, replacing this shell with the specified program.\n"
-" ARGUMENTS become the arguments to COMMAND. If COMMAND is not "
-"specified,\n"
+" ARGUMENTS become the arguments to COMMAND. If COMMAND is not specified,\n"
" any redirections take effect in the current shell.\n"
" \n"
" Options:\n"
@@ -3374,13 +3237,11 @@ msgid ""
" -c\texecute COMMAND with an empty environment\n"
" -l\tplace a dash in the zeroth argument to COMMAND\n"
" \n"
-" If the command cannot be executed, a non-interactive shell exits, "
-"unless\n"
+" If the command cannot be executed, a non-interactive shell exits, unless\n"
" the shell option `execfail' is set.\n"
" \n"
" Exit Status:\n"
-" Returns success unless COMMAND is not found or a redirection error "
-"occurs."
+" Returns success unless COMMAND is not found or a redirection error occurs."
msgstr ""
"Ersetzt die Shell durch das angegebene Kommando.\n"
" \n"
@@ -3411,8 +3272,7 @@ msgid ""
msgstr ""
"Beendet die aktuelle Shell.\n"
"\n"
-" Beendet die aktuelle Shell mit dem Rückgabewert N. Wenn N nicht "
-"angegeben ist,\n"
+" Beendet die aktuelle Shell mit dem Rückgabewert N. Wenn N nicht angegeben ist,\n"
" wird der Rückgabewert des letzten ausgeführten Kommandos übernommen."
# logout
@@ -3420,8 +3280,7 @@ msgstr ""
msgid ""
"Exit a login shell.\n"
" \n"
-" Exits a login shell with exit status N. Returns an error if not "
-"executed\n"
+" Exits a login shell with exit status N. Returns an error if not executed\n"
" in a login shell."
msgstr ""
" Beendet eine Login-Shell.\n"
@@ -3435,15 +3294,13 @@ msgstr ""
msgid ""
"Display or execute commands from the history list.\n"
" \n"
-" fc is used to list or edit and re-execute commands from the history "
-"list.\n"
+" fc is used to list or edit and re-execute commands from the history list.\n"
" FIRST and LAST can be numbers specifying the range, or FIRST can be a\n"
" string, which means the most recent command beginning with that\n"
" string.\n"
" \n"
" Options:\n"
-" -e ENAME\tselect which editor to use. Default is FCEDIT, then "
-"EDITOR,\n"
+" -e ENAME\tselect which editor to use. Default is FCEDIT, then EDITOR,\n"
" \t\tthen vi\n"
" -l \tlist lines instead of editing\n"
" -n\tomit line numbers when listing\n"
@@ -3457,8 +3314,7 @@ msgid ""
" the last command.\n"
" \n"
" Exit Status:\n"
-" Returns success or status of executed command; non-zero if an error "
-"occurs."
+" Returns success or status of executed command; non-zero if an error occurs."
msgstr ""
#: builtins.c:758
@@ -3485,10 +3341,8 @@ msgstr ""
msgid ""
"Move jobs to the background.\n"
" \n"
-" Place the jobs identified by each JOB_SPEC in the background, as if "
-"they\n"
-" had been started with `&'. If JOB_SPEC is not present, the shell's "
-"notion\n"
+" Place the jobs identified by each JOB_SPEC in the background, as if they\n"
+" had been started with `&'. If JOB_SPEC is not present, the shell's notion\n"
" of the current job is used.\n"
" \n"
" Exit Status:\n"
@@ -3508,8 +3362,7 @@ msgid ""
"Remember or display program locations.\n"
" \n"
" Determine and remember the full pathname of each command NAME. If\n"
-" no arguments are given, information about remembered commands is "
-"displayed.\n"
+" no arguments are given, information about remembered commands is displayed.\n"
" \n"
" Options:\n"
" -d\tforget the remembered location of each NAME\n"
@@ -3529,7 +3382,6 @@ msgstr ""
# help
#: builtins.c:812
-#, fuzzy
msgid ""
"Display information about builtin commands.\n"
" \n"
@@ -3544,11 +3396,10 @@ msgid ""
" \t\tPATTERN\n"
" \n"
" Arguments:\n"
-" PATTERN\tPattern specifying a help topic\n"
+" PATTERN\tPattern specifiying a help topic\n"
" \n"
" Exit Status:\n"
-" Returns success unless PATTERN is not found or an invalid option is "
-"given."
+" Returns success unless PATTERN is not found or an invalid option is given."
msgstr ""
"Informationen zu eingebauten Kommandos.\n"
" \n"
@@ -3579,8 +3430,7 @@ msgid ""
" \n"
" Options:\n"
" -c\tclear the history list by deleting all of the entries\n"
-" -d offset\tdelete the history entry at position OFFSET. Negative\n"
-" \t\toffsets count back from the end of the history list\n"
+" -d offset\tdelete the history entry at position 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"
@@ -3598,14 +3448,13 @@ msgid ""
" \n"
" If the HISTTIMEFORMAT variable is set and not null, its value is used\n"
" as a format string for strftime(3) to print the time stamp associated\n"
-" with each displayed history entry. No time stamps are printed "
-"otherwise.\n"
+" with each displayed history entry. No time stamps are printed otherwise.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
-#: builtins.c:873
+#: builtins.c:872
msgid ""
"Display status of jobs.\n"
" \n"
@@ -3629,7 +3478,7 @@ msgid ""
" If -x is used, returns the exit status of COMMAND."
msgstr ""
-#: builtins.c:900
+#: builtins.c:899
msgid ""
"Remove jobs from current shell.\n"
" \n"
@@ -3646,7 +3495,7 @@ msgid ""
" Returns success unless an invalid option or JOBSPEC is given."
msgstr ""
-#: builtins.c:919
+#: builtins.c:918
msgid ""
"Send a signal to a job.\n"
" \n"
@@ -3669,15 +3518,14 @@ msgid ""
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
-#: builtins.c:943
+#: builtins.c:942
msgid ""
"Evaluate arithmetic expressions.\n"
" \n"
" Evaluate each ARG as an arithmetic expression. Evaluation is done in\n"
" fixed-width integers with no check for overflow, though division by 0\n"
" is trapped and flagged as an error. The following list of operators is\n"
-" grouped into levels of equal-precedence operators. The levels are "
-"listed\n"
+" grouped into levels of equal-precedence operators. The levels are listed\n"
" in order of decreasing precedence.\n"
" \n"
" \tid++, id--\tvariable post-increment, post-decrement\n"
@@ -3714,34 +3562,30 @@ msgid ""
" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
msgstr ""
-#: builtins.c:988
+#: builtins.c:987
msgid ""
"Read a line from the standard input and split it into fields.\n"
" \n"
" Reads a single line from the standard input, or from file descriptor FD\n"
-" if the -u option is supplied. The line is split into fields as with "
-"word\n"
+" if the -u option is supplied. The line is split into fields as with word\n"
" splitting, and the first word is assigned to the first NAME, the second\n"
" word to the second NAME, and so on, with any leftover words assigned to\n"
-" the last NAME. Only the characters found in $IFS are recognized as "
-"word\n"
+" the last NAME. Only the characters found in $IFS are recognized as word\n"
" delimiters.\n"
" \n"
-" If no NAMEs are supplied, the line read is stored in the REPLY "
-"variable.\n"
+" If no NAMEs are supplied, the line read is stored in the REPLY variable.\n"
" \n"
" Options:\n"
" -a array\tassign the words read to sequential indices of the array\n"
" \t\tvariable ARRAY, starting at zero\n"
" -d delim\tcontinue until the first character of DELIM is read, rather\n"
" \t\tthan newline\n"
-" -e\tuse Readline to obtain the line\n"
+" -e\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\n"
" \t\tNCHARS characters are read before the delimiter\n"
-" -N nchars\treturn only after reading exactly NCHARS characters, "
-"unless\n"
+" -N nchars\treturn only after reading exactly NCHARS characters, unless\n"
" \t\tEOF is encountered or read times out, ignoring any\n"
" \t\tdelimiter\n"
" -p prompt\toutput the string PROMPT without a trailing newline before\n"
@@ -3759,14 +3603,12 @@ msgid ""
" -u fd\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"
-" (in which case it's greater than 128), a variable assignment error "
-"occurs,\n"
+" The return code is zero, unless end-of-file is encountered, read times out\n"
+" (in which case it's greater than 128), a variable assignment error occurs,\n"
" or an invalid file descriptor is supplied as the argument to -u."
msgstr ""
-#: builtins.c:1035
+#: builtins.c:1034
msgid ""
"Return from a shell function.\n"
" \n"
@@ -3778,7 +3620,7 @@ msgid ""
" Returns N, or failure if the shell is not executing a function or script."
msgstr ""
-#: builtins.c:1048
+#: builtins.c:1047
msgid ""
"Set or unset values of shell options and positional parameters.\n"
" \n"
@@ -3821,8 +3663,7 @@ msgid ""
" physical same as -P\n"
" pipefail the return value of a pipeline is the status of\n"
" the last command to exit with a non-zero status,\n"
-" or zero if no command exited with a non-zero "
-"status\n"
+" or zero if no command exited with a non-zero status\n"
" posix change the behavior of bash where the default\n"
" operation differs from the Posix standard to\n"
" match the standard\n"
@@ -3846,8 +3687,7 @@ msgid ""
" by default when the shell is interactive.\n"
" -P If set, do not resolve symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
-" -T If set, the DEBUG and RETURN traps are inherited by shell "
-"functions.\n"
+" -T If set, the DEBUG and RETURN traps are 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"
@@ -3864,7 +3704,7 @@ msgid ""
" Returns success unless an invalid option is given."
msgstr ""
-#: builtins.c:1133
+#: builtins.c:1132
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \n"
@@ -3876,8 +3716,7 @@ msgid ""
" -n\ttreat each NAME as a name reference and unset the variable itself\n"
" \t\trather than the variable it references\n"
" \n"
-" Without options, unset first tries to unset a variable, and if that "
-"fails,\n"
+" Without options, unset first tries to unset a variable, and if that fails,\n"
" tries to unset a function.\n"
" \n"
" Some variables cannot be unset; also see `readonly'.\n"
@@ -3886,13 +3725,12 @@ msgid ""
" Returns success unless an invalid option is given or a NAME is read-only."
msgstr ""
-#: builtins.c:1155
+#: builtins.c:1154
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"
+" executed commands. If VALUE is supplied, assign VALUE before exporting.\n"
" \n"
" Options:\n"
" -f\trefer to shell functions\n"
@@ -3905,7 +3743,7 @@ msgid ""
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
-#: builtins.c:1174
+#: builtins.c:1173
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
@@ -3926,7 +3764,7 @@ msgid ""
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
-#: builtins.c:1196
+#: builtins.c:1195
msgid ""
"Shift positional parameters.\n"
" \n"
@@ -3937,7 +3775,7 @@ msgid ""
" Returns success unless N is negative or greater than $#."
msgstr ""
-#: builtins.c:1208 builtins.c:1223
+#: builtins.c:1207 builtins.c:1222
msgid ""
"Execute commands from a file in the current shell.\n"
" \n"
@@ -3951,7 +3789,7 @@ msgid ""
" FILENAME cannot be read."
msgstr ""
-#: builtins.c:1239
+#: builtins.c:1238
msgid ""
"Suspend shell execution.\n"
" \n"
@@ -3965,7 +3803,7 @@ msgid ""
" Returns success unless job control is not enabled or an error occurs."
msgstr ""
-#: builtins.c:1255
+#: builtins.c:1254
msgid ""
"Evaluate conditional expression.\n"
" \n"
@@ -3999,8 +3837,7 @@ msgid ""
" -x FILE True if the file is executable by you.\n"
" -O FILE True if the file is effectively owned by you.\n"
" -G FILE True if the file is effectively owned by your group.\n"
-" -N FILE True if the file has been modified since it was last "
-"read.\n"
+" -N FILE True if the file has been modified since it was last read.\n"
" \n"
" FILE1 -nt FILE2 True if file1 is newer than file2 (according to\n"
" modification date).\n"
@@ -4021,8 +3858,7 @@ msgid ""
" STRING1 != STRING2\n"
" True if the strings are not equal.\n"
" STRING1 < STRING2\n"
-" True if STRING1 sorts before STRING2 "
-"lexicographically.\n"
+" True if STRING1 sorts before STRING2 lexicographically.\n"
" STRING1 > STRING2\n"
" True if STRING1 sorts after STRING2 lexicographically.\n"
" \n"
@@ -4049,7 +3885,7 @@ msgid ""
msgstr ""
# [
-#: builtins.c:1337
+#: builtins.c:1336
msgid ""
"Evaluate conditional expression.\n"
" \n"
@@ -4063,12 +3899,11 @@ msgstr ""
" schließt."
# times
-#: builtins.c:1346
+#: builtins.c:1345
msgid ""
"Display process times.\n"
" \n"
-" Prints the accumulated user and system times for the shell and all of "
-"its\n"
+" Prints the accumulated user and system times for the shell and all of its\n"
" child processes.\n"
" \n"
" Exit Status:\n"
@@ -4082,12 +3917,11 @@ msgstr ""
" Rückgabewert:\n"
" Immer 0."
-#: builtins.c:1358
+#: builtins.c:1357
msgid ""
"Trap signals and other events.\n"
" \n"
-" Defines and activates handlers to be run when the shell receives "
-"signals\n"
+" Defines and activates handlers to be run when the shell receives signals\n"
" or other conditions.\n"
" \n"
" ARG is a command to be read and executed when the shell receives the\n"
@@ -4096,37 +3930,29 @@ msgid ""
" 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"
+" 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"
+" If no arguments are supplied, trap prints the list of commands associated\n"
" with each signal.\n"
" \n"
" Options:\n"
" -l\tprint a list of signal names and their corresponding numbers\n"
" -p\tdisplay the trap commands associated with each SIGNAL_SPEC\n"
" \n"
-" Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal "
-"number.\n"
+" Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal number.\n"
" Signal names are case insensitive and the SIG prefix is optional. A\n"
" signal may be sent to the shell with \"kill -signal $$\".\n"
" \n"
" Exit Status:\n"
-" Returns success unless a SIGSPEC is invalid or an invalid option is "
-"given."
+" Returns success unless a SIGSPEC is invalid or an invalid option is given."
msgstr ""
-#: builtins.c:1394
+#: builtins.c:1393
msgid ""
"Display information about command type.\n"
" \n"
@@ -4152,16 +3978,14 @@ msgid ""
" 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."
+" Returns success if all of the NAMEs are found; fails if any are not found."
msgstr ""
-#: builtins.c:1425
+#: builtins.c:1424
msgid ""
"Modify shell resource limits.\n"
" \n"
-" Provides control over the resources available to the shell and "
-"processes\n"
+" Provides control over the resources available to the shell and processes\n"
" it creates, on systems that allow such control.\n"
" \n"
" Options:\n"
@@ -4205,7 +4029,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1475
+#: builtins.c:1474
msgid ""
"Display or set file mode mask.\n"
" \n"
@@ -4223,44 +4047,38 @@ msgid ""
" Returns success unless MODE is invalid or an invalid option is given."
msgstr ""
-#: builtins.c:1495
+#: builtins.c:1494
msgid ""
"Wait for job completion and return exit status.\n"
" \n"
-" Waits for each process identified by an ID, which may be a process ID or "
-"a\n"
+" Waits for each process identified by an 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 job specification, waits for all processes\n"
+" status is zero. If ID is a a job specification, waits for all processes\n"
" in that job's pipeline.\n"
" \n"
" If the -n option is supplied, waits for the next job to terminate and\n"
" returns its exit status.\n"
" \n"
-" If the -f option is supplied, and job control is enabled, waits for the\n"
-" specified ID to terminate, instead of waiting for it to change status.\n"
-" \n"
" Exit Status:\n"
" Returns the status of the last ID; fails if ID is invalid or an invalid\n"
" option is given."
msgstr ""
-#: builtins.c:1519
+#: builtins.c:1515
msgid ""
"Wait for process completion and return exit status.\n"
" \n"
-" Waits for each process specified by a PID and reports its termination "
-"status.\n"
+" Waits for each process specified by a PID and reports its termination status.\n"
" If PID is not given, waits for all currently active child processes,\n"
" and the return status is zero. PID must be a process ID.\n"
" \n"
" Exit Status:\n"
-" Returns the status of the last PID; fails if PID is invalid or an "
-"invalid\n"
+" Returns the status of the last PID; fails if PID is invalid or an invalid\n"
" option is given."
msgstr ""
-#: builtins.c:1534
+#: builtins.c:1530
msgid ""
"Execute commands for each member in a list.\n"
" \n"
@@ -4273,7 +4091,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1548
+#: builtins.c:1544
msgid ""
"Arithmetic for loop.\n"
" \n"
@@ -4290,7 +4108,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1566
+#: builtins.c:1562
msgid ""
"Select words from a list and execute commands.\n"
" \n"
@@ -4310,7 +4128,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1587
+#: builtins.c:1583
msgid ""
"Report time consumed by pipeline's execution.\n"
" \n"
@@ -4326,7 +4144,7 @@ msgid ""
" The return status is the return status of PIPELINE."
msgstr ""
-#: builtins.c:1604
+#: builtins.c:1600
msgid ""
"Execute commands based on pattern matching.\n"
" \n"
@@ -4337,28 +4155,23 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1616
+#: builtins.c:1612
msgid ""
"Execute commands based on conditional.\n"
" \n"
-" The `if COMMANDS' list is executed. If its exit status is zero, then "
-"the\n"
-" `then COMMANDS' list is executed. Otherwise, each `elif COMMANDS' list "
-"is\n"
+" The `if COMMANDS' list is executed. If its exit status is zero, then the\n"
+" `then COMMANDS' list is executed. Otherwise, each `elif COMMANDS' list is\n"
" executed in turn, and if its exit status is zero, the corresponding\n"
-" `then COMMANDS' list is executed and the if command completes. "
-"Otherwise,\n"
-" the `else COMMANDS' list is executed, if present. The exit status of "
-"the\n"
-" entire construct is the exit status of the last command executed, or "
-"zero\n"
+" `then COMMANDS' list is executed and the if command completes. Otherwise,\n"
+" the `else COMMANDS' list is executed, if present. The exit status of the\n"
+" entire construct is the exit status of the last command executed, or zero\n"
" if no condition tested true.\n"
" \n"
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1633
+#: builtins.c:1629
msgid ""
"Execute commands as long as a test succeeds.\n"
" \n"
@@ -4369,7 +4182,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1645
+#: builtins.c:1641
msgid ""
"Execute commands as long as a test does not succeed.\n"
" \n"
@@ -4380,7 +4193,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1657
+#: builtins.c:1653
msgid ""
"Create a coprocess named NAME.\n"
" \n"
@@ -4393,13 +4206,12 @@ msgid ""
" The coproc command returns an exit status of 0."
msgstr ""
-#: builtins.c:1671
+#: builtins.c:1667
msgid ""
"Define shell function.\n"
" \n"
" Create a shell function named NAME. When invoked as a simple command,\n"
-" NAME runs COMMANDs in the calling shell's context. When NAME is "
-"invoked,\n"
+" NAME runs COMMANDs in the calling shell's context. When NAME is invoked,\n"
" the arguments are passed to the function as $1...$n, and the function's\n"
" name is in $FUNCNAME.\n"
" \n"
@@ -4407,7 +4219,7 @@ msgid ""
" Returns success unless NAME is readonly."
msgstr ""
-#: builtins.c:1685
+#: builtins.c:1681
msgid ""
"Group commands as a unit.\n"
" \n"
@@ -4418,7 +4230,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1697
+#: builtins.c:1693
msgid ""
"Resume job in foreground.\n"
" \n"
@@ -4433,7 +4245,7 @@ msgid ""
msgstr ""
# (( ))
-#: builtins.c:1712
+#: builtins.c:1708
msgid ""
"Evaluate arithmetic expression.\n"
" \n"
@@ -4453,16 +4265,13 @@ msgstr ""
" Gibt »1« zurück, wenn die Auswertung des letzten Arguments Null\n"
" ergibt, sonst »0«."
-#: builtins.c:1724
+#: builtins.c:1720
msgid ""
"Execute conditional command.\n"
" \n"
-" Returns a status of 0 or 1 depending on the evaluation of the "
-"conditional\n"
-" expression EXPRESSION. Expressions are composed of the same primaries "
-"used\n"
-" by the `test' builtin, and may be combined using the following "
-"operators:\n"
+" Returns a status of 0 or 1 depending on the evaluation of the conditional\n"
+" expression EXPRESSION. Expressions are composed of the same primaries used\n"
+" by the `test' builtin, and may be combined using the following operators:\n"
" \n"
" ( EXPRESSION )\tReturns the value of EXPRESSION\n"
" ! EXPRESSION\t\tTrue if EXPRESSION is false; else false\n"
@@ -4482,7 +4291,7 @@ msgid ""
msgstr ""
# variable_help
-#: builtins.c:1750
+#: builtins.c:1746
msgid ""
"Common shell variable names and usage.\n"
" \n"
@@ -4555,8 +4364,7 @@ msgstr ""
" Anzahl EOF Zeichen (Ctrl-D) abgewartet, bis die Shell\n"
" verlassen wird. Der Vorgabewert ist 10. Ist IGNOREEOF\n"
" nicht gesetzt, signalisiert EOF das Ende der Eingabe.\n"
-" MACHTYPE Eine Zeichenkette die das aktuell laufende System "
-"beschreibt.\n"
+" MACHTYPE Eine Zeichenkette die das aktuell laufende System beschreibt.\n"
" MAILCHECK\tZeit in s, nach der nach E-Mail gesehen wird.\n"
" MAILPATH\tEine durch Doppelpunkt getrennte Liste von Dateinamen,\n"
" die nach E-Mail durchsucht werden.\n"
@@ -4594,7 +4402,7 @@ msgstr ""
" Kommandos angibt.\n"
# pushd
-#: builtins.c:1807
+#: builtins.c:1803
msgid ""
"Add directories to stack.\n"
" \n"
@@ -4650,7 +4458,7 @@ msgstr ""
" wurde oder der Verzeichniswechsel nicht erfolgreich war."
# popd
-#: builtins.c:1841
+#: builtins.c:1837
msgid ""
"Remove directories from stack.\n"
" \n"
@@ -4704,7 +4512,7 @@ msgstr ""
" wurde oder der Verzeichniswechsel nicht erfolgreich war."
# dirs
-#: builtins.c:1871
+#: builtins.c:1867
msgid ""
"Display directory stack.\n"
" \n"
@@ -4758,14 +4566,13 @@ msgstr ""
" Gibt Erfolg zurück, außer bei einer ungültigen Option oder wenn\n"
" ein Fehler auftritt."
-#: builtins.c:1902
-#, fuzzy
+#: builtins.c:1898
msgid ""
"Set and unset shell options.\n"
" \n"
" Change the setting of each shell option OPTNAME. Without any option\n"
-" arguments, list each supplied OPTNAME, or all shell options if no\n"
-" OPTNAMEs are given, with an indication of whether or not each is set.\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"
@@ -4798,7 +4605,7 @@ msgstr ""
" worden ist, wird Fehler zurückgegeben."
# printf
-#: builtins.c:1923
+#: builtins.c:1919
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
" \n"
@@ -4806,47 +4613,38 @@ msgid ""
" -v var\tassign the output to shell variable VAR rather than\n"
" \t\tdisplay it on the standard output\n"
" \n"
-" FORMAT is a character string which contains three types of objects: "
-"plain\n"
-" characters, which are simply copied to standard output; character "
-"escape\n"
+" FORMAT is a character string which contains three types of objects: plain\n"
+" characters, which are simply copied to standard output; character escape\n"
" sequences, which are converted and copied to the standard output; and\n"
-" format specifications, each of which causes printing of the next "
-"successive\n"
+" format specifications, each of which causes printing of the next successive\n"
" argument.\n"
" \n"
-" In addition to the standard format specifications described in printf"
-"(1),\n"
+" In addition to the standard format specifications described in printf(1),\n"
" 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\toutput the date-time string resulting from using FMT as a "
-"format\n"
+" %(fmt)T\toutput the date-time string resulting from using FMT as a format\n"
" \t string for strftime(3)\n"
" \n"
" The format is re-used as necessary to consume all of the arguments. If\n"
" there are fewer arguments than the format requires, extra format\n"
-" specifications behave as if a zero value or null string, as "
-"appropriate,\n"
+" specifications behave as if a zero value or null string, as appropriate,\n"
" had been supplied.\n"
" \n"
" Exit Status:\n"
-" Returns success unless an invalid option is given or a write or "
-"assignment\n"
+" Returns success unless an invalid option is given or a write or assignment\n"
" error occurs."
msgstr ""
"Returns success unless an invalid option is given or a write or\n"
" assignment error occurs.<"
-#: builtins.c:1957
+#: builtins.c:1953
msgid ""
"Specify how arguments are to be completed by Readline.\n"
" \n"
-" For each NAME, specify how arguments are to be completed. If no "
-"options\n"
-" are supplied, existing completion specifications are printed in a way "
-"that\n"
+" For each NAME, specify how arguments are to be completed. If no options\n"
+" are supplied, existing completion specifications are printed in a way that\n"
" allows them to be reused as input.\n"
" \n"
" Options:\n"
@@ -4866,29 +4664,25 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1985
+#: builtins.c:1981
msgid ""
"Display possible completions depending on the options.\n"
" \n"
" Intended to be used from within a shell function generating possible\n"
-" completions. If the optional WORD argument is supplied, matches "
-"against\n"
+" completions. If the optional WORD argument is supplied, matches against\n"
" WORD are generated.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:2000
+#: builtins.c:1996
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"
+" 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"
@@ -4910,26 +4704,21 @@ msgid ""
" have a completion specification defined."
msgstr ""
-#: builtins.c:2030
+#: builtins.c:2026
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"
+" 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"
" -d delim\tUse DELIM to terminate lines, instead of newline\n"
-" -n count\tCopy at most COUNT lines. If COUNT is 0, all lines are "
-"copied\n"
-" -O origin\tBegin assigning to ARRAY at index ORIGIN. The default "
-"index is 0\n"
+" -n count\tCopy at most COUNT lines. If COUNT is 0, all lines are copied\n"
+" -O origin\tBegin assigning to ARRAY at index ORIGIN. The default index is 0\n"
" -s count\tDiscard the first COUNT lines read\n"
" -t\tRemove a trailing DELIM from each line read (default newline)\n"
-" -u fd\tRead lines from file descriptor FD instead of the standard "
-"input\n"
+" -u fd\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\n"
" \t\t\tCALLBACK\n"
@@ -4942,18 +4731,16 @@ msgid ""
" 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"
+" 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"
+" Returns success unless an invalid option is given or ARRAY is readonly or\n"
" not an indexed array."
msgstr ""
# readarray
-#: builtins.c:2066
+#: builtins.c:2062
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
diff --git a/po/es.po b/po/es.po
index 2f22ab2f..24ad7007 100644
--- a/po/es.po
+++ b/po/es.po
@@ -1,145 +1,140 @@
-# Spanish translation for GNU bash-4.4
+# Mensajes en español para GNU bash
# Copyright (C) 2018 Free Software Foundation, Inc.
# This file is distributed under the same license as the bash package.
# Cristian Othón Martínez Vera <cfuga@cfuga.mx>, 2000 - 2011.
# Francisco Javier Serrador <fserrador@gmail.com>
+# Antonio Ceballos Roa <aceballos@gmail.com>, 2018
+#
msgid ""
msgstr ""
"Project-Id-Version: GNU bash 4.4\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-04-27 14:15-0400\n"
-"PO-Revision-Date: 2018-04-24 15:37+0200\n"
-"Last-Translator: Francisco Javier Serrador <fserrador@gmail.com>\n"
+"POT-Creation-Date: 2016-09-10 12:42-0400\n"
+"PO-Revision-Date: 2018-06-04 22:22+0200\n"
+"Last-Translator: Antonio Ceballos Roa <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: es\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 2.0.4\n"
-# Vocabulario
-# array: unimatriz, matríz lineal
-# shift: arrastre lateral
-#: arrayfunc.c:58
+#: arrayfunc.c:54
msgid "bad array subscript"
-msgstr "subíndice de unimatriz equivocado"
+msgstr "subíndice de matriz incorrecto"
-#: arrayfunc.c:373 builtins/declare.def:618 variables.c:2188 variables.c:2214
-#: variables.c:2922
+#: arrayfunc.c:368 builtins/declare.def:574 variables.c:2092 variables.c:2118
+#: variables.c:2730
#, c-format
msgid "%s: removing nameref attribute"
-msgstr "%s: quitando atributo de referencial del nombre"
+msgstr "%s: se elimina el atributo nameref"
-#: arrayfunc.c:398 builtins/declare.def:831
+#: arrayfunc.c:393 builtins/declare.def:780
#, c-format
msgid "%s: cannot convert indexed to associative array"
-msgstr "%s: no se puede convertir la matriz de indizada a asociativa"
+msgstr "%s: no se puede convertir la matriz indexada en asociativa"
-#: arrayfunc.c:582
+#: arrayfunc.c:578
#, c-format
msgid "%s: invalid associative array key"
-msgstr "%s: índice de unimatriz asociativa inválido"
+msgstr "%s: clave de matriz asociativa no válida"
-#: arrayfunc.c:584
+#: arrayfunc.c:580
#, c-format
msgid "%s: cannot assign to non-numeric index"
msgstr "%s: no se puede asignar a un índice que no es numérico"
-#: arrayfunc.c:629
+#: arrayfunc.c:625
#, c-format
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:436
+#: bashhist.c:421
#, c-format
msgid "%s: cannot create: %s"
msgstr "%s: no se puede crear: %s"
-#: bashline.c:4111
+#: bashline.c:4091
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 el mandato"
+msgstr "bash_execute_unix_command: no se puede encontrar la combinación de teclas para la orden"
-#: bashline.c:4221
+#: bashline.c:4189
#, 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:4250
+#: bashline.c:4218
#, c-format
msgid "no closing `%c' in %s"
msgstr "no hay un `%c' que cierre en %s"
-#: bashline.c:4284
+#: bashline.c:4252
#, c-format
msgid "%s: missing colon separator"
msgstr "%s: falta un «:» separador"
-#: braces.c:331
+#: braces.c:329
#, c-format
msgid "brace expansion: cannot allocate memory for %s"
-msgstr "rama expansión: no puede reubicar memoria para %s"
+msgstr "expansión de llaves: no se puede asignar memoria a %s"
-#: braces.c:429
-#, fuzzy, c-format
-msgid "brace expansion: failed to allocate memory for %u elements"
-msgstr "expansión de rama: fallado para asignar memoria para %d elementos"
+#: braces.c:427
+#, c-format
+msgid "brace expansion: failed to allocate memory for %d elements"
+msgstr "expansión de llaves: fallo al asignar memoria a %d elementos"
-#: braces.c:473
+#: braces.c:471
#, c-format
msgid "brace expansion: failed to allocate memory for `%s'"
-msgstr "rama expansiva: fallada a reservar memoria para «%s»"
+msgstr "expansión de llaves: fallo al asignar memoria a «%s»"
-#: builtins/alias.def:131
+#: builtins/alias.def:133
#, c-format
msgid "`%s': invalid alias name"
msgstr "`%s': nombre de alias inválido"
-#: builtins/bind.def:122 builtins/bind.def:125
+#: builtins/bind.def:123 builtins/bind.def:126
msgid "line editing not enabled"
msgstr "no se activó la edición de línea"
-#: builtins/bind.def:212
+#: builtins/bind.def:213
#, c-format
msgid "`%s': invalid keymap name"
msgstr "`%s': nombre de combinación de teclas inválido"
-#: builtins/bind.def:252
+#: builtins/bind.def:253
#, c-format
msgid "%s: cannot read: %s"
msgstr "%s: no se puede leer: %s"
-#: builtins/bind.def:304 builtins/bind.def:334
+#: builtins/bind.def:270
+#, c-format
+msgid "`%s': cannot unbind"
+msgstr "`%s': no se puede borrar la asignación"
+
+#: builtins/bind.def:308 builtins/bind.def:338
#, c-format
msgid "`%s': unknown function name"
msgstr "`%s': nombre de función desconocido"
-#: builtins/bind.def:312
+#: builtins/bind.def:316
#, c-format
msgid "%s is not bound to any keys.\n"
msgstr "%s no está asignado a ninguna tecla.\n"
-#: builtins/bind.def:316
+#: builtins/bind.def:320
#, c-format
msgid "%s can be invoked via "
msgstr "%s se puede invocar vía "
-#: builtins/bind.def:353 builtins/bind.def:368
-#, c-format
-msgid "`%s': cannot unbind"
-msgstr "%s: no se puede borrar la asignación"
-
-#: builtins/break.def:77 builtins/break.def:119
+#: builtins/break.def:79 builtins/break.def:121
msgid "loop count"
-msgstr "cuenta de ciclo"
+msgstr "cuenta de bucle"
-#: builtins/break.def:139
+#: builtins/break.def:141
msgid "only meaningful in a `for', `while', or `until' loop"
-msgstr ""
-"sólo tiene significado dentro de `for', `while', o `until' como un bucle"
+msgstr "solo tiene significado en un bucle `for', `while', o `until'"
#: builtins/caller.def:136
msgid ""
@@ -151,238 +146,238 @@ msgstr ""
" \n"
" Sin EXPR, devuelve "
-#: builtins/cd.def:319
+#: builtins/cd.def:321
msgid "HOME not set"
msgstr "HOME no está definido"
-#: builtins/cd.def:327 builtins/common.c:161 test.c:889
+#: builtins/cd.def:329 builtins/common.c:167 test.c:885
msgid "too many arguments"
msgstr "demasiados argumentos"
-#: builtins/cd.def:334
+#: builtins/cd.def:336
msgid "null directory"
msgstr "directorio nulo"
-#: builtins/cd.def:345
+#: builtins/cd.def:347
msgid "OLDPWD not set"
msgstr "OLDPWD no está establecido"
-#: builtins/common.c:96
+#: builtins/common.c:102
#, c-format
msgid "line %d: "
msgstr "línea %d: "
-#: builtins/common.c:134 error.c:264
+#: builtins/common.c:140 error.c:265
#, c-format
msgid "warning: "
msgstr "aviso: "
-#: builtins/common.c:148
+#: builtins/common.c:154
#, c-format
msgid "%s: usage: "
msgstr "%s: modo de empleo: "
-#: builtins/common.c:193 shell.c:510 shell.c:838
+#: builtins/common.c:199 shell.c:514 shell.c:825
#, c-format
msgid "%s: option requires an argument"
msgstr "%s: la opción requiere un argumento"
-#: builtins/common.c:200
+#: builtins/common.c:206
#, c-format
msgid "%s: numeric argument required"
msgstr "%s: se requiere un argumento numérico"
-#: builtins/common.c:207
+#: builtins/common.c:213
#, c-format
msgid "%s: not found"
msgstr "%s: no encontrado"
-#: builtins/common.c:216 shell.c:851
+#: builtins/common.c:222 shell.c:838
#, c-format
msgid "%s: invalid option"
msgstr "%s: opción inválida"
-#: builtins/common.c:223
+#: builtins/common.c:229
#, c-format
msgid "%s: invalid option name"
-msgstr "%s: nombre opcional inválido"
+msgstr "%s: nombre de opción inválido"
-#: builtins/common.c:230 execute_cmd.c:2342 general.c:294 general.c:299
+#: builtins/common.c:236 general.c:293 general.c:298
#, c-format
msgid "`%s': not a valid identifier"
msgstr "`%s': no es un identificador válido"
-#: builtins/common.c:240
+#: builtins/common.c:246
msgid "invalid octal number"
msgstr "número octal inválido"
-#: builtins/common.c:242
+#: builtins/common.c:248
msgid "invalid hex number"
msgstr "número hexadecimal inválido"
-#: builtins/common.c:244 expr.c:1538
+#: builtins/common.c:250 expr.c:1473
msgid "invalid number"
msgstr "número inválido"
-#: builtins/common.c:252
+#: builtins/common.c:258
#, c-format
msgid "%s: invalid signal specification"
-msgstr "%s: señal especificada no válida"
+msgstr "%s: la especificación de señal no es válida"
-#: builtins/common.c:259
+#: builtins/common.c:265
#, c-format
msgid "`%s': not a pid or valid job spec"
-msgstr "`%s': no es un pid o una especificación válida de tarea"
+msgstr "`%s': no es un pid o una especificación válida de trabajo"
-#: builtins/common.c:266 error.c:510
+#: builtins/common.c:272 error.c:511
#, c-format
msgid "%s: readonly variable"
msgstr "%s: variable de sólo lectura"
-#: builtins/common.c:274
+#: builtins/common.c:280
#, c-format
msgid "%s: %s out of range"
msgstr "%s: %s fuera de rango"
-#: builtins/common.c:274 builtins/common.c:276
+#: builtins/common.c:280 builtins/common.c:282
msgid "argument"
msgstr "argumento"
-#: builtins/common.c:276
+#: builtins/common.c:282
#, c-format
msgid "%s out of range"
msgstr "%s fuera de rango"
-#: builtins/common.c:284
+#: builtins/common.c:290
#, c-format
msgid "%s: no such job"
-msgstr "%s: no existe esa tarea"
+msgstr "%s: no existe ese trabajo"
-#: builtins/common.c:292
+#: builtins/common.c:298
#, c-format
msgid "%s: no job control"
-msgstr "%s: no hay control de tareas"
+msgstr "%s: no hay control de trabajos"
-#: builtins/common.c:294
+#: builtins/common.c:300
msgid "no job control"
-msgstr "no hay control de tarea"
+msgstr "no hay control de trabajos"
-#: builtins/common.c:304
+#: builtins/common.c:310
#, c-format
msgid "%s: restricted"
msgstr "%s: restringido"
-#: builtins/common.c:306
+#: builtins/common.c:312
msgid "restricted"
msgstr "restringido"
-#: builtins/common.c:314
+#: builtins/common.c:320
#, c-format
msgid "%s: not a shell builtin"
-msgstr "%s: no una shell interna"
+msgstr "%s: no es una orden interna de shell"
-#: builtins/common.c:323
+#: builtins/common.c:329
#, c-format
msgid "write error: %s"
msgstr "error de escritura: %s"
-#: builtins/common.c:331
+#: builtins/common.c:337
#, c-format
msgid "error setting terminal attributes: %s"
msgstr "error al establecer los atributos de la terminal: %s"
-#: builtins/common.c:333
+#: builtins/common.c:339
#, c-format
msgid "error getting terminal attributes: %s"
msgstr "error al obtener los atributos de la terminal: %s"
-#: builtins/common.c:579
+#: builtins/common.c:585
#, c-format
msgid "%s: error retrieving current directory: %s: %s\n"
-msgstr "%s: error obteniendo directorio actual: %s: %s\n"
+msgstr "%s: error al obtener el directorio actual: %s: %s\n"
-#: builtins/common.c:645 builtins/common.c:647
+#: builtins/common.c:651 builtins/common.c:653
#, c-format
msgid "%s: ambiguous job spec"
-msgstr "%s: especificación de tarea ambigua"
+msgstr "%s: especificación de trabajo ambigua"
-#: builtins/common.c:908
+#: builtins/common.c:918
msgid "help not available in this version"
-msgstr "ayuda no disponible dentro de esta versión"
+msgstr "ayuda no disponible en esta versión"
#: builtins/complete.def:278
#, c-format
msgid "%s: invalid action name"
msgstr "%s: nombre de acción inválido"
-#: builtins/complete.def:452 builtins/complete.def:653
-#: builtins/complete.def:874
+#: builtins/complete.def:452 builtins/complete.def:647
+#: builtins/complete.def:858
#, c-format
msgid "%s: no completion specification"
-msgstr "%s: no hay completado de especificación"
+msgstr "%s: no hay especificación para completado"
-#: builtins/complete.def:707
+#: builtins/complete.def:699
msgid "warning: -F option may not work as you expect"
msgstr "aviso: es posible que la opción -F no funcione como se espera"
-#: builtins/complete.def:709
+#: builtins/complete.def:701
msgid "warning: -C option may not work as you expect"
msgstr "aviso: es posible que la opción -C no funcione como se espera"
-#: builtins/complete.def:847
+#: builtins/complete.def:831
msgid "not currently executing completion function"
msgstr "no se está ejecutando la función de completado"
# sólo se puede usar. sv
# De acuerdo. cfuga
-#: builtins/declare.def:132
+#: builtins/declare.def:127
msgid "can only be used in a function"
-msgstr "sólo se puede emplear dentro de una función"
+msgstr "sólo se puede usar dentro de una función"
-#: builtins/declare.def:369 builtins/declare.def:736
+#: builtins/declare.def:332 builtins/declare.def:685
#, c-format
msgid "%s: reference variable cannot be an array"
-msgstr "%s: referencia variable no puede ser una unimatriz"
+msgstr "%s: referencia variable no puede ser una matriz"
-#: builtins/declare.def:380 variables.c:3161
+#: builtins/declare.def:343 variables.c:2959
#, c-format
msgid "%s: nameref variable self references not allowed"
-msgstr "%s: variable nombrada referenciada a sí mismo no permitido"
+msgstr "%s: no se permiten las autoreferencias a variables nameref"
-#: builtins/declare.def:385 variables.c:2018 variables.c:3083 variables.c:3095
-#: variables.c:3158
+#: builtins/declare.def:348 variables.c:1928 variables.c:2877 variables.c:2889
+#: variables.c:2956
#, c-format
msgid "%s: circular name reference"
-msgstr "%s: nombre circular referenciado"
+msgstr "%s: referencia de nombre circular"
-#: builtins/declare.def:390 builtins/declare.def:742 builtins/declare.def:753
+#: builtins/declare.def:353 builtins/declare.def:691 builtins/declare.def:702
#, c-format
msgid "`%s': invalid variable name for name reference"
-msgstr "`%s': nombre variable inválido para referencia del nombre"
+msgstr "`%s': nombre variable inválido para referencia de nombre"
-#: builtins/declare.def:500
+#: builtins/declare.def:463
msgid "cannot use `-f' to make functions"
msgstr "no se puede usar `-f' para hacer funciones"
-#: builtins/declare.def:512 execute_cmd.c:5797
+#: builtins/declare.def:475 execute_cmd.c:5632
#, c-format
msgid "%s: readonly function"
msgstr "%s: función de sólo lectura"
-#: builtins/declare.def:804
+#: builtins/declare.def:753
#, c-format
msgid "%s: quoted compound array assignment deprecated"
-msgstr "%s: asignación entrecomillado compuesto matriciado obsoleto"
+msgstr "%s: asignación obsoleta de matriz compuesta entrecomillada"
-#: builtins/declare.def:818
+#: builtins/declare.def:767
#, 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:825 builtins/read.def:784
+#: builtins/declare.def:774 builtins/read.def:751
#, c-format
msgid "%s: cannot convert associative to indexed array"
-msgstr "%s: no se puede convertir una matriz asociativa a indizada"
+msgstr "%s: no se puede convertir una matriz asociativa a indexada"
#: builtins/enable.def:143 builtins/enable.def:151
msgid "dynamic loading not available"
@@ -401,7 +396,7 @@ msgstr "no se puede encontrar %s en el objeto compartido %s: %s"
#: builtins/enable.def:387
#, c-format
msgid "load function for %s returns failure (%d): not loaded"
-msgstr "función de carga para %s devuelve fallo (%d): no cargado"
+msgstr "función de carga para %s devuelve fallo (%d): no se ha efectuado la carga"
#: builtins/enable.def:512
#, c-format
@@ -413,73 +408,73 @@ msgstr "%s: no cargado dinámicamente"
msgid "%s: cannot delete: %s"
msgstr "%s: no se puede borrar: %s"
-#: builtins/evalfile.c:138 builtins/hash.def:184 execute_cmd.c:5629
+#: builtins/evalfile.c:144 builtins/hash.def:172 execute_cmd.c:5472
#, c-format
msgid "%s: is a directory"
msgstr "%s: es un directorio"
-#: builtins/evalfile.c:144
+#: builtins/evalfile.c:150
#, c-format
msgid "%s: not a regular file"
msgstr "%s: no es un fichero regular"
-#: builtins/evalfile.c:153
+#: builtins/evalfile.c:159
#, 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:188 builtins/evalfile.c:206 shell.c:1623
+#: builtins/evalfile.c:194 builtins/evalfile.c:212 shell.c:1578
#, c-format
msgid "%s: cannot execute binary file"
msgstr "%s: no se puede ejecutar el fichero binario"
-#: builtins/exec.def:155 builtins/exec.def:157 builtins/exec.def:237
+#: builtins/exec.def:156 builtins/exec.def:158 builtins/exec.def:235
#, c-format
msgid "%s: cannot execute: %s"
msgstr "%s: no se puede ejecutar: %s"
-#: builtins/exit.def:64
+#: builtins/exit.def:67
#, c-format
msgid "logout\n"
-msgstr "salida\n"
+msgstr "cerrar sesión\n"
-#: builtins/exit.def:89
+#: builtins/exit.def:92
msgid "not login shell: use `exit'"
-msgstr "no es un shell de entrada: use `exit'"
+msgstr "no es un shell de inicio de sesión: utilice `exit'"
-#: builtins/exit.def:121
+#: builtins/exit.def:124
#, c-format
msgid "There are stopped jobs.\n"
-msgstr "Hay tareas detenidas.\n"
+msgstr "Hay trabajos detenidos.\n"
-#: builtins/exit.def:123
+#: builtins/exit.def:126
#, c-format
msgid "There are running jobs.\n"
-msgstr "Hay tareas en ejecución.\n"
+msgstr "Hay trabajos en ejecución.\n"
-#: builtins/fc.def:265
+#: builtins/fc.def:269
msgid "no command found"
-msgstr "no se encontró el mandato"
+msgstr "no se ha encontrado ninguna orden"
-#: builtins/fc.def:323 builtins/fc.def:372
+#: builtins/fc.def:327 builtins/fc.def:376
msgid "history specification"
msgstr "especificación de historia"
-#: builtins/fc.def:393
+#: builtins/fc.def:397
#, c-format
msgid "%s: cannot open temp file: %s"
msgstr "%s: no se puede abrir el fichero temporal: %s"
-#: builtins/fg_bg.def:152 builtins/jobs.def:284
+#: builtins/fg_bg.def:153 builtins/jobs.def:284
msgid "current"
msgstr "actual"
-#: builtins/fg_bg.def:161
+#: builtins/fg_bg.def:162
#, c-format
msgid "job %d started without job control"
-msgstr "tarea %d iniciada sin control de tarea"
+msgstr "trabajo %d iniciado sin control de trabajo"
#: builtins/getopt.c:110
#, c-format
@@ -491,40 +486,38 @@ msgstr "%s: opción ilegal -- %c\n"
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: la opción requiere un argumento -- %c\n"
-#: builtins/hash.def:91
+#: builtins/hash.def:92
msgid "hashing disabled"
msgstr "asociación desactivada"
-#: builtins/hash.def:138
+#: builtins/hash.def:139
#, c-format
msgid "%s: hash table empty\n"
msgstr "%s: tabla de asociación vacía\n"
-#: builtins/hash.def:266
+#: builtins/hash.def:254
#, c-format
msgid "hits\tcommand\n"
-msgstr "coinc\tmandato\n"
+msgstr "coinc\torden\n"
-#: builtins/help.def:133
+#: builtins/help.def:135
+#, c-format
msgid "Shell commands matching keyword `"
msgid_plural "Shell commands matching keywords `"
-msgstr[0] "Orden del shell que coinciden con la palabra `"
-msgstr[1] "Órdenes del shell que coinciden con la palabra `"
+msgstr[0] "Órdenes de shell que coinciden con la palabra clave`"
+msgstr[1] "Órdenes de shell que coinciden con las palabras claves`"
-#: builtins/help.def:185
+#: builtins/help.def:187
#, c-format
-msgid ""
-"no help topics match `%s'. Try `help help' or `man -k %s' or `info %s'."
-msgstr ""
-"no hay temas de ayuda que coincidan con `%s'. Pruebe `help help' o `man -k %"
-"s' o `info %s'."
+msgid "no help topics match `%s'. Try `help help' or `man -k %s' or `info %s'."
+msgstr "no hay temas de ayuda que coincidan con `%s'. Pruebe `help help' o `man -k %s' o `info %s'."
-#: builtins/help.def:224
+#: builtins/help.def:226
#, c-format
msgid "%s: cannot open: %s"
msgstr "%s: no se puede abrir: %s"
-#: builtins/help.def:524
+#: builtins/help.def:526
#, c-format
msgid ""
"These shell commands are defined internally. Type `help' to see this list.\n"
@@ -535,32 +528,30 @@ msgid ""
"A star (*) next to a name means that the command is disabled.\n"
"\n"
msgstr ""
-"Estas órdenes del shell están definidas internamente. Teclee `help' para\n"
+"Estas órdenes de shell están definidas internamente. Teclee `help' para\n"
"ver esta lista.\n"
"Teclee `help nombre' para saber más sobre la función `nombre'.\n"
-"Use `info bash' para saber más sobre el shell en general.\n"
-"Use `man -k' o `info' para saber más sobre los mandatos que no están en\n"
+"Utilice `info bash' para saber más sobre la shell en general.\n"
+"Utilice `man -k' o `info' para saber más sobre las órdenes que no están en\n"
"esta lista.\n"
"\n"
-"Un asterisco (*) junto a un nombre significa que el comando está "
-"desactivado.\n"
+"Un asterisco (*) junto a un nombre significa que la orden está desactivada.\n"
"\n"
-#: builtins/history.def:154
+#: builtins/history.def:155
msgid "cannot use more than one of -anrw"
msgstr "no se puede usar más de uno de -anrw"
-#: builtins/history.def:187 builtins/history.def:197 builtins/history.def:212
-#: builtins/history.def:229 builtins/history.def:241 builtins/history.def:248
+#: builtins/history.def:187
msgid "history position"
msgstr "posición en la historia"
-#: builtins/history.def:331
+#: builtins/history.def:264
#, c-format
msgid "%s: invalid timestamp"
-msgstr "%s: sello inválido"
+msgstr "%s: marca de tiempo inválida"
-#: builtins/history.def:442
+#: builtins/history.def:375
#, c-format
msgid "%s: history expansion failed"
msgstr "%s: falló la expansión de la historia"
@@ -574,87 +565,87 @@ 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:202
#, c-format
msgid "%s: arguments must be process or job IDs"
-msgstr "%s: argumentos deben ser procesos o los ID de tareas"
+msgstr "%s: los argumentos deben ser IDs de procesos o trabajos"
-#: builtins/kill.def:263
+#: builtins/kill.def:265
msgid "Unknown error"
msgstr "Error desconocido"
-#: builtins/let.def:97 builtins/let.def:122 expr.c:614 expr.c:632
+#: builtins/let.def:97 builtins/let.def:122 expr.c:583 expr.c:598
msgid "expression expected"
msgstr "se esperaba una expresión"
#: builtins/mapfile.def:178
#, c-format
msgid "%s: not an indexed array"
-msgstr "%s: no es una matriz indizada"
+msgstr "%s: no es una matriz indexada"
-#: builtins/mapfile.def:271 builtins/read.def:305
+#: builtins/mapfile.def:272 builtins/read.def:306
#, c-format
msgid "%s: invalid file descriptor specification"
msgstr "%s: especificación de descriptor de fichero inválida"
-#: builtins/mapfile.def:279 builtins/read.def:312
+#: builtins/mapfile.def:280 builtins/read.def:313
#, c-format
msgid "%d: invalid file descriptor: %s"
msgstr "%d: descriptor de fichero inválido: %s"
-#: builtins/mapfile.def:288 builtins/mapfile.def:326
+#: builtins/mapfile.def:289 builtins/mapfile.def:327
#, c-format
msgid "%s: invalid line count"
msgstr "%s: cuenta de líneas inválida"
-#: builtins/mapfile.def:299
+#: builtins/mapfile.def:300
#, c-format
msgid "%s: invalid array origin"
msgstr "%s: origen de matriz inválido"
-#: builtins/mapfile.def:316
+#: builtins/mapfile.def:317
#, c-format
msgid "%s: invalid callback quantum"
msgstr "%s: quantum de llamada inválido"
-#: builtins/mapfile.def:349
+#: builtins/mapfile.def:350
msgid "empty array variable name"
-msgstr "nombre de variable unimatricional vacío"
+msgstr "nombre de variable matriz vacío"
-#: builtins/mapfile.def:370
+#: builtins/mapfile.def:371
msgid "array variable support required"
msgstr "se requiere el soporte de variable de matriz"
-#: builtins/printf.def:416
+#: builtins/printf.def:412
#, c-format
msgid "`%s': missing format character"
msgstr "`%s': falta el carácter de formato"
-#: builtins/printf.def:471
+#: builtins/printf.def:467
#, c-format
msgid "`%c': invalid time format specification"
msgstr "`%c': especificación de formato de tiempo inválida"
-#: builtins/printf.def:673
+#: builtins/printf.def:669
#, c-format
msgid "`%c': invalid format character"
msgstr "`%c': carácter de formato inválido"
-#: builtins/printf.def:699
+#: builtins/printf.def:695
#, c-format
msgid "warning: %s: %s"
msgstr "aviso: %s: %s"
-#: builtins/printf.def:785
+#: builtins/printf.def:781
#, c-format
msgid "format parsing problem: %s"
-msgstr "problema interpretando formato: %s"
+msgstr "problema con el análisis del formato: %s"
-#: builtins/printf.def:882
+#: builtins/printf.def:878
msgid "missing hex digit for \\x"
msgstr "falta el dígito hexadecimal para \\x"
-#: builtins/printf.def:897
+#: builtins/printf.def:893
#, c-format
msgid "missing unicode digit for \\%c"
msgstr "falta el dígito unicode para \\%c"
@@ -666,21 +657,21 @@ msgstr "no hay otro directorio"
#: builtins/pushd.def:360
#, c-format
msgid "%s: invalid argument"
-msgstr "%s: argumento no válido"
+msgstr "%s: argumento inválido"
-#: builtins/pushd.def:480
+#: builtins/pushd.def:475
msgid "<no current directory>"
msgstr "<no hay directorio actual>"
-#: builtins/pushd.def:524
+#: builtins/pushd.def:519
msgid "directory stack empty"
msgstr "la pila de directorios está vacía"
-#: builtins/pushd.def:526
+#: builtins/pushd.def:521
msgid "directory stack index"
-msgstr "pila indexada de directorios"
+msgstr "índice de pilas de directorios"
-#: builtins/pushd.def:701
+#: builtins/pushd.def:696
msgid ""
"Display the list of currently remembered directories. Directories\n"
" find their way onto the list with the `pushd' command; you can get\n"
@@ -695,36 +686,32 @@ msgid ""
" \twith its position in the stack\n"
" \n"
" Arguments:\n"
-" +N\tDisplays the Nth entry counting from the left of the list shown "
-"by\n"
+" +N\tDisplays the Nth entry counting from the left of the list shown by\n"
" \tdirs when invoked without options, starting with zero.\n"
" \n"
-" -N\tDisplays the Nth entry counting from the right of the list shown "
-"by\n"
+" -N\tDisplays the Nth entry counting from the right of the list shown by\n"
"\tdirs when invoked without options, starting with zero."
msgstr ""
-"Enseña la lista de directorios actualmente grabados. Los directorios\n"
-" se guardan en la lista con el mandato `pushd'; pueden ir saliendo de\n"
-" la lista con el mandato `popd'.\n"
+"Muestra la lista de directorios actualmente grabados. Los directorios\n"
+" encuentran en la lista con la orden `pushd'; pueden ir saliendo de\n"
+" la lista con la orden `popd'.\n"
" \n"
" Opciones:\n"
-" -c\tlimpia la pila de directorios, eliminando todos los elementos\n"
+" -c\tlimpia la pila de directorios eliminando todos los elementos\n"
" -l\tno muestra las versiones con prefijo de tilde de los directorios\n"
" \t\trelativos a su directorio inicial\n"
" -p\tmuestra la pila de directorios con una entrada por línea\n"
" -v\tmuestra la pila de directorios con una entrada por línea con\n"
-" \t\tsu posición en la pila como prefijo\n"
+" \tsu posición en la pila como prefijo\n"
" \n"
" Argumentos:\n"
-" +N\tMuestra la N-ésima entrada contando desde la izquierda de\n"
-" \t\tla lista mostrada por dirs cuando se llama sin opciones,\n"
-" \t\tempezando desde cero.\n"
+" +N\tMuestra la N-ésima entrada contando desde la izquierda de la lista\n"
+" \tmostrada por dirs cuando se llama sin opciones, empezando en cero.\n"
" \n"
-" -N\tMuestra la N-ésima entrada contando desde la derecha de\n"
-"\t\tla lista mostrada por dirs cuando se llama sin opciones,\n"
-"\t\tempezando desde cero."
+" -N\tMuestra la N-ésima entrada contando desde la derecha de la lista\n"
+" \tmostrada por dirs cuando se llama sin opciones, empezando en cero."
-#: builtins/pushd.def:723
+#: builtins/pushd.def:718
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"
@@ -748,25 +735,29 @@ msgid ""
" \n"
" The `dirs' builtin displays the directory stack."
msgstr ""
-"Agrega un directorio al techo de la pila de directorios, o rota\n"
-" la pila, haciendo que el nuevo techo de la pila sea el\n"
-" directorio de trabajo actual. Sin argumentos, intercambia\n"
-" los dos directorios del techo.\n"
+"Agrega un directorio a la parte superior de la pila de directorios\n"
+" o rota la pila, haciendo que la nueva parte superior de la pila\n"
+" sea el directorio de trabajo actual. Sin argumentos, intercambia\n"
+" los dos directorios de la parte superior.\n"
+" \n"
+" Opciones:\n"
+" -n\tSuprime el cambio normal de directorio al añadir directorios\n"
+" \ta la pila, de forma que solo se manipula la pila.\n"
" \n"
" Argumentos:\n"
-" +N\t Rota la pila para que el N-ésimo directorio (contando\n"
-" \t de la izquierda de la lista mostrada por `dirs',\n"
-" \t comenzando desde cero) esté en el techo.\n"
-" -N\t Rota la pila para que el N-ésimo directorio (contando\n"
-" \t de la derecha de la lista mostrada por `dirs',\n"
-" \t comenzando desde cero) esté en el techo.\n"
+" +N\tRota la pila para que el N-ésimo directorio (contando\n"
+" \tdesde la izquierda de la lista mostrada por `dirs',\n"
+" \tcomenzando desde cero) esté en la parte superior.\n"
+" -N\tRota la pila para que el N-ésimo directorio (contando\n"
+" \tdesde la derecha de la lista mostrada por `dirs',\n"
+" \tcomenzando desde cero) esté en la parte superior.\n"
" \n"
-" dir\t Añade DIR a la pila de directorios en el techo,\n"
-" \t haciéndolo el nuevo directorio de trabajo actual.\n"
+" dir\tAñade DIR a la pila de directorios en la parte superior,\n"
+" \thaciéndolo el nuevo directorio de trabajo actual.\n"
" \n"
-" Los «dir» internos enseña la pila de directorios."
+" La orden interna `dirs' muestra la pila de directorios."
-#: builtins/pushd.def:748
+#: builtins/pushd.def:743
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"
@@ -787,87 +778,86 @@ msgid ""
" The `dirs' builtin displays the directory stack."
msgstr ""
"Quita entradas de la pila de directorios. Sin argumentos, borra\n"
-" directorio techo de la pila, y cambia al nuevo directorio techo.\n"
+" el directorio superior de la pila, y cambia al nuevo directorio superior.\n"
" \n"
" Opciones:\n"
-" -n\t suprime el cambio normal de directorio cuando se borran\n"
-" \t directorios de la pila, así sólo se manipula la pila.\n"
+" -n\tSuprime el cambio normal de directorio cuando se borran\n"
+" \tdirectorios de la pila, de modo que solo se manipula la pila.\n"
" \n"
" Argumentos:\n"
-" +N\tBorra la N-ésima entrada contando de la izquierda de\n"
-" \t la lista mostrada por `dirs', comenzando desde cero.\n"
-" \t Por ejemplo: `popd +0' borra el primer directorio, `popd +1'\n"
-" \t el segundo.\n"
+" +N\tBorra la N-ésima entrada contando desde la izquierda de\n"
+" \tla lista mostrada por `dirs', comenzando desde cero.\n"
+" \tPor ejemplo: `popd +0' borra el primer directorio, `popd +1'\n"
+" \tel segundo.\n"
" \n"
-" -N\tBorra la N-ésima entrada contando de la derecha de\n"
-" \t la lista mostrada por `dirs', comenzando desde cero. Por\n"
-" \t ejemplo: `popd -0' borra el último directorio, `popd -1' el\n"
-" \t penúltimo.\n"
+" -N\tBorra la N-ésima entrada contando desde la derecha de\n"
+" \tla lista mostrada por `dirs', comenzando desde cero. Por\n"
+" \tejemplo: `popd -0' borra el último directorio, `popd -1' el\n"
+" \tpenúltimo.\n"
" \n"
-" El mandato interno `dirs' muestra la pila de directorios."
+" La orden interna `dirs' muestra la pila de directorios."
-#: builtins/read.def:277
+#: builtins/read.def:279
#, c-format
msgid "%s: invalid timeout specification"
-msgstr "%s: tiempo de expiración especificado inválido"
+msgstr "%s: especificación del tiempo de expiración inválida"
-#: builtins/read.def:729
+#: builtins/read.def:696
#, c-format
msgid "read error: %d: %s"
msgstr "error de lectura: %d: %s"
-#: builtins/return.def:68
+#: builtins/return.def:71
msgid "can only `return' from a function or sourced script"
-msgstr "sólo se puede usar `return' desde una función o un guion de origen"
+msgstr "sólo se puede usar `return' desde una función o un script leído con `source'"
-#: builtins/set.def:834
+#: builtins/set.def:841
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:881
+#: builtins/set.def:888
#, c-format
msgid "%s: cannot unset"
-msgstr "%s: no se puede deseleccionar"
+msgstr "%s: no se puede borrar"
-#: builtins/set.def:902 variables.c:3597
+#: builtins/set.def:909 variables.c:3389
#, c-format
msgid "%s: cannot unset: readonly %s"
-msgstr "%s: no se puede deseleccionar: %s es de solo lectura"
+msgstr "%s: no se puede borrar: %s es de solo lectura"
-#: builtins/set.def:915
+#: builtins/set.def:922
#, c-format
msgid "%s: not an array variable"
-msgstr "%s: no es una variable de unimatriz"
+msgstr "%s: no es una variable de matriz"
-#: builtins/setattr.def:189
+#: builtins/setattr.def:191
#, c-format
msgid "%s: not a function"
msgstr "%s: no es una función"
-#: builtins/setattr.def:194
+#: builtins/setattr.def:196
#, c-format
msgid "%s: cannot export"
msgstr "%s: no se puede exportar"
-# shift: arrastre
#: builtins/shift.def:73 builtins/shift.def:79
msgid "shift count"
-msgstr "contador de arrastre"
+msgstr "contador de desplazamiento"
-#: builtins/shopt.def:301
+#: builtins/shopt.def:289
msgid "cannot set and unset shell options simultaneously"
msgstr "no se pueden activar y desactivar opciones del shell simultáneamente"
-#: builtins/shopt.def:403
+#: builtins/shopt.def:391
#, c-format
msgid "%s: invalid shell option name"
-msgstr "%s: nombre de opción del shell inválido"
+msgstr "%s: nombre de opción de shell inválido"
-#: builtins/source.def:128
+#: builtins/source.def:131
msgid "filename argument required"
msgstr "argumento de nombre de fichero requerido"
-#: builtins/source.def:154
+#: builtins/source.def:157
#, c-format
msgid "%s: file not found"
msgstr "%s: no se encontró el fichero"
@@ -880,61 +870,61 @@ msgstr "no se puede suspender"
msgid "cannot suspend a login shell"
msgstr "no se puede suspender un shell de entrada"
-#: builtins/type.def:235
+#: builtins/type.def:236
#, c-format
msgid "%s is aliased to `%s'\n"
msgstr "%s es un alias de `%s'\n"
-#: builtins/type.def:256
+#: builtins/type.def:257
#, c-format
msgid "%s is a shell keyword\n"
msgstr "%s es una palabra clave del shell\n"
-#: builtins/type.def:275
+#: builtins/type.def:276
#, c-format
msgid "%s is a function\n"
msgstr "%s: es una función\n"
-#: builtins/type.def:299
+#: builtins/type.def:300
#, c-format
msgid "%s is a special shell builtin\n"
-msgstr "%s: es una shell especial incorporada\n"
+msgstr "%s es una función interna de shell especial\n"
-#: builtins/type.def:301
+#: builtins/type.def:302
#, c-format
msgid "%s is a shell builtin\n"
-msgstr "%s es un mandato interna del shell\n"
+msgstr "%s es una orden interna del shell\n"
-#: builtins/type.def:323 builtins/type.def:408
+#: builtins/type.def:324 builtins/type.def:409
#, c-format
msgid "%s is %s\n"
msgstr "%s is %s\n"
-#: builtins/type.def:343
+#: builtins/type.def:344
#, c-format
msgid "%s is hashed (%s)\n"
msgstr "%s está asociado (%s)\n"
-#: builtins/ulimit.def:396
+#: builtins/ulimit.def:398
#, c-format
msgid "%s: invalid limit argument"
msgstr "%s: límite de argumento inválido"
-#: builtins/ulimit.def:422
+#: builtins/ulimit.def:424
#, c-format
msgid "`%c': bad command"
-msgstr "`%c': mandato equivocado"
+msgstr "`%c': orden incorrecta"
-#: builtins/ulimit.def:451
+#: builtins/ulimit.def:453
#, c-format
msgid "%s: cannot get limit: %s"
msgstr "%s: no se puede obtener el límite: %s"
-#: builtins/ulimit.def:477
+#: builtins/ulimit.def:479
msgid "limit"
msgstr "límite"
-#: builtins/ulimit.def:489 builtins/ulimit.def:789
+#: builtins/ulimit.def:491 builtins/ulimit.def:791
#, c-format
msgid "%s: cannot modify limit: %s"
msgstr "%s: no se puede modificar el límite: %s"
@@ -946,389 +936,375 @@ msgstr "número octal"
#: builtins/umask.def:232
#, c-format
msgid "`%c': invalid symbolic mode operator"
-msgstr "`%c': modo simbólico de operador inválido"
+msgstr "`%c': operador de modo simbólico inválido"
#: builtins/umask.def:287
#, c-format
msgid "`%c': invalid symbolic mode character"
-msgstr "`%c': modo simbólico de carácter inválido"
+msgstr "`%c': carácter de modo simbólico inválido"
-#: error.c:89 error.c:347 error.c:349 error.c:351
+#: error.c:90 error.c:348 error.c:350 error.c:352
msgid " line "
msgstr " línea "
-#: error.c:164
+#: error.c:165
#, c-format
msgid "last command: %s\n"
-msgstr "último mandato: %s\n"
+msgstr "última orden: %s\n"
-#: error.c:172
+#: error.c:173
#, c-format
msgid "Aborting..."
msgstr "Abortando..."
#. TRANSLATORS: this is a prefix for informational messages.
-#: error.c:287
+#: error.c:288
#, c-format
msgid "INFORM: "
msgstr "INFORME: "
-#: error.c:462
+#: error.c:463
msgid "unknown command error"
-msgstr "error de mandato desconocido"
+msgstr "error de orden desconocida"
-#: error.c:463
+#: error.c:464
msgid "bad command type"
-msgstr "tipo de mandato equivocado"
+msgstr "tipo de orden incorrecto"
-#: error.c:464
+#: error.c:465
msgid "bad connector"
-msgstr "conector equivocado"
+msgstr "conector erróneo"
-#: error.c:465
+#: error.c:466
msgid "bad jump"
-msgstr "omisión equivocada"
+msgstr "salto erróneo"
-#: error.c:503
+#: error.c:504
#, c-format
msgid "%s: unbound variable"
msgstr "%s: variable sin asignar"
-#: eval.c:242
+#: eval.c:209
#, c-format
msgid "\atimed out waiting for input: auto-logout\n"
msgstr "\aha expirado mientras esperaba alguna entrada: auto-logout\n"
-#: execute_cmd.c:536
+#: execute_cmd.c:527
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
-msgstr "no se puede redirigir la salida común desde /dev/null: %s"
+msgstr "no se puede redirigir la entrada estándar desde /dev/null: %s"
-#: execute_cmd.c:1294
+#: execute_cmd.c:1275
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr "TIMEFORMAT: `%c': carácter de formato inválido"
-#: execute_cmd.c:2330
+#: execute_cmd.c:2273
#, c-format
msgid "execute_coproc: coproc [%d:%s] still exists"
msgstr "execute_coproc: coproc [%d:%s] aún existe"
-#: execute_cmd.c:2456
+#: execute_cmd.c:2377
msgid "pipe error"
msgstr "error de tubería"
-#: execute_cmd.c:4624
+#: execute_cmd.c:4496
#, c-format
msgid "eval: maximum eval nesting level exceeded (%d)"
-msgstr "eval: evaluación máxima anidando nivel excedido (%d)"
+msgstr "eval: nivel máximo de anidamiento de evaluaciones excedido (%d)"
-#: execute_cmd.c:4636
+#: execute_cmd.c:4508
#, c-format
msgid "%s: maximum source nesting level exceeded (%d)"
-msgstr "%s: nivel de origen máximo anidado excedido (%d)"
+msgstr "%s: nivel máximo de anidamiento de lecturas con `source' excedido (%d)"
-#: execute_cmd.c:4742
+#: execute_cmd.c:4616
#, c-format
msgid "%s: maximum function nesting level exceeded (%d)"
-msgstr "%s: función anidada de nivel máximo excedido (%d)"
+msgstr "%s: nivel máximo de anidamiento de funciones excedido (%d)"
-#: execute_cmd.c:5285
+#: execute_cmd.c:5144
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
msgstr "%s: restringido: no se puede especificar `/' en nombres de órdenes"
-#: execute_cmd.c:5383
+#: execute_cmd.c:5232
#, c-format
msgid "%s: command not found"
-msgstr "%s: mandato no encontrado"
+msgstr "%s: orden no encontrada"
-#: execute_cmd.c:5627
+#: execute_cmd.c:5470
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: execute_cmd.c:5665
+#: execute_cmd.c:5508
#, c-format
msgid "%s: %s: bad interpreter"
msgstr "%s: %s: intérprete erróneo"
# file=fichero. archive=archivo. Si no, es imposible traducir tar. sv
# De acuerdo. Corregido en todo el fichero. cfuga
-#: execute_cmd.c:5702
+#: execute_cmd.c:5545
#, c-format
msgid "%s: cannot execute binary file: %s"
-msgstr "%s: no puede ejecutar fichero binario: %s"
+msgstr "%s: no se puede ejecutar fichero binario: %s"
-#: execute_cmd.c:5788
+#: execute_cmd.c:5623
#, c-format
msgid "`%s': is a special builtin"
-msgstr "`%s': es un constructor especial"
+msgstr "`%s': es una orden interna especial"
-#: execute_cmd.c:5840
+#: execute_cmd.c:5675
#, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr "no se puede duplicar el df %d al df %d"
-#: expr.c:263
+#: expr.c:259
msgid "expression recursion level exceeded"
msgstr "se ha excedido el nivel de recursión de la expresión"
-#: expr.c:291
+#: expr.c:283
msgid "recursion stack underflow"
-msgstr "desbordamiento de la base de la pila de recursión"
+msgstr "desbordamiento de la pila de recursión"
-#: expr.c:453
+#: expr.c:431
msgid "syntax error in expression"
msgstr "error sintáctico en la expresión"
-#: expr.c:497
+#: expr.c:475
msgid "attempted assignment to non-variable"
msgstr "se intentó asignar a algo que no es una variable"
-#: expr.c:506
-#, fuzzy
-msgid "syntax error in variable assignment"
-msgstr "error sintáctico en la expresión"
-
-#: expr.c:520 expr.c:886
+#: expr.c:495 expr.c:858
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:567
+#: expr.c:542
msgid "bug: bad expassign token"
msgstr "defecto: elemento de asignación de expresión erróneo"
-#: expr.c:621
+#: expr.c:595
msgid "`:' expected for conditional expression"
msgstr "se esperaba `:' para la expresión condicional"
-#: expr.c:947
+#: expr.c:919
msgid "exponent less than 0"
msgstr "exponente menor que 0"
-#: expr.c:1004
+#: expr.c:976
msgid "identifier expected after pre-increment or pre-decrement"
-msgstr ""
-"se esperaba un identificador después del pre-incremento o pre-decremento"
+msgstr "se esperaba un identificador después del pre-incremento o pre-decremento"
# falta , singular em+
# mmmh, puede faltar más de un paréntesis cfuga
# tiene razón Enrique, es singular. cfuga
-#: expr.c:1030
+#: expr.c:1002
msgid "missing `)'"
msgstr "falta un `)'"
-#: expr.c:1081 expr.c:1458
+#: expr.c:1053 expr.c:1393
msgid "syntax error: operand expected"
msgstr "error sintáctico: se esperaba un operando"
-#: expr.c:1460
+#: expr.c:1395
msgid "syntax error: invalid arithmetic operator"
msgstr "error sintáctico: operador aritmético inválido"
-#: expr.c:1484
+#: expr.c:1419
#, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
msgstr "%s%s%s: %s (el elemento de error es \"%s\")"
-#: expr.c:1542
+#: expr.c:1477
msgid "invalid arithmetic base"
msgstr "base aritmética inválida"
-#: expr.c:1562
+#: expr.c:1497
msgid "value too great for base"
msgstr "valor demasiado grande para la base"
-#: expr.c:1611
+#: expr.c:1546
#, c-format
msgid "%s: expression error\n"
msgstr "%s: error de expresión\n"
-#: general.c:69
+#: general.c:68
msgid "getcwd: cannot access parent directories"
msgstr "getcwd: no se puede acceder a los directorios padre"
-#: input.c:99 subst.c:5858
+#: input.c:102 subst.c:5858
#, c-format
msgid "cannot reset nodelay mode for fd %d"
msgstr "no se puede reestablecer el modo nodelay para el df %d"
-#: input.c:266
+#: input.c:271
#, c-format
msgid "cannot allocate new file descriptor for bash input from fd %d"
-msgstr ""
-"no se puede asignar un nuevo descriptor de fichero para la entrada de bash "
-"desde el df %d"
+msgstr "no se puede asignar un nuevo descriptor de fichero para la entrada de bash desde el df %d"
# buffer: espacio intermedio , alojamiento intermedio ( me gusta menos )
# em+
# almacenamiento intermedio. cfuga
-#: input.c:274
+#: input.c:279
#, c-format
msgid "save_bash_input: buffer already exists for new fd %d"
-msgstr ""
-"save_bash_input: el almacenamiento intermedio ya existe para el nuevo df %d"
+msgstr "save_bash_input: el almacenamiento intermedio ya existe para el nuevo df %d"
#: jobs.c:527
msgid "start_pipeline: pgrp pipe"
msgstr "start_pipeline: tubería de pgrp"
-#: jobs.c:1080
+#: jobs.c:1035
#, c-format
msgid "forked pid %d appears in running job %d"
-msgstr "el pid `forked' %d aparece en la tarea en ejecución %d"
+msgstr "el pid `forked' %d aparece en el trabajo en ejecución %d"
-#: jobs.c:1199
+#: jobs.c:1154
#, c-format
msgid "deleting stopped job %d with process group %ld"
-msgstr "borrando la tarea detenida %d con grupo de proceso %ld"
+msgstr "borrando el trabajo detenido %d con grupo de proceso %ld"
-#: jobs.c:1303
+#: jobs.c:1258
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
msgstr "add_process: el proceso %5ld (%s) en the_pipeline"
-#: jobs.c:1306
+#: jobs.c:1261
#, 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:1635
+#: jobs.c:1590
#, c-format
msgid "describe_pid: %ld: no such pid"
msgstr "describe_pid: %ld: no existe tal pid"
-#: jobs.c:1650
+#: jobs.c:1605
#, c-format
msgid "Signal %d"
msgstr "Señal %d"
-#: jobs.c:1664 jobs.c:1690
+#: jobs.c:1619 jobs.c:1645
msgid "Done"
msgstr "Hecho"
-#: jobs.c:1669 siglist.c:123
+#: jobs.c:1624 siglist.c:123
msgid "Stopped"
msgstr "Detenido"
-#: jobs.c:1673
+#: jobs.c:1628
#, c-format
msgid "Stopped(%s)"
msgstr "Detenido(%s)"
-#: jobs.c:1677
+#: jobs.c:1632
msgid "Running"
msgstr "Ejecutando"
-#: jobs.c:1694
+#: jobs.c:1649
#, c-format
msgid "Done(%d)"
msgstr "Hecho(%d)"
-#: jobs.c:1696
+#: jobs.c:1651
#, c-format
msgid "Exit %d"
msgstr "Salida %d"
-#: jobs.c:1699
+#: jobs.c:1654
msgid "Unknown status"
msgstr "Estado desconocido"
-#: jobs.c:1786
+#: jobs.c:1741
#, c-format
msgid "(core dumped) "
msgstr "(`core' generado) "
-#: jobs.c:1805
+#: jobs.c:1760
#, c-format
msgid " (wd: %s)"
msgstr " (da: %s)"
-#: jobs.c:2033
+#: jobs.c:1985
#, c-format
msgid "child setpgid (%ld to %ld)"
msgstr "setpgid hijo (%ld a %ld)"
-#: jobs.c:2395 nojobs.c:657
+#: jobs.c:2347 nojobs.c:654
#, 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:2687
+#: jobs.c:2602
#, c-format
msgid "wait_for: No record of process %ld"
msgstr "wait_for: No hay un registro del proceso %ld"
-#: jobs.c:3048
+#: jobs.c:2929
#, c-format
msgid "wait_for_job: job %d is stopped"
-msgstr "wait_for_job: la tarea %d está detenida"
+msgstr "wait_for_job: el trabajo %d está detenido"
-#: jobs.c:3355
+#: jobs.c:3221
#, c-format
msgid "%s: job has terminated"
-msgstr "%s: la tarea ha terminado"
+msgstr "%s: el trabajo ha terminado"
-#: jobs.c:3364
+#: jobs.c:3230
#, c-format
msgid "%s: job %d already in background"
-msgstr "%s: la tarea %d ya está en segundo plano"
+msgstr "%s: el trabajo %d ya está en segundo plano"
-#: jobs.c:3590
+#: jobs.c:3455
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
msgstr "waitchld: se activa WNOHANG para evitar el bloque indefinido"
-#: jobs.c:4114
+#: jobs.c:3970
#, c-format
msgid "%s: line %d: "
msgstr "%s: línea %d: "
-#: jobs.c:4128 nojobs.c:900
+#: jobs.c:3984 nojobs.c:897
#, c-format
msgid " (core dumped)"
msgstr " (`core' generado)"
-#: jobs.c:4140 jobs.c:4153
+#: jobs.c:3996 jobs.c:4009
#, c-format
msgid "(wd now: %s)\n"
msgstr "(dir ahora: %s)\n"
-#: jobs.c:4185
+#: jobs.c:4041
msgid "initialize_job_control: getpgrp failed"
msgstr "initialize_jobs_control: falló getpgrp"
-#: jobs.c:4241
-#, fuzzy
-msgid "initialize_job_control: no job control in background"
-msgstr "initialize_jobs_control: disciplina de línea"
-
-#: jobs.c:4257
+#: jobs.c:4104
msgid "initialize_job_control: line discipline"
msgstr "initialize_jobs_control: disciplina de línea"
-#: jobs.c:4267
+#: jobs.c:4114
msgid "initialize_job_control: setpgid"
msgstr "initialize_jobs_control: setpgid"
-#: jobs.c:4288 jobs.c:4297
+#: jobs.c:4135 jobs.c:4144
#, c-format
msgid "cannot set terminal process group (%d)"
msgstr "no se puede establecer el grupo de proceso de terminal (%d)"
-#: jobs.c:4302
+#: jobs.c:4149
msgid "no job control in this shell"
-msgstr "no hay control de tareas en este shell"
+msgstr "no hay control de trabajos en este shell"
-#: lib/malloc/malloc.c:306
+#: lib/malloc/malloc.c:296
#, c-format
msgid "malloc: failed assertion: %s\n"
msgstr "malloc: falló la aserción: %s\n"
-#: lib/malloc/malloc.c:322
+#: lib/malloc/malloc.c:312
#, c-format
msgid ""
"\r\n"
@@ -1337,41 +1313,39 @@ msgstr ""
"\r\n"
"malloc: %s:%d: aserción arruinada\r\n"
-#: lib/malloc/malloc.c:323
+#: lib/malloc/malloc.c:313
msgid "unknown"
msgstr "desconocido"
-#: lib/malloc/malloc.c:811
+#: lib/malloc/malloc.c:801
msgid "malloc: block on free list clobbered"
msgstr "malloc: bloque en la lista libre sobreescrito"
-#: lib/malloc/malloc.c:888
+#: lib/malloc/malloc.c:878
msgid "free: called with already freed block argument"
msgstr "free: se llamó con un argumento de bloque previamente liberado"
-#: lib/malloc/malloc.c:891
+#: lib/malloc/malloc.c:881
msgid "free: called with unallocated block argument"
msgstr "free: se llamó con un argumento de bloque sin asignar"
-#: lib/malloc/malloc.c:910
+#: lib/malloc/malloc.c:900
msgid "free: underflow detected; mh_nbytes out of range"
-msgstr ""
-"free: se detectó un desbordamiento por debajo; mh_nbytes fuera de rango"
+msgstr "free: se detectó un desbordamiento por debajo; mh_nbytes fuera de rango"
-#: lib/malloc/malloc.c:916
+#: lib/malloc/malloc.c:906
msgid "free: start and end chunk sizes differ"
-msgstr "free: los tamaños de los pedazos de inicio y final son diferentes"
+msgstr "free: los tamaños de los fragmentos del inicio y del final son diferentes"
-#: lib/malloc/malloc.c:1015
+#: lib/malloc/malloc.c:1005
msgid "realloc: called with unallocated block argument"
msgstr "realloc: se llamó con un argumento de bloque sin asignar"
-#: lib/malloc/malloc.c:1030
+#: lib/malloc/malloc.c:1020
msgid "realloc: underflow detected; mh_nbytes out of range"
-msgstr ""
-"realloc: se detectó un desbordamiento por debajo; mh_nbytes fuera de rango"
+msgstr "realloc: se detectó un desbordamiento por debajo; mh_nbytes fuera de rango"
-#: lib/malloc/malloc.c:1036
+#: lib/malloc/malloc.c:1026
msgid "realloc: start and end chunk sizes differ"
msgstr "realloc: los tamaños de los pedazos de inicio y fin son diferentes"
@@ -1413,22 +1387,22 @@ msgstr "%s: especificación de ruta de red errónea"
msgid "network operations not supported"
msgstr "no hay soporte para operaciones de red"
-#: locale.c:205
+#: locale.c:200
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s)"
msgstr "setlocale: LC_ALL: no se puede cambiar el local (%s)"
-#: locale.c:207
+#: locale.c:202
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
msgstr "setlocale: LC_ALL: no se puede cambiar el local (%s): %s"
-#: locale.c:272
+#: locale.c:259
#, c-format
msgid "setlocale: %s: cannot change locale (%s)"
msgstr "setlocale: %s: no se puede cambiar el local (%s)"
-#: locale.c:274
+#: locale.c:261
#, c-format
msgid "setlocale: %s: cannot change locale (%s): %s"
msgstr "setlocale: %s: no se puede cambiar el local (%s): %s"
@@ -1446,118 +1420,111 @@ msgstr "Tiene correo nuevo en $_"
msgid "The mail in %s has been read\n"
msgstr "El correo en %s fue leído\n"
-#: make_cmd.c:317
+#: make_cmd.c:329
msgid "syntax error: arithmetic expression required"
msgstr "error sintáctico: se requiere una expresión aritmética"
-#: make_cmd.c:319
+#: make_cmd.c:331
msgid "syntax error: `;' unexpected"
msgstr "error sintáctico: `;' inesperado"
-#: make_cmd.c:320
+#: make_cmd.c:332
#, c-format
msgid "syntax error: `((%s))'"
msgstr "error sintáctico: `((%s))'"
-#: make_cmd.c:572
+#: make_cmd.c:584
#, c-format
msgid "make_here_document: bad instruction type %d"
msgstr "make_here_document: tipo de instrucción %d erróneo"
-#: make_cmd.c:657
+#: make_cmd.c:669
#, c-format
msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
-msgstr ""
-"el documento-aquí en la línea %d está delimitado por fin-de-fichero (se "
-"esperaba `%s')"
+msgstr "el documento-aquí en la línea %d está delimitado por fin-de-fichero (se esperaba `%s')"
-#: make_cmd.c:756
+#: make_cmd.c:768
#, c-format
msgid "make_redirection: redirection instruction `%d' out of range"
-msgstr ""
-"make_redirection: la instrucción de redirección `%d' está fuera de rango"
+msgstr "make_redirection: la instrucción de redirección `%d' está fuera de rango"
-#: parse.y:2369
+#: parse.y:2324
#, c-format
-msgid ""
-"shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line "
-"truncated"
-msgstr ""
-"shell_getc: shell_input_line_size (%zu) excede TAMAÑO_MAX (%lu): línea "
-"truncada"
+msgid "shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line truncated"
+msgstr "shell_getc: shell_input_line_size (%zu) excede TAMAÑO_MAX (%lu): línea truncada"
-#: parse.y:2772
+#: parse.y:2700
msgid "maximum here-document count exceeded"
-msgstr "contador máximo aquí-documento excedido"
+msgstr "número máximo de documentos en «here--document» excedido"
-#: parse.y:3511 parse.y:3881
+#: parse.y:3390 parse.y:3748
#, c-format
msgid "unexpected EOF while looking for matching `%c'"
-msgstr "inesperado FDL mientras se buscaba una coincidencia `%c'"
+msgstr "EOF inesperado mientras se buscaba un `%c' coincidente"
-#: parse.y:4581
+#: parse.y:4410
msgid "unexpected EOF while looking for `]]'"
-msgstr "inesperado FDL mientras se buscaba `]]'"
+msgstr "EOF inesperado mientras se buscaba `]]'"
-#: parse.y:4586
+#: parse.y:4415
#, 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:4590
+#: parse.y:4419
msgid "syntax error in conditional expression"
msgstr "error sintáctico en la expresión condicional"
-#: parse.y:4668
+#: parse.y:4497
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr "elemento inesperado `%s', se esperaba `)'"
-#: parse.y:4672
+#: parse.y:4501
msgid "expected `)'"
msgstr "se esperaba `)'"
-#: parse.y:4700
+#: parse.y:4529
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr "argumento inesperado `%s' para el operador unario condicional"
-#: parse.y:4704
+#: parse.y:4533
msgid "unexpected argument to conditional unary operator"
msgstr "argumento inesperado para el operador unario condicional"
-#: parse.y:4750
+#: parse.y:4579
#, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr "elemento inesperado `%s', se esperaba un operador binario condicional"
-#: parse.y:4754
+#: parse.y:4583
msgid "conditional binary operator expected"
msgstr "se esperaba un operador binario condicional"
-#: parse.y:4776
+#: parse.y:4605
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr "argumento inesperado `%s' para el operador binario condicional"
-#: parse.y:4780
+#: parse.y:4609
msgid "unexpected argument to conditional binary operator"
msgstr "argumento inesperado para el operador binario condicional"
-#: parse.y:4791
+#: parse.y:4620
#, c-format
msgid "unexpected token `%c' in conditional command"
-msgstr "elemento inesperado `%c' en el mandato condicional"
+msgstr "elemento inesperado `%c' en la orden condicional"
-#: parse.y:4794
+#: parse.y:4623
#, c-format
msgid "unexpected token `%s' in conditional command"
-msgstr "elemento inesperado `%s' en el mandato condicional"
+msgstr "elemento inesperado `%s' en la orden condicional"
-#: parse.y:4798
+#: parse.y:4627
#, c-format
msgid "unexpected token %d in conditional command"
-msgstr "elemento inesperado %d en el mandato condicional"
+msgstr "elemento inesperado %d en la orden condicional"
# Token: elemento ?
# error sintáctico, no se esperaba el símbolo `%c' em+
@@ -1565,12 +1532,12 @@ msgstr "elemento inesperado %d en el mandato 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:6220
+#: parse.y:5996
#, c-format
msgid "syntax error near unexpected token `%s'"
msgstr "error sintáctico cerca del elemento inesperado `%s'"
-#: parse.y:6238
+#: parse.y:6014
#, c-format
msgid "syntax error near `%s'"
msgstr "error sintáctico cerca de `%s'"
@@ -1579,29 +1546,29 @@ 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:6248
+#: parse.y:6024
msgid "syntax error: unexpected end of file"
msgstr "error sintáctico: no se esperaba el final del fichero"
-#: parse.y:6248
+#: parse.y:6024
msgid "syntax error"
msgstr "error sintáctico"
-#: parse.y:6310
+#: parse.y:6086
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
-msgstr "Use \"%s\" para dejar el shell.\n"
+msgstr "Utilice \"%s\" para dejar el shell.\n"
-#: parse.y:6472
+#: parse.y:6248
msgid "unexpected EOF while looking for matching `)'"
-msgstr "esperado FDL mientras se buscaba una coincidencia `)'"
+msgstr "EOF inesperado mientras se buscaba un `)' coincidente"
-#: pcomplete.c:1132
+#: pcomplete.c:1126
#, c-format
msgid "completion: function `%s' not found"
msgstr "completion: función `%s' no encontrada"
-#: pcomplete.c:1722
+#: pcomplete.c:1646
#, c-format
msgid "programmable_completion: %s: possible retry loop"
msgstr "programmable_completion: %s: posible bucle de reintento"
@@ -1611,99 +1578,95 @@ msgstr "programmable_completion: %s: posible bucle de reintento"
msgid "progcomp_insert: %s: NULL COMPSPEC"
msgstr "progcomp_insert: %s: COMPSPEC nulo"
-#: print_cmd.c:300
+#: print_cmd.c:302
#, c-format
msgid "print_command: bad connector `%d'"
msgstr "print_command: conector erróneo `%d'"
-#: print_cmd.c:373
+#: print_cmd.c:375
#, c-format
msgid "xtrace_set: %d: invalid file descriptor"
msgstr "xtrace_set: %d: descriptor de fichero inválido"
-#: print_cmd.c:378
+#: print_cmd.c:380
msgid "xtrace_set: NULL file pointer"
-msgstr "xtrace_set: puntero a fichero NULO"
+msgstr "xtrace_set: puntero NULL a fichero"
-#: print_cmd.c:382
+#: print_cmd.c:384
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
msgstr "xtrace fd (%d) != numfich xtrace fp (%d)"
-#: print_cmd.c:1538
+#: print_cmd.c:1534
#, c-format
msgid "cprintf: `%c': invalid format character"
msgstr "cprintf: `%c': carácter de formato inválido"
-#: redir.c:121 redir.c:167
+#: redir.c:124 redir.c:171
msgid "file descriptor out of range"
msgstr "descriptor de fichero fuera de rango"
-#: redir.c:174
+#: redir.c:178
#, c-format
msgid "%s: ambiguous redirect"
msgstr "%s: redireccionamiento ambiguo"
-#: redir.c:178
+#: redir.c:182
#, c-format
msgid "%s: cannot overwrite existing file"
msgstr "%s: no se puede sobreescribir un fichero existente"
-#: redir.c:183
+#: redir.c:187
#, c-format
msgid "%s: restricted: cannot redirect output"
msgstr "%s: restringido: no se puede redirigir la salida"
-#: redir.c:188
+#: 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:192
+#: redir.c:196
#, c-format
msgid "%s: cannot assign fd to variable"
msgstr "%s: no se puede asignar el fd a la variable"
-#: redir.c:588
+#: redir.c:586
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr "no se admite /dev/(tcp|udp)/anfitrion/puerto sin red"
-#: redir.c:870 redir.c:985 redir.c:1046 redir.c:1211
+#: redir.c:868 redir.c:983 redir.c:1044 redir.c:1209
msgid "redirection error: cannot duplicate fd"
msgstr "error de redirección: no se puede duplicar el df"
-#: shell.c:343
+#: shell.c:347
msgid "could not find /tmp, please create!"
msgstr "¡no se puede encontrar /tmp, crear por favor!"
-#: shell.c:347
+#: shell.c:351
msgid "/tmp must be a valid directory name"
msgstr "/tmp debe ser un nombre de directorio válido"
-#: shell.c:798
-msgid "pretty-printing mode ignored in interactive shells"
-msgstr ""
-
-#: shell.c:940
+#: shell.c:927
#, c-format
msgid "%c%c: invalid option"
msgstr "%c%c: opción inválida"
-#: shell.c:1299
+#: shell.c:1282
#, c-format
msgid "cannot set uid to %d: effective uid %d"
msgstr "no se puede establecer el uid %d: uid efectivo %d"
-#: shell.c:1306
+#: shell.c:1289
#, c-format
msgid "cannot set gid to %d: effective gid %d"
msgstr "no se puede establecer gid a %d: gid efectivo %d"
-#: shell.c:1494
+#: shell.c:1458
msgid "cannot start debugger; debugging mode disabled"
msgstr "no puede ejecutar el depurador; modo depurado desactivado"
-#: shell.c:1608
+#: shell.c:1566
#, c-format
msgid "%s: Is a directory"
msgstr "%s: es un directorio"
@@ -1711,11 +1674,11 @@ msgstr "%s: es un directorio"
# 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:1826
+#: shell.c:1777
msgid "I have no name!"
msgstr "¡No tengo nombre de usuario!"
-#: shell.c:1980
+#: shell.c:1930
#, c-format
msgid "GNU bash, version %s-(%s)\n"
msgstr "GNU bash, versión %s-(%s)\n"
@@ -1725,62 +1688,58 @@ 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:1981
+#: shell.c:1931
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
"\t%s [GNU long option] [option] script-file ...\n"
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"
+"\t%s [opción GNU larga] [opción] fichero de shell ...\n"
-#: shell.c:1983
+#: shell.c:1933
msgid "GNU long options:\n"
msgstr "Opciones GNU largas:\n"
-#: shell.c:1987
+#: shell.c:1937
msgid "Shell options:\n"
msgstr "Opciones del shell:\n"
-#: shell.c:1988
+#: shell.c:1938
msgid "\t-ilrsD or -c command or -O shopt_option\t\t(invocation only)\n"
-msgstr "\t-irsD o -c mandato o -O opción_shopt\t\t(sólo invocación)\n"
+msgstr "\t-irsD o -c orden o -O opción_shopt\t\t(sólo invocación)\n"
-#: shell.c:2003
+#: shell.c:1953
#, c-format
msgid "\t-%s or -o option\n"
msgstr "\t-%s o -o opción\n"
-#: shell.c:2009
+#: shell.c:1959
#, c-format
msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
-msgstr ""
-"Teclee `%s -c \"help set\"' para más información sobre las opciones del "
-"shell.\n"
+msgstr "Teclee `%s -c \"help set\"' para más información sobre las opciones del shell.\n"
-#: shell.c:2010
+#: shell.c:1960
#, 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 los mandatos internos del "
-"shell.\n"
+msgstr "Teclee `%s -c help' para más información sobre las órdenes internas del shell.\n"
-#: shell.c:2011
+#: shell.c:1961
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
-msgstr "Use el mandato `bashbug' para reportar defectos.\n"
+msgstr "Utilice la orden `bashbug' para reportar defectos.\n"
-#: shell.c:2013
+#: shell.c:1963
#, c-format
msgid "bash home page: <http://www.gnu.org/software/bash>\n"
msgstr "página inicial bash: <http://www.gnu.org/software/bash>\n"
-#: shell.c:2014
+#: shell.c:1964
#, c-format
msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
msgstr "Ayuda general utilizando software GNU: <http://www.gnu.org/gethelp/>\n"
-#: sig.c:695
+#: sig.c:707
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr "sigprocmask: %d: operación inválida"
@@ -1839,7 +1798,7 @@ msgstr "Violación de segmento"
# llamada a la función del sistema, no la llamada en sí cfuga
#: siglist.c:99
msgid "Bad system call"
-msgstr "Llamada al sistema equivocada"
+msgstr "Llamada al sistema errónea"
# (pipe) no, por favor. Esto ya está traducido en libc, así que a estas
# alturas, la gente ya debería saber qué es eso de la tubería. sv
@@ -1950,7 +1909,7 @@ msgstr "el modo monitor HTF ha sido retirado"
#: siglist.c:211
msgid "HFT sound sequence has completed"
-msgstr "la secuencia sonora HFT ha sido completada"
+msgstr "la secuencia de sonido HFT ha sido completada"
#: siglist.c:215
msgid "Information request"
@@ -1965,21 +1924,21 @@ msgstr "Señal Desconocida #"
msgid "Unknown Signal #%d"
msgstr "Señal Desconocida #%d"
-#: subst.c:1450 subst.c:1641
+#: subst.c:1445 subst.c:1608
#, c-format
msgid "bad substitution: no closing `%s' in %s"
-msgstr "sustitución equivocada: no hay un `%s' que cierre en %s"
+msgstr "sustitución errónea: no hay un `%s' que cierre en %s"
-#: subst.c:3209
+#: subst.c:3154
#, 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:5734 subst.c:5750
+#: subst.c:5740 subst.c:5756
msgid "cannot make pipe for process substitution"
msgstr "no se puede crear la tubería para la sustitución del proceso"
-#: subst.c:5796
+#: subst.c:5798
msgid "cannot make child for process substitution"
msgstr "no se puede crear un proceso hijo para la sustitución del proceso"
@@ -1998,76 +1957,67 @@ msgstr "no se puede abrir la tubería llamada %s para escritura"
msgid "cannot duplicate named pipe %s as fd %d"
msgstr "no se puede duplicar la tubería llamada %s como df %d"
-#: subst.c:5990
+#: subst.c:5959
msgid "command substitution: ignored null byte in input"
-msgstr "sustitución mandato: ignorado byte nulo en entrada"
+msgstr "sustitución de orden: se ignora byte nulo en la entrada"
-#: subst.c:6121
+#: subst.c:6083
msgid "cannot make pipe for command substitution"
-msgstr "no se puede crear la tubería para la sustitución del mandato"
+msgstr "no se puede crear la tubería para la sustitución de la orden"
-#: subst.c:6164
+#: subst.c:6127
msgid "cannot make child for command substitution"
-msgstr "no se puede crear un proceso hijo para la sustitución del mandato"
+msgstr "no se puede crear un proceso hijo para la sustitución de la orden"
-#: subst.c:6190
+#: subst.c:6153
msgid "command_substitute: cannot duplicate pipe as fd 1"
msgstr "command_substitute: no se puede duplicar la tubería como df 1"
-#: subst.c:6641 subst.c:9483
+#: subst.c:6580 subst.c:8939
#, c-format
msgid "%s: invalid variable name for name reference"
-msgstr "%s: nombre variable inválido para referencia de nombre"
+msgstr "%s: nombre de variable inválido para referencia de nombre"
-#: subst.c:6737 subst.c:6755 subst.c:6903
+#: subst.c:6666 subst.c:8351 subst.c:8371
+#, c-format
+msgid "%s: bad substitution"
+msgstr "%s: sustitución errónea"
+
+#: subst.c:6800
#, c-format
msgid "%s: invalid indirect expansion"
msgstr "%s: expansión indirecta inválida"
-#: subst.c:6771 subst.c:6910
+#: subst.c:6807
#, c-format
msgid "%s: invalid variable name"
-msgstr "%s: nombre de variable no válida"
-
-#: subst.c:6962
-#, fuzzy, c-format
-msgid "%s: parameter not set"
-msgstr "%s: parámetro nulo o no establecido"
+msgstr "%s: nombre de variable inválido"
-#: subst.c:6964
+#: subst.c:6854
#, c-format
msgid "%s: parameter null or not set"
msgstr "%s: parámetro nulo o no establecido"
-#: subst.c:7201 subst.c:7216
+#: subst.c:7089 subst.c:7104
#, c-format
msgid "%s: substring expression < 0"
msgstr "%s: expresión de subcadena < 0"
-#: subst.c:8839 subst.c:8860
-#, c-format
-msgid "%s: bad substitution"
-msgstr "%s: sustitución errónea"
-
-#: subst.c:8948
+#: subst.c:8450
#, c-format
msgid "$%s: cannot assign in this way"
msgstr "$%s: no se puede asignar de esta forma"
-#: subst.c:9346
-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:8802
+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:9903
+#: subst.c:9349
#, c-format
msgid "bad substitution: no closing \"`\" in %s"
-msgstr "sustitución equivocada: no hay una \"`\" que cierre en %s"
+msgstr "sustitución errónea: no hay una \"`\" que cierre en %s"
-#: subst.c:10907
+#: subst.c:10298
#, c-format
msgid "no match: %s"
msgstr "no hay coincidencia: %s"
@@ -2090,12 +2040,12 @@ msgstr "`)' esperado"
msgid "`)' expected, found %s"
msgstr "se esperaba `)', se encontró %s"
-#: test.c:282 test.c:748 test.c:751
+#: test.c:282 test.c:744 test.c:747
#, c-format
msgid "%s: unary operator expected"
msgstr "%s: se esperaba un operador unario"
-#: test.c:469 test.c:791
+#: test.c:469 test.c:787
#, c-format
msgid "%s: binary operator expected"
msgstr "%s: se esperaba un operador binario"
@@ -2107,115 +2057,106 @@ 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:873
+#: test.c:869
msgid "missing `]'"
msgstr "falta un `]'"
-#: trap.c:216
+#: trap.c:224
msgid "invalid signal number"
msgstr "número de señal inválido"
-#: trap.c:379
+#: trap.c:387
#, 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:383
+#: trap.c:391
#, c-format
-msgid ""
-"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
-msgstr ""
-"run_pending_traps: el manejador de señal es SIG_DFL, reenviando %d (%s) a mí "
-"mismo"
+msgid "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
+msgstr "run_pending_traps: el manejador de señal es SIG_DFL, reenviando %d (%s) a mí mismo"
-#: trap.c:439
+#: trap.c:447
#, c-format
msgid "trap_handler: bad signal %d"
msgstr "trap_handler: señal errónea %d"
-#: variables.c:399
+#: variables.c:409
#, c-format
msgid "error importing function definition for `%s'"
msgstr "error al importar la definición de la función para `%s'"
-#: variables.c:801
+#: variables.c:814
#, 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:2512
+#: variables.c:2413
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:2531
+#: variables.c:2432
#, c-format
msgid "%s: variable may not be assigned value"
msgstr "%s: variable quizá no es valor asignado"
-#: variables.c:3246
+#: variables.c:3043
#, c-format
msgid "%s: assigning integer to name reference"
msgstr "%s: asignando entero a nombre referencia"
-#: variables.c:4149
+#: variables.c:3940
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:4437
+#: variables.c:4218
#, c-format
msgid "%s has null exportstr"
msgstr "%s tiene exportstr nulo"
-#: variables.c:4442 variables.c:4451
+#: variables.c:4223 variables.c:4232
#, c-format
msgid "invalid character %d in exportstr for %s"
msgstr "carácter inválido %d en exportstr para %s"
-#: variables.c:4457
+#: variables.c:4238
#, c-format
msgid "no `=' in exportstr for %s"
msgstr "no hay `=' en exportstr para %s"
-#: variables.c:4911
+#: variables.c:4684
msgid "pop_var_context: head of shell_variables not a function context"
-msgstr ""
-"pop_var_context: la cabeza de shell_variables no es un contexto de función"
+msgstr "pop_var_context: la cabeza de shell_variables no es un contexto de función"
-#: variables.c:4924
+#: variables.c:4697
msgid "pop_var_context: no global_variables context"
msgstr "pop_var_context: no es un contexto global_variables"
-#: variables.c:4999
+#: variables.c:4772
msgid "pop_scope: head of shell_variables not a temporary environment scope"
-msgstr ""
-"pop_scope: la cabeza de shell_variables no es un ámbito de ambiente temporal"
+msgstr "pop_scope: la cabeza de shell_variables no es un ámbito de entorno temporal"
-#: variables.c:5862
+#: variables.c:5619
#, c-format
msgid "%s: %s: cannot open as FILE"
msgstr "%s: %s: no se puede abrir como FICHERO"
-#: variables.c:5867
+#: variables.c:5624
#, c-format
msgid "%s: %s: invalid value for trace file descriptor"
msgstr "%s: %s: valor inválido para el descriptor de fichero de rastreo"
-#: variables.c:5912
+#: variables.c:5669
#, c-format
msgid "%s: %s: compatibility value out of range"
msgstr "%s: %s: valor de compatibilidad fuera del rango"
#: version.c:46 version2.c:46
msgid "Copyright (C) 2016 Free Software Foundation, Inc."
-msgstr "© 1999 Free Software Foundation, Inc."
+msgstr "Copyright (C) 2016 Free Software Foundation, Inc."
#: version.c:47 version2.c:47
-msgid ""
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>\n"
-msgstr ""
-"Licencia GPLv3+: GPL de GNU versión 3 o posterior <http://gnu.org/licenses/"
-"gpl.html>\n"
+msgid "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+msgstr "Licencia GPLv3+: GPL de GNU versión 3 o posterior <http://gnu.org/licenses/gpl.html>\n"
#: version.c:86 version2.c:86
#, c-format
@@ -2230,22 +2171,22 @@ msgstr "Esto es software libre, es libre para modificar y redistribuirlo."
msgid "There is NO WARRANTY, to the extent permitted by law."
msgstr "No hay NINGUNA GARANTÃA, a la extensión permitida por la ley."
-#: xmalloc.c:93
+#: xmalloc.c:91
#, c-format
msgid "%s: cannot allocate %lu bytes (%lu bytes allocated)"
msgstr "%s: no se pueden asignar %lu bytes (%lu bytes asignados)"
-#: xmalloc.c:95
+#: xmalloc.c:93
#, c-format
msgid "%s: cannot allocate %lu bytes"
msgstr "%s: no se pueden asignar %lu bytes"
-#: xmalloc.c:165
+#: xmalloc.c:163
#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
msgstr "%s: %s:%d: no se pueden asignar %lu bytes (%lu bytes asignados)"
-#: xmalloc.c:167
+#: xmalloc.c:165
#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes"
msgstr "%s: %s:%d: no se pueden asignar %lu bytes"
@@ -2259,13 +2200,8 @@ msgid "unalias [-a] name [name ...]"
msgstr "unalias [-a] nombre [nombre ...]"
#: builtins.c:53
-msgid ""
-"bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-"
-"x keyseq:shell-command] [keyseq:readline-function or readline-command]"
-msgstr ""
-"bind [-lpsvPSVX] [-m comb_teclas] [-f fichero] [-q nombre] [-u nombre] [-r "
-"secteclas] [-x secteclas:mandato-shell] [secteclas:función-leerlinea o "
-"mandato-leerlinea]"
+msgid "bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-x keyseq:shell-command] [keyseq:readline-function or readline-command]"
+msgstr "bind [-lpsvPSVX] [-m comb_teclas] [-f fichero] [-q nombre] [-u nombre] [-r secteclas] [-x secteclas:orden-shell] [secteclas:función-leerlinea o orden-leerlinea]"
#: builtins.c:56
msgid "break [n]"
@@ -2277,7 +2213,7 @@ msgstr "continue [n]"
#: builtins.c:60
msgid "builtin [shell-builtin [arg ...]]"
-msgstr "builtin [mandato-interno-shell [arg ...]]"
+msgstr "builtin [orden-interna-shell [arg ...]]"
#: builtins.c:63
msgid "caller [expr]"
@@ -2293,7 +2229,7 @@ msgstr "pwd [-LP]"
#: builtins.c:76
msgid "command [-pVv] command [arg ...]"
-msgstr "command [-pVv] mandato [arg ...]"
+msgstr "command [-pVv] orden [arg ...]"
#: builtins.c:78
msgid "declare [-aAfFgilnrtux] [-p] [name[=value] ...]"
@@ -2329,7 +2265,7 @@ msgstr "getopts cadena_opciones nombre [arg]"
#: builtins.c:98
msgid "exec [-cl] [-a name] [command [arguments ...]] [redirection ...]"
-msgstr "exec [-cl] [-a nombre] [mandato [argumentos ...]] [redirección ...]"
+msgstr "exec [-cl] [-a nombre] [orden [argumentos ...]] [redirección ...]"
#: builtins.c:100
msgid "exit [n]"
@@ -2341,15 +2277,15 @@ msgstr "logout [n]"
#: builtins.c:105
msgid "fc [-e ename] [-lnr] [first] [last] or fc -s [pat=rep] [command]"
-msgstr "fc [-e nombre_e] [-lnr] [primero] [último] o fc -s [pat=rep] [mandato]"
+msgstr "fc [-e nombre_e] [-lnr] [primero] [último] o fc -s [pat=rep] [orden]"
#: builtins.c:109
msgid "fg [job_spec]"
-msgstr "fg [id_tarea]"
+msgstr "fg [id_trabajo]"
#: builtins.c:113
msgid "bg [job_spec ...]"
-msgstr "bg [id_tarea ...]"
+msgstr "bg [id_trabajo ...]"
#: builtins.c:116
msgid "hash [-lr] [-p pathname] [-dt] [name ...]"
@@ -2360,12 +2296,8 @@ msgid "help [-dms] [pattern ...]"
msgstr "help [-dms] [patrón ...]"
#: builtins.c:123
-msgid ""
-"history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg "
-"[arg...]"
-msgstr ""
-"history [-c] [-d despl] [n] o history -anrw [fichero] o history -ps arg "
-"[arg...]"
+msgid "history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]"
+msgstr "history [-c] [-d despl] [n] o history -anrw [fichero] o history -ps arg [arg...]"
# jobspec no es sólo el pid del proceso, puede ser tambien
# el nombre de la orden que se creo con el proceso em+
@@ -2373,32 +2305,24 @@ msgstr ""
# mucho. ¿Sugerencias? cfuga
#: builtins.c:127
msgid "jobs [-lnprs] [jobspec ...] or jobs -x command [args]"
-msgstr "jobs [-lnprs] [tarea_id ...] o jobs -x mandato [args]"
+msgstr "jobs [-lnprs] [idtrabajo ...] o jobs -x orden [args]"
# lo mismo em+
#: builtins.c:131
msgid "disown [-h] [-ar] [jobspec ... | pid ...]"
-msgstr "disown [-h] [-ar] [idtarea ... | pid ...]"
+msgstr "disown [-h] [-ar] [idtrabajo ... | pid ...]"
#: builtins.c:134
-msgid ""
-"kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l "
-"[sigspec]"
-msgstr ""
-"kill [-s id_señal | -n num_señal | -id_señal] pid | idtarea ... o kill -l "
-"[id_señal]"
+msgid "kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]"
+msgstr "kill [-s id_señal | -n num_señal | -id_señal] pid | idtrabajo ... o kill -l [id_señal]"
#: builtins.c:136
msgid "let arg [arg ...]"
msgstr "let arg [arg ...]"
#: builtins.c:138
-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] [-N ncars] [-p "
-"prompt] [-t tiempo] [-u df] [nombre ...]"
+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] [-N ncars] [-p prompt] [-t tiempo] [-u df] [nombre ...]"
#: builtins.c:140
msgid "return [n]"
@@ -2461,8 +2385,7 @@ msgid "umask [-p] [-S] [mode]"
msgstr "umask [-p] [-S] [modo]"
#: builtins.c:177
-#, fuzzy
-msgid "wait [-fn] [id ...]"
+msgid "wait [-n] [id ...]"
msgstr "wait [-n] [id ...]"
#: builtins.c:181
@@ -2471,15 +2394,15 @@ msgstr "wait [pid ...]"
#: builtins.c:184
msgid "for NAME [in WORDS ... ] ; do COMMANDS; done"
-msgstr "for NOMBRE [in PALABRAS ... ] ; do MANDATOS; done"
+msgstr "for NOMBRE [in PALABRAS ... ] ; do ÓRDENES; done"
#: builtins.c:186
msgid "for (( exp1; exp2; exp3 )); do COMMANDS; done"
-msgstr "for (( exp1; exp2; exp3 )); do MANDATOS; done"
+msgstr "for (( exp1; exp2; exp3 )); do ÓRDENES; done"
#: builtins.c:188
msgid "select NAME [in WORDS ... ;] do COMMANDS; done"
-msgstr "select NOMBRE [in PALABRAS ... ;] do MANDATOS; done"
+msgstr "select NOMBRE [in PALABRAS ... ;] do ÓRDENES; done"
#: builtins.c:190
msgid "time [-p] pipeline"
@@ -2487,39 +2410,35 @@ msgstr "time [-p] tubería"
#: builtins.c:192
msgid "case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac"
-msgstr "case PALABRA in [PATRÓN [| PATRÓN]...) MANDATOS ;;]... esac"
+msgstr "case PALABRA in [PATRÓN [| PATRÓN]...) ÓRDENES ;;]... esac"
#: builtins.c:194
-msgid ""
-"if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else "
-"COMMANDS; ] fi"
-msgstr ""
-"if MANDATOS; then MANDATOS; [ elif MANDATOS; then MANDATOS; ]...[ else "
-"MANDATOS; ] fi"
+msgid "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMMANDS; ] fi"
+msgstr "if ÓRDENES; then ÓRDENES; [ elif ÓRDENES; then ÓRDENES; ]...[ else ÓRDENES; ] fi"
#: builtins.c:196
msgid "while COMMANDS; do COMMANDS; done"
-msgstr "while MANDATOS; do MANDATOS; done"
+msgstr "while ÓRDENES; do ÓRDENES; done"
#: builtins.c:198
msgid "until COMMANDS; do COMMANDS; done"
-msgstr "until MANDATOS; do MANDATOS; done"
+msgstr "until ÓRDENES; do ÓRDENES; done"
#: builtins.c:200
msgid "coproc [NAME] command [redirections]"
-msgstr "coproc [NOMBRE] mandato [redirecciones]"
+msgstr "coproc [NOMBRE] orden [redirecciones]"
#: builtins.c:202
msgid "function name { COMMANDS ; } or name () { COMMANDS ; }"
-msgstr "function nombre { MANDATOS ; } ó nombre () { MANDATOS ; }"
+msgstr "function nombre { ÓRDENES ; } o nombre () { ÓRDENES ; }"
#: builtins.c:204
msgid "{ COMMANDS ; }"
-msgstr "{ MANDATOS ; }"
+msgstr "{ ÓRDENES ; }"
#: builtins.c:206
msgid "job_spec [&]"
-msgstr "id_tarea [&]"
+msgstr "id_trabajo [&]"
#: builtins.c:208
msgid "(( expression ))"
@@ -2554,44 +2473,24 @@ msgid "printf [-v var] format [arguments]"
msgstr "printf [-v var] formato [argumentos]"
#: builtins.c:231
-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 opción] [-A acción] [-G patglob] [-"
-"W listapalabras] [-F función] [-C mandato] [-X patfiltro] [-P prefijo] [-S "
-"sufijo] [nombre ...]"
+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 opción] [-A acción] [-G patglob] [-W listapalabras] [-F función] [-C orden] [-X patfiltro] [-P prefijo] [-S sufijo] [nombre ...]"
#: builtins.c:235
-msgid ""
-"compgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist] "
-"[-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]"
-msgstr ""
-"compgen [-abcdefgjksuv] [-o opción] [-A acción] [-G patglob] [-W "
-"listapalabras] [-F función] [-C mandato] [-X patfiltro] [-P prefijo] [-S "
-"sufijo] [palabra]"
+msgid "compgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]"
+msgstr "compgen [-abcdefgjksuv] [-o opción] [-A acción] [-G patglob] [-W listapalabras] [-F función] [-C orden] [-X patfiltro] [-P prefijo] [-S sufijo] [palabra]"
#: builtins.c:239
msgid "compopt [-o|+o option] [-DE] [name ...]"
msgstr "compopt [-o|+o opción] [-DE] [nombre ...]"
#: builtins.c:242
-msgid ""
-"mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
-msgstr ""
-"mapfile [-d delim] [-n cuenta] [-O origen] [-s cuenta] [-t] [-u df] [-C "
-"llamada] [-c quantum] [matriz]"
+msgid "mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
+msgstr "mapfile [-d delim] [-n cuenta] [-O origen] [-s cuenta] [-t] [-u df] [-C llamada] [-c quantum] [matriz]"
#: builtins.c:244
-#, fuzzy
-msgid ""
-"readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
-msgstr ""
-"readarray [-n cuenta] [-O origen] [-s cuenta] [-t] [-u df] [-C llamada] [-c "
-"quantum] [matriz]"
+msgid "readarray [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
+msgstr "readarray [-n cuenta] [-O origen] [-s cuenta] [-t] [-u df] [-C llamada] [-c quantum] [matriz]"
# Más en español sería: se define un alias por cada NOMBRE cuyo VALOR se da. sv
# Lo mismo de antes: el alias es expandido -> el alias se expande. sv
@@ -2612,25 +2511,24 @@ msgid ""
" -p\tprint all defined aliases in a reusable format\n"
" \n"
" Exit Status:\n"
-" alias returns true unless a NAME is supplied for which no alias has "
-"been\n"
+" alias returns true unless a NAME is supplied for which no alias has been\n"
" defined."
msgstr ""
-"Define o enseña aliases.\n"
+"Define o muestra alias.\n"
" \n"
-" Sin argumentos `alias' escribe la lista de aliases en formato\n"
-" reutilizable `alias NOMBRE=VALOR' en la salida común.\n"
+" Sin argumentos `alias' muestra la lista de alias en el formato\n"
+" reutilizable `alias NOMBRE=VALOR' en la salida estándar.\n"
" \n"
-" De otra manera, se define un alias por cada NOMBRE cuyo VALOR se\n"
+" En caso contrario, se define un alias por cada NOMBRE cuyo VALOR se\n"
" proporcione. Un espacio final en VALOR causa que se revise\n"
" la siguiente palabra para sustitución de alias cuando se expande\n"
" el alias.\n"
" \n"
" Opciones:\n"
-" -p\tMuestra todos los aliases definidos en un formato reusable\n"
+" -p\tmuestra todos los alias definidos en un formato reutilizable\n"
" \n"
-" Estado de salida:\n"
-" alias devuelve verdadero a menos que se de un NOMBRE para el cual\n"
+" Estado de Salida:\n"
+" alias devuelve verdadero a menos que se dé un NOMBRE para el cual\n"
" no se haya definido ningún alias."
#: builtins.c:278
@@ -2663,76 +2561,65 @@ msgid ""
" Options:\n"
" -m keymap Use KEYMAP as the keymap for the duration of this\n"
" command. Acceptable keymap names are emacs,\n"
-" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-"
-"move,\n"
+" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,\n"
" vi-command, and vi-insert.\n"
" -l List names of functions.\n"
" -P List function names and bindings.\n"
" -p List functions and bindings in a form that can be\n"
" reused as input.\n"
-" -S List key sequences that invoke macros and their "
-"values\n"
-" -s List key sequences that invoke macros and their "
-"values\n"
+" -S List key sequences that invoke macros and their values\n"
+" -s List key sequences that invoke macros and their values\n"
" in a form that can be reused as input.\n"
" -V List variable names and values\n"
" -v List variable names and values in a form that can\n"
" be reused as input.\n"
" -q function-name Query about which keys invoke the named function.\n"
-" -u function-name Unbind all keys which are bound to the named "
-"function.\n"
+" -u function-name Unbind all keys which are bound to the named function.\n"
" -r keyseq Remove the binding for KEYSEQ.\n"
" -f filename Read key bindings from FILENAME.\n"
" -x keyseq:shell-command\tCause SHELL-COMMAND to be executed when\n"
" \t\t\t\tKEYSEQ is entered.\n"
-" -X List key sequences bound with -x and associated "
-"commands\n"
+" -X List key sequences bound with -x and associated commands\n"
" in a form that can be reused as input.\n"
" \n"
" Exit Status:\n"
" bind returns 0 unless an unrecognized option is given or an error occurs."
msgstr ""
-"Establece secuencias de teclas Readline y variables.\n"
-"\n"
+"Establece secuencias de teclas y variables de Readline.\n"
+" \n"
" Asigna una secuencia de teclas a una función Readline o a una macro, o\n"
" establece una variable Readline. La sintaxis de los argumentos que\n"
" no son opciones es equivalente a la que se encuentra en ~/.inputrc,\n"
" pero se debe pasar como un solo argumento:\n"
-" p.e., bind '\"\\C-x\\C-r\": re-read-init-file'.\n"
+" p.ej., bind '\"\\C-x\\C-r\": re-read-init-file'.\n"
" \n"
" Opciones:\n"
-" \n"
-" -m comb_teclas Usa COMB_TECLAS como la combinación de teclas por "
-"la\n"
-" duración de este mandato. Los nombres de "
-"combinaciones\n"
+" -m comb_teclas Usa COMB_TECLAS como la combinación de teclas durante el\n"
+" que dure esta orden. Los nombres de combinaciones\n"
" de teclas aceptables son emacs, emacs-standard,\n"
" emacs-meta, emacs-ctlx, vi, vi-move, vi-command y\n"
" vi-insert.\n"
" -l Lista los nombres de las funciones.\n"
" -P Lista los nombres de las funciones y asignaciones.\n"
-" -p Lista las funciones y asignaciones en una forma "
-"que\n"
-" se puede reusar como entrada.\n"
+" -p Lista las funciones y asignaciones de tal forma que\n"
+" se pueda ruutilizar como entrada.\n"
" -S Lista las secuencias de teclas que invocan macros\n"
" y sus valores.\n"
" -s Lista las secuencias de teclas que invocan macros\n"
-" y sus valores en una forma que se pueden reusar "
-"como\n"
+" y sus valores en una forma que se pueden reutilizar como\n"
" entrada.\n"
" -V Lista los nombres de variables y valores.\n"
" -v Lista los nombres de variables y valores en una\n"
-" forma que se pueden reusar como entrada.\n"
+" forma que se pueden reutilizar como entrada.\n"
" -q nombre-función Pregunta qué teclas invocan la función nombrada.\n"
" -u nombre-función Borra todas las teclas que están ligadas a\n"
" la función nombrada.\n"
" -r secteclas Borra la asignación para la SECTECLAS.\n"
" -f fichero Lee las asignaciones de teclas del FICHERO.\n"
-" -x secteclas:mandato-shell\tCausa que se ejecute el MANDATO-SHELL "
-"cuando\n"
+" -x secteclas:orden-shell\tCausa que se ejecute la ORDEN-SHELL cuando\n"
" \t\t\t\tse introduce la SECTECLAS.\n"
" \n"
-" Estado de salida:\n"
+" Estado de Salida:\n"
" bind devuelve 0 a menos que se presente una opción desconocida o suceda\n"
" un error."
@@ -2746,12 +2633,12 @@ msgid ""
" Exit Status:\n"
" The exit status is 0 unless N is not greater than or equal to 1."
msgstr ""
-"Termina ciclos for, while o until.\n"
+"Termina bucles for, while o until.\n"
" \n"
-" Termina un ciclo FOR, WHILE o UNTIL. Si se especifica N, termina\n"
-" N ciclos anidados.\n"
+" Termina un bucle FOR, WHILE o UNTIL. Si se especifica N, termina\n"
+" N bucles anidados.\n"
" \n"
-" Estado de salida:\n"
+" Estado de Salida:\n"
" El estado de salida es 0 a menos que N no sea mayor o igual a 1."
#: builtins.c:342
@@ -2764,11 +2651,10 @@ msgid ""
" Exit Status:\n"
" The exit status is 0 unless N is not greater than or equal to 1."
msgstr ""
-"Continúa iteraciones for, while o until\n"
+"Reanuda bucles for, while o until\n"
" \n"
-" Continúa la siguiente iteración del ciclo FOR, WHILE o UNTIL\n"
-" circundante. Si se especifica N, retoma en el N-ésimo ciclo "
-"circundante.\n"
+" Reanuda la siguiente iteración del bucle FOR, WHILE o UNTIL\n"
+" circundante. Si se especifica N, reanuda en el N-ésimo bucle circundante.\n"
" \n"
" Estado de Salida:\n"
" El estado de salida es 0 a menos que N no sea mayor o igual a 1."
@@ -2779,24 +2665,22 @@ msgid ""
" \n"
" Execute SHELL-BUILTIN with arguments ARGs without performing command\n"
" lookup. This is useful when you wish to reimplement a shell builtin\n"
-" as a shell function, but need to execute the builtin within the "
-"function.\n"
+" as a shell function, but need to execute the builtin within the function.\n"
" \n"
" Exit Status:\n"
" Returns the exit status of SHELL-BUILTIN, or false if SHELL-BUILTIN is\n"
" not a shell builtin.."
msgstr ""
-"Ejecuta mandatos internos del shell\n"
+"Ejecuta órdenes internas del shell\n"
" \n"
-" Ejecuta el MANDATO-INTERNA-SHELL con los argumentos ARGs sin realizar\n"
-" la búsqueda interna de mandatos. Esto es útil cuando desea "
-"reimplementar\n"
-" un mandato interno del shell como una función de shell, pero necesita\n"
-" ejecutar el mandato interno dentro de la función.\n"
+" Ejecuta la ORDEN-INTERNA-SHELL con los argumentos ARGs sin realizar la\n"
+" búsqueda interna de órdenes. Esto es útil cuando se desea reimplementar\n"
+" una orden interna de la shell como una función de shell, pero se necesita\n"
+" ejecutar la orden interna dentro de la función.\n"
" \n"
" Estado de Salida:\n"
-" Devuelve el estado de salida del MANDATO-INTERNA-SHELL, o falso si la\n"
-" ORDEN-INTERNA-SHELL no es un mandato interno de shell."
+" Devuelve el estado de salida de la ORDEN-INTERNA-SHELL, o falso si la\n"
+" ORDEN-INTERNA-SHELL no es una orden interna de shell."
#: builtins.c:369
msgid ""
@@ -2817,9 +2701,9 @@ msgstr ""
" \n"
" Sin EXPR, devuelve \"$linea $nombrefichero\". Con EXPR, devuelve\n"
" \"$linea $subrutina $nombrefichero\"; esta información adicional\n"
-" se puede usar para proveer un volcado de pila.\n"
+" se puede usar para proporcionar un volcado de pila.\n"
" \n"
-" El valor de EXPR indica cuántos marcos de llamada se debe retroceder\n"
+" El valor de EXPR indica cuántos marcos de llamada hay que retroceder\n"
" antes del actual; el marco superior es el marco 0.\n"
" \n"
" Estado de Salida:\n"
@@ -2833,22 +2717,16 @@ msgstr ""
msgid ""
"Change the shell working directory.\n"
" \n"
-" Change the current directory to DIR. The default DIR is the value of "
-"the\n"
+" Change the current directory to DIR. The default DIR is the value of the\n"
" HOME shell variable.\n"
" \n"
-" The variable CDPATH defines the search path for the directory "
-"containing\n"
-" DIR. Alternative directory names in CDPATH are separated by a colon "
-"(:).\n"
-" A null directory name is the same as the current directory. If DIR "
-"begins\n"
+" The variable CDPATH defines the search path for the directory containing\n"
+" DIR. Alternative directory names in CDPATH are separated by a colon (:).\n"
+" A null directory name is the same as the current directory. If DIR begins\n"
" with a slash (/), then CDPATH is not used.\n"
" \n"
-" If the directory is not found, and the shell option `cdable_vars' is "
-"set,\n"
-" the word is assumed to be a variable name. If that variable has a "
-"value,\n"
+" If the directory is not found, and the shell option `cdable_vars' is set,\n"
+" the word is assumed to be a variable name. If that variable has a value,\n"
" its value is used for DIR.\n"
" \n"
" Options:\n"
@@ -2864,21 +2742,19 @@ msgid ""
" \t\tattributes as a directory containing the file attributes\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
-" `..' is processed by removing the immediately previous pathname "
-"component\n"
+" `..' is processed by removing the immediately previous pathname component\n"
" back to a slash or the beginning of DIR.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed, and if $PWD is set successfully "
-"when\n"
+" Returns 0 if the directory is changed, and if $PWD is set successfully when\n"
" -P is used; non-zero otherwise."
msgstr ""
-"Modifica el directorio de tarea del shell.\n"
+"Modifica el directorio de trabajo del shell.\n"
" \n"
" Modifica el directorio actual a DIR. DIR por defecto es el valor de la\n"
" variable de shell HOME.\n"
" \n"
-" La variable CDPATH define la ruta de búsqueda por el directorio que\n"
+" La variable CDPATH define la ruta de búsqueda para el directorio que\n"
" contiene DIR. Los nombres alternativos de directorio en CDPATH se\n"
" separan con dos puntos (:). Un nombre de directorio nulo es igual que\n"
" el directorio actual. Si DIR comienza con una barra inclinada (/),\n"
@@ -2886,20 +2762,23 @@ msgstr ""
" \n"
" Si no se encuentra el directorio, y la opción del shell `cdable_vars'\n"
" está activa, entonces se trata la palabra como un nombre de variable.\n"
-" Si esa variable tiene un valor, se utiliza su valor como DIR.\n"
+" Si esa variable tiene un valor, se utiliza su valor para DIR.\n"
" \n"
" Opciones:\n"
-" -L\t fuerza a seguir los enlaces simbólicos\n"
-" -P\t usa la estructura física de directorios sin seguir los enlaces\n"
-" \t\tsimbólicos\n"
-" -e\t si se da la opción -P, y el directorio actual de tarea no se\n"
-" \t\t puede determinar con éxito, termina con un estado diferente de "
-"cero.\n"
+" -L\tfuerza a seguir los enlaces simbólicos: resuelve los enlaces\n"
+" \t\tsimbólicos en DIR después de procesar las instancias de `..'\n"
+" -P\tusa la estructura física de directorios sin seguir los enlaces\n"
+" \t\tsimbólicos: resuelve los enlaces simbólicos en DIR antes de procesar\n"
+" \t\tlas instancias de `..'\n"
+" -e\tsi se da la opción -P y el directorio actual de trabajo no se\n"
+" \t\tpuede determinar con éxito, termina con un estado diferente de cero.\n"
" \n"
" La acción por defecto es seguir los enlaces simbólicos, como si se\n"
" especificara `-L'.\n"
+" `..' se procesa quitando la componente del nombre de la ruta inmediatamente\n"
+" anterior hasta una barra inclinada o el comienzo de DIR.\n"
" \n"
-" Estado de salida:\n"
+" Estado de Salida:\n"
" Devuelve 0 si se cambia el directorio, y si $PWD está definido como\n"
" correcto cuando se emplee -P; de otra forma es diferente a cero."
@@ -2918,11 +2797,11 @@ msgid ""
" Returns 0 unless an invalid option is given or the current directory\n"
" cannot be read."
msgstr ""
-"Escribe el nombre del directorio de trabajo actual.\n"
+"Muestra el nombre del directorio de trabajo actual.\n"
" \n"
" Opciones:\n"
" -L\tmuestra el valor de $PWD si nombra al directorio de\n"
-" \ttarea actual\n"
+" \ttrabajo actual\n"
" -P\tmuestra el directorio físico, sin enlaces simbólicos\n"
" \n"
" Por defecto, `pwd' se comporta como si se especificara `-L'.\n"
@@ -2942,10 +2821,10 @@ msgid ""
msgstr ""
"Orden nula.\n"
" \n"
-" Sin efecto; el mandato no hace nada.\n"
+" Sin efecto; la orden no hace nada.\n"
" \n"
" Estado de Salida:\n"
-" Siempre con éxito."
+" Siempre correcto."
#: builtins.c:453
msgid ""
@@ -2956,7 +2835,7 @@ msgid ""
msgstr ""
"Devuelve un resultado correcto.\n"
" \n"
-" Estado de salida:\n"
+" Estado de Salida:\n"
" Siempre correcto."
#: builtins.c:462
@@ -2968,7 +2847,7 @@ msgid ""
msgstr ""
"Devuelve un resultado incorrecto.\n"
" \n"
-" Estado de salida:\n"
+" Estado de Salida:\n"
" Siempre incorrecto."
#: builtins.c:471
@@ -2976,8 +2855,7 @@ msgid ""
"Execute a simple command or display information about commands.\n"
" \n"
" Runs COMMAND with ARGS suppressing shell function lookup, or display\n"
-" information about the specified COMMANDs. Can be used to invoke "
-"commands\n"
+" information about the specified COMMANDs. Can be used to invoke commands\n"
" on disk when a function with the same name exists.\n"
" \n"
" Options:\n"
@@ -2989,29 +2867,25 @@ msgid ""
" Exit Status:\n"
" Returns exit status of COMMAND, or failure if COMMAND is not found."
msgstr ""
-"Ejecuta un mandato simple o enseña información sobre mandatos.\n"
+"Ejecuta una orden simple o muestra información sobre órdenes.\n"
" \n"
-" Ejecuta el MANDATO con ARGumentos, suprimiendo la búsqueda de funciones\n"
-" de shell, o muestra información sobre las MANDATOs especificados. Se "
-"puede\n"
-" usar para invocar mandatos en disco cuando existe una función con el "
-"mismo\n"
+" Ejecuta la ORDEN con ARGumentos, suprimiendo la búsqueda de funciones\n"
+" de shell, o muestra información sobre las ORDENes especificadas. Se puede\n"
+" usar para invocar órdenes en disco cuando existe una función con el mismo\n"
" nombre.\n"
" \n"
" Opciones:\n"
-" -p emplee un valor predeterminado para rutas PATH para garantizar "
-"que\n"
-" encuentre todas las utilidades comunes\n"
-" -v escribe una descripción del MANDATO similar al mandato\n"
-" interna `type'\n"
-" -V escribe una descripción más detallada de cada MANDATO\n"
+" -p utiliza un valor predeterminado de RUTA que garantiza que se\n"
+" encuentren todas las utilidades comunes\n"
+" -v muestra una descripción de la ORDEN similar a la orden\n"
+" interna `type'\n"
+" -V muestra una descripción más detallada de cada ORDEN\n"
" \n"
" Estado de Salida:\n"
-" Devuelve el estado de salida del MANDATO, o falla si no se encuentra\n"
-" el MANDATO."
+" Devuelve el estado de salida de la ORDEN, o fallo si no se encuentra\n"
+" la ORDEN."
#: builtins.c:490
-#, fuzzy
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -3030,11 +2904,11 @@ msgid ""
" -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 the value of each NAME to lower case on assignment\n"
+" -l\tto convert NAMEs to lower case on assignment\n"
" -n\tmake NAME a reference to the variable named by its value\n"
" -r\tto make NAMEs readonly\n"
" -t\tto make NAMEs have the `trace' attribute\n"
-" -u\tto convert the value of each NAME to upper case on assignment\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"
@@ -3042,8 +2916,7 @@ msgid ""
" Variables with the integer attribute have arithmetic evaluation (see\n"
" the `let' command) performed when the variable is assigned a value.\n"
" \n"
-" When used in a function, `declare' makes NAMEs local, as with the "
-"`local'\n"
+" When used in a function, `declare' makes NAMEs local, as with the `local'\n"
" command. The `-g' option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
@@ -3056,36 +2929,36 @@ msgstr ""
" muestra los atributos y valores de todas las variables.\n"
" \n"
" Opciones:\n"
-" -f\t restringe la acción o muestra a nombres y definiciones\n"
-" \t de funciones\n"
-" -F\t restringe la muestra a nombres de funciones (con número de\n"
-" \t línea y fichero fuente al depurar)\n"
-" -g\t crea variables globales cuando se usa en una función de shell;\n"
-" \t de otra forma se descarta\n"
-" -p\t enseña los atributos y valor de cada NOMBRE\n"
+" -f\trestringe la acción o la información a nombres y definiciones\n"
+" \t\tde funciones\n"
+" -F\trestringe la información a nombres de funciones únicamente (con\n"
+" \t\tnúmero de línea y fichero fuente al depurar)\n"
+" -g\tcrea variables globales cuando se usa en una función de shell;\n"
+" \t\ten caso contrario, se descarta\n"
+" -p\tmuestra los atributos y el valor de cada NOMBRE\n"
" \n"
" Opciones que establecen atributos:\n"
-" -a\t establece NOMBREs como matrices indizadas (si se admiten)\n"
-" -A\t establece NOMBREs como matrices asociativas (si se admiten)\n"
-" -i\t establece NOMBREs con el atributo `integer'\n"
-" -l\t convierte NOMBREs a minúsculas en la asignación\n"
-" -r\t crea NOMBREs como de sólo lectura\n"
-" -t\t crea NOMBREs con el atributo `trace'\n"
-" -u\t convierte NOMBREs a mayúsculas en la asignación\n"
-" -x\t crea NOMBREs para exportar\n"
+" -a\testablece NOMBREs como matrices indexadas (si se admiten)\n"
+" -A\testablece NOMBREs como matrices asociativas (si se admiten)\n"
+" -i\testablece NOMBREs con el atributo `integer'\n"
+" -l\tconvierte NOMBREs a minúsculas en la asignación\n"
+" -r\tcrea NOMBREs como de sólo lectura\n"
+" -t\tcrea NOMBREs con el atributo `trace'\n"
+" -u\tconvierte NOMBREs a mayúsculas en la asignación\n"
+" -x\tcrea NOMBREs para exportar\n"
" \n"
-" Si usa `+' en lugar de `-' desactiva el atributo dado.\n"
+" Si se usa `+' en lugar de `-', se desactiva el atributo dado.\n"
" \n"
" Las variables con el atributo ‘integer’ realizan evaluación aritmética\n"
-" (vea el mandato `let') cuando se asigna un valor a la variable.\n"
+" (vea la orden `let') cuando se asigna un valor a la variable.\n"
" \n"
" Cuando se usa en una función, `declare' hace locales a los NOMBREs,\n"
-" como sucede con el mandato `local'. La opción `-g' suprime esta\n"
+" como sucede con la orden `local'. La opción `-g' suprime esta\n"
" conducta.\n"
" \n"
" Estado de Salida:\n"
" Devuelve correcto a menos que se dé una opción inválida o\n"
-" suceda un error."
+" suceda un error de asignación de variable."
#: builtins.c:530
msgid ""
@@ -3093,9 +2966,9 @@ msgid ""
" \n"
" A synonym for `declare'. See `help declare'."
msgstr ""
-"Establece valores variables y atributos.\n"
+"Establece valores de variables y atributos.\n"
" \n"
-" Un sinónimo para `declare'. Vea `help declare'."
+" Sinónimo de `declare'. Vea `help declare'."
#: builtins.c:538
msgid ""
@@ -3116,19 +2989,18 @@ msgstr ""
" Crea una variable local llamada NOMBRE, y le da un VALOR. OPCIÓN puede\n"
" ser cualquier opción aceptada por `declare'.\n"
" \n"
-" Las variables locales sólo se pueden usar en una función; son visibles\n"
-" sólo en la función donde se definen y sus descendientes.\n"
+" Las variables locales sólo pueden usarse dentro de funciones; son\n"
+" visibles solo en la función donde se definen y sus hijos.\n"
" \n"
" Estado de Salida:\n"
-" Devuelve correcto a menos que se de una opción inválida, suceda\n"
-" un error, o el shell no esté ejecutando una función."
+" Devuelve correcto a menos que se dé una opción inválida, suceda\n"
+" un error de asignación, o el shell no esté ejecutando una función."
#: builtins.c:555
msgid ""
"Write arguments to the standard output.\n"
" \n"
-" Display the ARGs, separated by a single space character and followed by "
-"a\n"
+" Display the ARGs, separated by a single space character and followed by a\n"
" newline, on the standard output.\n"
" \n"
" Options:\n"
@@ -3156,36 +3028,36 @@ msgid ""
" Exit Status:\n"
" Returns success unless a write error occurs."
msgstr ""
-"Escribe argumentos en la salida común.\n"
+"Escribe argumentos en la salida estándar.\n"
" \n"
-" Enseña los ARGumentos en la salida común seguidos por un carácter\n"
+" Muestra los ARGumentos en la salida estándar seguidos por un carácter\n"
" de fin de línea.\n"
" \n"
" Opciones:\n"
" -n\tno agrega un carácter de fin de línea\n"
-" -e\tactiva la interpretación de caracteres de escape de\n"
-" \t\tde barra invertida\n"
+" -e\tactiva la interpretación de los siguientes caracteres de escape de\n"
+" \t\tbarra invertida\n"
" -E\tdesactiva explícitamente la interpretación de caracteres de\n"
-" \t\tde escape de barra invertida\n"
-" \n"
-" `echo' interpreta los siguientes caracteres de escape de barra "
-"invertida:\n"
-" \a\talerta (timbre)\n"
-" \\b\tespacio hacia atrás\n"
-" \\c\tsuprime toda salida a continuación\n"
-" \\E\tcarácter de escape\n"
-" \\f\talimentación de papel\n"
-" \\n\tlínea nueva\n"
-" \\r\tretorno de carro\n"
-" \\t\ttabulador horizontal\n"
-" \\v\ttabulador vertical\n"
-" \\\\\tbarra invertida\n"
-" \\0nnn\tel carácter cuyo código ASCII es NNN (octal). NNN puede ser\n"
+" \t\tescape de barra invertida\n"
+" \n"
+" `echo' interpreta los siguientes caracteres de escape de barra invertida:\n"
+" \\a\talerta (timbre)\n"
+" \\b\tborrado hacia atrás\n"
+" \\c\tsuprime toda salida a continuación\n"
+" \\e\tcarácter de escape\n"
+" \\E\tcarácter de escape\n"
+" \\f\talimentación de papel\n"
+" \\n\tlínea nueva\n"
+" \\r\tretorno de carro\n"
+" \\t\ttabulador horizontal\n"
+" \\v\ttabulador vertical\n"
+" \\\\\tbarra invertida\n"
+" \\0nnn\tcarácter cuyo código ASCII es NNN (octal). NNN puede ser\n"
" \t\tde 0 a 3 dígitos octales\n"
-" \\xHH\tel carácter de ocho bits cuyo valor es HH (hexadecimal). HH\n"
+" \\xHH\tel de ocho bits cuyo valor es HH (hexadecimal). HH\n"
" \t\tpuede ser de uno o dos dígitos hexadecimales\n"
" \n"
-" Estado de salida:\n"
+" Estado de Salida:\n"
" Devuelve correcto a menos que suceda un error de escritura."
#: builtins.c:591
@@ -3200,14 +3072,14 @@ msgid ""
" Exit Status:\n"
" Returns success unless a write error occurs."
msgstr ""
-"Escribe argumentos en la salida común.\n"
+"Escribe argumentos en la salida estándar.\n"
" \n"
-" Enseña los ARGumentos en la salida común seguidos por un carácter\n"
+" Muestra los ARGumentos en la salida estándar seguidos por un carácter\n"
" de fin de línea.\n"
" Opciones:\n"
" -n\tno agrega un carácter de fin de línea\n"
" \n"
-" Estado de salida:\n"
+" Estado de Salida:\n"
" Devuelve correcto a menos que suceda un error de escritura."
#: builtins.c:606
@@ -3236,54 +3108,49 @@ msgid ""
" Exit Status:\n"
" Returns success unless NAME is not a shell builtin or an error occurs."
msgstr ""
-"Activa y desactiva los mandatos internos del shell.\n"
+"Activa y desactiva las órdenes internas del shell.\n"
" \n"
-" Activa y desactiva los mandatos internos del shell. El desactivar le\n"
-" permite ejecutar un mandato del disco que tenga el mismo nombre que\n"
-" el mandato interno del shell, sin usar el nombre de ruta completo.\n"
+" Activa y desactiva las órdenes internas del shell. El desactivar le\n"
+" permite ejecutar una orden del disco que tenga el mismo nombre que\n"
+" la orden interna del shell, sin usar el nombre de ruta completo.\n"
" \n"
" Opciones:\n"
-" -a\t escribe la lista de mandatos internos indicando si están activas "
-"o no\n"
-" -n\t desactiva cada NOMBRE o muestra la lista de mandatos internos\n"
-" \t desactivadas\n"
-" -p\t escribe la lista de mandatos internos en una forma reusable\n"
-" -s\t escribe sólo los nombres de los mandatos internos `especiales' "
-"Posix\n"
+" -a\tmuestra la lista de órdenes internas indicando si están activas o no\n"
+" -n\tdesactiva cada NOMBRE o muestra la lista de órdenes internas\n"
+" \t\tdesactivadas\n"
+" -p\tmuestra la lista de órdenes internas en una forma reusable\n"
+" -s\tmuestra solo los nombres de las órdenes internas `especiales' Posix\n"
" \n"
" Opciones que controlan la carga dinámica:\n"
-" -f\t carga interna de NOMBRE desde objeto compartido FICHERO\n"
-" -d\t borra un mandato interno cargado con -f\n"
+" -f\tCarga la función interna NOMBRE desde el objeto compartido FICHERO\n"
+" -d\tBorra una orden interna cargada con -f\n"
" \n"
" Sin opciones, se activa cada NOMBRE.\n"
" \n"
-" Para usar `test' que se encuentra en $PATH en lugar del mandato interno\n"
+" Para usar el `test' que se encuentra en $PATH en lugar de la orden interna\n"
" del shell, ejecute `enable -n test'.\n"
" \n"
" Estado de Salida:\n"
-" Devuelve correcto a menos que NOMBRE no sea un mandato interno del "
-"shell\n"
+" Devuelve correcto a menos que NOMBRE no sea una orden interna del shell\n"
" o suceda un error."
#: builtins.c:634
msgid ""
"Execute arguments as a shell command.\n"
" \n"
-" Combine ARGs into a single string, use the result as input to the "
-"shell,\n"
+" Combine ARGs into a single string, use the result as input to the shell,\n"
" and execute the resulting commands.\n"
" \n"
" Exit Status:\n"
" Returns exit status of command or success if command is null."
msgstr ""
-"Ejecuta argumentos como un mandato de shell.\n"
+"Ejecuta argumentos como una orden de shell.\n"
" \n"
-" Combina los ARGumentos en una sola cadena, usa el resultado como "
-"entrada\n"
-" para el shell, y ejecuta los mandatos resultantes.\n"
+" Combina los ARGumentos en una sola cadena, usa el resultado como entrada\n"
+" para el shell, y ejecuta las órdenes resultantes.\n"
" \n"
" Estado de Salida:\n"
-" Devuelve el estado de salida del mandato o éxito si el mandato es nula."
+" Devuelve el estado de salida de la orden o éxito si la orden es nula."
# "a ser reconocidas" no está en español.
# Yo pondría "las letras de opción que se reconocen". sv
@@ -3375,8 +3242,7 @@ msgid ""
"Replace the shell with the given command.\n"
" \n"
" Execute COMMAND, replacing this shell with the specified program.\n"
-" ARGUMENTS become the arguments to COMMAND. If COMMAND is not "
-"specified,\n"
+" ARGUMENTS become the arguments to COMMAND. If COMMAND is not specified,\n"
" any redirections take effect in the current shell.\n"
" \n"
" Options:\n"
@@ -3384,32 +3250,28 @@ msgid ""
" -c\texecute COMMAND with an empty environment\n"
" -l\tplace a dash in the zeroth argument to COMMAND\n"
" \n"
-" If the command cannot be executed, a non-interactive shell exits, "
-"unless\n"
+" If the command cannot be executed, a non-interactive shell exits, unless\n"
" the shell option `execfail' is set.\n"
" \n"
" Exit Status:\n"
-" Returns success unless COMMAND is not found or a redirection error "
-"occurs."
+" Returns success unless COMMAND is not found or a redirection error occurs."
msgstr ""
-"Reemplaza el shell con el mandato dada.\n"
+"Reemplaza el shell con la orden dada.\n"
" \n"
-" Ejecuta el MANDATO, reemplazando este shell con el programa "
-"especificado.\n"
-" Los ARGUMENTOS se vuelven los argumentos del MANDATO. Si no se\n"
-" especifica el MANDATO, cualquier redirección toma efecto en el shell "
-"actual.\n"
+" Ejecuta la ORDEN, reemplazando este shell con el programa especificado.\n"
+" Los ARGUMENTOS se vuelven los argumentos de la ORDEN. Si no se\n"
+" especifica la ORDEN, cualquier redirección toma efecto en el shell actual.\n"
" \n"
" Opciones:\n"
-" -a nombre\tpasa el NOMBRE como el argumento cero del MANDATO\n"
-" -c\tejecuta el MANDATO en un ambiente vacío\n"
-" -l\tcoloca un guion en el argumento cero del MANDATO\n"
+" -a nombre\tpasa el NOMBRE como el argumento cero de la ORDEN\n"
+" -c\tejecuta la ORDEN en un entorno vacío\n"
+" -l\tcoloca un guion en el argumento cero de la ORDEN\n"
" \n"
-" Si el mandato no se puede ejecutar, termina un shell no interactivo,\n"
+" Si la orden no se puede ejecutar, termina un shell no interactivo,\n"
" a menos que la opción de shell `execfail' esté activa.\n"
" \n"
" Estado de Salida:\n"
-" Devuelve éxito a menos que no se encuentre el MANDATO o que suceda un\n"
+" Devuelve éxito a menos que no se encuentre la ORDEN o que suceda un\n"
" error de redirección."
#: builtins.c:709
@@ -3421,16 +3283,14 @@ msgid ""
msgstr ""
"Termina el shell.\n"
" \n"
-" Termina el shell con un estado de N. Si se omite N, el estado de "
-"salida\n"
-" es el mismo del último mandato ejecutado."
+" Termina el shell con un estado de N. Si se omite N, el estado de salida\n"
+" es el mismo de la última orden ejecutada."
#: builtins.c:718
msgid ""
"Exit a login shell.\n"
" \n"
-" Exits a login shell with exit status N. Returns an error if not "
-"executed\n"
+" Exits a login shell with exit status N. Returns an error if not executed\n"
" in a login shell."
msgstr ""
"Termina un shell de entrada.\n"
@@ -3442,15 +3302,13 @@ msgstr ""
msgid ""
"Display or execute commands from the history list.\n"
" \n"
-" fc is used to list or edit and re-execute commands from the history "
-"list.\n"
+" fc is used to list or edit and re-execute commands from the history list.\n"
" FIRST and LAST can be numbers specifying the range, or FIRST can be a\n"
" string, which means the most recent command beginning with that\n"
" string.\n"
" \n"
" Options:\n"
-" -e ENAME\tselect which editor to use. Default is FCEDIT, then "
-"EDITOR,\n"
+" -e ENAME\tselect which editor to use. Default is FCEDIT, then EDITOR,\n"
" \t\tthen vi\n"
" -l \tlist lines instead of editing\n"
" -n\tomit line numbers when listing\n"
@@ -3464,33 +3322,30 @@ msgid ""
" the last command.\n"
" \n"
" Exit Status:\n"
-" Returns success or status of executed command; non-zero if an error "
-"occurs."
+" Returns success or status of executed command; non-zero if an error occurs."
msgstr ""
-"Enseña o ejecuta órdenes de la lista de historia.\n"
+"Muestra o ejecuta órdenes de la lista de la historia.\n"
" \n"
-" fc se usa para listar o editar y re-ejecutar mandatos de la lista de\n"
-" historia. PRIMERO y ÚLTIMO pueden ser números que especifican el "
-"rango,\n"
-" o PRIMERO puede ser una cadena, que significa el mandato más reciente "
-"que\n"
+" fc se usa para listar o editar y reejecutar órdenes de la lista de la\n"
+" historia. PRIMERO y ÚLTIMO pueden ser números que especifican el rango,\n"
+" o PRIMERO puede ser una cadena, que significa la orden más reciente que\n"
" comience con esa cadena.\n"
" \n"
-" -e NOMBRE_E selecciona el editor a usar. Por defecto es FCEDIT,\n"
-" \t\t tras EDITOR, después vi\n"
-" -l lista líneas en lugar de editar\n"
-" -n omite los números de línea al listar\n"
-" -r invierte el orden de las líneas (listados primero más recientes)\n"
+" -e NOMBRE_E\tselecciona el editor a usar. Por defecto es FCEDIT,\n"
+" \t\tdespués EDITOR, después vi\n"
+" -l \tlista laslíneas en lugar de editar\n"
+" -n\tomite los números de línea al listar\n"
+" -r\tinvierte el orden de las líneas (muestra primero las más recientes)\n"
" \n"
-" Con el formato `fc -s [pat=rep ...] [orden]', el MANDATO se\n"
+" Con el formato `fc -s [pat=rep ...] [orden]', la ORDEN se\n"
" ejecuta de nuevo después de realizar la sustitución ANT=NUEVO.\n"
" \n"
-" Un alias útil para usar con esto es r='fc -s', así que al teclear\n"
-" `r cc' ejecuta el último mandato que comience con `cc' y al teclear\n"
-" `r' re-ejecuta el último mandato.\n"
+" Un alias útil para usar con esto es r='fc -s', tal que al teclear\n"
+" `r cc' ejecuta la última orden que comience con `cc' y al teclear\n"
+" `r' reejecuta la última orden.\n"
" \n"
" Estado de Salida:\n"
-" Devuelve correcto o el estado del mandato ejecutado; si sucede un error\n"
+" Devuelve correcto o el estado de la orden ejecutada; si sucede un error,\n"
" es diferente de cero."
#: builtins.c:758
@@ -3504,37 +3359,34 @@ msgid ""
" Exit Status:\n"
" Status of command placed in foreground, or failure if an error occurs."
msgstr ""
-"Mueve la tarea al primer plano.\n"
+"Mueve el trabajo al primer plano.\n"
" \n"
-" Ubica a la tarea identificada con IDTAREA en el plano principal, y\n"
-" lo hace la tarea actual. Si IDTAREA no está presente, se usa\n"
-" la noción del shell de tarea actual.\n"
+" Ubica el trabajo identificado con IDTRABAJO en primer plano y\n"
+" lo convierte en el trabajo actual. Si IDTRABAJO no está presente, se usa\n"
+" la noción del shell del trabajo actual.\n"
" \n"
" Estado de Salida:\n"
-" El estado del mandato ubicado en primer plano, o falla si sucede un "
-"error."
+" El estado de la orden ubicada en primer plano, o falla si sucede un error."
#: builtins.c:773
msgid ""
"Move jobs to the background.\n"
" \n"
-" Place the jobs identified by each JOB_SPEC in the background, as if "
-"they\n"
-" had been started with `&'. If JOB_SPEC is not present, the shell's "
-"notion\n"
+" Place the jobs identified by each JOB_SPEC in the background, as if they\n"
+" had been started with `&'. If JOB_SPEC is not present, the shell's notion\n"
" of the current job is used.\n"
" \n"
" Exit Status:\n"
" Returns success unless job control is not enabled or an error occurs."
msgstr ""
-"Mueve tareas al segundo plano.\n"
+"Mueve trabajos al segundo plano.\n"
" \n"
-" Coloca las tareas identificados por cada JOB_SPEC en segundo plano,\n"
-" como si se hubieran iniciado con `&'. Si JOB_SPEC no está presente,\n"
-" se usa la noción del shell de la tarea actual.\n"
+" Coloca los trabajos identificados por cada IDTRABAJO en segundo plano,\n"
+" como si se hubieran iniciado con `&'. Si IDTRABAJO no está presente,\n"
+" se usa la noción del shell del trabajo actual.\n"
" \n"
" Estado de Salida:\n"
-" Devuelve correcto a menos que el control de tareas no esté activado o\n"
+" Devuelve correcto a menos que el control de trabajos no esté activado o\n"
" suceda un error."
#: builtins.c:787
@@ -3542,8 +3394,7 @@ msgid ""
"Remember or display program locations.\n"
" \n"
" Determine and remember the full pathname of each command NAME. If\n"
-" no arguments are given, information about remembered commands is "
-"displayed.\n"
+" no arguments are given, information about remembered commands is displayed.\n"
" \n"
" Options:\n"
" -d\tforget the remembered location of each NAME\n"
@@ -3567,15 +3418,15 @@ msgstr ""
" órdenes almacenadas.\n"
" \n"
" Opciones:\n"
-" -d\t\tolvida la ubicación almacenada de cada NOMBRE\n"
-" -l\t\tmuestra en un formato que se puede reusar como entrada\n"
+" -d\tolvida la ubicación almacenada de cada NOMBRE\n"
+" -l\tmuestra en un formato que se puede reutilizar como entrada\n"
" -p ruta\tusa RUTA como la ruta completa de NOMBRE\n"
-" -r\t\tolvida todas las ubicaciones almacenadas\n"
-" -t\t\tmuestra la ubicación almacenada de cada NOMBRE,\n"
-" \t\tcada ubicación con el NOMBRE correspondiente\n"
-" \t\tse dan varios NOMBREs\n"
+" -r\tolvida todas las ubicaciones almacenadas\n"
+" -t\tmuestra la ubicación almacenada de cada NOMBRE,\n"
+" \t\tcada ubicación precedida del NOMBRE correspondiente\n"
+" \t\tsi se dan varios NOMBREs\n"
" Argumentos:\n"
-" NOMBRE\t\tCada NOMBRE se busca en $PATH y se agrega a la lista\n"
+" NOMBRE\tCada NOMBRE se busca en $PATH y se agrega a la lista\n"
" \t\tde órdenes almacenadas.\n"
" \n"
" Estado de Salida\n"
@@ -3583,7 +3434,6 @@ msgstr ""
" una opción inválida."
#: builtins.c:812
-#, fuzzy
msgid ""
"Display information about builtin commands.\n"
" \n"
@@ -3598,17 +3448,16 @@ msgid ""
" \t\tPATTERN\n"
" \n"
" Arguments:\n"
-" PATTERN\tPattern specifying a help topic\n"
+" PATTERN\tPattern specifiying a help topic\n"
" \n"
" Exit Status:\n"
-" Returns success unless PATTERN is not found or an invalid option is "
-"given."
+" Returns success unless PATTERN is not found or an invalid option is given."
msgstr ""
-"Enseña información sobre órdenes internas.\n"
+"Muestra información sobre órdenes internas.\n"
" \n"
-" Enseña un resumen breve de los mandatos internos. Si se especifica\n"
-" un PATRÓN, da ayuda detallada sobre todas los mandatos que\n"
-" coincidan con el PATRÓN, de otra forma se muestra la lista de\n"
+" Muestra un resumen breve de las órdenes internas. Si se especifica\n"
+" un PATRÓN, da ayuda detallada sobre todas las órdenes que\n"
+" coincidan con el PATRÓN; en caso contrario, se muestra la lista de\n"
" tópicos de ayuda.\n"
" \n"
" Opciones:\n"
@@ -3625,7 +3474,6 @@ msgstr ""
" una opción inválida."
#: builtins.c:836
-#, fuzzy
msgid ""
"Display or manipulate the history list.\n"
" \n"
@@ -3634,8 +3482,7 @@ msgid ""
" \n"
" Options:\n"
" -c\tclear the history list by deleting all of the entries\n"
-" -d offset\tdelete the history entry at position OFFSET. Negative\n"
-" \t\toffsets count back from the end of the history list\n"
+" -d offset\tdelete the history entry at position 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"
@@ -3653,24 +3500,22 @@ msgid ""
" \n"
" If the HISTTIMEFORMAT variable is set and not null, its value is used\n"
" as a format string for strftime(3) to print the time stamp associated\n"
-" with each displayed history entry. No time stamps are printed "
-"otherwise.\n"
+" with each displayed history entry. No time stamps are printed otherwise.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
-"Enseña o manipula la lista de la historia.\n"
+"Muestra o manipula la lista de la historia.\n"
" \n"
-" Enseña la lista de la historia con números de línea, mostrando\n"
-" cada línea modificada con un `*' como prefijo. Un argumento\n"
-" de N lista solamente las últimas N entradas.\n"
+" Muestra la lista de la historia con números de línea, mostrando\n"
+" cada línea modificada con un `*' como prefijo. El argumento N\n"
+" muestra solamente las últimas N entradas.\n"
" \n"
" Opciones:\n"
" -c\tborra la lista de historia eliminando todas las entradas\n"
" -d despl\tborra la entrada de la historia en la posición DESPL\n"
" \n"
-" -a\tagrega las líneas de historia de esta sesión al fichero de "
-"historia\n"
+" -a\tagrega las líneas de historia de esta sesión al fichero de historia\n"
" -n\tlee todas las líneas de historia que no se han leído del fichero\n"
" \tde historia\n"
" -r\tlee el fichero de historia y agrega el contenido al fichero\n"
@@ -3691,11 +3536,10 @@ msgstr ""
" tiempo asociada con cada entrada de historia mostrada. No se muestra\n"
" ninguna marca de tiempo de otra forma.\n"
" \n"
-" Estado de salida:\n"
-" Devuelve correcto a no ser que se dé una opción inválida u ocurra un "
-"erroe."
+" Estado de Salida:\n"
+" Devuelve correcto a no ser que se dé una opción inválida u ocurra un error."
-#: builtins.c:873
+#: builtins.c:872
msgid ""
"Display status of jobs.\n"
" \n"
@@ -3718,30 +3562,29 @@ 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 ""
-"Enseña el estado de las tareas.\n"
+"Muestra el estado de los trabajos.\n"
" \n"
-" Muestra las tareas activas. JOBSPEC restringe la salida a\n"
-" esa tarea. Sin opciones, se enseña el estado de todas las tareas\n"
-" activas.\n"
+" Muestra los trabajos activos. IDTRABAJO restringe la salida a\n"
+" esa trabajo. Sin opciones, se muestra el estado de todas los trabajos\n"
+" activos.\n"
" \n"
" Opciones:\n"
-" -l\t muestra los IDs de los procesos, además\n"
-" \t de la información común\n"
-" -n\t solo muestra los procesos que han cambia de estado desde\n"
-" \t la última notificación\n"
-" -p\t solo muestra los id de los procesos\n"
-" -r\t restringe la salida a las tareas en ejecución\n"
-" -s\t restringe la salida a las tareas detenidos\n"
-" \n"
-" Si se especifica -x, el MANDATO se ejecuta después de que todas las\n"
-" especificaciones de tarea que aparecen en ARGS se han reemplazado\n"
-" con el ID de proceso del líder del grupo de procesos de dicha tarea.\n"
+" -l\tmuestra los IDs de los procesos, además de la información normal\n"
+" -n\tsolo muestra los procesos que han cambiado de estado desde\n"
+" \t\tla última notificación\n"
+" -p\tsolo muestra los IDs de los procesos\n"
+" -r\trestringe la salida a los trabajos en ejecución\n"
+" -s\trestringe la salida a los trabajos detenidos\n"
+" \n"
+" Si se especifica -x, la ORDEN se ejecuta después de que todas las\n"
+" especificaciones de trabajo que aparecen en ARGS se hayan reemplazado\n"
+" con el ID de proceso del líder del grupo de procesos de dicho trabajo.\n"
" \n"
" Estado de Salida:\n"
-" Devuelve correcto a menos que se de una opción inválida o suceda un\n"
-" error. Si se usa -x, devuelve el estado de salida del MANDATO."
+" Devuelve correcto a menos que se dé una opción inválida o suceda un\n"
+" error. Si se usa -x, devuelve el estado de salida de la ORDEN."
-#: builtins.c:900
+#: builtins.c:899
msgid ""
"Remove jobs from current shell.\n"
" \n"
@@ -3757,22 +3600,22 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option or JOBSPEC is given."
msgstr ""
-"Quita tareas del shell actual.\n"
+"Quita trabajos del shell actual.\n"
" \n"
-" Quita cada argumento IDTAREA de la distribución de tareas activas. Sin\n"
-" algún IDTAREA, el shell utiliza su noción del tarea actual.\n"
+" Quita cada argumento IDTRABAJO de la tabla de trabajos activos. Sin\n"
+" ningún IDTRABAJO, el shell utiliza su noción del trabajo actual.\n"
" \n"
" Opciones:\n"
-" -a\t quita todas las tareas si no se proporciona IDTAREAS\n"
-" -h\t marca cada IDTAREA para no se envíe SIGHUP a la tarea\n"
-" \t\t si el shell recibe un SIGHUP\n"
-" -r\t quita solo las tareas en ejecución\n"
+" -a\tquita todas los trabajos si no se proporciona IDTRABAJO\n"
+" -h\tmarca cada IDTRABAJO para que no se le envíe SIGHUP\n"
+" \t\tsi el shell recibe un SIGHUP\n"
+" -r\tquita solo los trabajos en ejecución\n"
" \n"
" Estado de Salida:\n"
" Devuelve correcto a menos que se proporcionen una opción o\n"
-" una IDTAREA inválida."
+" un IDTRABAJO inválida."
-#: builtins.c:919
+#: builtins.c:918
msgid ""
"Send a signal to a job.\n"
" \n"
@@ -3794,27 +3637,26 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
-"Envía una señal a una tarea.\n"
+"Envía una señal a una trabajo.\n"
" \n"
-" Envía a los procesos nombrados por PID (o IDTAREA) la señal ID_SEÑAL\n"
+" Envía a los procesos nombrados por PID (o IDTRABAJO) la señal ID_SEÑAL\n"
" o NUM_SEÑAL. Si no están presentes ni ID_SEÑAL o NUM_SEÑAL, se asume\n"
" SIGTERM.\n"
" \n"
" Opciones:\n"
-" -s sig\t SIG es un nombre de señal\n"
-" -n sig\t SIG es un número de señal\n"
-" -l\t lista los nombres de señales; si hay argumentos a continuación\n"
-" \tde `-l', se asume que son números de señal para las cuales se debe\n"
+" -s sig\tSIG es un nombre de señal\n"
+" -n sig\tSIG es un número de señal\n"
+" -l\tlista los nombres de señales; si hay argumentos a continuación\n"
+" \t\tde `-l', se asume que son números de señal para las cuales se debe\n"
" mostrar el nombre.\n"
" \n"
-" Kill es un mandato interno del shell por dos razones: permite que se\n"
-" puedan utilizar varios ID de tareas en lugar de varios ID de proceso,\n"
-" y permite matar procesos si ha alcanzado el límite de procesos que\n"
-" puede crear.\n"
+" Kill es una orden interna del shell por dos razones: permite que se\n"
+" puedan utilizar IDs de trabajo en lugar de IDs de proceso y permite\n"
+" matar procesos si se ha alcanzado el límite de procesos que se pueden\n"
+" crear.\n"
" \n"
" Estado de Salida:\n"
-" Devuelve correcto a menos que se de una opción inválida o suceda un "
-"error."
+" Devuelve correcto a menos que se dé una opción inválida o suceda un error."
# "a ser evaluada" no está en español. sv
# Cierto. ¿Así está mejor? cfuga
@@ -3824,15 +3666,14 @@ 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:943
+#: builtins.c:942
msgid ""
"Evaluate arithmetic expressions.\n"
" \n"
" Evaluate each ARG as an arithmetic expression. Evaluation is done in\n"
" fixed-width integers with no check for overflow, though division by 0\n"
" is trapped and flagged as an error. The following list of operators is\n"
-" grouped into levels of equal-precedence operators. The levels are "
-"listed\n"
+" grouped into levels of equal-precedence operators. The levels are listed\n"
" in order of decreasing precedence.\n"
" \n"
" \tid++, id--\tvariable post-increment, post-decrement\n"
@@ -3872,31 +3713,30 @@ msgstr ""
" \n"
" Evalúa cada ARG como una expresión aritmética. La evaluación se hace\n"
" con enteros de longitud fija, sin revisar desbordamientos, aunque la\n"
-" la división por 0 se captura y se marca como un error. La siguiente "
-"lista\n"
-" de operadores está agrupada en niveles de operadores de la misma\n"
+" la división por 0 se captura y se marca como un error. La siguiente\n"
+" lista de operadores está agrupada en niveles de operadores de la misma\n"
" prioridad. Los niveles se muestran en orden de prioridad decreciente.\n"
" \n"
" \tid++, id--\tpost-incremento, post-decremento de variable\n"
" \t++id, --id\tpre-incremento, pre-decremento de variable\n"
" \t-, +\t\tmenos, más unario\n"
-" \t!, ~\t\t negación lógica y basada en bits\n"
-" \t**\t\t exponenciación\n"
-" \t*, /, %\t\t multiplicación, división, residuo\n"
-" \t+, -\t\t adición, sustracción\n"
-" \t<<, >>\t\t desplazamientos de varios bit izquierdo y derecho\n"
-" \t<=, >=, <, >\t comparación\n"
-" \t==, !=\t\t equivalencia, inequivalencia\n"
-" \t&\t\t Y de varios bit\n"
-" \t^\t\tXO de varios bit\n"
-" \t|\t\tO de varios bit\n"
-" \t&&\t\t Y lógico\n"
-" \t||\t\t O lógico\n"
+" \t!, ~\t\tnegación lógica y basada en bits\n"
+" \t**\t\texponenciación\n"
+" \t*, /, %\t\tmultiplicación, división, residuo\n"
+" \t+, -\t\tadición, sustracción\n"
+" \t<<, >>\t\tdesplazamientos de varios bit izquierdo y derecho\n"
+" \t<=, >=, <, >\tcomparación\n"
+" \t==, !=\t\tequivalencia, inequivalencia\n"
+" \t&\t\tAND de varios bit\n"
+" \t^\t\tXOR de varios bit\n"
+" \t|\t\tOR de varios bit\n"
+" \t&&\t\tAND lógico\n"
+" \t||\t\tOR lógico\n"
" \texpr ? expr : expr\n"
-" \t\t\t operador condicional\n"
+" \t\t\toperador condicional\n"
" \t=, *=, /=, %=,\n"
" \t+=, -=, <<=, >>=,\n"
-" \t&=, ^=, |=\t asignación\n"
+" \t&=, ^=, |=\tasignación\n"
" \n"
" Se permiten las variables de shell como operandos. El nombre\n"
" de la variable se reemplaza por su valor (coercionado a un\n"
@@ -3908,39 +3748,34 @@ msgstr ""
" evalúan las sub-expresiones en paréntesis y pueden sobrepasar\n"
" las reglas de prioridad anteriores.\n"
" \n"
-" Estado de salida:\n"
+" Estado de Salida:\n"
" Si el último ARGumento se evalúa como 0, ‘let’ devuelve 1; de\n"
" otra forma, ‘let’ devuelve 0."
-#: builtins.c:988
-#, fuzzy
+#: builtins.c:987
msgid ""
"Read a line from the standard input and split it into fields.\n"
" \n"
" Reads a single line from the standard input, or from file descriptor FD\n"
-" if the -u option is supplied. The line is split into fields as with "
-"word\n"
+" if the -u option is supplied. The line is split into fields as with word\n"
" splitting, and the first word is assigned to the first NAME, the second\n"
" word to the second NAME, and so on, with any leftover words assigned to\n"
-" the last NAME. Only the characters found in $IFS are recognized as "
-"word\n"
+" the last NAME. Only the characters found in $IFS are recognized as word\n"
" delimiters.\n"
" \n"
-" If no NAMEs are supplied, the line read is stored in the REPLY "
-"variable.\n"
+" If no NAMEs are supplied, the line read is stored in the REPLY variable.\n"
" \n"
" Options:\n"
" -a array\tassign the words read to sequential indices of the array\n"
" \t\tvariable ARRAY, starting at zero\n"
" -d delim\tcontinue until the first character of DELIM is read, rather\n"
" \t\tthan newline\n"
-" -e\tuse Readline to obtain the line\n"
+" -e\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\n"
" \t\tNCHARS characters are read before the delimiter\n"
-" -N nchars\treturn only after reading exactly NCHARS characters, "
-"unless\n"
+" -N nchars\treturn only after reading exactly NCHARS characters, unless\n"
" \t\tEOF is encountered or read times out, ignoring any\n"
" \t\tdelimiter\n"
" -p prompt\toutput the string PROMPT without a trailing newline before\n"
@@ -3958,59 +3793,55 @@ msgid ""
" -u fd\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"
-" (in which case it's greater than 128), a variable assignment error "
-"occurs,\n"
+" The return code is zero, unless end-of-file is encountered, read times out\n"
+" (in which case it's greater than 128), a variable assignment error occurs,\n"
" or an invalid file descriptor is supplied as the argument to -u."
msgstr ""
-"Lee una línea de la salida común y la divide en campos.\n"
+"Lee una línea de la salida estándar y la divide en campos.\n"
" \n"
-" Lee una sola línea de la entrada común, o del descriptor de\n"
-" fichero FD si se proporciona la opción -u. La línea se divide en "
-"campos\n"
+" Lee una sola línea de la entrada estándar, o del descriptor de\n"
+" fichero FD si se proporciona la opción -u. La línea se divide en campos\n"
" con separación de palabras, y la primera palabra se asigna al primer\n"
-" NOMBRE, la segunda palabra al segundo NOMBRE, y así sucesivamente,\n"
-" con las palabras restantes asignadas al último NOMBRE. Sólo los "
-"caracteres\n"
+" NOMBRE, la segunda palabra al segundo NOMBRE, y así sucesivamente, con\n"
+" las palabras restantes asignadas al último NOMBRE. Sólo los caracteres\n"
" que se encuentran en $IFS se reconocen como delimitadores de palabras.\n"
" \n"
" Si no se proporciona ningún NOMBRE, la línea leída se guarda en la\n"
" variable REPLY.\n"
" \n"
" Opciones:\n"
-" -a matriz\t asigna las palabras leídas a índices secuenciales de\n"
-" \t\t la variable matricial MATRIZ, empezando en cero\n"
-" -d delim\t continúa hasta que se lea el primer carácter de DELIM,\n"
-" \t\t en lugar de línea nueva\n"
-" -e\t emplea Readline para obtener la línea en un shell interactivo\n"
-" -i texto\t Emplea el TEXTO como el texto inicial para Readline\n"
-" -n ncars\t regresa tras leer NCARS caracteres en lugar de\n"
-" \t\t esperar una línea nueva, pero honra a un delimitador si\n"
-" \t\t se leen menos de NCARS caracteres antes del delimitador\n"
-" -N ncars\t devuelve sólo después de leer exactamente NCARS\n"
-" \t\t caracteres, a menos que se encuentre el fin del fichero\n"
-" \t\t o expire la lectura, descartando cualquier delimitador\n"
-" -p prompt\t sale la cadena PROMPT sin un carácter de línea nueva\n"
-" \t\t al final antes de intentar leer\n"
-" -r\t\t no permite que las barras invertidas escapen caracteres\n"
-" -s\t\t no muestra la salida que proviene de una terminal\n"
-" -t tiempo\t expira y devuelve fallo si no se lee una línea completa\n"
-" \t\t de entrada en TIEMPO segundos. El valor de la variable TMOUT\n"
-" \t\t es el tiempo de expiración por defecto. TIEMPO puede ser un\n"
-" \t\t número fraccionario. Si TIEMPO es 0, ‘read’ devuelve correcto\n"
-" \t\t sólo si hay entrada disponible en el descriptor de fichero\n"
-" \t\t especificado. El estado de salida es mayor que 128 si se excede\n"
-" \t\t el tiempo de expiración.\n"
-" -u df\t\t lee del descriptor de fichero DF en lugar de la entrada\n"
-" \t\t común\n"
+" -a matriz\tasigna las palabras leídas a índices secuenciales de\n"
+" \t\tla variable matricial MATRIZ, empezando en cero\n"
+" -d delim\tcontinúa hasta que se lea el primer carácter de DELIM,\n"
+" \t\ten lugar de línea nueva\n"
+" -e\tusa Readline para obtener la línea en un shell interactivo\n"
+" -i texto\tEmplea el TEXTO como el texto inicial para Readline\n"
+" -n ncars\tregresa tras leer NCARS caracteres en lugar de\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\tsale la cadena PROMPT sin un carácter de línea nueva\n"
+" \t\tal final antes de intentar leer\n"
+" -r\t\tno permite que las barras invertidas escapen caracteres\n"
+" -s\t\tno muestra la salida que proviene de una terminal\n"
+" -t tiempo\texpira y devuelve fallo si no se lee una línea completa\n"
+" \t\tde entrada en TIEMPO segundos. El valor de la variable TMOUT\n"
+" \t\tes el tiempo de expiración por defecto. TIEMPO puede ser un\n"
+" \t\tnúmero fraccionario. Si TIEMPO es 0, ‘read’ devuelve correcto\n"
+" \t\tsólo si hay entrada disponible en el descriptor de fichero\n"
+" \t\tespecificado. El estado de salida es mayor que 128 si se excede\n"
+" \t\tel tiempo de expiración.\n"
+" -u df\t\tlee del descriptor de fichero DF en lugar de la entrada\n"
+" \t\testándar\n"
" \n"
" Estado de Salida:\n"
" El código de devolución es cero, a menos que se encuentre un final de\n"
" línea, el tiempo de lectura se agote, o se proporcione un descriptor\n"
" de fichero inválido como el argumento de -u."
-#: builtins.c:1035
+#: builtins.c:1034
msgid ""
"Return from a shell function.\n"
" \n"
@@ -4023,15 +3854,14 @@ msgid ""
msgstr ""
"Devuelve de una función de shell.\n"
" \n"
-" Causa que una función o un guión leído termine con el valor devuelto\n"
-" especificado por N. Si se omite N, el estado devuelto es el del último\n"
-" mandato ejecutado dentro de la función o guión.\n"
+" Causa que una función o un script leído termine con el valor devuelto\n"
+" especificado por N. Si se omite N, el estado devuelto es el de la última\n"
+" orden ejecutada dentro de la función o script.\n"
" \n"
" Estado de Salida:\n"
-" Devuelve N, o falla si el shell no está ejecutando una función o un "
-"guión."
+" Devuelve N, o falla si el shell no está ejecutando una función o un script."
-#: builtins.c:1048
+#: builtins.c:1047
msgid ""
"Set or unset values of shell options and positional parameters.\n"
" \n"
@@ -4074,8 +3904,7 @@ msgid ""
" physical same as -P\n"
" pipefail the return value of a pipeline is the status of\n"
" the last command to exit with a non-zero status,\n"
-" or zero if no command exited with a non-zero "
-"status\n"
+" or zero if no command exited with a non-zero status\n"
" posix change the behavior of bash where the default\n"
" operation differs from the Posix standard to\n"
" match the standard\n"
@@ -4099,8 +3928,7 @@ msgid ""
" by default when the shell is interactive.\n"
" -P If set, do not resolve symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
-" -T If set, the DEBUG and RETURN traps are inherited by shell "
-"functions.\n"
+" -T If set, the DEBUG and RETURN traps are 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"
@@ -4119,38 +3947,34 @@ msgstr ""
"Establece o borra los valores de las opciones de shell y los parámetros\n"
"posicionales.\n"
" \n"
-" Modifica el valor de los atributos de shell y los parámetros "
-"posicionales,\n"
+" Modifica el valor de los atributos de shell y los parámetros posicionales,\n"
" o muestra los nombres y valores de las variables de shell.\n"
" \n"
" Opciones:\n"
" -a Marca las variables que se modifican o crean para exportación.\n"
-" -b Notifica el término de tareas inmediatamente.\n"
-" -e Termina inmediatamente si un mandato termina con un estado\n"
-" diferente a cero.\n"
+" -b Notifica el término de trabajos inmediatamente.\n"
+" -e Termina inmediatamente si una orden termina con un estado\n"
+" diferente a cero.\n"
" -f Desactiva la generación de nombres de ficheros (englobamiento).\n"
-" -h Recuerda la ubicación de los mandatos como se localizaron.\n"
-" -k Todos los argumentos de asignación se colocan en el ambiente para "
-"un\n"
-" mandato, no solo aquellos que preceden al nombre del mandato.\n"
-" -m Activa el control de tareas.\n"
+" -h Recuerda la ubicación de las órdenes como se localizaron.\n"
+" -k Todos los argumentos de asignación se colocan en el ambiente para una\n"
+" orden, no solo aquellos que preceden al nombre de la orden.\n"
+" -m Activa el control de trabajos.\n"
" -n Lee órdenes pero no las ejecuta.\n"
-" -o nombre-opcion\n"
+" -o nombre-opción\n"
" Establece la variable correspondiente a nombre-opción:\n"
" allexport igual que -a\n"
" braceexpand igual que -B\n"
-" emacs emplea una interfaz de edición lineal estilo "
-"emacs\n"
+" emacs usa una interfaz de edición lineal estilo emacs\n"
" errexit igual que -e\n"
" errtrace igual que -E\n"
" functrace igual que -T\n"
" hashall igual que -h\n"
" histexpand igual que -H\n"
" history activa la historia de órdenes\n"
-" ignoreeof el shell no terminará después de leer FDL\n"
+" ignoreeof el shell no terminará después de leer EOF\n"
" interactive-comments\n"
-" permite que haya comentarios en órdenes "
-"interactivas\n"
+" permite que haya comentarios en órdenes interactivas\n"
" keyword igual que -k\n"
" monitor igual que -m\n"
" noclobber igual que -C\n"
@@ -4161,57 +3985,49 @@ msgstr ""
" nounset igual que -u\n"
" onecmd igual que -t\n"
" physical igual que -P\n"
-" pipefail el valor devuelto de una tubería es el estado\n"
-" del último mandato que sale con un estado "
-"diferente\n"
-" de cero, o cero si ningún mandato termina con un\n"
+" pipefail el valor de retorno de una tubería es el estado\n"
+" de la última orden que sale con un estado diferente\n"
+" de cero, o cero si ninguna orden termina con un\n"
" estado diferente de cero\n"
-" posix modifica el comportamiento de ‘bash’ donde la\n"
+" posix modifica el comportamiento de bash donde la\n"
" operación por defecto difiere del estándar POSIX\n"
-" para que coincida con la estandarización\n"
+" para que coincida con el estándar\n"
" privileged igual que -p\n"
" verbose igual que -v\n"
" vi usa una interfaz de edición de línea estilo vi\n"
" xtrace igual que -x\n"
-" -p Activo cuando los id real y efectivo del usuario no coinciden.\n"
+" -p Activo cuando los ids real y efectivo del usuario no coinciden.\n"
" Desactiva el procesamiento del fichero $ENV y la importación de\n"
-" funciones de shell. Si se desactiva esta opción causa que el uid "
-"y\n"
+" funciones de shell. Si se desactiva esta opción causa que el uid y\n"
" el gid efectivos sean iguales al uid y el gid real.\n"
-" -t Termina después de leer y ejecutar un mandato.\n"
+" -t Termina después de leer y ejecutar una orden.\n"
" -u Trata las variables sin definir como un error al sustituir.\n"
-" -v Escribe las líneas de entrada del shell mientras se leen.\n"
-" -x Escribe los mandatos y sus argumentos mientras se ejecutan.\n"
+" -v Muestra las líneas de entrada del shell mientras se leen.\n"
+" -x Muestra las órdenes y sus argumentos mientras se ejecutan.\n"
" -B el shell realizará expansión de llaves.\n"
" -C Si se activa, no permite que los ficheros regulares existentes\n"
-" se sobrescriban por redirección de la salida.\n"
+" se sobreescriban por redirección de la salida.\n"
" -E Si se activa, las funciones del shell heredan la trampa ERR.\n"
" -H Activa el estilo de sustitución de historia ! . Esta opción está\n"
" activa por defecto cuando el shell es interactivo.\n"
-" -P Si se activa, no sigue enlaces simbólicos cuando se ejecutan "
-"órdenes\n"
+" -P Si se activa, no sigue enlaces simbólicos cuando se ejecutan órdenes\n"
" como cd, que cambian el directorio actual.\n"
" -T Si se activa, las funciones del shell heredan la trampa DEBUG.\n"
-" -- Asigna cualquier argumento restante a los parámetros "
-"posicionales.\n"
-" Si no restan argumentos, se desactivan los parámetros "
-"posicionales.\n"
-" - Asigna cualquier argumento restante a los parámetros "
-"posicionales.\n"
+" -- Asigna cualquier argumento restante a los parámetros posicionales.\n"
+" Si no restan argumentos, se desactivan los parámetros posicionales.\n"
+" - Asigna cualquier argumento restante a los parámetros posicionales.\n"
" Las opciones -x y -v se desactivan.\n"
" \n"
" Si se usa + en lugar de - causa que estas opciones se desactiven. Las\n"
-" opciones también se pueden usar en la invocación del shell. El "
-"conjunto\n"
+" opciones también se pueden usar en la invocación del shell. El conjunto\n"
" actual de opciones se puede encontrar en $-. Los n ARGs restantes son\n"
-" parámetros posicionales que se asignan, en orden, a $1, $2, .. $n. Si "
-"no\n"
+" parámetros posicionales que se asignan, en orden, a $1, $2, .. $n. Si no\n"
" se proporciona ningún ARG, se muestran todas las variables del shell.\n"
" \n"
" Estado de Salida:\n"
" Devuelve correcto a menos que se proporcione una opción inválida."
-#: builtins.c:1133
+#: builtins.c:1132
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \n"
@@ -4223,8 +4039,7 @@ msgid ""
" -n\ttreat each NAME as a name reference and unset the variable itself\n"
" \t\trather than the variable it references\n"
" \n"
-" Without options, unset first tries to unset a variable, and if that "
-"fails,\n"
+" Without options, unset first tries to unset a variable, and if that fails,\n"
" tries to unset a function.\n"
" \n"
" Some variables cannot be unset; also see `readonly'.\n"
@@ -4237,11 +4052,10 @@ msgstr ""
" Por cada NOMBRE, borra la función o variable correspondiente.\n"
" \n"
" Opciones:\n"
-" -f\t trata cada NOMBRE como una función de shell\n"
-" -v\t trata cada NOMBRE como una variable de shell\n"
-" -n\t trata cada NOMBRE como una referencia de nombre y\n"
-" \t\t desestablece la misma variable mejor que a la variable\n"
-" \t\t referenciada\n"
+" -f\ttrata cada NOMBRE como una función de shell\n"
+" -v\ttrata cada NOMBRE como una variable de shell\n"
+" -n\ttrata cada NOMBRE como una referencia de nombre y desasigna\n"
+" \t\tla propia variable, no aquella a la que hace referencia\n"
" \n"
" Sin opciones, unset primero trata de borrar una variable, y si falla,\n"
" trata de borrar una función.\n"
@@ -4252,13 +4066,12 @@ msgstr ""
" Devuelve correcto a menos que se proporcione una opción inválida o\n"
" un NOMBRE sea de sólo lectura."
-#: builtins.c:1155
+#: builtins.c:1154
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"
+" executed commands. If VALUE is supplied, assign VALUE before exporting.\n"
" \n"
" Options:\n"
" -f\trefer to shell functions\n"
@@ -4272,15 +4085,14 @@ msgid ""
msgstr ""
"Establece el atributo de exportación para las variables de shell.\n"
" \n"
-" Marca cada NOMBRE para exportación automática al ambiente para los "
-"mandatos\n"
+" Marca cada NOMBRE para exportación automática al ambiente para las órdenes\n"
" ejecutadas subsecuentemente. Si se proporciona un VALOR, se asigna el\n"
" VALOR antes de exportar.\n"
" \n"
" Opciones:\n"
-" -f\t se refiere a funciones de shell\n"
-" -n\t borra la propiedad de exportación para cada NOMBRE\n"
-" -p\t muestra una lista de todas las variables y funciones exportadas\n"
+" -f\tse refiere a funciones de shell\n"
+" -n\tborra la propiedad de exportación para cada NOMBRE\n"
+" -p\tmuestra una lista de todas las variables y funciones exportadas\n"
" \n"
" El argumento `--' desactiva el procesamiento posterior de opciones.\n"
" \n"
@@ -4288,7 +4100,7 @@ msgstr ""
" Devuelve correcto a menos que se proporcione una opción inválida o que\n"
" NOMBRE sea inválido."
-#: builtins.c:1174
+#: builtins.c:1173
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
@@ -4311,17 +4123,15 @@ msgstr ""
"Marca las variables de shell para evitar su modificación.\n"
" \n"
" Marca cada NOMBRE como de sólo lectura; los valores de esos NOMBREs\n"
-" no se pueden modificar por asignaciones subsecuentes. Si se "
-"proporciona\n"
+" no se pueden modificar por asignaciones subsecuentes. Si se proporciona\n"
" un VALOR, se asigna el VALOR antes de marcar como de sólo lectura.\n"
" \n"
" Opciones:\n"
-" -a\t se refiere a variables de matriz indizada\n"
-" -A\t se refiere a variables de matriz asociativa\n"
-" -f\t se refiere a funciones de shell\n"
-" -p\t enseña una lista de todas las variables y funciones de sólo "
-"lectura,\n"
-" \t\t dependiendo de si i no la opción -f está dada\n"
+" -a\tse refiere a variables de matriz indexada\n"
+" -A\tse refiere a variables de matriz asociativa\n"
+" -f\tse refiere a funciones de shell\n"
+" -p\tmuestra una lista de todas las variables y funciones de sólo lectura,\n"
+" \t\tdependiendo de si se pone o no la opción -f\n"
" \n"
" El argumento `--' desactiva el procesamiento posterior de opciones.\n"
" \n"
@@ -4329,7 +4139,7 @@ msgstr ""
" Devuelve correcto a menos que se proporcione una opción inválida o\n"
" el NOMBRE sea inválido."
-#: builtins.c:1196
+#: builtins.c:1195
msgid ""
"Shift positional parameters.\n"
" \n"
@@ -4347,7 +4157,7 @@ msgstr ""
" Estado de Salida:\n"
" Devuelve correcto a menos que N sea negativo o mayor que $#."
-#: builtins.c:1208 builtins.c:1223
+#: builtins.c:1207 builtins.c:1222
msgid ""
"Execute commands from a file in the current shell.\n"
" \n"
@@ -4362,17 +4172,16 @@ msgid ""
msgstr ""
"Ejecuta órdenes de un fichero en el shell actual.\n"
" \n"
-" Lee y ejecuta mandatos del FICHERO en el shell actual. Se utilizan las\n"
+" Lee y ejecuta órdenes del FICHERO en el shell actual. Se utilizan las\n"
" entradas en $PATH para encontrar el directorio que contiene el FICHERO.\n"
-" Si se proporciona ARGUMENTOS, se convierten en los parámetros "
-"posicionales\n"
+" Si se proporciona ARGUMENTOS, se convierten en los parámetros posicionales\n"
" cuando se ejecuta el FICHERO.\n"
" \n"
" Estado de Salida:\n"
-" Devuelve el estado del último mandato ejecutado del FICHERO; falla si\n"
+" Devuelve el estado de la última orden ejecutada del FICHERO; falla si\n"
" no se puede leer el FICHERO."
-#: builtins.c:1239
+#: builtins.c:1238
msgid ""
"Suspend shell execution.\n"
" \n"
@@ -4388,17 +4197,16 @@ msgstr ""
"Suspende la ejecución del shell.\n"
" \n"
" Suspende la ejecución de este shell hasta que recibe una señal SIGCONT.\n"
-" Los shells de entrada no se pueden suspender, a menos que sean "
-"forzados.\n"
+" Los shells de entrada no se pueden suspender, a menos que sean forzados.\n"
" \n"
" Opciones:\n"
" -f\tfuerza la suspensión, aún si el shell es un shell de entrada\n"
" \n"
" Estado de Salida:\n"
-" Devuelve correcto a menos que no esté activo el control de tareas o\n"
+" Devuelve correcto a menos que no esté activo el control de trabajos o\n"
" suceda un error."
-#: builtins.c:1255
+#: builtins.c:1254
msgid ""
"Evaluate conditional expression.\n"
" \n"
@@ -4432,8 +4240,7 @@ msgid ""
" -x FILE True if the file is executable by you.\n"
" -O FILE True if the file is effectively owned by you.\n"
" -G FILE True if the file is effectively owned by your group.\n"
-" -N FILE True if the file has been modified since it was last "
-"read.\n"
+" -N FILE True if the file has been modified since it was last read.\n"
" \n"
" FILE1 -nt FILE2 True if file1 is newer than file2 (according to\n"
" modification date).\n"
@@ -4454,8 +4261,7 @@ msgid ""
" STRING1 != STRING2\n"
" True if the strings are not equal.\n"
" STRING1 < STRING2\n"
-" True if STRING1 sorts before STRING2 "
-"lexicographically.\n"
+" True if STRING1 sorts before STRING2 lexicographically.\n"
" STRING1 > STRING2\n"
" True if STRING1 sorts after STRING2 lexicographically.\n"
" \n"
@@ -4488,8 +4294,8 @@ msgstr ""
" de un fichero. Hay también operadores de cadenas, y operadores de\n"
" comparación numérica.\n"
" \n"
-" La conducta de test depende del número de argumentos. Lea la página\n"
-" del manual de bash para la especificación completa.\n"
+" El comportamiento de test depende del número de argumentos. Lea la página\n"
+" de manual de bash para la especificación completa.\n"
" \n"
" Operadores de fichero:\n"
" \n"
@@ -4498,14 +4304,11 @@ msgstr ""
" -c FICHERO Verdadero si el fichero es especial de caracteres.\n"
" -d FICHERO Verdadero si el fichero es un directorio.\n"
" -e FICHERO Verdadero si el fichero existe.\n"
-" -f FICHERO Verdadero si el fichero existe y es un fichero "
-"regular.\n"
-" -g FICHERO Verdadero si el fichero tiene activado el set-group-"
-"id.\n"
+" -f FICHERO Verdadero si el fichero existe y es un fichero regular.\n"
+" -g FICHERO Verdadero si el fichero tiene activado el set-group-id.\n"
" -h FICHERO Verdadero si el fichero es un enlace simbólico.\n"
" -L FICHERO Verdadero si el fichero es un enlace simbólico.\n"
-" -k FICHERO Verdadero si el fichero tiene el bit `sticky' "
-"activado.\n"
+" -k FICHERO Verdadero si el fichero tiene el bit `sticky' activado.\n"
" -p FICHERO Verdadero si el fichero es una tubería nombrada.\n"
" -r FICHERO Verdadero si el fichero es legible para usted.\n"
" -s FICHERO Verdadero si el fichero existe y no está vacío.\n"
@@ -4516,8 +4319,7 @@ msgstr ""
" -x FICHERO Verdadero si usted puede ejecutar el fichero.\n"
" -O FICHERO Verdadero si usted efectivamente posee el fichero.\n"
" -G FICHERO Verdadero si su grupo efectivamente posee el fichero.\n"
-" -N FICHERO Verdadero si el fichero se modificó desde la última "
-"lectura.\n"
+" -N FICHERO Verdadero si el fichero se modificó desde la última lectura.\n"
" \n"
" FICH1 -nt FICH2 Verdadero si fich1 es más reciente que fich2\n"
" (de acuerdo a la fecha de modificación).\n"
@@ -4548,11 +4350,10 @@ msgstr ""
" \n"
" -o OPCIÓN Verdadero si la opción del shell OPCIÓN está activada.\n"
" -v VAR Verdadero si la variable de shell VAR está activada.\n"
-" -R VAR Verdadero si la variable VAR está activada y es un "
-"nombre\n"
-" referencial.\n"
+" -R VAR Verdadero si la variable VAR está activada y es una\n"
+" referencia de nombre\n"
" ! EXPR Verdadero si expr es falso.\n"
-" EXPR1 -a EXPR2 Verdadero si ambos expr1 Y expr2 are son verdaderas.\n"
+" EXPR1 -a EXPR2 Verdadero si expr1 Y expr2 son ambas verdaderas.\n"
" EXPR1 -o EXPR2 Verdadero si cualquiera de expr1 O expr2 es verdadera.\n"
" \n"
" arg1 OP arg2 Pruebas aritméticas. OP es uno de -eq, -ne,\n"
@@ -4565,7 +4366,7 @@ msgstr ""
" Devuelve correcto si EXPR evalúa a verdadero; falla si EXPR evalúa a\n"
" falso o se proporciona un argumento inválido."
-#: builtins.c:1337
+#: builtins.c:1336
msgid ""
"Evaluate conditional expression.\n"
" \n"
@@ -4574,35 +4375,32 @@ msgid ""
msgstr ""
"Evalúa una expresión condicional.\n"
" \n"
-" Este es un sinónimo para el mandato interno \"test\", pero el último\n"
-" argumento debe ser un `]' literal, que coincida con el `[' inicial."
+" Este es un sinónimo para la orden interna \"test\", pero el último\n"
+" argumento debe ser un `]' literal, que concuerde con el `[' inicial."
-#: builtins.c:1346
+#: builtins.c:1345
msgid ""
"Display process times.\n"
" \n"
-" Prints the accumulated user and system times for the shell and all of "
-"its\n"
+" Prints the accumulated user and system times for the shell and all of its\n"
" child processes.\n"
" \n"
" Exit Status:\n"
" Always succeeds."
msgstr ""
-"Enseña los tiempos de proceso.\n"
+"Muestra los tiempos de proceso.\n"
" \n"
-" Escribe los tiempos de usuario y sistema acumulados por el shell y "
-"todos\n"
-" sus subprocesos.\n"
+" Muestra los tiempos de usuario y sistema acumulados por el shell y todos\n"
+" sus procesos hijos.\n"
" \n"
-" Estado de salida:\n"
+" Estado de Salida:\n"
" Siempre correcto."
-#: builtins.c:1358
+#: builtins.c:1357
msgid ""
"Trap signals and other events.\n"
" \n"
-" Defines and activates handlers to be run when the shell receives "
-"signals\n"
+" Defines and activates handlers to be run when the shell receives signals\n"
" or other conditions.\n"
" \n"
" ARG is a command to be read and executed when the shell receives the\n"
@@ -4611,61 +4409,52 @@ msgid ""
" 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"
+" 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"
+" If no arguments are supplied, trap prints the list of commands associated\n"
" with each signal.\n"
" \n"
" Options:\n"
" -l\tprint a list of signal names and their corresponding numbers\n"
" -p\tdisplay the trap commands associated with each SIGNAL_SPEC\n"
" \n"
-" Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal "
-"number.\n"
+" Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal number.\n"
" Signal names are case insensitive and the SIG prefix is optional. A\n"
" signal may be sent to the shell with \"kill -signal $$\".\n"
" \n"
" Exit Status:\n"
-" Returns success unless a SIGSPEC is invalid or an invalid option is "
-"given."
+" Returns success unless a SIGSPEC is invalid or an invalid option is given."
msgstr ""
"Atrapa señales y otros eventos.\n"
" \n"
-" Define y activa manipuladores a ejecutar cuando el shell recibe señales\n"
+" Define y activa manejadores para ejecutar cuando el shell recibe señales\n"
" u otras condiciones.\n"
" \n"
-" ARG es un mandato para leer y ejecutar cuando el shell recibe la(s)\n"
+" ARG es una orden para leer y ejecutar cuando el shell recibe la(s)\n"
" señal(es) ID_SEÑAL. Si ARG no está presente (y sólo se proporciona\n"
" una sola ID_SEÑAL) o se proporciona `-', cada señal especificada se\n"
" reestablece a su valor original. Si ARG es la cadena nula, el shell\n"
-" y los mandatos que invoque ignoran cada ID_SEÑAL.\n"
+" y las órdenes que invoque ignoran cada ID_SEÑAL.\n"
" \n"
-" Si una ID_SEÑAL es EXIT (0) se ejecuta el mandato ARG al salir del\n"
-" shell. Si una ID_SEÑAL es DEBUG, se ejecuta ARG después de cada\n"
-" mandato simple. Si una ID_SEÑAL es RETURN, se ejecuta ARG cada vez\n"
-" que una función de shell o un guión ejecutado por los mandatos internos\n"
-" . o source termina su ejecución. Una ID_SEÑAL de ERR significa que\n"
-" se ejecuta ARG cada vez que la falla de un mandato causa que el shell\n"
-" termine cuando la opción -e está activada.\n"
+" Si una ID_SEÑAL es EXIT (0) se ejecuta la orden ARG al salir del shell.\n"
+" Si una ID_SEÑAL es DEBUG, se ejecuta ARG después de cada orden simple.\n"
+" Si una ID_SEÑAL es RETURN, se ejecuta ARG cada vez que una función de\n"
+" shell o un script ejecutado por las órdenes internas . o source termina\n"
+" su ejecución. Una ID_SEÑAL de ERR conlleva que se ejecute ARG cada vez\n"
+" que un fallo de una orden provocaría que el shell terminase si la\n"
+" opción -e está activada.\n"
" \n"
-" Si no se proporcionan argumentos, trap muestra la lista de mandatos\n"
+" Si no se proporcionan argumentos, trap muestra la lista de órdenes\n"
" asociadas con cada señal.\n"
" \n"
" Opciones:\n"
-" -l\t muestra una lista de nombres de señal con su número "
-"correspondiente\n"
-" -p\t muestra los mandatos trap asociadas con cada ID_SEÑAL\n"
+" -l\tmuestra una lista de nombres de señal con su número correspondiente\n"
+" -p\tmuestra las órdenes trap asociadas con cada ID_SEÑAL\n"
" \n"
" Cada ID_SEÑAL es un nombre de señal en <signal.h> o un número de señal.\n"
" Los nombres de señal no son sensibles a mayúsculas y minúsculas y el\n"
@@ -4673,13 +4462,12 @@ msgstr ""
" \"kill -signal $$\". \n"
" \n"
" Estado de Salida:\n"
-" Devuelve correcto a menos que una ID_SEÑAL sea inválida o se "
-"proporcione\n"
+" Devuelve correcto a menos que una ID_SEÑAL sea inválida o se proporcione\n"
" una opción inválida."
# No he visto que este fichero incluya la posibilidad de traducir las
# palabras que muestra `type -t'. Por esta razón, se dejan en inglés. cfuga
-#: builtins.c:1394
+#: builtins.c:1393
msgid ""
"Display information about command type.\n"
" \n"
@@ -4705,47 +4493,40 @@ msgid ""
" 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."
+" Returns success if all of the NAMEs are found; fails if any are not found."
msgstr ""
-"Enseña información sobre el tipo de mandato.\n"
+"Muestra información sobre el tipo de orden.\n"
" \n"
-" Por cada NOMBRE, indica cómo se interpretaría si se emplea como un\n"
-" nombre de mandato.\n"
+" Por cada NOMBRE, indica cómo se interpretaría si se utilizara como un\n"
+" nombre de orden.\n"
" \n"
" Opciones:\n"
-" -a\t enseña todas las ubicaciones que contienen un ejecutable llamado\n"
-" \t NOMBRE; incluye aliases, mandatos internos, y funciones, si y solo "
-"si\n"
-" \t no se empleó también la opción `-p'\n"
-" -f\t suprime la búsqueda de funciones de shell\n"
-" -P\t fuerza una búsqueda en PATH por cada nombre, aún si hay un "
-"alias,\n"
-" \t mandato interno, o función, y devuelve el nombre del fichero en el "
-"disco\n"
-" \t que se ejecutaría\n"
-" -p\t devuelve ya sea el nombre del fichero en disco que se "
-"ejecutaría,\n"
-" \t o nada si `type -t NOMBRE' no devuelve `fichero'.\n"
-" -t\t saca una sola palabra, que es una de `alias', `keyword',\n"
-" \t`function', `builtin', `file' o `', si el NOMBRE es un alias,\n"
-" \t palabra reservada del shell, función del shell, mandato interno del\n"
-" \t shell, fichero de disco, o no se encuentra, respectivamente.\n"
+" -a\tmuestra todas las ubicaciones que contienen un ejecutable llamado\n"
+" \t\tNOMBRE; incluye aliases, órdenes internas y funciones, si y solo si\n"
+" \t\tno se utilizó también la opción `-p'\n"
+" -f\tsuprime la búsqueda de funciones de shell\n"
+" -P\tfuerza una búsqueda en PATH por cada nombre, aun si hay un alias,\n"
+" \t\torden interna o función, y devuelve el nombre del fichero en disco\n"
+" \t\tque se ejecutaría\n"
+" -p\tdevuelve el nombre del fichero en disco que se ejecutaría,\n"
+" \t\to nada si `type -t NOMBRE' no devuelve `fichero'\n"
+" -t\tsaca una sola palabra, que es una de entre `alias', `keyword',\n"
+" \t\t`function', `builtin', `file' o `', si el NOMBRE es un alias,\n"
+" \t\tpalabra reservada del shell, función del shell, orden interna del\n"
+" \t\tshell, fichero de disco, o no se encuentra, respectivamente.\n"
" \n"
" Argumentos:\n"
-" NOMBRE\t Nombre de mandato a interpretar.\n"
+" NOMBRE\tNombre de orden a interpretar.\n"
" \n"
" Estado de Salida:\n"
-" Devuelve como correcto si se encuentran todos los NOMBREs; falla si no "
-"se\n"
-" encuentra alguno."
+" Devuelve correcto si se encuentran todos los NOMBREs; falla si alguno\n"
+" no se encuentra."
-#: builtins.c:1425
+#: builtins.c:1424
msgid ""
"Modify shell resource limits.\n"
" \n"
-" Provides control over the resources available to the shell and "
-"processes\n"
+" Provides control over the resources available to the shell and processes\n"
" it creates, on systems that allow such control.\n"
" \n"
" Options:\n"
@@ -4802,8 +4583,7 @@ msgstr ""
" -c\tel tamaño máximo de los ficheros `core' creados\n"
" -d\tel tamaño máximo del segmento de datos de un proceso\n"
" -e\tla prioridad máxima de calendarización (`nice')\n"
-" -f\tel tamaño máximo de los ficheros escritos por el shell y sus "
-"hijos\n"
+" -f\tel tamaño máximo de los ficheros escritos por el shell y sus hijos\n"
" -i\tel número máximo de señales pendientes\n"
" -k\tel número máximo de kcolas ubicadas para este proceso\n"
" -l\tel tamaño máximo que un proceso puede bloquear en memoria\n"
@@ -4822,8 +4602,7 @@ msgstr ""
" \n"
" No todas las opciones están disponibles en todas las plataformas.\n"
" \n"
-" Si se establece LÃMITE, éste es el nuevo valor del recurso "
-"especificado;\n"
+" Si se establece LÃMITE, éste es el nuevo valor del recurso especificado;\n"
" los valores especiales de LÃMITE `soft', `hard' y `unlimited'\n"
" corresponden al límite suave actual, el límite duro actual, y\n"
" sin límite, respectivamente. De otra forma, se muestra el valor actual\n"
@@ -4834,12 +4613,11 @@ msgstr ""
" es en segundos, -p, el cual es en incrementos de 512 bytes, y -u, el\n"
" cual es un número de procesos sin escala.\n"
" \n"
-" Estado de salida:\n"
-" Devuelve correcto a menos que se proporcione una opción inválida o "
-"suceda\n"
+" Estado de Salida:\n"
+" Devuelve correcto a menos que se proporcione una opción inválida o suceda\n"
" un error."
-#: builtins.c:1475
+#: builtins.c:1474
msgid ""
"Display or set file mode mask.\n"
" \n"
@@ -4856,14 +4634,13 @@ msgid ""
" Exit Status:\n"
" Returns success unless MODE is invalid or an invalid option is given."
msgstr ""
-"Enseña o establece la máscara de modo de ficheros.\n"
+"Muestra o establece la máscara de modo de ficheros.\n"
" \n"
" Establece la máscara de creación de ficheros del usuario a MODO. Si se\n"
" omite el MODO, muestra el valor actual de la máscara.\n"
" \n"
" Si el MODO empieza con un dígito, se interpreta como un número octal;\n"
-" de otra forma es una cadena de modo simbólico como la que acepta chmod "
-"(1).\n"
+" de otra forma es una cadena de modo simbólico como la que acepta chmod (1).\n"
" \n"
" Opciones:\n"
" -p\tsi se omite el MODO, muestra en una forma reusable como entrada\n"
@@ -4873,67 +4650,59 @@ msgstr ""
" Devuelve correcto a menos que el MODO sea inválido o se proporcione\n"
" una opción inválida."
-#: builtins.c:1495
-#, fuzzy
+#: builtins.c:1494
msgid ""
"Wait for job completion and return exit status.\n"
" \n"
-" Waits for each process identified by an ID, which may be a process ID or "
-"a\n"
+" Waits for each process identified by an 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 job specification, waits for all processes\n"
+" status is zero. If ID is a a job specification, waits for all processes\n"
" in that job's pipeline.\n"
" \n"
" If the -n option is supplied, waits for the next job to terminate and\n"
" returns its exit status.\n"
" \n"
-" If the -f option is supplied, and job control is enabled, waits for the\n"
-" specified ID to terminate, instead of waiting for it to change status.\n"
-" \n"
" Exit Status:\n"
" Returns the status of the last ID; fails if ID is invalid or an invalid\n"
" option is given."
msgstr ""
-"Espera la terminación de la tarea y devuelve el estado de salida.\n"
+"Espera la terminación del trabajo y devuelve el estado de salida.\n"
" \n"
" Espera al proceso identificado por ID, el cual puede ser un ID de\n"
-" proceso o una especificación de tarea, y boletina su estado de salida.\n"
-" Si no se proporciona un ID, espera a todos los subprocesos activos,\n"
+" proceso o una especificación de trabajo e informa de su estado de salida.\n"
+" Si no se proporciona un ID, espera a todos los procesos hijos activos,\n"
" y el estado de devolución es cero. Si ID es una especificación de\n"
-" tarea, espera a todos los procesos en la cola de tareas.\n"
+" trabajo, espera a todos los procesos en la cola de trabajos.\n"
" \n"
" Estado de Salida:\n"
" Devuelve el estado de ID; falla si ID es inválido o se proporciona una\n"
" opción inválida."
-#: builtins.c:1519
+#: builtins.c:1515
msgid ""
"Wait for process completion and return exit status.\n"
" \n"
-" Waits for each process specified by a PID and reports its termination "
-"status.\n"
+" Waits for each process specified by a PID and reports its termination status.\n"
" If PID is not given, waits for all currently active child processes,\n"
" and the return status is zero. PID must be a process ID.\n"
" \n"
" Exit Status:\n"
-" Returns the status of the last PID; fails if PID is invalid or an "
-"invalid\n"
+" Returns the status of the last PID; fails if PID is invalid or an invalid\n"
" option is given."
msgstr ""
-"Espera para terminar el proceso y devolver el estado de salida.\n"
+"Espera la terminación del proceso y devuelve el estado de salida.\n"
" \n"
-" Espera por cada proceso especificado por un PID y reporta su\n"
+" Espera a cada proceso especificado por un PID y reporta su\n"
" estado de salida. Si no se proporciona un PID, espera a todos los\n"
-" procesos descendientes activos, y el código de devolución sea cero.\n"
+" procesos hijos activos, y el código de devolución es cero.\n"
" El PID debe ser un ID de proceso.\n"
" \n"
" Estado de Salida:\n"
-" Devuelve el estado del último PID; falla si PID es inválido o se "
-"proporciona\n"
+" Devuelve el estado del último PID; falla si PID es inválido o se proporciona\n"
" una opción inválida."
-#: builtins.c:1534
+#: builtins.c:1530
msgid ""
"Execute commands for each member in a list.\n"
" \n"
@@ -4947,15 +4716,15 @@ msgid ""
msgstr ""
"Ejecuta órdenes por cada miembro en una lista.\n"
" \n"
-" El ciclo `for' ejecuta una secuencia de órdenes para cada miembro en\n"
+" El bucle `for' ejecuta una secuencia de órdenes para cada miembro en\n"
" una lista de elementos. Si `in PALABRAS ...;' no está presente,\n"
" entonces se asume `in \"$@\"'. Para cada elemento en PALABRAS,\n"
-" se define NOMBRE como ese elemento, y se ejecutan las MANDATOS.\n"
+" se define NOMBRE como ese elemento, y se ejecutan las ÓRDENES.\n"
" \n"
" Estado de Salida:\n"
-" Devuelve el estado del último mandato ejecutado."
+" Devuelve el estado de la última orden ejecutada."
-#: builtins.c:1548
+#: builtins.c:1544
msgid ""
"Arithmetic for loop.\n"
" \n"
@@ -4971,21 +4740,21 @@ msgid ""
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
-"Aritmética para un ciclo.\n"
+"Aritmétical de bucle for.\n"
" \n"
" Equivalente a\n"
" \t(( EXP1 ))\n"
" \twhile (( EXP2 )); do\n"
-" \t\tMANDATOS\n"
+" \t\tÓRDENES\n"
" \t\t(( EXP3 ))\n"
" \tdone\n"
" EXP1, EXP2, y EXP3 son expresiones aritméticas. Si se omite\n"
-" cualquier expresión, se comporta como si se evaluara a 1.\n"
+" cualquiera de ellas, se comporta como si se evaluara a 1.\n"
" \n"
" Estado de Salida:\n"
-" Devuelve el estado del último mandato ejecutado."
+" Devuelve el estado de la última orden ejecutada."
-#: builtins.c:1566
+#: builtins.c:1562
msgid ""
"Select words from a list and execute commands.\n"
" \n"
@@ -5014,15 +4783,15 @@ msgstr ""
" línea consiste en el número correspondiente a una de las palabras\n"
" mostradas, entonces se define NOMBRE como esa palabra. Si la\n"
" línea está vacía, PALABRAS y el prompt se muestran de nuevo. Si\n"
-" se lee FDL, se completa el mandato. Cualquier otro valor leído\n"
+" se lee EOF, se completa la orden. Cualquier otro valor leído\n"
" causa que NOMBRE se defina como nulo. La línea leída se guarda\n"
-" en la variable REPLY. Se ejecutan las MANDATOS después de cada\n"
-" selección hasta que se ejecuta un mandato break.\n"
+" en la variable REPLY. Se ejecutan las ÓRDENES después de cada\n"
+" selección hasta que se ejecuta una orden break.\n"
" \n"
" Estado de Salida:\n"
-" Devuelve el estado del último mandato ejecutado."
+" Devuelve el estado de la última orden ejecutada."
-#: builtins.c:1587
+#: builtins.c:1583
msgid ""
"Report time consumed by pipeline's execution.\n"
" \n"
@@ -5049,7 +4818,7 @@ msgstr ""
" Estado de Salida:\n"
" El estado de devolución es el estado de devolución de la TUBERÃA."
-#: builtins.c:1604
+#: builtins.c:1600
msgid ""
"Execute commands based on pattern matching.\n"
" \n"
@@ -5061,27 +4830,22 @@ msgid ""
msgstr ""
"Ejecuta órdenes en base a la coincidencia de patrones.\n"
" \n"
-" Ejecuta MANDATOS selectivamente basado en coincidencias de la PALABRA\n"
+" Ejecuta ÓRDENES selectivamente basado en coincidencias de la PALABRA\n"
" con el PATRÓN. Se utiliza `|' para separar patrones múltiples.\n"
" \n"
" Estado de Salida:\n"
-" Devuelve el estado del último mandato ejecutado."
+" Devuelve el estado de la última orden ejecutada."
-#: builtins.c:1616
+#: builtins.c:1612
msgid ""
"Execute commands based on conditional.\n"
" \n"
-" The `if COMMANDS' list is executed. If its exit status is zero, then "
-"the\n"
-" `then COMMANDS' list is executed. Otherwise, each `elif COMMANDS' list "
-"is\n"
+" The `if COMMANDS' list is executed. If its exit status is zero, then the\n"
+" `then COMMANDS' list is executed. Otherwise, each `elif COMMANDS' list is\n"
" executed in turn, and if its exit status is zero, the corresponding\n"
-" `then COMMANDS' list is executed and the if command completes. "
-"Otherwise,\n"
-" the `else COMMANDS' list is executed, if present. The exit status of "
-"the\n"
-" entire construct is the exit status of the last command executed, or "
-"zero\n"
+" `then COMMANDS' list is executed and the if command completes. Otherwise,\n"
+" the `else COMMANDS' list is executed, if present. The exit status of the\n"
+" entire construct is the exit status of the last command executed, or zero\n"
" if no condition tested true.\n"
" \n"
" Exit Status:\n"
@@ -5089,22 +4853,19 @@ msgid ""
msgstr ""
"Ejecuta comandos en base a condicionales.\n"
" \n"
-" Se ejecuta la lista `if MANDATOS'. Si su estado de salida es cero,\n"
+" Se ejecuta la lista `if ÓRDENES'. Si su estado de salida es cero,\n"
" entonces se ejecuta la lista `then ÓRDENES`. De otra forma, cada lista\n"
-" `elif MANDATOS' se ejecuta en su lugar, y si su estado de salida es "
-"cero,\n"
-" se ejecuta la lista `then MANDATOS' correspondiente y se completa el\n"
-" mandato if. De otra forma, se ejecuta la lista `else MANDATOS', si "
-"está\n"
-" presente. El estado de salida de todo el constructor es el estado "
-"saliente\n"
-" del último mandato ejecutado, o cero si ninguna condición resultó\n"
+" `elif ÓRDENES' se ejecuta en su lugar, y si su estado de salida es cero,\n"
+" se ejecuta la lista `then ÓRDENES' correspondiente y se completa la\n"
+" orden if. De otra forma, se ejecuta la lista `else ÓRDENES', si está\n"
+" presente. El estado de salida del bloque entero es el estado saliente\n"
+" de la última orden ejecutada, o cero si ninguna condición resultó\n"
" verdadera.\n"
" \n"
" Estado de Salida:\n"
-" Devuelve el estado del último mandato ejecutado."
+" Devuelve el estado de la última orden ejecutada."
-#: builtins.c:1633
+#: builtins.c:1629
msgid ""
"Execute commands as long as a test succeeds.\n"
" \n"
@@ -5116,13 +4877,13 @@ msgid ""
msgstr ""
"Ejecuta órdenes mientras una prueba sea correcta.\n"
" \n"
-" Expande y ejecuta MANDATOS mientras el mandato final en las MANDATOS\n"
+" Expande y ejecuta ÓRDENES mientras la orden final en las ÓRDENES\n"
" `while' tenga un estado de salida de cero.\n"
" \n"
" Estado de Salida:\n"
-" Devuelve el estado del último mandato ejecutado."
+" Devuelve el estado de la última orden ejecutada."
-#: builtins.c:1645
+#: builtins.c:1641
msgid ""
"Execute commands as long as a test does not succeed.\n"
" \n"
@@ -5134,13 +4895,13 @@ msgid ""
msgstr ""
"Ejecuta órdenes mientras una prueba sea correcta.\n"
" \n"
-" Expande y ejecuta MANDATOS mientras el mandato final en las MANDATOS\n"
+" Expande y ejecuta ÓRDENES mientras la orden final en las ÓRDENES\n"
" `until' tengan un estado de salida que no sea cero.\n"
" \n"
" Estado de Salida:\n"
-" Devuelve el estado del último mandato ejecutado."
+" Devuelve el estado de la última orden ejecutada."
-#: builtins.c:1657
+#: builtins.c:1653
msgid ""
"Create a coprocess named NAME.\n"
" \n"
@@ -5154,22 +4915,21 @@ msgid ""
msgstr ""
"Crea un coproceso llamado NOMBRE.\n"
" \n"
-" Ejecuta el MANDATO asíncronamente, con la salida y entrada comunes\n"
-" del mandato conectado a través de una tubería a los descriptores\n"
+" Ejecuta la ORDEN asíncronamente, con la salida y la entrada estándar\n"
+" de la orden conectadas a través de una tubería a los descriptores\n"
" de fichero asignados a los índices 0 y 1 de una variable de matriz\n"
-" lineal NOMBRE en el shell en ejecución. El nombre por defecto es\n"
+" NOMBRE en el shell en ejecución. El nombre por defecto es\n"
" \"COPROC\".\n"
" \n"
" Estado de Salida:\n"
-" El mandato «coproc» devuelve un estado de salida a 0."
+" La orden «coproc» devuelve un estado de salida de 0."
-#: builtins.c:1671
+#: builtins.c:1667
msgid ""
"Define shell function.\n"
" \n"
" Create a shell function named NAME. When invoked as a simple command,\n"
-" NAME runs COMMANDs in the calling shell's context. When NAME is "
-"invoked,\n"
+" NAME runs COMMANDs in the calling shell's context. When NAME is invoked,\n"
" the arguments are passed to the function as $1...$n, and the function's\n"
" name is in $FUNCNAME.\n"
" \n"
@@ -5178,15 +4938,15 @@ msgid ""
msgstr ""
"Define una función de shell.\n"
" \n"
-" Crea una función de shell llamada NOMBRE. Cuando se invoca como un\n"
-" mandato simple, NOMBRE ejecuta MANDATOs en el contexto del shell\n"
+" Crea una función de shell llamada NOMBRE. Cuando se invoca como una\n"
+" orden simple, NOMBRE ejecuta ORDENes en el contexto del shell\n"
" que lo llamó. Cuando se invoca NOMBRE, los argumentos se pasan a la\n"
" función como $1...$n, y el nombre de la función está en $FUNCNAME.\n"
" \n"
" Estado de Salida:\n"
" Devuelve correcto a menos que NOMBRE sea de sólo lectura."
-#: builtins.c:1685
+#: builtins.c:1681
msgid ""
"Group commands as a unit.\n"
" \n"
@@ -5196,15 +4956,15 @@ msgid ""
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
-"Agrupa mandatos como una unidad.\n"
+"Agrupa órdenes como una unidad.\n"
" \n"
-" Ejecuta un conjunto de mandatos dentro de un grupo. Esta es una\n"
-" forma de redirigir un conjunto completo de mandatos.\n"
+" Ejecuta un conjunto de órdenes en un grupo. Esta es una\n"
+" forma de redirigir un conjunto completo de órdenes.\n"
" \n"
" Estado de Salida:\n"
-" Devuelve el estado del último mandato ejecutado."
+" Devuelve el estado de la última orden ejecutada."
-#: builtins.c:1697
+#: builtins.c:1693
msgid ""
"Resume job in foreground.\n"
" \n"
@@ -5217,19 +4977,19 @@ msgid ""
" Exit Status:\n"
" Returns the status of the resumed job."
msgstr ""
-"Reinicia la tarea en primer plano.\n"
+"Reinicia el trabajo en primer plano.\n"
" \n"
-" Equivalente al argumento IDTAREA del mandato `fg'. Reinicia una\n"
-" tarea detenida o en segundo plano. IDTAREA puede especificar\n"
-" un nombre de tarea o un número de tarea. Un `&' a continuación\n"
-" de IDTAREA coloca a la tarea en segundo plano, como si la\n"
-" especificación del tarea se hubiera proporcionado como\n"
+" Equivalente al argumento IDTRABAJO de la orden `fg'. Reinicia un\n"
+" trabajo detenido o en segundo plano. IDTRABAJO puede especificar\n"
+" un nombre de trabajo o un número de trabajo. Un `&' a continuación\n"
+" de IDTRABAJO coloca a el trabajo en segundo plano, como si la\n"
+" especificación del trabajo se hubiera proporcionado como\n"
" un argumento de `bg'.\n"
" \n"
" Estado de Salida:\n"
-" Devuelve el estado del tarea reiniciado."
+" Devuelve el estado del trabajo reiniciado."
-#: builtins.c:1712
+#: builtins.c:1708
msgid ""
"Evaluate arithmetic expression.\n"
" \n"
@@ -5247,16 +5007,13 @@ msgstr ""
" Estado de Salida:\n"
" Devuelve 1 si la EXPRESIÓN evalúa a 0; devuelve 0 de otra manera."
-#: builtins.c:1724
+#: builtins.c:1720
msgid ""
"Execute conditional command.\n"
" \n"
-" Returns a status of 0 or 1 depending on the evaluation of the "
-"conditional\n"
-" expression EXPRESSION. Expressions are composed of the same primaries "
-"used\n"
-" by the `test' builtin, and may be combined using the following "
-"operators:\n"
+" Returns a status of 0 or 1 depending on the evaluation of the conditional\n"
+" expression EXPRESSION. Expressions are composed of the same primaries used\n"
+" by the `test' builtin, and may be combined using the following operators:\n"
" \n"
" ( EXPRESSION )\tReturns the value of EXPRESSION\n"
" ! EXPRESSION\t\tTrue if EXPRESSION is false; else false\n"
@@ -5274,17 +5031,15 @@ msgid ""
" Exit Status:\n"
" 0 or 1 depending on value of EXPRESSION."
msgstr ""
-"Ejecuta un mandato condicional.\n"
+"Ejecuta una orden condicional.\n"
" \n"
-" Devuelve un estado de 0 ó 1 dependiendo de la evaluación de la "
-"expresión\n"
+" Devuelve un estado de 0 ó 1 dependiendo de la evaluación de la expresión\n"
" condicional EXPRESIÓN. Las expresiones se componen de los mismos\n"
-" elementos primarios usados por el mandato interno `test', y se pueden\n"
+" elementos primarios usados por la orden interna `test', y se pueden\n"
" combinar usando los siguientes operadores:\n"
" \n"
" ( EXPRESIÓN )\tDevuelve el valor de la EXPRESIÓN\n"
-" ! EXPRESIÓN\tVerdadero si la EXPRESIÓN es falsa; de otra forma es "
-"falso\n"
+" ! EXPRESIÓN\t\tVerdadero si la EXPRESIÓN es falsa; de otra forma es falso\n"
" EXPR1 && EXPR2\tVerdadero si EXPR1 y EXPR2 son verdaderos; de\n"
" \t\totra forma es falso\n"
" \tEXPR1 || EXPR2\tVerdadero si EXPR1 o EXPR2 es verdadero; de\n"
@@ -5300,7 +5055,7 @@ msgstr ""
" Estado de Salida:\n"
" 0 o 1 dependiendo del valor de la EXPRESIÓN."
-#: builtins.c:1750
+#: builtins.c:1746
msgid ""
"Common shell variable names and usage.\n"
" \n"
@@ -5359,63 +5114,63 @@ msgstr ""
" CDPATH\tUna lista de directorios separada por dos puntos\n"
" \t\tpara buscar directorios dados como argumentos para `cd'.\n"
" GLOBIGNORE\tUna lista de patrones separada por dos puntos\n"
-" \t\t que describe nombres de fichero a ignorar por la expansión\n"
-" \t\t de rutas de nombre.\n"
+" \t\tque describe nombres de fichero a ignorar por la expansión\n"
+" \t\tde rutas de nombre.\n"
" HISTFILE\tEl nombre del fichero donde se almacena su historia\n"
-" \t\t de mandatos.\n"
+" \t\tde órdenes.\n"
" HISTFILESIZE\t El número máximo de líneas que puede contener\n"
-" \t\t este fichero.\n"
-" HISTSIZE\t El número máximo de líneas históricas que un shell\n"
-" \t\t en ejecución puede acceder.\n"
-" HOME\t La ruta completa a su directorio de entrada.\n"
-" HOSTNAME\t El nombre del anfitrión actual.\n"
-" HOSTTYPE\t El tipo de CPU bajo el cual se ejecuta esta versión\n"
-" \t\t de Bash.\n"
-" IGNOREEOF\t Controla la acción del shell al recibir un carácter\n"
-" \t\t FDL como la única entrada. Si está definida, entonces su\n"
-" \t\t valor es el número de caracteres FDL que se deben leer de\n"
-" \t\t forma consecutiva en una línea vacía antes de que el shell\n"
-" \t\t termine (por defecto 10). Cuando no está definida, FDL\n"
-" \t\t significa el fin de la entrada.\n"
-" MACHTYPE\t Una cadena que describe el sistema actual donde se\n"
-" \t\t ejecuta Bash.\n"
-" MAILCHECK\t La frecuencia, en segundos, que Bash busca correo nuevo.\n"
-" MAILPATH\t Una lista de nombres de ficheros separada por dos puntos\n"
-" \t\t en la cual Bash busca correo nuevo.\n"
-" OSTYPE\t la versión de Unix en la que se ejecuta esta versión\n"
-" \t\t de Bash.\n"
-" PATH\t Una lista de directorios separada por dos puntos en la que\n"
-" \t\t se buscan mandatos.\n"
-" PROMPT_COMMAND\t Un mandato a ejecutar antes de mostrar cada prompt\n"
-" \t\t primario.\n"
-" PS1\t\t La cadena primaria de prompt.\n"
-" PS2\t\t La cadena secundaria de prompt.\n"
-" PWD\t\t La ruta completa del directorio actual.\n"
-" SHELLOPTS\t Una lista separada por dos puntos de las opciones\n"
-" \t\t de shell activadas.\n"
-" TERM\t El nombre del tipo actual de terminal.\n"
-" TIMEFORMAT\t El formato de salida para las estadísticas de tiempo\n"
-" \t\t mostradas por la palabra reservada `time'.\n"
-" auto_resume\t Si no es nulo significa que una palabra de mandato\n"
-" \t\t que aparece en una línea por sí sola se busca primero en la lista\n"
-" \t\t actual de tareas detenidos. Si se encuentra ahí, esa tarea\n"
-" \t\t se coloca en primer plano. Un valor `exact' significa que la\n"
-" \t\t palabra de mandato debe coincidir exactamente con un\n"
-" \t\t mandato interno a la lista de tareas detenidas. Un valor\n"
-" \t\t `substring' significa que la palabra de mandato debe coincidir\n"
-" \t\t con una subcadena de la tarea. Cualquier otro valor significa\n"
-" \t\t que el mandato debe ser un prefijo de una tarea detenida.\n"
-" histchars\t Los caracteres que controlan la expansión de historia\n"
-" \t\t y la sustitución rápida. El primer carácter es el carácter de\n"
-" \t\t sustitución de historia, generalmente `!'. El segundo es el\n"
-" \t\t carácter de `sustitución rápida', generalmente `^'. El tercero\n"
+" \t\teste fichero.\n"
+" HISTSIZE\t El número máximo de líneas de historia que un shell\n"
+" \t\ten ejecución puede acceder.\n"
+" HOME\tLa ruta completa a su directorio de entrada.\n"
+" HOSTNAME\tEl nombre del anfitrión actual.\n"
+" HOSTTYPE\tEl tipo de CPU bajo el cual se ejecuta esta versión\n"
+" \t\tde Bash.\n"
+" IGNOREEOF\tControla la acción del shell al recibir un carácter\n"
+" \t\tFDL como la única entrada. Si está definida, entonces su\n"
+" \t\tvalor es el número de caracteres FDL que se deben leer de\n"
+" \t\tforma consecutiva en una línea vacía antes de que el shell\n"
+" \t\ttermine (por defecto 10). Cuando no está definida, EOF\n"
+" \t\tsignifica el fin de la entrada.\n"
+" MACHTYPE\tUna cadena que describe el sistema actual donde se\n"
+" \t\tejecuta Bash.\n"
+" MAILCHECK\tLa frecuencia, en segundos, que Bash busca correo nuevo.\n"
+" MAILPATH\tUna lista de nombres de ficheros separada por dos puntos\n"
+" \t\ten la cual Bash busca correo nuevo.\n"
+" OSTYPE\tla versión de Unix en la que se ejecuta esta versión\n"
+" \t\tde Bash.\n"
+" PATH\tUna lista de directorios separada por dos puntos en la que\n"
+" \t\tse buscan órdenes.\n"
+" PROMPT_COMMAND\tUna orden a ejecutar antes de mostrar cada prompt\n"
+" \t\tprimario.\n"
+" PS1\t\tLa cadena primaria de prompt.\n"
+" PS2\t\tLa cadena secundaria de prompt.\n"
+" PWD\t\tLa ruta completa del directorio actual.\n"
+" SHELLOPTS\tUna lista separada por dos puntos de las opciones\n"
+" \t\tde shell activadas.\n"
+" TERM\tEl nombre del tipo actual de terminal.\n"
+" TIMEFORMAT\tEl formato de salida para las estadísticas de tiempo\n"
+" \t\tmostradas por la palabra reservada `time'.\n"
+" auto_resume\tSi no es nulo significa que una palabra de orden\n"
+" \t\tque aparece en una línea por sí sola se busca primero en la lista\n"
+" \t\tactual de trabajos detenidos. Si se encuentra ahí, esetrabajo\n"
+" \t\tse coloca en primer plano. Un valor `exact' significa que la\n"
+" \t\tpalabra de orden debe coincidir exactamente con una\n"
+" \t\torden de la lista de trabajos detenidos. Un valor\n"
+" \t\t`substring' significa que la palabra de orden debe coincidir\n"
+" \t\tcon una subcadena del trabajo. Cualquier otro valor significa\n"
+" \t\tque la orden debe ser un prefijo de un trabajo detenido.\n"
+" histchars\tLos caracteres que controlan la expansión de historia\n"
+" \t\ty la sustitución rápida. El primer carácter es el carácter de\n"
+" \t\tsustitución de historia, generalmente `!'. El segundo es el\n"
+" \t\tcarácter de `sustitución rápida', generalmente `^'. El tercero\n"
" \n"
-" \t\t es el carácter `comentario de historia', generalmente `#'.\n"
-" HISTIGNORE\t Una lista separada por dos puntos de patrones\n"
-" \t\t utilizados para decidir cuáles mandatos se deben guardar en\n"
-" \t\t el listado histórico.\n"
+" \t\tes el carácter `comentario de historia', generalmente `#'.\n"
+" HISTIGNORE\tUna lista separada por dos puntos de patrones\n"
+" \t\tutilizados para decidir qué órdenes se deben guardar en\n"
+" \t\tel listado histórico.\n"
-#: builtins.c:1807
+#: builtins.c:1803
msgid ""
"Add directories to stack.\n"
" \n"
@@ -5445,36 +5200,36 @@ msgid ""
" Returns success unless an invalid argument is supplied or the directory\n"
" change fails."
msgstr ""
-"Añade directorios a la pila.\n"
+"Agrega directorios a la pila.\n"
" \n"
-" Añade un directorio superior de la pila de directorios, o rota\n"
-" la pila, haciendo que el nuevo techo de la pila sea el\n"
+" Agrega un directorio por la parte superior de la pila de directorios\n"
+" o rota la pila, haciendo que el nuevo elemento superior de la pila sea el\n"
" directorio de trabajo actual. Sin argumentos, intercambia\n"
-" los dos directorios superior.\n"
+" los dos directorios de la parte superior.\n"
" \n"
" Opciones:\n"
-" -n\t suprime el cambio normal de directorio cuando se agregan\n"
-" \t\t directorios a la pila, así sólo se manipula la pila.\n"
+" -n\tsuprime el cambio normal de directorio cuando se agregan\n"
+" \t\tdirectorios a la pila, así sólo se manipula la pila.\n"
" \n"
" Argumentos:\n"
-" +N\t Rota la pila para que el N-ésimo directorio (contando\n"
-" \t\t de la izquierda de la lista mostrada por `dirs', comenzando\n"
-" \t\t desde cero) esté en el superior.\n"
+" +N\tRota la pila para que el N-ésimo directorio (contando\n"
+" \t\tdesde la izquierda de la lista mostrada por `dirs', comenzando\n"
+" \t\tdesde cero) esté en la parte superior.\n"
" \n"
-" -N\t Rota la pila para que el N-ésimo directorio (contando desde\n"
-" \t\t la derecha de la lista mostrada por `dirs', comenzando\n"
-" \t\t desde cero) esté en el techo.\n"
+" -N\tRota la pila para que el N-ésimo directorio (contando desde\n"
+" \t\tla derecha de la lista mostrada por `dirs', comenzando\n"
+" \t\tdesde cero) esté en la parte superior.\n"
" \n"
-" dir\t Añade DIR a la pila de directorios en el techo, creándolo\n"
-" \t\t el nuevo directorio de trabajo actual.\n"
+" dir\tAgrega DIR la pila de directorios por la parte superior, haciendo\n"
+" \t\tde él el nuevo directorio de trabajo actual.\n"
" \n"
-" Los directorios `dirs' construidos enseña la pila del directorios.\n"
+" La orden interna `dirs' muestra la pila de directorios.\n"
" \n"
-" Estados de Salida:\n"
+" Estado de Salida:\n"
" Devuelve correcto a menos que se proporcione un argumento\n"
-" inválido o falle la modificación del directorio."
+" inválido o falle el cambio de directorio."
-#: builtins.c:1841
+#: builtins.c:1837
msgid ""
"Remove directories from stack.\n"
" \n"
@@ -5500,35 +5255,35 @@ msgid ""
" Returns success unless an invalid argument is supplied or the directory\n"
" change fails."
msgstr ""
-"Quita directorios de la pila.\n"
+"Borra directorios de la pila.\n"
" \n"
-" Quita entradas de la pila de directorios. Sin argumentos,\n"
-" quita el directorio del techo de la pila, y cambia al nuevo\n"
-" directorio techo.\n"
+" Borra entradas de la pila de directorios. Sin argumentos,\n"
+" borra el directorio del tope de la pila, y cambia al nuevo\n"
+" directorio tope.\n"
" \n"
" Opciones:\n"
-" -n\t suprime el cambio normal de directorio cuando se quitan\n"
-" \t\t directorios de la pila, así sólo se manipula la pila.\n"
+" -n\tSuprime el cambio normal de directorio cuando se borran\n"
+" \t\tdirectorios de la pila; así sólo se manipula la pila.\n"
" \n"
" Argumentos:\n"
" \n"
-" +N\tQuita la N-ésima entrada contando de la izquierda de\n"
-" \t\t la lista mostrada por `dirs', comenzando desde cero. Por\n"
-" \t\t ejemplo: `popd +0' borra el primer directorio, `popd +1'\n"
-" \t\t el segundo.\n"
+" +N\tBorra la N-ésima entrada contando desde la izquierda de\n"
+" \t\tla lista mostrada por `dirs', comenzando por cero. Por\n"
+" \t\tejemplo: `popd +0' borra el primer directorio, `popd +1'\n"
+" \t\tel segundo.\n"
" \n"
-" -N\t Quita la N-ésima entrada contando de la derecha de\n"
-" \t\t la lista mostrada por `dirs', comenzando desde cero. Por\n"
-" \t\t ejemplo: `popd -0' borra el último directorio, `popd -1'\n"
-" \t\t el penúltimo.\n"
+" -N\tBorra la N-ésima entrada contando desde la derecha de\n"
+" \t\tla lista mostrada por `dirs', comenzando por cero. Por\n"
+" \t\tejemplo: `popd -0' borra el último directorio, `popd -1'\n"
+" \t\tel penúltimo.\n"
" \n"
-" El mandato interno `dirs' muestra el contenido de la pila.\n"
+" La orden interna `dirs' muestra la pila de directorios.\n"
" \n"
" Estado de Salida:\n"
-" Devuelve como correcto a menos que se proporcione un\n"
+" Devuelve correcto a menos que se proporcione un\n"
" argumento inválido o falle el cambio de directorio."
-#: builtins.c:1871
+#: builtins.c:1867
msgid ""
"Display directory stack.\n"
" \n"
@@ -5559,39 +5314,37 @@ msgstr ""
"Muestra la pila de directorios.\n"
" \n"
" Muestra la lista de directorios actualmente grabados. Los directorios\n"
-" se guardan en la lista con el mandato `pushd'; pueden ir saliendo de\n"
-" la lista con el mandato `popd'.\n"
+" se guardan en la lista con la orden `pushd'; pueden ir saliendo de\n"
+" la lista con la orden `popd'.\n"
" \n"
" Opciones:\n"
-" \n"
" -c\tlimpia la pila de directorios, eliminando todos sus elementos.\n"
" -l\tno muestra versiones con prefijo de tilde de los directorios\n"
-" \trelativos a su directorio inicial.\n"
+" \t\trelativos a su directorio inicial.\n"
" -p\tmuestra la pila de directorios con una entrada por línea\n"
" -v\tmuestra la pila de directorios con una entrada por línea con\n"
-" \tsu posición en la pila como prefijo\n"
+" \t\tsu posición en la pila como prefijo\n"
" \n"
" Argumentos:\n"
-" \t+N\tmuestra la N-ésima entrada contando desde\n"
-" \tla izquierda de la lista mostrada por dirs cuando se invoca sin\n"
-" \topciones, empezando de cero.\n"
+" +N\tmuestra la N-ésima entrada contando desde\n"
+" \t\tla izquierda de la lista mostrada por dirs cuando se invoca sin\n"
+" \t\topciones, empezando de cero.\n"
" \n"
" -N\tmuestra la N-ésima entrada contando desde la izquierda de la\n"
-" \tlista mostrada por dirs cuando se invoca sin opciones, empezando\n"
-" \tdesde cero.\n"
+" \t\tlista mostrada por dirs cuando se invoca sin opciones, empezando\n"
+" \t\tdesde cero.\n"
" \n"
" Estado de Salida:\n"
" Devuelve correcto, a menos que se proporcione una opción inválida o\n"
" suceda un error."
-#: builtins.c:1902
-#, fuzzy
+#: builtins.c:1898
msgid ""
"Set and unset shell options.\n"
" \n"
" Change the setting of each shell option OPTNAME. Without any option\n"
-" arguments, list each supplied OPTNAME, or all shell options if no\n"
-" OPTNAMEs are given, with an indication of whether or not each is set.\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"
@@ -5606,7 +5359,7 @@ msgid ""
msgstr ""
"Activa y desactiva opciones de shell.\n"
" \n"
-" Modifica la configuración de cada opción de shell NOMBRE_OPCIÓN. Sin\n"
+" Cambia la configuración de cada opción de shell NOMBRE_OPCIÓN. Sin\n"
" alguna opción como argumento, muestra todas las opciones de shell con\n"
" una indicación si está activa o no.\n"
" \n"
@@ -5621,7 +5374,7 @@ msgstr ""
" Devuelve correcto si se activa NOMBRE_OPCIÓN; falla si se proporciona\n"
" una opción inválida o NOMBRE_OPCIÓN está desactivado."
-#: builtins.c:1923
+#: builtins.c:1919
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
" \n"
@@ -5629,48 +5382,40 @@ msgid ""
" -v var\tassign the output to shell variable VAR rather than\n"
" \t\tdisplay it on the standard output\n"
" \n"
-" FORMAT is a character string which contains three types of objects: "
-"plain\n"
-" characters, which are simply copied to standard output; character "
-"escape\n"
+" FORMAT is a character string which contains three types of objects: plain\n"
+" characters, which are simply copied to standard output; character escape\n"
" sequences, which are converted and copied to the standard output; and\n"
-" format specifications, each of which causes printing of the next "
-"successive\n"
+" format specifications, each of which causes printing of the next successive\n"
" argument.\n"
" \n"
-" In addition to the standard format specifications described in printf"
-"(1),\n"
+" In addition to the standard format specifications described in printf(1),\n"
" 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\toutput the date-time string resulting from using FMT as a "
-"format\n"
+" %(fmt)T\toutput the date-time string resulting from using FMT as a format\n"
" \t string for strftime(3)\n"
" \n"
" The format is re-used as necessary to consume all of the arguments. If\n"
" there are fewer arguments than the format requires, extra format\n"
-" specifications behave as if a zero value or null string, as "
-"appropriate,\n"
+" specifications behave as if a zero value or null string, as appropriate,\n"
" had been supplied.\n"
" \n"
" Exit Status:\n"
-" Returns success unless an invalid option is given or a write or "
-"assignment\n"
+" Returns success unless an invalid option is given or a write or assignment\n"
" error occurs."
msgstr ""
"Da formato y muestra ARGUMENTOS bajo el control del FORMATO.\n"
" \n"
" Opciones:\n"
" -v var\tasigna la salida a la variable de shell VAR en lugar\n"
-" \t\tde enseñarla en la salida común\n"
+" \t\tde mostrarla en la salida estándar\n"
" \n"
" FORMATO es una cadena de caracteres la cual contiene tres tipos de\n"
" objetos: caracteres simples, los cuales solamente se copian a la salida\n"
-" salida común; secuencias de escape de caracteres, las cuales\n"
-" se convierten y se copian a la salida común; y especificaciones de\n"
-" formato, cada una de las cuales causa la muestra del siguiente "
-"argumento\n"
+" salida estándar; secuencias de escape de caracteres, las cuales\n"
+" se convierten y se copian a la salida estándar; y especificaciones de\n"
+" formato, cada una de las cuales causa la muestra del siguiente argumento\n"
" consecutivo.\n"
" \n"
" Además de las especificaciones de formato estándar descritas en\n"
@@ -5678,28 +5423,26 @@ msgstr ""
" \n"
" %b\texpande las secuencias de escape de barra invertida en\n"
" el argumento correspondiente\n"
-" %q\tcita el argumento de tal forma que se puede reusar como\n"
+" %q\tcita el argumento de tal forma que se pueda reutilizar como\n"
" entrada del shell.\n"
" %(fmt)T muestra la cadena fecha hora resultante de usar FMT como\n"
" una cadena de formato para strftime(3)\n"
" \n"
-" El formato es reutilizado como sea necesario para consumir todo lo\n"
-" del argumento . Si hay menores argumentos que el formato requiere,\n"
-" especificaciones adicionales de formato se comporta como si un valor\n"
-" cero o cadena nula, como sea apropiado, se haya suministrado.\n"
+" El formato se reutiliza según sea necesario para consumir todos los\n"
+" argumentos. Si hay menos argumentos de los que el formato requiere,\n"
+" las especificaciones de formato adicionales se comportan como si un valor\n"
+" cero o una cadena nula, lo que sea apropiado, se hubiera proporcionado.\n"
" \n"
" Estado de Salida:\n"
" Devuelve correcto a menos que se proporcione una opción inválida o\n"
" suceda un error de escritura o de asignación."
-#: builtins.c:1957
+#: builtins.c:1953
msgid ""
"Specify how arguments are to be completed by Readline.\n"
" \n"
-" For each NAME, specify how arguments are to be completed. If no "
-"options\n"
-" are supplied, existing completion specifications are printed in a way "
-"that\n"
+" For each NAME, specify how arguments are to be completed. If no options\n"
+" are supplied, existing completion specifications are printed in a way that\n"
" allows them to be reused as input.\n"
" \n"
" Options:\n"
@@ -5722,19 +5465,18 @@ msgstr ""
" \n"
" Por cada NOMBRE, especifica cuántos argumentos se deben completar. Si\n"
" no se proporcionan opciones, se muestran las especificaciones de\n"
-" completado existentes en una forma que permite que se reusen como "
-"entrada.\n"
+" completado existentes en una forma que permite que se reusen como entrada.\n"
" \n"
" Opciones:\n"
-" -p\t escribe las especificaciones de completado existentes en formato\n"
-" \t\t reusable\n"
-" -r\t borra una especificación de completado para cada NOMBRE, o,\n"
-" \t\t si no se proporcionan NOMBREs, todas las especificaciones\n"
-" \t\t de completado\n"
-" -D\t aplica los completados y acciones por defecto para los mandatos\n"
-" \t\t sin ninguna especificación de completado definida\n"
-" -E\t aplica los completados y acciones para mandatos \"vacíos\" --\n"
-" \t\t cuando se intenta completar en una línea en blanco\n"
+" -p\tmuestra las especificaciones de completado existentes en formato\n"
+" \t\treusable\n"
+" -r\tborra una especificación de completado para cada NOMBRE o,\n"
+" \t\tsi no se proporcionan NOMBREs, todas las especificaciones\n"
+" \t\tde completado\n"
+" -D\taplica los completados y acciones por defecto para las órdenes\n"
+" \t\tsin ninguna especificación de completado definida\n"
+" -E\taplica los completados y acciones para órdenes \"vacías\" --\n"
+" \t\tcuando se intenta completar en una línea en blanco\n"
" \n"
" Cuando se intenta el completado, las acciones se aplican en el orden\n"
" en que se listan las opciones de letra mayúscula antes indicadas. La\n"
@@ -5744,19 +5486,18 @@ msgstr ""
" Devuelve correcto a menos que se proporcione una opción inválida o\n"
" suceda un error."
-#: builtins.c:1985
+#: builtins.c:1981
msgid ""
"Display possible completions depending on the options.\n"
" \n"
" Intended to be used from within a shell function generating possible\n"
-" completions. If the optional WORD argument is supplied, matches "
-"against\n"
+" completions. If the optional WORD argument is supplied, matches against\n"
" WORD are generated.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-"Enseña los posibles complementos dependiendo de las opciones.\n"
+"Muestra los posibles complementos dependiendo de las opciones.\n"
" \n"
" Sirve para usarse desde una función de shell que genere complementos\n"
" posibles. Si se proporciona el argumento opcional PALABRA, se generan\n"
@@ -5766,16 +5507,13 @@ msgstr ""
" Devuelve correcto a menos que se proporcione una opción inválida o\n"
" suceda un error."
-#: builtins.c:2000
+#: builtins.c:1996
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"
+" 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"
@@ -5796,54 +5534,47 @@ msgid ""
" Returns success unless an invalid option is supplied or NAME does not\n"
" have a completion specification defined."
msgstr ""
-"Modifica o enseña las opciones de completado.\n"
+"Modifica o muestra las opciones de completado.\n"
" \n"
" Modifica las opciones de completado para cada NOMBRE, o, si no se\n"
" proporcionan NOMBREs, el completado actualmente en ejecución. Si no\n"
-" SE proporcionan OPCIONes, muestra las opciones de completado para\n"
-" cada NOMBRE o la especificación de completado actual.\n"
+" se proporcionan OPCIONes, muestra las opciones de completado para\n"
+" cada NOMBRE o la especificación de completado actual.\n"
" \n"
" Opciones:\n"
-" \t-o opción\t Establece la opción de completado OPCIÓN para\n"
-" \t\t cada NOMBRE\n"
-" \t-D\t\t Modifica las opciones para el completado de mandato \"por "
-"defecto\"\n"
-" \t-E\t\t Modifica las opciones para el completado de mandato \"vacía\"\n"
+" \t-o opción\tEstablece la opción de completado OPCIÓN para 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 UTILIZA `+o' en lugar de `-o' desactiva la opción especificada.\n"
+" Si se usa `+o' en lugar de `-o', desactiva la opción especificada.\n"
" \n"
" Argumentos:\n"
" \n"
-" Cada NOMBRE se refiere a un mandato para la cual se definió previamente\n"
-" una especificación de completado usando el mandato interno `complete'.\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, se debe llamar a ‘compopt’ desde una\n"
-" función que genere completados, y se modifican las opciones para ese\n"
-" generador de completados en ejecución.\n"
+" función que genere completados actualmente y se modifican las opciones\n"
+" para ese generador de completados actualmente en ejecución.\n"
" \n"
" Estado de Salida:\n"
-" Devuelve correcto a menos que se proporcione una opción inválida o el\n"
+" Devuelve correcto a menos que se proporcione una opción inválida o\n"
" NOMBRE no tenga una especificación de completado definida."
-#: builtins.c:2030
+#: builtins.c:2026
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"
+" 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"
" -d delim\tUse DELIM to terminate lines, instead of newline\n"
-" -n count\tCopy at most COUNT lines. If COUNT is 0, all lines are "
-"copied\n"
-" -O origin\tBegin assigning to ARRAY at index ORIGIN. The default "
-"index is 0\n"
+" -n count\tCopy at most COUNT lines. If COUNT is 0, all lines are copied\n"
+" -O origin\tBegin assigning to ARRAY at index ORIGIN. The default index is 0\n"
" -s count\tDiscard the first COUNT lines read\n"
" -t\tRemove a trailing DELIM from each line read (default newline)\n"
-" -u fd\tRead lines from file descriptor FD instead of the standard "
-"input\n"
+" -u fd\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\n"
" \t\t\tCALLBACK\n"
@@ -5856,49 +5587,47 @@ msgid ""
" 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"
+" 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"
+" Returns success unless an invalid option is given or ARRAY is readonly or\n"
" not an indexed array."
msgstr ""
-"Lee líneas de un fichero y las guarda en una variable de matriz indizada.\n"
+"Lee líneas de un fichero y las guarda en una variable de matriz indexada.\n"
" \n"
" Lee líneas de la entrada estándar y las guarda en la variable de matriz\n"
-" indizada MATRIZ, o desde el descriptor de fichero DF si se proporciona\n"
+" indexada 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\t Copia hasta CUENTA líneas. Si CUENTA es 0, se copian\n"
-" \t\t todas las líneas.\n"
-" -O origen\t Comienza a asignar a MATRIZ en el índice ORIGEN. El\n"
-" \t\tíndice por defecto es 0.\n"
-" -s cuenta \t Descarta las primeras CUENTA líneas leídas.\n"
-" -t\t\t Borra la nueva línea final de cada línea leída.\n"
-" -u df\t\t Lee líneas del descriptor de fichero DF en lugar de la\n"
-" \t\t entrada común.\n"
-" -C llamada\t Evalúa LLAMADA cada vez que se leen QUANTUM líneas.\n"
-" -c quantum\t Especifica el número de líneas a leer entre cada\n"
-" \t\t llamada a LLAMADA.\n"
+" -d delim\tUtiliza DELIM para finalizar las líneas en lugar de nueva línea\n"
+" -n cuenta\tCopia hasta CUENTA líneas. Si CUENTA es 0, se copian todas\n"
+" -O origen\tComienza a asignar a MATRIZ en el índice ORIGEN. El\n"
+" \t\t\tíndice por defecto es 0.\n"
+" -s cuenta\tDescarta las primeras CUENTA líneas leídas.\n"
+" -t\tBorra el DELIM final de cada línea leída (nuea línea por defecto).\n"
+" -u df\tLee líneas del descriptor de fichero DF en lugar de la\n"
+" \t\t\tentrada estándar.\n"
+" -C llamada\tEvalúa LLAMADA cada vez que se leen QUANTUM líneas.\n"
+" -c quantum\tEspecifica el número de líneas a leer entre cada\n"
+" \t\t\tllamada a LLAMADA.\n"
" \n"
" Argumentos:\n"
-" MATRIZ\t\t Nombre de variable de matriz a usar para guardar datos.\n"
+" MATRIZ\tNombre de variable de matriz a usar para guardar datos.\n"
" \n"
" Si se proporciona -C sin -c, el quantum por defecto es 5000. Cuando\n"
" se evalúa LLAMADA, se proporciona el índice del siguiente elemento\n"
-" de la matriz asignada como un argumento adicional.\n"
+" de la matriz a asignar como un argumento adicional.\n"
" \n"
-" Si no se proporciona un origen explícito, ‘mapfile’ borrará la MATRIZ\n"
+" Si no se proporciona un origen explícito, mapfile borrará la MATRIZ\n"
" antes de usarla para asignación.\n"
" \n"
" Estado de Salida:\n"
" Devuelve correcto a menos que se proporcione una opción inválida o\n"
-" la MATRIZ sea de sólo lectura o no sea una matriz indizada."
+" la MATRIZ sea de sólo lectura o no sea una matriz indexada."
-#: builtins.c:2066
+#: builtins.c:2062
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
@@ -5906,4 +5635,4 @@ msgid ""
msgstr ""
"Lee líneas de un fichero en una variable de matriz.\n"
" \n"
-" Un sinónimo de `mapfile'."
+" Sinónimo de `mapfile'."
diff --git a/po/ga.po b/po/ga.po
index ddc42165..f5ed6a32 100644
--- a/po/ga.po
+++ b/po/ga.po
@@ -7,136 +7,131 @@ msgid ""
msgstr ""
"Project-Id-Version: bash 4.4\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-04-27 14:15-0400\n"
+"POT-Creation-Date: 2016-09-10 12:42-0400\n"
"PO-Revision-Date: 2017-11-20 22:38+0000\n"
"Last-Translator: Séamus Ó Ciardhuáin <sociardhuain@gmail.com>\n"
"Language-Team: Irish <gaeilge-gnulinux@lists.sourceforge.net>\n"
+"Language: ga\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: ga\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
"X-Generator: Lokalize 2.0\n"
-"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : (n>2 && n<7) ? 2 :"
-"(n>6 && n<11) ? 3 : 4;\n"
+"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : (n>2 && n<7) ? 2 :(n>6 && n<11) ? 3 : 4;\n"
-#: arrayfunc.c:58
+#: arrayfunc.c:54
msgid "bad array subscript"
msgstr "droch-fhoscript eagair"
-#: arrayfunc.c:373 builtins/declare.def:618 variables.c:2188 variables.c:2214
-#: variables.c:2922
+#: arrayfunc.c:368 builtins/declare.def:574 variables.c:2092 variables.c:2118
+#: variables.c:2730
#, c-format
msgid "%s: removing nameref attribute"
msgstr "%s: aitreabúid nameref (tagairt athróga) á baint"
-#: arrayfunc.c:398 builtins/declare.def:831
+#: arrayfunc.c:393 builtins/declare.def:780
#, c-format
msgid "%s: cannot convert indexed to associative array"
-msgstr ""
-"%s: ní féidir eagar innéacsaithe a thiontú go heagar comhthiomsaitheach"
+msgstr "%s: ní féidir eagar innéacsaithe a thiontú go heagar comhthiomsaitheach"
-#: arrayfunc.c:582
+#: arrayfunc.c:578
#, c-format
msgid "%s: invalid associative array key"
msgstr "%s: eochair neamhbhailí eagair chomhthiomsaithigh"
-#: arrayfunc.c:584
+#: arrayfunc.c:580
#, c-format
msgid "%s: cannot assign to non-numeric index"
msgstr "%s: ní féidir sannadh go hinnéacs neamhuimhriúil."
-#: arrayfunc.c:629
+#: arrayfunc.c:625
#, c-format
msgid "%s: %s: must use subscript when assigning associative array"
-msgstr ""
-"%s: %s: caithfear foscript a úsáid le sannadh chuig eagar comhthiomsaitheach"
+msgstr "%s: %s: caithfear foscript a úsáid le sannadh chuig eagar comhthiomsaitheach"
-#: bashhist.c:436
+#: bashhist.c:421
#, c-format
msgid "%s: cannot create: %s"
msgstr "%s: ní féidir cruthú: %s"
-#: bashline.c:4111
+#: bashline.c:4091
msgid "bash_execute_unix_command: cannot find keymap for command"
-msgstr ""
-"bash_execute_unix_command: ní féidir mapa eochrach an ordaithe a aimsiú"
+msgstr "bash_execute_unix_command: ní féidir mapa eochrach an ordaithe a aimsiú"
-#: bashline.c:4221
+#: bashline.c:4189
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
msgstr "%s: ní \" an chéad charachtar nach spás bán é."
-#: bashline.c:4250
+#: bashline.c:4218
#, c-format
msgid "no closing `%c' in %s"
msgstr "Níl '%c' dúnta i %s"
-#: bashline.c:4284
+#: bashline.c:4252
#, c-format
msgid "%s: missing colon separator"
msgstr "%s: deighilteoir idirstaid ar iarraidh"
-#: braces.c:331
+#: braces.c:329
#, c-format
msgid "brace expansion: cannot allocate memory for %s"
msgstr "fairsingiú lúibíní: ní féidir cuimhne a leithdháileadh le haghaidh %s"
-#: braces.c:429
-#, fuzzy, c-format
-msgid "brace expansion: failed to allocate memory for %u elements"
-msgstr ""
-"fairsingiú lúibíní: theip ar leithdháileadh cuimhne le haghaidh %d eilimint"
+#: braces.c:427
+#, c-format
+msgid "brace expansion: failed to allocate memory for %d elements"
+msgstr "fairsingiú lúibíní: theip ar leithdháileadh cuimhne le haghaidh %d eilimint"
-#: braces.c:473
+#: braces.c:471
#, c-format
msgid "brace expansion: failed to allocate memory for `%s'"
msgstr "fairsingiú lúibíní: theip ar leithdháileadh cuimhne le haghaidh '%s'"
-#: builtins/alias.def:131
+#: builtins/alias.def:133
#, c-format
msgid "`%s': invalid alias name"
msgstr "'%s': ainm neamhbhailí ar mhapa eochrach"
-#: builtins/bind.def:122 builtins/bind.def:125
+#: builtins/bind.def:123 builtins/bind.def:126
msgid "line editing not enabled"
msgstr "níl eagarthóireacht líne cumasaithe"
-#: builtins/bind.def:212
+#: builtins/bind.def:213
#, c-format
msgid "`%s': invalid keymap name"
msgstr "'%s': ainm neamhbhailí ar mhapa eochrach "
-#: builtins/bind.def:252
+#: builtins/bind.def:253
#, c-format
msgid "%s: cannot read: %s"
msgstr "%s: ní féidir léamh: %s"
-#: builtins/bind.def:304 builtins/bind.def:334
+#: builtins/bind.def:270
+#, c-format
+msgid "`%s': cannot unbind"
+msgstr "'%s': ní féidir dícheangail"
+
+#: builtins/bind.def:308 builtins/bind.def:338
#, c-format
msgid "`%s': unknown function name"
msgstr "'%s': ainm feidhme neamhaithnid"
-#: builtins/bind.def:312
+#: builtins/bind.def:316
#, c-format
msgid "%s is not bound to any keys.\n"
msgstr "Níl %s ceangailte le heochair ar bith.\n"
-#: builtins/bind.def:316
+#: builtins/bind.def:320
#, c-format
msgid "%s can be invoked via "
msgstr "Is féidir %s a ghlaoigh trí "
-#: builtins/bind.def:353 builtins/bind.def:368
-#, c-format
-msgid "`%s': cannot unbind"
-msgstr "'%s': ní féidir dícheangail"
-
-#: builtins/break.def:77 builtins/break.def:119
+#: builtins/break.def:79 builtins/break.def:121
msgid "loop count"
msgstr "comhaireamh lúibe"
-#: builtins/break.def:139
+#: builtins/break.def:141
msgid "only meaningful in a `for', `while', or `until' loop"
msgstr "Gan chiall ach i lúb 'for', 'while' nó 'until'"
@@ -150,162 +145,162 @@ msgstr ""
" \n"
" Gan SLONN, aischuirtear "
-#: builtins/cd.def:319
+#: builtins/cd.def:321
msgid "HOME not set"
msgstr "Níl HOME socruithe"
-#: builtins/cd.def:327 builtins/common.c:161 test.c:889
+#: builtins/cd.def:329 builtins/common.c:167 test.c:885
msgid "too many arguments"
msgstr "An iomarca argóintí"
-#: builtins/cd.def:334
+#: builtins/cd.def:336
msgid "null directory"
msgstr "comhadlann neamhnitheach"
-#: builtins/cd.def:345
+#: builtins/cd.def:347
msgid "OLDPWD not set"
msgstr "Níl OLDPWD socruithe"
-#: builtins/common.c:96
+#: builtins/common.c:102
#, c-format
msgid "line %d: "
msgstr "líne %d: "
-#: builtins/common.c:134 error.c:264
+#: builtins/common.c:140 error.c:265
#, c-format
msgid "warning: "
msgstr "rabhadh: "
-#: builtins/common.c:148
+#: builtins/common.c:154
#, c-format
msgid "%s: usage: "
msgstr "%s: úsáid: "
-#: builtins/common.c:193 shell.c:510 shell.c:838
+#: builtins/common.c:199 shell.c:514 shell.c:825
#, c-format
msgid "%s: option requires an argument"
msgstr "%s: tá argóint riachtanach don rogha"
-#: builtins/common.c:200
+#: builtins/common.c:206
#, c-format
msgid "%s: numeric argument required"
msgstr "%s: argóint uimhriúil de dhíth"
-#: builtins/common.c:207
+#: builtins/common.c:213
#, c-format
msgid "%s: not found"
msgstr "%s: gan aimsiú"
-#: builtins/common.c:216 shell.c:851
+#: builtins/common.c:222 shell.c:838
#, c-format
msgid "%s: invalid option"
msgstr "%s: rogha neamhbhailí"
-#: builtins/common.c:223
+#: builtins/common.c:229
#, c-format
msgid "%s: invalid option name"
msgstr "%s: ainm neamhbhailí rogha"
-#: builtins/common.c:230 execute_cmd.c:2342 general.c:294 general.c:299
+#: builtins/common.c:236 general.c:293 general.c:298
#, c-format
msgid "`%s': not a valid identifier"
msgstr "'%s': ní aitheantóir bailí é"
-#: builtins/common.c:240
+#: builtins/common.c:246
msgid "invalid octal number"
msgstr "uimhir ochtnártha neamhbhailí"
-#: builtins/common.c:242
+#: builtins/common.c:248
msgid "invalid hex number"
msgstr "uimhir heicsidheachúlach neamhbhailí"
-#: builtins/common.c:244 expr.c:1538
+#: builtins/common.c:250 expr.c:1473
msgid "invalid number"
msgstr "uimhir neamhbhailí"
-#: builtins/common.c:252
+#: builtins/common.c:258
#, c-format
msgid "%s: invalid signal specification"
msgstr "%s: sonrú neamhbhailí comhartha"
-#: builtins/common.c:259
+#: builtins/common.c:265
#, c-format
msgid "`%s': not a pid or valid job spec"
msgstr "'%s': ní aitheantas próisis nó sonrú taisc bailí é"
-#: builtins/common.c:266 error.c:510
+#: builtins/common.c:272 error.c:511
#, c-format
msgid "%s: readonly variable"
msgstr "%s: athróg inléite amháin"
-#: builtins/common.c:274
+#: builtins/common.c:280
#, c-format
msgid "%s: %s out of range"
msgstr "%s: %s as raon"
-#: builtins/common.c:274 builtins/common.c:276
+#: builtins/common.c:280 builtins/common.c:282
msgid "argument"
msgstr "argóint"
-#: builtins/common.c:276
+#: builtins/common.c:282
#, c-format
msgid "%s out of range"
msgstr "%s as raon"
-#: builtins/common.c:284
+#: builtins/common.c:290
#, c-format
msgid "%s: no such job"
msgstr "%s: níl a léithéid de tasc ann."
-#: builtins/common.c:292
+#: builtins/common.c:298
#, c-format
msgid "%s: no job control"
msgstr "%s: gan rialú tascanna."
-#: builtins/common.c:294
+#: builtins/common.c:300
msgid "no job control"
msgstr "Gan rialú tascanna."
-#: builtins/common.c:304
+#: builtins/common.c:310
#, c-format
msgid "%s: restricted"
msgstr "%s: srianta"
-#: builtins/common.c:306
+#: builtins/common.c:312
msgid "restricted"
msgstr "srianta"
-#: builtins/common.c:314
+#: builtins/common.c:320
#, c-format
msgid "%s: not a shell builtin"
msgstr "%s: ní ordú ionsuite blaoisce é."
-#: builtins/common.c:323
+#: builtins/common.c:329
#, c-format
msgid "write error: %s"
msgstr "earráid scríofa: %s"
-#: builtins/common.c:331
+#: builtins/common.c:337
#, c-format
msgid "error setting terminal attributes: %s"
msgstr "earráid agus airíonna teirminéil á socrú: %s"
-#: builtins/common.c:333
+#: builtins/common.c:339
#, c-format
msgid "error getting terminal attributes: %s"
msgstr "earráid agus airíonna teirminéil á fáil: %s"
-#: builtins/common.c:579
+#: builtins/common.c:585
#, c-format
msgid "%s: error retrieving current directory: %s: %s\n"
msgstr "%s: earráid ag fáil na comhadlainne reatha: %s: %s\n"
-#: builtins/common.c:645 builtins/common.c:647
+#: builtins/common.c:651 builtins/common.c:653
#, c-format
msgid "%s: ambiguous job spec"
msgstr "%s: sonrú taisc athbhríoch"
-#: builtins/common.c:908
+#: builtins/common.c:918
msgid "help not available in this version"
msgstr "Níl cabhair ar fáil sa leagan seo."
@@ -314,76 +309,72 @@ msgstr "Níl cabhair ar fáil sa leagan seo."
msgid "%s: invalid action name"
msgstr "%s: ainm neamhbhailí gnímh"
-#: builtins/complete.def:452 builtins/complete.def:653
-#: builtins/complete.def:874
+#: builtins/complete.def:452 builtins/complete.def:647
+#: builtins/complete.def:858
#, c-format
msgid "%s: no completion specification"
msgstr "%s: níl sonrú iomlánaithe ann."
-#: builtins/complete.def:707
+#: builtins/complete.def:699
msgid "warning: -F option may not work as you expect"
-msgstr ""
-"Rabhadh: b'fhéidir nach n-oibríonn an rogha -F mar a bheifeá ag súil leis."
+msgstr "Rabhadh: b'fhéidir nach n-oibríonn an rogha -F mar a bheifeá ag súil leis."
-#: builtins/complete.def:709
+#: builtins/complete.def:701
msgid "warning: -C option may not work as you expect"
-msgstr ""
-"Rabhadh: b'fhéidir nach n-oibríonn an rogha -C mar a bheifeá ag súil leis."
+msgstr "Rabhadh: b'fhéidir nach n-oibríonn an rogha -C mar a bheifeá ag súil leis."
-#: builtins/complete.def:847
+#: builtins/complete.def:831
msgid "not currently executing completion function"
msgstr "níl an fheidhm chomhlánaithe á rith faoi láthair"
-#: builtins/declare.def:132
+#: builtins/declare.def:127
msgid "can only be used in a function"
msgstr "Inúsáidte i bhfeidhmeanna amháin. "
-#: builtins/declare.def:369 builtins/declare.def:736
+#: builtins/declare.def:332 builtins/declare.def:685
#, c-format
msgid "%s: reference variable cannot be an array"
msgstr "%s: ní féidir le athróg thagartha bheith ina h-eagar"
-#: builtins/declare.def:380 variables.c:3161
+#: builtins/declare.def:343 variables.c:2959
#, c-format
msgid "%s: nameref variable self references not allowed"
-msgstr ""
-"%s: ní cheadaítear tagairtí don athróg féin i nameref (tagairt athróga)"
+msgstr "%s: ní cheadaítear tagairtí don athróg féin i nameref (tagairt athróga)"
-#: builtins/declare.def:385 variables.c:2018 variables.c:3083 variables.c:3095
-#: variables.c:3158
+#: builtins/declare.def:348 variables.c:1928 variables.c:2877 variables.c:2889
+#: variables.c:2956
#, c-format
msgid "%s: circular name reference"
msgstr "%s: tagairt ainm ciorclach"
-#: builtins/declare.def:390 builtins/declare.def:742 builtins/declare.def:753
+#: builtins/declare.def:353 builtins/declare.def:691 builtins/declare.def:702
#, c-format
msgid "`%s': invalid variable name for name reference"
msgstr "'%s': ainm neamhbhailí athróige le haghaidh tagairt ainm"
-#: builtins/declare.def:500
+#: builtins/declare.def:463
msgid "cannot use `-f' to make functions"
msgstr "Ní féidir '-f' a úsáid chun feidhmeanna a dhéanamh"
-#: builtins/declare.def:512 execute_cmd.c:5797
+#: builtins/declare.def:475 execute_cmd.c:5632
#, c-format
msgid "%s: readonly function"
msgstr "%s: feidhm inléite amháin"
-#: builtins/declare.def:804
+#: builtins/declare.def:753
#, c-format
msgid "%s: quoted compound array assignment deprecated"
msgstr "%s: cáintear sannadh na gcomheagar athfhriotail"
-#: builtins/declare.def:818
+#: builtins/declare.def:767
#, 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:825 builtins/read.def:784
+#: builtins/declare.def:774 builtins/read.def:751
#, c-format
msgid "%s: cannot convert associative to indexed array"
-msgstr ""
-"%s: ní féidir eagar comhthiomsaitheach a thiontú go heagar innéacsaithe"
+msgstr "%s: ní féidir eagar comhthiomsaitheach a thiontú go heagar innéacsaithe"
#: builtins/enable.def:143 builtins/enable.def:151
msgid "dynamic loading not available"
@@ -402,9 +393,7 @@ msgstr "Ní féidir %s a aimsiú sa réad comhroinnte %s: %s"
#: builtins/enable.def:387
#, c-format
msgid "load function for %s returns failure (%d): not loaded"
-msgstr ""
-"theip ar an ngníomh luchtála le haghaidh %s (aiscuireadh %d): níor "
-"luchtáladh é"
+msgstr "theip ar an ngníomh luchtála le haghaidh %s (aiscuireadh %d): níor luchtáladh é"
#: builtins/enable.def:512
#, c-format
@@ -416,68 +405,68 @@ msgstr "%s: níl sé luchtaithe go dinimiciúil"
msgid "%s: cannot delete: %s"
msgstr "%s: ní féidir scrios: %s"
-#: builtins/evalfile.c:138 builtins/hash.def:184 execute_cmd.c:5629
+#: builtins/evalfile.c:144 builtins/hash.def:172 execute_cmd.c:5472
#, c-format
msgid "%s: is a directory"
msgstr "%s: is comhadlann é"
-#: builtins/evalfile.c:144
+#: builtins/evalfile.c:150
#, c-format
msgid "%s: not a regular file"
msgstr "%s: ní gnáthchomhad é"
-#: builtins/evalfile.c:153
+#: builtins/evalfile.c:159
#, c-format
msgid "%s: file is too large"
msgstr "%s: tá an comhad ró-mhór"
-#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1623
+#: builtins/evalfile.c:194 builtins/evalfile.c:212 shell.c:1578
#, c-format
msgid "%s: cannot execute binary file"
msgstr "%s: ní féidir comhad dénártha a rith"
-#: builtins/exec.def:155 builtins/exec.def:157 builtins/exec.def:237
+#: builtins/exec.def:156 builtins/exec.def:158 builtins/exec.def:235
#, c-format
msgid "%s: cannot execute: %s"
msgstr "%s: ní féidir rith: %s"
-#: builtins/exit.def:64
+#: builtins/exit.def:67
#, c-format
msgid "logout\n"
msgstr "logout\n"
-#: builtins/exit.def:89
+#: builtins/exit.def:92
msgid "not login shell: use `exit'"
msgstr "Ní blaosc logála isteach é seo: úsáid 'exit'"
-#: builtins/exit.def:121
+#: builtins/exit.def:124
#, c-format
msgid "There are stopped jobs.\n"
msgstr "Tá tascanna stoptha ann.\n"
-#: builtins/exit.def:123
+#: builtins/exit.def:126
#, c-format
msgid "There are running jobs.\n"
msgstr "Tá tascanna ag rith.\n"
-#: builtins/fc.def:265
+#: builtins/fc.def:269
msgid "no command found"
msgstr "Níor aimsíodh ordú"
-#: builtins/fc.def:323 builtins/fc.def:372
+#: builtins/fc.def:327 builtins/fc.def:376
msgid "history specification"
msgstr "Sonrú staire"
-#: builtins/fc.def:393
+#: builtins/fc.def:397
#, c-format
msgid "%s: cannot open temp file: %s"
msgstr "%s: ní féidir comhad sealadach a oscailt: %s"
-#: builtins/fg_bg.def:152 builtins/jobs.def:284
+#: builtins/fg_bg.def:153 builtins/jobs.def:284
msgid "current"
msgstr "reatha"
-#: builtins/fg_bg.def:161
+#: builtins/fg_bg.def:162
#, c-format
msgid "job %d started without job control"
msgstr "Tosaíodh tasc %d gan rialú tascanna."
@@ -492,21 +481,22 @@ msgstr "%s: rogha neamhdhleathach -- %c\n"
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: tá argóint riachtanach don rogha -- %c\n"
-#: builtins/hash.def:91
+#: builtins/hash.def:92
msgid "hashing disabled"
msgstr "Tá haiseáil díchumasaithe."
-#: builtins/hash.def:138
+#: builtins/hash.def:139
#, c-format
msgid "%s: hash table empty\n"
msgstr "%s: tá an tábla haiseála folamh.\n"
-#: builtins/hash.def:266
+#: builtins/hash.def:254
#, c-format
msgid "hits\tcommand\n"
msgstr "amais\tordú\n"
-#: builtins/help.def:133
+#: builtins/help.def:135
+#, c-format
msgid "Shell commands matching keyword `"
msgid_plural "Shell commands matching keywords `"
msgstr[0] "Ordaithe blaoisce a mheaitseálann an lorgfhocal '"
@@ -515,20 +505,17 @@ msgstr[2] "Ordaithe blaoisce a mheaitseálann na lorgfhocail '"
msgstr[3] "Ordaithe blaoisce a mheaitseálann na lorgfhocail '"
msgstr[4] "Ordaithe blaoisce a mheaitseálann na lorgfhocail '"
-#: builtins/help.def:185
+#: builtins/help.def:187
#, c-format
-msgid ""
-"no help topics match `%s'. Try `help help' or `man -k %s' or `info %s'."
-msgstr ""
-"Ní mheaitseálann ábhar cabhrach ar bith '%s'. Bain triail as 'help help' nó "
-"'man -k %s' nó 'info %s'."
+msgid "no help topics match `%s'. Try `help help' or `man -k %s' or `info %s'."
+msgstr "Ní mheaitseálann ábhar cabhrach ar bith '%s'. Bain triail as 'help help' nó 'man -k %s' nó 'info %s'."
-#: builtins/help.def:224
+#: builtins/help.def:226
#, c-format
msgid "%s: cannot open: %s"
msgstr "%s: ní féidir oscailt: %s"
-#: builtins/help.def:524
+#: builtins/help.def:526
#, c-format
msgid ""
"These shell commands are defined internally. Type `help' to see this list.\n"
@@ -543,26 +530,24 @@ msgstr ""
"Usáid 'help' leis an liosta seo a thaispeáint.\n"
"Úsáid 'help ainm' chun tuilleadh eolais a fháil faoin bhfeidhm 'ainm'.\n"
"Úsáid 'info bash' chun tuilleadh eolais a fháil faoin mblaosc féin.\n"
-"Úsáid 'man -k' nó 'info' chun tuilleadh eolais a fháil faoi ordaithe nach "
-"bhfuil sa liosta seo.\n"
+"Úsáid 'man -k' nó 'info' chun tuilleadh eolais a fháil faoi ordaithe nach bhfuil sa liosta seo.\n"
"Ciallaíonn réalt (*) ar ainm go bhfuil an t-ordú díchumasaithe.\n"
"\n"
-#: builtins/history.def:154
+#: builtins/history.def:155
msgid "cannot use more than one of -anrw"
msgstr "Ní féidir níos mó ná ceann amháin as -anrw a úsáid."
-#: builtins/history.def:187 builtins/history.def:197 builtins/history.def:212
-#: builtins/history.def:229 builtins/history.def:241 builtins/history.def:248
+#: builtins/history.def:187
msgid "history position"
msgstr "suíomh staire"
-#: builtins/history.def:331
+#: builtins/history.def:264
#, c-format
msgid "%s: invalid timestamp"
msgstr "%s: stampa ama neamhbhailí"
-#: builtins/history.def:442
+#: builtins/history.def:375
#, c-format
msgid "%s: history expansion failed"
msgstr "%s: theip ar fhairsingiú staire."
@@ -576,16 +561,16 @@ 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:202
#, c-format
msgid "%s: arguments must be process or job IDs"
msgstr "%s: is gá le argóintí bheith ina aitheantais phróisis nó taisc"
-#: builtins/kill.def:263
+#: builtins/kill.def:265
msgid "Unknown error"
msgstr "Earráid neamhaithnid"
-#: builtins/let.def:97 builtins/let.def:122 expr.c:614 expr.c:632
+#: builtins/let.def:97 builtins/let.def:122 expr.c:583 expr.c:598
msgid "expression expected"
msgstr "Ag súil le slonn"
@@ -594,69 +579,69 @@ msgstr "Ag súil le slonn"
msgid "%s: not an indexed array"
msgstr "%s: ní eagar innéacsaithe é"
-#: builtins/mapfile.def:271 builtins/read.def:305
+#: builtins/mapfile.def:272 builtins/read.def:306
#, c-format
msgid "%s: invalid file descriptor specification"
msgstr "%s: sonrú neamhbhailí tuairisceora comhaid"
-#: builtins/mapfile.def:279 builtins/read.def:312
+#: builtins/mapfile.def:280 builtins/read.def:313
#, c-format
msgid "%d: invalid file descriptor: %s"
msgstr "%d: tuairisceoir comhaid neamhbhailí: %s"
-#: builtins/mapfile.def:288 builtins/mapfile.def:326
+#: builtins/mapfile.def:289 builtins/mapfile.def:327
#, c-format
msgid "%s: invalid line count"
msgstr "%s: comhaireamh neamhbhailí línte"
-#: builtins/mapfile.def:299
+#: builtins/mapfile.def:300
#, c-format
msgid "%s: invalid array origin"
msgstr "%s: bunphointe neamhbhailí eagair"
-#: builtins/mapfile.def:316
+#: builtins/mapfile.def:317
#, c-format
msgid "%s: invalid callback quantum"
msgstr "%s: candam neamhbhailí aisghlaoigh"
-#: builtins/mapfile.def:349
+#: builtins/mapfile.def:350
msgid "empty array variable name"
msgstr "ainm folamh athróga eagair"
-#: builtins/mapfile.def:370
+#: builtins/mapfile.def:371
msgid "array variable support required"
msgstr "tacaíocht le hathróga eagair de dhíth"
-#: builtins/printf.def:416
+#: builtins/printf.def:412
#, c-format
msgid "`%s': missing format character"
msgstr "'%s': carachtar formáide ar iarraidh."
-#: builtins/printf.def:471
+#: builtins/printf.def:467
#, c-format
msgid "`%c': invalid time format specification"
msgstr "'%c': sonrú neamhbhailí formáide ama"
-#: builtins/printf.def:673
+#: builtins/printf.def:669
#, c-format
msgid "`%c': invalid format character"
msgstr "'%c': carachtar formáide neamhbhailí."
-#: builtins/printf.def:699
+#: builtins/printf.def:695
#, c-format
msgid "warning: %s: %s"
msgstr "rabhadh: %s: %s"
-#: builtins/printf.def:785
+#: builtins/printf.def:781
#, c-format
msgid "format parsing problem: %s"
msgstr "fadhb i bpársáil formáide: %s"
-#: builtins/printf.def:882
+#: builtins/printf.def:878
msgid "missing hex digit for \\x"
msgstr "digit heicsidheachúlach ar iarraidh le haghaidh \\x"
-#: builtins/printf.def:897
+#: builtins/printf.def:893
#, c-format
msgid "missing unicode digit for \\%c"
msgstr "digit Unicode ar iarraidh le haghaidh \\%c"
@@ -670,19 +655,19 @@ msgstr "Níl comhadlann eile ann"
msgid "%s: invalid argument"
msgstr "%s: argóint neamhbhailí"
-#: builtins/pushd.def:480
+#: builtins/pushd.def:475
msgid "<no current directory>"
msgstr "<níl comhadlann reatha ann>"
-#: builtins/pushd.def:524
+#: builtins/pushd.def:519
msgid "directory stack empty"
msgstr "cruach chomhadlainne fholamh"
-#: builtins/pushd.def:526
+#: builtins/pushd.def:521
msgid "directory stack index"
msgstr "innéacs chruach na gcomhadlann"
-#: builtins/pushd.def:701
+#: builtins/pushd.def:696
msgid ""
"Display the list of currently remembered directories. Directories\n"
" find their way onto the list with the `pushd' command; you can get\n"
@@ -697,12 +682,10 @@ msgid ""
" \twith its position in the stack\n"
" \n"
" Arguments:\n"
-" +N\tDisplays the Nth entry counting from the left of the list shown "
-"by\n"
+" +N\tDisplays the Nth entry counting from the left of the list shown by\n"
" \tdirs when invoked without options, starting with zero.\n"
" \n"
-" -N\tDisplays the Nth entry counting from the right of the list shown "
-"by\n"
+" -N\tDisplays the Nth entry counting from the right of the list shown by\n"
"\tdirs when invoked without options, starting with zero."
msgstr ""
"Taispeáin liosta na gcomhadlann a bhfuil cuimhne orthu faoi láthair.\n"
@@ -711,22 +694,18 @@ msgstr ""
" \n"
" Roghanna:\n"
" -c\tglantar cruach na gcomhadlann trí gach mhír a bhaint de\n"
-" -l\tná priontáiltear na comhadlanna i gcoibhneas le do chomhadlann "
-"bhaile\n"
+" -l\tná priontáiltear na comhadlanna i gcoibhneas le do chomhadlann bhaile\n"
" \tagus le tilde rompu\n"
" -p\tpriontáiltear cruach na gcomhadlann, mír amháin ar gach líne\n"
" -v\tpriontáiltear cruach na gcomhadlann, mír amháin ar gach líne agus\n"
" \ta háit sa chruach roimpi\n"
" \n"
" Argóintí:\n"
-" +N\tTaispeántar mír N, agus uimhrithe curtha ar na míreanna ó thaobh "
-"clé\n"
-" \tan liosta a thaispeántar le 'dirs' rite gan argóintí, ag tosú ó "
-"náid. -N\tTaispeántar mír N, agus uimhrithe curtha ar na míreanna ó "
-"thaobh deas\n"
+" +N\tTaispeántar mír N, agus uimhrithe curtha ar na míreanna ó thaobh clé\n"
+" \tan liosta a thaispeántar le 'dirs' rite gan argóintí, ag tosú ó náid. -N\tTaispeántar mír N, agus uimhrithe curtha ar na míreanna ó thaobh deas\n"
" \tan liosta a thaispeántar le 'dirs' rite gan argóintí, ag tosú ó náid."
-#: builtins/pushd.def:723
+#: builtins/pushd.def:718
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"
@@ -751,7 +730,7 @@ msgid ""
" The `dirs' builtin displays the directory stack."
msgstr ""
-#: builtins/pushd.def:748
+#: builtins/pushd.def:743
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"
@@ -772,46 +751,45 @@ msgid ""
" The `dirs' builtin displays the directory stack."
msgstr ""
-#: builtins/read.def:277
+#: builtins/read.def:279
#, c-format
msgid "%s: invalid timeout specification"
msgstr "%s: sonrú neamhbhailí teorann ama"
-#: builtins/read.def:729
+#: builtins/read.def:696
#, c-format
msgid "read error: %d: %s"
msgstr "earráid léite: %d: %s"
-#: builtins/return.def:68
+#: builtins/return.def:71
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'"
+msgstr "ní féidir 'return' a dhéanamh ach ó fheidhm nó ó script rite le 'source'"
-#: builtins/set.def:834
+#: builtins/set.def:841
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:881
+#: builtins/set.def:888
#, c-format
msgid "%s: cannot unset"
msgstr "%s: ní féidir díshocrú"
-#: builtins/set.def:902 variables.c:3597
+#: builtins/set.def:909 variables.c:3389
#, c-format
msgid "%s: cannot unset: readonly %s"
msgstr "%s: ní féidir díshocrú: %s inléite amháin"
-#: builtins/set.def:915
+#: builtins/set.def:922
#, c-format
msgid "%s: not an array variable"
msgstr "%s: ní athróg eagair é"
-#: builtins/setattr.def:189
+#: builtins/setattr.def:191
#, c-format
msgid "%s: not a function"
msgstr "%s: ní feidhm é."
-#: builtins/setattr.def:194
+#: builtins/setattr.def:196
#, c-format
msgid "%s: cannot export"
msgstr "%s: ní féidir easpórtáil"
@@ -820,20 +798,20 @@ msgstr "%s: ní féidir easpórtáil"
msgid "shift count"
msgstr "comhaireamh iomlaoide"
-#: builtins/shopt.def:301
+#: builtins/shopt.def:289
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:403
+#: builtins/shopt.def:391
#, c-format
msgid "%s: invalid shell option name"
msgstr "%s: ainm neamhbhailí ar rogha blaoisce"
-#: builtins/source.def:128
+#: builtins/source.def:131
msgid "filename argument required"
msgstr "Is gá don argóint bheith ina ainm comhaid."
-#: builtins/source.def:154
+#: builtins/source.def:157
#, c-format
msgid "%s: file not found"
msgstr "%s: níor aimsíodh an comhad"
@@ -846,61 +824,61 @@ msgstr "Ní féidir cur ar fionraí."
msgid "cannot suspend a login shell"
msgstr "Ní féidir blaosc logála isteach a chur ar fionraí."
-#: builtins/type.def:235
+#: builtins/type.def:236
#, c-format
msgid "%s is aliased to `%s'\n"
msgstr "Tá %s ailiasáilte go '%s'.\n"
-#: builtins/type.def:256
+#: builtins/type.def:257
#, c-format
msgid "%s is a shell keyword\n"
msgstr "Is eochairfhocal blaoisce é %s.\n"
-#: builtins/type.def:275
+#: builtins/type.def:276
#, c-format
msgid "%s is a function\n"
msgstr "Is feidhm é %s.\n"
-#: builtins/type.def:299
+#: builtins/type.def:300
#, c-format
msgid "%s is a special shell builtin\n"
msgstr "Is ordú ionsuite blaoisce speisialta é %s\n"
-#: builtins/type.def:301
+#: builtins/type.def:302
#, c-format
msgid "%s is a shell builtin\n"
msgstr "Is ordú ionsuite blaoisce é %s\n"
-#: builtins/type.def:323 builtins/type.def:408
+#: builtins/type.def:324 builtins/type.def:409
#, c-format
msgid "%s is %s\n"
msgstr "Tá %s %s\n"
-#: builtins/type.def:343
+#: builtins/type.def:344
#, c-format
msgid "%s is hashed (%s)\n"
msgstr "Tá %s haiseáilte (%s)\n"
-#: builtins/ulimit.def:396
+#: builtins/ulimit.def:398
#, c-format
msgid "%s: invalid limit argument"
msgstr "%s: argóint teorann neamhbhailí"
-#: builtins/ulimit.def:422
+#: builtins/ulimit.def:424
#, c-format
msgid "`%c': bad command"
msgstr "'%c': droch-ordú"
-#: builtins/ulimit.def:451
+#: builtins/ulimit.def:453
#, c-format
msgid "%s: cannot get limit: %s"
msgstr "%s: ní féidir teorainn a fháil: %s"
-#: builtins/ulimit.def:477
+#: builtins/ulimit.def:479
msgid "limit"
msgstr "teorainn"
-#: builtins/ulimit.def:489 builtins/ulimit.def:789
+#: builtins/ulimit.def:491 builtins/ulimit.def:791
#, c-format
msgid "%s: cannot modify limit: %s"
msgstr "%s: ní féidir teorainn a athrú: %s"
@@ -919,374 +897,357 @@ msgstr "'%c': oibreoir neamhbhailí móid shiombalaigh"
msgid "`%c': invalid symbolic mode character"
msgstr "'%c': carachtar neamhbhailí móid shiombalaigh"
-#: error.c:89 error.c:347 error.c:349 error.c:351
+#: error.c:90 error.c:348 error.c:350 error.c:352
msgid " line "
msgstr " líne "
-#: error.c:164
+#: error.c:165
#, c-format
msgid "last command: %s\n"
msgstr "Ordú deireanach: %s\n"
-#: error.c:172
+#: error.c:173
#, c-format
msgid "Aborting..."
msgstr "Ag tobscor..."
#. TRANSLATORS: this is a prefix for informational messages.
-#: error.c:287
+#: error.c:288
#, c-format
msgid "INFORM: "
msgstr "EOLAS: "
-#: error.c:462
+#: error.c:463
msgid "unknown command error"
msgstr "earráid ordaithe neamhaithnid"
-#: error.c:463
+#: error.c:464
msgid "bad command type"
msgstr "droch-chineál ordaithe"
-#: error.c:464
+#: error.c:465
msgid "bad connector"
msgstr "drochnascóir"
-#: error.c:465
+#: error.c:466
msgid "bad jump"
msgstr "drochléim"
-#: error.c:503
+#: error.c:504
#, c-format
msgid "%s: unbound variable"
msgstr "%s: athróg neamhcheangailte"
-#: eval.c:242
+#: eval.c:209
#, c-format
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:536
+#: execute_cmd.c:527
#, 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:1294
+#: execute_cmd.c:1275
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr "FORMÃID_AMA: '%c': carachtar formáide neamhbhaií."
-#: execute_cmd.c:2330
+#: execute_cmd.c:2273
#, c-format
msgid "execute_coproc: coproc [%d:%s] still exists"
msgstr "execute_coproc: tá an comhphróiseas [%d:%s] fós ann"
-#: execute_cmd.c:2456
+#: execute_cmd.c:2377
msgid "pipe error"
msgstr "earráid phíopa"
-#: execute_cmd.c:4624
+#: execute_cmd.c:4496
#, c-format
msgid "eval: maximum eval nesting level exceeded (%d)"
msgstr "eval: imithe thar uasleibhéal neadaithe eval (%d)"
-#: execute_cmd.c:4636
+#: execute_cmd.c:4508
#, c-format
msgid "%s: maximum source nesting level exceeded (%d)"
msgstr "%s: imithe thar uasleibhéal neadaithe foinse (%d)"
-#: execute_cmd.c:4742
+#: execute_cmd.c:4616
#, c-format
msgid "%s: maximum function nesting level exceeded (%d)"
msgstr "%s: imithe thar uasleibhéal neadaithe feidhme (%d)"
-#: execute_cmd.c:5285
+#: execute_cmd.c:5144
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
msgstr "%s: srianta: ní féidir '/' a shonrú in ainmneacha ordaithe"
-#: execute_cmd.c:5383
+#: execute_cmd.c:5232
#, c-format
msgid "%s: command not found"
msgstr "%s: níor aimsíodh an t-ordú"
-#: execute_cmd.c:5627
+#: execute_cmd.c:5470
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: execute_cmd.c:5665
+#: execute_cmd.c:5508
#, c-format
msgid "%s: %s: bad interpreter"
msgstr "%s: %s: drochléirmhínitheoir"
-#: execute_cmd.c:5702
+#: execute_cmd.c:5545
#, c-format
msgid "%s: cannot execute binary file: %s"
msgstr "%s: ní féidir comhad dénártha a rith: %s"
-#: execute_cmd.c:5788
+#: execute_cmd.c:5623
#, c-format
msgid "`%s': is a special builtin"
msgstr "Is ordú ionsuite speisialta é '%s'"
-#: execute_cmd.c:5840
+#: execute_cmd.c:5675
#, 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."
+msgstr "Ní féidir an tuairisceoir comhaid %d a dhúbailt mar thuairisceoir comhaid %d."
-#: expr.c:263
+#: expr.c:259
msgid "expression recursion level exceeded"
msgstr "imithe thar leibhéal athchursála sloinn"
-#: expr.c:291
+#: expr.c:283
msgid "recursion stack underflow"
msgstr "gannsreabhadh na cruaiche athchúrsála"
-#: expr.c:453
+#: expr.c:431
msgid "syntax error in expression"
msgstr "Earráid chomhréire sa slonn."
-#: expr.c:497
+#: expr.c:475
msgid "attempted assignment to non-variable"
msgstr "Deineadh iarracht sannadh go rud nach athróg é."
-#: expr.c:506
-#, fuzzy
-msgid "syntax error in variable assignment"
-msgstr "Earráid chomhréire sa slonn."
-
-#: expr.c:520 expr.c:886
+#: expr.c:495 expr.c:858
msgid "division by 0"
msgstr "roinnt ar 0"
-#: expr.c:567
+#: expr.c:542
msgid "bug: bad expassign token"
msgstr "fabht: droch-chomhartha expassign"
-#: expr.c:621
+#: expr.c:595
msgid "`:' expected for conditional expression"
msgstr "Bhíothas ag súil le ':' le haghaidh sloinn choinníollaigh."
-#: expr.c:947
+#: expr.c:919
msgid "exponent less than 0"
msgstr "Easpónant níos lú ná 0."
-#: expr.c:1004
+#: expr.c:976
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:1030
+#: expr.c:1002
msgid "missing `)'"
msgstr "')' ar iarraidh"
-#: expr.c:1081 expr.c:1458
+#: expr.c:1053 expr.c:1393
msgid "syntax error: operand expected"
msgstr "Earráid chomhréire: bhíothas ag súil le hoibreann."
-#: expr.c:1460
+#: expr.c:1395
msgid "syntax error: invalid arithmetic operator"
msgstr "earráid chomhréire: oibreoir neamhbhailí uimhríochta"
-#: expr.c:1484
+#: expr.c:1419
#, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
msgstr "%s%s%s: %s (comhartha earráide '%s')"
-#: expr.c:1542
+#: expr.c:1477
msgid "invalid arithmetic base"
msgstr "Bonnuimhir uimhríochtúil neamhbhailí."
-#: expr.c:1562
+#: expr.c:1497
msgid "value too great for base"
msgstr "Tá an luach rómhór don bhonnuimhir."
-#: expr.c:1611
+#: expr.c:1546
#, c-format
msgid "%s: expression error\n"
msgstr "%s: earráid sloinn\n"
-#: general.c:69
+#: general.c:68
msgid "getcwd: cannot access parent directories"
msgstr "getcwd: ní féidir na máthairchomhadlanna a rochtain."
-#: input.c:99 subst.c:5858
+#: input.c:102 subst.c:5858
#, 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"
+msgstr "ní féidir an mód gan mhoill a athshocrú le haghaidh an tuairisceora chomhaid %d"
-#: input.c:266
+#: input.c:271
#, 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."
+msgstr "Ní féidir tuairisceoir comhaid nua a leithdháileadh le haghaidh ionchur bash ón tuairisceoir comhaid %d."
-#: input.c:274
+#: input.c:279
#, 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"
+msgstr "save_bash_input: tá an maolán ann cheana le haghaidh an tuairisceoir comhaid nua %d"
#: jobs.c:527
msgid "start_pipeline: pgrp pipe"
msgstr "start_pipeline: pgrp píopa"
-#: jobs.c:1080
+#: jobs.c:1035
#, c-format
msgid "forked pid %d appears in running job %d"
msgstr "Tá aitheantas an phróisis ghabhlaithe %d sa tasc %d atá ag rith"
-#: jobs.c:1199
+#: jobs.c:1154
#, c-format
msgid "deleting stopped job %d with process group %ld"
msgstr "Tá an tasc stoptha %d leis an ngrúpa próisis %ld á scrios."
-#: jobs.c:1303
+#: jobs.c:1258
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
msgstr "add_process: próiseas %5ld (%s) sa phíblíne"
-#: jobs.c:1306
+#: jobs.c:1261
#, 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:1635
+#: jobs.c:1590
#, c-format
msgid "describe_pid: %ld: no such pid"
msgstr "describe_pid: %ld: níl an aitheantóir próisis sin ann."
-#: jobs.c:1650
+#: jobs.c:1605
#, c-format
msgid "Signal %d"
msgstr "Comhartha %d"
-#: jobs.c:1664 jobs.c:1690
+#: jobs.c:1619 jobs.c:1645
msgid "Done"
msgstr "Déanta"
-#: jobs.c:1669 siglist.c:123
+#: jobs.c:1624 siglist.c:123
msgid "Stopped"
msgstr "Stoptha"
-#: jobs.c:1673
+#: jobs.c:1628
#, c-format
msgid "Stopped(%s)"
msgstr "Stoptha(%s)"
-#: jobs.c:1677
+#: jobs.c:1632
msgid "Running"
msgstr "Ag Rith"
-#: jobs.c:1694
+#: jobs.c:1649
#, c-format
msgid "Done(%d)"
msgstr "Déanta(%d)"
-#: jobs.c:1696
+#: jobs.c:1651
#, c-format
msgid "Exit %d"
msgstr "Scoir %d"
-#: jobs.c:1699
+#: jobs.c:1654
msgid "Unknown status"
msgstr "Stádas neamhaithnid"
-#: jobs.c:1786
+#: jobs.c:1741
#, c-format
msgid "(core dumped) "
msgstr "(cuimhne dumpáilte)"
-#: jobs.c:1805
+#: jobs.c:1760
#, c-format
msgid " (wd: %s)"
msgstr " (comhadlann oibre: %s)"
-#: jobs.c:2033
+#: jobs.c:1985
#, c-format
msgid "child setpgid (%ld to %ld)"
msgstr "setpgid macphróisis (%ld go %ld)"
-#: jobs.c:2395 nojobs.c:657
+#: jobs.c:2347 nojobs.c:654
#, 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:2687
+#: jobs.c:2602
#, c-format
msgid "wait_for: No record of process %ld"
msgstr "wait_for: níl taifead den phróiseas %ld"
-#: jobs.c:3048
+#: jobs.c:2929
#, c-format
msgid "wait_for_job: job %d is stopped"
msgstr "wait_for_job: tá an tasc %d stoptha."
-#: jobs.c:3355
+#: jobs.c:3221
#, c-format
msgid "%s: job has terminated"
msgstr "%s: tá an tasc críochnaithe."
-#: jobs.c:3364
+#: jobs.c:3230
#, c-format
msgid "%s: job %d already in background"
msgstr "%s: tá an tasc %d sa chúlra cheana."
-#: jobs.c:3590
+#: jobs.c:3455
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
msgstr "waitchld: ag cumasú WNOHANG chun stad éiginnte a sheachaint"
-#: jobs.c:4114
+#: jobs.c:3970
#, c-format
msgid "%s: line %d: "
msgstr "%s: líne %d: "
-#: jobs.c:4128 nojobs.c:900
+#: jobs.c:3984 nojobs.c:897
#, c-format
msgid " (core dumped)"
msgstr " (cuimhne dumpáilte)"
-#: jobs.c:4140 jobs.c:4153
+#: jobs.c:3996 jobs.c:4009
#, c-format
msgid "(wd now: %s)\n"
msgstr "(comhadlann oibre anois: %s)\n"
-#: jobs.c:4185
+#: jobs.c:4041
msgid "initialize_job_control: getpgrp failed"
msgstr "initialize_job_control: theip ar getpgrp"
-#: jobs.c:4241
-#, fuzzy
-msgid "initialize_job_control: no job control in background"
-msgstr "initialize_job_control: araíonacht líne"
-
-#: jobs.c:4257
+#: jobs.c:4104
msgid "initialize_job_control: line discipline"
msgstr "initialize_job_control: araíonacht líne"
-#: jobs.c:4267
+#: jobs.c:4114
msgid "initialize_job_control: setpgid"
msgstr "initialize_job_control: setpgid"
-#: jobs.c:4288 jobs.c:4297
+#: jobs.c:4135 jobs.c:4144
#, c-format
msgid "cannot set terminal process group (%d)"
msgstr "ní féidir an grúpa próisis teirminéil a athrú (%d)"
-#: jobs.c:4302
+#: jobs.c:4149
msgid "no job control in this shell"
msgstr "Níl rialú tascanna sa bhlaosc seo."
-#: lib/malloc/malloc.c:306
+#: lib/malloc/malloc.c:296
#, c-format
msgid "malloc: failed assertion: %s\n"
msgstr "malloc: dearbhú teipthe: %s\n"
-#: lib/malloc/malloc.c:322
+#: lib/malloc/malloc.c:312
#, c-format
msgid ""
"\r\n"
@@ -1295,39 +1256,39 @@ msgstr ""
"\r\n"
"malloc: %s:%d: dearbhú ina phraiseach\r\n"
-#: lib/malloc/malloc.c:323
+#: lib/malloc/malloc.c:313
msgid "unknown"
msgstr "neamhaithnid"
-#: lib/malloc/malloc.c:811
+#: lib/malloc/malloc.c:801
msgid "malloc: block on free list clobbered"
msgstr "malloc: bloc ar an liosta saor scriosta"
-#: lib/malloc/malloc.c:888
+#: lib/malloc/malloc.c:878
msgid "free: called with already freed block argument"
msgstr "free: glaoite le argóint bhloic á saoradh cheana"
-#: lib/malloc/malloc.c:891
+#: lib/malloc/malloc.c:881
msgid "free: called with unallocated block argument"
msgstr "free: glaoite le argóint bhloic nár leithdháileadh"
-#: lib/malloc/malloc.c:910
+#: lib/malloc/malloc.c:900
msgid "free: underflow detected; mh_nbytes out of range"
msgstr "free: gannsreabhadh; tá mh_nbytes as raon"
-#: lib/malloc/malloc.c:916
+#: lib/malloc/malloc.c:906
msgid "free: start and end chunk sizes differ"
msgstr "free: ní ionann méid na smután túis agus deiridh"
-#: lib/malloc/malloc.c:1015
+#: lib/malloc/malloc.c:1005
msgid "realloc: called with unallocated block argument"
msgstr "realloc: glaoite le argóint bhloic nár leithdháileadh"
-#: lib/malloc/malloc.c:1030
+#: lib/malloc/malloc.c:1020
msgid "realloc: underflow detected; mh_nbytes out of range"
msgstr "realloc: gannsreabhadh; tá mh_nbytes as raon"
-#: lib/malloc/malloc.c:1036
+#: lib/malloc/malloc.c:1026
msgid "realloc: start and end chunk sizes differ"
msgstr "realloc: ní ionann méideanna na smután túis agus deiridh"
@@ -1339,8 +1300,7 @@ msgstr "register_alloc: an bhfuil an tábla leithdháilte lán le FIND_ALLOC?\n"
#: lib/malloc/table.c:200
#, c-format
msgid "register_alloc: %p already in table as allocated?\n"
-msgstr ""
-"register_alloc: an bhfuil %p sa tábla mar atá sé leithdháilte cheana?\n"
+msgstr "register_alloc: an bhfuil %p sa tábla mar atá sé leithdháilte cheana?\n"
#: lib/malloc/table.c:253
#, c-format
@@ -1370,22 +1330,22 @@ msgstr "%s: drochshonrú conaire líonra"
msgid "network operations not supported"
msgstr "Ní thacaítear le oibríochtaí líonra."
-#: locale.c:205
+#: locale.c:200
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s)"
msgstr "setlocale: LC_ALL: ní féidir an logchaighdeán a athrú (%s)"
-#: locale.c:207
+#: locale.c:202
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
msgstr "setlocale: LC_ALL: ní féidir an logchaighdeán a athrú (%s): %s"
-#: locale.c:272
+#: locale.c:259
#, c-format
msgid "setlocale: %s: cannot change locale (%s)"
msgstr "setlocale: %s: ní féidir an logchaighdeán a athrú (%s)"
-#: locale.c:274
+#: locale.c:261
#, c-format
msgid "setlocale: %s: cannot change locale (%s): %s"
msgstr "setlocale: %s: ní féidir an logchaighdeán a athrú (%s): %s"
@@ -1403,152 +1363,145 @@ msgstr "Tá ríomhphost nua agat i $_"
msgid "The mail in %s has been read\n"
msgstr "Tá an ríomhphost i %s léite\n"
-#: make_cmd.c:317
+#: make_cmd.c:329
msgid "syntax error: arithmetic expression required"
msgstr "Earráid chomhréire: tá slonn uimhríochtúil de dhith."
-#: make_cmd.c:319
+#: make_cmd.c:331
msgid "syntax error: `;' unexpected"
msgstr "Earráid chomhréire: ';' gan súil leis."
-#: make_cmd.c:320
+#: make_cmd.c:332
#, c-format
msgid "syntax error: `((%s))'"
msgstr "Earráid chomhréire: '((%s))'"
-#: make_cmd.c:572
+#: make_cmd.c:584
#, c-format
msgid "make_here_document: bad instruction type %d"
msgstr "make_here_document: drochchineál ordaithe %d"
-#: make_cmd.c:657
+#: make_cmd.c:669
#, c-format
msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
-msgstr ""
-"cáipéis leabaithe ag líne %d teormharcáilte le deireadh comhaid ('%s' á lorg)"
+msgstr "cáipéis leabaithe ag líne %d teormharcáilte le deireadh comhaid ('%s' á lorg)"
-#: make_cmd.c:756
+#: make_cmd.c:768
#, c-format
msgid "make_redirection: redirection instruction `%d' out of range"
msgstr "make_redirection: ordú atreoraithe '%d' as raon."
-#: parse.y:2369
+#: parse.y:2324
#, c-format
-msgid ""
-"shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line "
-"truncated"
-msgstr ""
-"shell_getc: tá méid an líne ionchuir blaoisce (%zu) níos mó ná SIZE_MAX (%"
-"lu): líne giorraithe"
+msgid "shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line truncated"
+msgstr "shell_getc: tá méid an líne ionchuir blaoisce (%zu) níos mó ná SIZE_MAX (%lu): líne giorraithe"
-#: parse.y:2772
+#: parse.y:2700
msgid "maximum here-document count exceeded"
msgstr "imithe thar uasfhad na cáipéise-anseo"
-#: parse.y:3511 parse.y:3881
+#: parse.y:3390 parse.y:3748
#, 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:4581
+#: parse.y:4410
msgid "unexpected EOF while looking for `]]'"
msgstr "Deireadh comhaid gan súil leis agus ']]' á lorg."
-#: parse.y:4586
+#: parse.y:4415
#, 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:4590
+#: parse.y:4419
msgid "syntax error in conditional expression"
msgstr "Earráid chomhréire i slonn coinníollach."
-#: parse.y:4668
+#: parse.y:4497
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr "Comhartha '%s' gan súil leis; ag súil le ')'."
-#: parse.y:4672
+#: parse.y:4501
msgid "expected `)'"
msgstr "Ag súil le ')'"
-#: parse.y:4700
+#: parse.y:4529
#, 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:4704
+#: parse.y:4533
msgid "unexpected argument to conditional unary operator"
msgstr "Argóint gan súil lei go hoibreoir coinníollach aonártha ."
-#: parse.y:4750
+#: parse.y:4579
#, 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."
+msgstr "Comhartha '%s' gan súil leis. Bhíothas ag súil le hoibreoir coinníollach dénártha."
-#: parse.y:4754
+#: parse.y:4583
msgid "conditional binary operator expected"
msgstr "Bhíothas ag súil le hoibreoir coinníollach dénártha."
-#: parse.y:4776
+#: parse.y:4605
#, 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:4780
+#: parse.y:4609
msgid "unexpected argument to conditional binary operator"
msgstr "Argóint gan súil lei go hoibreoir dénártha coinníollach."
-#: parse.y:4791
+#: parse.y:4620
#, c-format
msgid "unexpected token `%c' in conditional command"
msgstr "Comhartha '%c' gan súil leis in ordú coinníollach."
-#: parse.y:4794
+#: parse.y:4623
#, c-format
msgid "unexpected token `%s' in conditional command"
msgstr "Comhartha '%s' gan súil leis in ordú coinníollach."
-#: parse.y:4798
+#: parse.y:4627
#, c-format
msgid "unexpected token %d in conditional command"
msgstr "Comhartha %d gan súil leis in ordú coinníollach."
-#: parse.y:6220
+#: parse.y:5996
#, 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:6238
+#: parse.y:6014
#, c-format
msgid "syntax error near `%s'"
msgstr "Earráid chomhréire in aice '%s'"
-#: parse.y:6248
+#: parse.y:6024
msgid "syntax error: unexpected end of file"
msgstr "Earráid chomhréire: deireadh comhaid gan súil leis."
-#: parse.y:6248
+#: parse.y:6024
msgid "syntax error"
msgstr "Earráid chomhréire"
-#: parse.y:6310
+#: parse.y:6086
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr "Úsáid '%s' le scoir den mblaosc.\n"
-#: parse.y:6472
+#: parse.y:6248
msgid "unexpected EOF while looking for matching `)'"
msgstr "Deireadh comhaid gan súil leis agus ')' á lorg le meaitseáil."
-#: pcomplete.c:1132
+#: pcomplete.c:1126
#, c-format
msgid "completion: function `%s' not found"
msgstr "Iomlánú: níor aimsíodh an fheidhm '%s'."
-#: pcomplete.c:1722
+#: pcomplete.c:1646
#, c-format
msgid "programmable_completion: %s: possible retry loop"
msgstr "críochnú in-ríomhchláraithe: %s: d'fhéadfadh lúb atriail a bheith ann"
@@ -1558,118 +1511,109 @@ msgstr "críochnú in-ríomhchláraithe: %s: d'fhéadfadh lúb atriail a bheith
msgid "progcomp_insert: %s: NULL COMPSPEC"
msgstr "progcomp_insert: %s: tá COMPSPEC neamhnitheach"
-#: print_cmd.c:300
+#: print_cmd.c:302
#, c-format
msgid "print_command: bad connector `%d'"
msgstr "print_command: drochnascóir '%d'"
-#: print_cmd.c:373
+#: print_cmd.c:375
#, c-format
msgid "xtrace_set: %d: invalid file descriptor"
msgstr "xtrace_set: %d: tuairisceoir comhaid neamhbhailí"
-#: print_cmd.c:378
+#: print_cmd.c:380
msgid "xtrace_set: NULL file pointer"
msgstr "xtrace_set: pointeoir folamh comhaid"
-#: print_cmd.c:382
+#: print_cmd.c:384
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
msgstr "xtrace fd (%d) != fileno xtrace fp (%d)"
-#: print_cmd.c:1538
+#: print_cmd.c:1534
#, c-format
msgid "cprintf: `%c': invalid format character"
msgstr "cprintf: '%c': carachtar formáide neamhbhailí"
-#: redir.c:121 redir.c:167
+#: redir.c:124 redir.c:171
msgid "file descriptor out of range"
msgstr "tuairisceoir comhaid as raon"
-#: redir.c:174
+#: redir.c:178
#, c-format
msgid "%s: ambiguous redirect"
msgstr "%s: atreorú athbhríoch"
-#: redir.c:178
+#: 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:183
+#: redir.c:187
#, c-format
msgid "%s: restricted: cannot redirect output"
msgstr "%s: srianta: ní féidir aschur a atreorú."
-#: redir.c:188
+#: 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:192
+#: redir.c:196
#, c-format
msgid "%s: cannot assign fd to variable"
msgstr "%s: ní féidir tuairisceoir comhaid a shannadh go hathróg."
-#: redir.c:588
+#: redir.c:586
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:870 redir.c:985 redir.c:1046 redir.c:1211
+#: redir.c:868 redir.c:983 redir.c:1044 redir.c:1209
msgid "redirection error: cannot duplicate fd"
msgstr "Earráid atreoraithe: ní féidir an tuairisceoir comhaid a dhúbailt."
-#: shell.c:343
+#: shell.c:347
msgid "could not find /tmp, please create!"
msgstr "Níorbh fhéidir /tmp a aimsiú. Cruthaigh é le do thoil!"
-#: shell.c:347
+#: shell.c:351
msgid "/tmp must be a valid directory name"
msgstr "Caithfidh /tmp bheith ina ainm comhadlainne bailí."
-#: shell.c:798
-msgid "pretty-printing mode ignored in interactive shells"
-msgstr ""
-
-#: shell.c:940
+#: shell.c:927
#, c-format
msgid "%c%c: invalid option"
msgstr "%c%c: rogha neamhbhailí"
-#: shell.c:1299
+#: shell.c:1282
#, c-format
msgid "cannot set uid to %d: effective uid %d"
-msgstr ""
-"Ní féidir an t-aitheantóir úsáideora (uid) a athrú go %d: aitheantóir "
-"éifeachtach %d"
+msgstr "Ní féidir an t-aitheantóir úsáideora (uid) a athrú go %d: aitheantóir éifeachtach %d"
-#: shell.c:1306
+#: shell.c:1289
#, c-format
msgid "cannot set gid to %d: effective gid %d"
-msgstr ""
-"Ní féidir an t-aitheantóir grúpa (gid) a athrú go %d: aitheantóir "
-"éifeachtach %d"
+msgstr "Ní féidir an t-aitheantóir grúpa (gid) a athrú go %d: aitheantóir éifeachtach %d"
-#: shell.c:1494
+#: shell.c:1458
msgid "cannot start debugger; debugging mode disabled"
-msgstr ""
-"Ní féidir an dífhabhtóir a thosú; tá an mód dífhabhtaithe díchumasaithe."
+msgstr "Ní féidir an dífhabhtóir a thosú; tá an mód dífhabhtaithe díchumasaithe."
-#: shell.c:1608
+#: shell.c:1566
#, c-format
msgid "%s: Is a directory"
msgstr "%s: is comhadlann é"
-#: shell.c:1826
+#: shell.c:1777
msgid "I have no name!"
msgstr "Níl ainm orm!"
-#: shell.c:1980
+#: shell.c:1930
#, c-format
msgid "GNU bash, version %s-(%s)\n"
msgstr "GNU bash, leagan %s-(%s)\n"
-#: shell.c:1981
+#: shell.c:1931
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
@@ -1678,52 +1622,49 @@ msgstr ""
"Úsáid:\t%s [rogha fada GNU] [rogha] ...\n"
"\t%s [rogha fada GNU] [rogha] comhad_scripte ...\n"
-#: shell.c:1983
+#: shell.c:1933
msgid "GNU long options:\n"
msgstr "Roghanna fada GNU:\n"
-#: shell.c:1987
+#: shell.c:1937
msgid "Shell options:\n"
msgstr "Roghanna blaoisce:\n"
-#: shell.c:1988
+#: shell.c:1938
msgid "\t-ilrsD or -c command or -O shopt_option\t\t(invocation only)\n"
msgstr "\t-ilrsD nó -c ordú nó -O rogha_shopt\t\t(glaoch amháin)\n"
-#: shell.c:2003
+#: shell.c:1953
#, c-format
msgid "\t-%s or -o option\n"
msgstr "\t-%s nó -o rogha\n"
-#: shell.c:2009
+#: shell.c:1959
#, 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"
+msgstr "Úsáid %s -c 'help set' le haghaidh tuilleadh eolais faoi roghanna blaoisce.\n"
-#: shell.c:2010
+#: shell.c:1960
#, 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"
+msgstr "Úsáid '%s -c help' le haghaidh tuilleadh eolais faoi orduithe ionsuite blaoisce.\n"
-#: shell.c:2011
+#: shell.c:1961
#, 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"
-#: shell.c:2013
+#: shell.c:1963
#, c-format
msgid "bash home page: <http://www.gnu.org/software/bash>\n"
msgstr "leathanach baile bash: <http://www.gnu.org/software/bash>\n"
-#: shell.c:2014
+#: shell.c:1964
#, c-format
msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
msgstr "Cabhair ghinearálta le bogearraí GNU: <http://www.gnu.org/gethelp/>\n"
-#: sig.c:695
+#: sig.c:707
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr "sigprocmask: %d: oibríocht neamhbhailí"
@@ -1897,21 +1838,21 @@ msgstr "Comhartha neamhaithnid #"
msgid "Unknown Signal #%d"
msgstr "Comhartha neamhaithnid #%d"
-#: subst.c:1450 subst.c:1641
+#: subst.c:1445 subst.c:1608
#, c-format
msgid "bad substitution: no closing `%s' in %s"
msgstr "Drochionadú: níl '%s' dúnta i %s"
-#: subst.c:3209
+#: subst.c:3154
#, c-format
msgid "%s: cannot assign list to array member"
msgstr "%s: ní féidir liosta a shannadh go ball eagair."
-#: subst.c:5734 subst.c:5750
+#: subst.c:5740 subst.c:5756
msgid "cannot make pipe for process substitution"
msgstr "Ní féidir píopa a dhéanamh le haghaidh ionadaíocht próisis."
-#: subst.c:5796
+#: subst.c:5798
msgid "cannot make child for process substitution"
msgstr "Ní féidir macphróiseas a dhéanamh le haghaidh ionadaíocht próisis."
@@ -1928,81 +1869,69 @@ msgstr "Ní féidir píopa ainmnithe %s a oscailt le haghaidh scríofa."
#: subst.c:5873
#, 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."
+msgstr "Ní féidir an píopa ainmnithe %s a dhúbailt mar thuairisceoir comhaid %d."
-#: subst.c:5990
+#: subst.c:5959
msgid "command substitution: ignored null byte in input"
msgstr "ionadú orduithe: tugadh neamhaird ar ghiotán neamhnitheach san ionchur"
-#: subst.c:6121
+#: subst.c:6083
msgid "cannot make pipe for command substitution"
msgstr "Ní féidir píopa a dhéanamh le haghaidh ionadú ordaithe."
-#: subst.c:6164
+#: subst.c:6127
msgid "cannot make child for command substitution"
msgstr "Ní féidir macphróiseas a dhéanamh le haghaidh ionadú ordaithe."
-#: subst.c:6190
+#: subst.c:6153
msgid "command_substitute: cannot duplicate pipe as fd 1"
-msgstr ""
-"command_substitute: ní feidir an píopa a dhúbailt mar thuairisceoir comhaid "
-"1."
+msgstr "command_substitute: ní feidir an píopa a dhúbailt mar thuairisceoir comhaid 1."
-#: subst.c:6641 subst.c:9483
+#: subst.c:6580 subst.c:8939
#, c-format
msgid "%s: invalid variable name for name reference"
msgstr "'%s': ainm neamhbhailí athróige le haghaidh tagairt ainm"
-#: subst.c:6737 subst.c:6755 subst.c:6903
+#: subst.c:6666 subst.c:8351 subst.c:8371
+#, c-format
+msgid "%s: bad substitution"
+msgstr "%s: drochionadú"
+
+#: subst.c:6800
#, c-format
msgid "%s: invalid indirect expansion"
msgstr "%s: fairsingiú neamhbhailí indíreach"
-#: subst.c:6771 subst.c:6910
+#: subst.c:6807
#, c-format
msgid "%s: invalid variable name"
msgstr "%s: ainm neamhbhailí athróige"
-#: subst.c:6962
-#, fuzzy, c-format
-msgid "%s: parameter not set"
-msgstr "%s: paraiméadar neamhnitheach nó gan socrú."
-
-#: subst.c:6964
+#: subst.c:6854
#, c-format
msgid "%s: parameter null or not set"
msgstr "%s: paraiméadar neamhnitheach nó gan socrú."
-#: subst.c:7201 subst.c:7216
+#: subst.c:7089 subst.c:7104
#, c-format
msgid "%s: substring expression < 0"
msgstr "%s: slonn fotheaghráin < 0"
-#: subst.c:8839 subst.c:8860
-#, c-format
-msgid "%s: bad substitution"
-msgstr "%s: drochionadú"
-
-#: subst.c:8948
+#: subst.c:8450
#, c-format
msgid "$%s: cannot assign in this way"
msgstr "$%s: ní féidir sannadh mar seo."
-#: subst.c:9346
-msgid ""
-"future versions of the shell will force evaluation as an arithmetic "
-"substitution"
-msgstr ""
-"i leaganacha den bhlaosc amach anseo, beidh luachálú mar ionadú uimhríochta "
-"éigeantach"
+#: subst.c:8802
+msgid "future versions of the shell will force evaluation as an arithmetic substitution"
+msgstr "i leaganacha den bhlaosc amach anseo, beidh luachálú mar ionadú uimhríochta éigeantach"
-#: subst.c:9903
+#: subst.c:9349
#, c-format
msgid "bad substitution: no closing \"`\" in %s"
msgstr "drochionadú: níl '`' dúnta i %s"
-#: subst.c:10907
+#: subst.c:10298
#, c-format
msgid "no match: %s"
msgstr "gan meaitseáil: %s"
@@ -2025,108 +1954,105 @@ msgstr "Ag súil le ')'"
msgid "`)' expected, found %s"
msgstr "Ag súil le ')', ach fuarthas %s."
-#: test.c:282 test.c:748 test.c:751
+#: test.c:282 test.c:744 test.c:747
#, c-format
msgid "%s: unary operator expected"
msgstr "%s: ag súil le hoibreoir aonártha."
-#: test.c:469 test.c:791
+#: test.c:469 test.c:787
#, c-format
msgid "%s: binary operator expected"
msgstr "%s: ag súil le hoibreoir dénártha."
-#: test.c:873
+#: test.c:869
msgid "missing `]'"
msgstr "']' ar iarraidh"
-#: trap.c:216
+#: trap.c:224
msgid "invalid signal number"
msgstr "Uimhir chomhartha neamhbhailí"
-#: trap.c:379
+#: trap.c:387
#, 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:383
+#: trap.c:391
#, c-format
-msgid ""
-"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
-msgstr ""
-"run_pending_traps: is SIG_DFL an láimhseálaí comharthaí; %d (%s) á "
-"athsheoladh chugam féin."
+msgid "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
+msgstr "run_pending_traps: is SIG_DFL an láimhseálaí comharthaí; %d (%s) á athsheoladh chugam féin."
-#: trap.c:439
+#: trap.c:447
#, c-format
msgid "trap_handler: bad signal %d"
msgstr "trap_handler: droch-chomhartha %d"
-#: variables.c:399
+#: variables.c:409
#, c-format
msgid "error importing function definition for `%s'"
msgstr "Earráid agus sainmhíniú na feidhme '%s' á iompórtáil."
-#: variables.c:801
+#: variables.c:814
#, 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:2512
+#: variables.c:2413
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:2531
+#: variables.c:2432
#, c-format
msgid "%s: variable may not be assigned value"
msgstr "%s: ní féidir luach a shannadh ar an athróg"
-#: variables.c:3246
+#: variables.c:3043
#, c-format
msgid "%s: assigning integer to name reference"
msgstr "%s: slánuimhir a sannadh go tagairt ainm"
-#: variables.c:4149
+#: variables.c:3940
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:4437
+#: variables.c:4218
#, c-format
msgid "%s has null exportstr"
msgstr "Tá teaghrán easpórtála neamhnitheach ag %s"
-#: variables.c:4442 variables.c:4451
+#: variables.c:4223 variables.c:4232
#, 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:4457
+#: variables.c:4238
#, c-format
msgid "no `=' in exportstr for %s"
msgstr "Níl '=' sa teaghrán easpórtála le haghaidh %s."
-#: variables.c:4911
+#: variables.c:4684
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:4924
+#: variables.c:4697
msgid "pop_var_context: no global_variables context"
msgstr "pop_var_context: níl comhthéacs global_variables ann"
-#: variables.c:4999
+#: variables.c:4772
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:5862
+#: variables.c:5619
#, c-format
msgid "%s: %s: cannot open as FILE"
msgstr "%s: %s: ní féidir a oscailt mar CHOMHAD"
-#: variables.c:5867
+#: variables.c:5624
#, c-format
msgid "%s: %s: invalid value for trace file descriptor"
msgstr "%s: %s: luach neamhbhailí le haghaidh tuairisceoir comhaid rianaithe"
-#: variables.c:5912
+#: variables.c:5669
#, c-format
msgid "%s: %s: compatibility value out of range"
msgstr "%s: %s: luach comhoiriúnachta as raon"
@@ -2136,12 +2062,8 @@ msgid "Copyright (C) 2016 Free Software Foundation, Inc."
msgstr "Cóipcheart © 2016 Free Software Foundation, Inc."
#: version.c:47 version2.c:47
-msgid ""
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>\n"
-msgstr ""
-"Ceadúnas GPLv3+: GNU GPL leagan 3 nó níos déanaí <http://gnu.org/licenses/"
-"gpl.html>\n"
+msgid "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+msgstr "Ceadúnas GPLv3+: GNU GPL leagan 3 nó níos déanaí <http://gnu.org/licenses/gpl.html>\n"
#: version.c:86 version2.c:86
#, c-format
@@ -2154,26 +2076,24 @@ msgstr "Is saorbhogearra é seo; tá cead agat é a athrú agus é a athdháile
#: version.c:92 version2.c:92
msgid "There is NO WARRANTY, to the extent permitted by law."
-msgstr ""
-"Ní ghabhann baránta ar bith leis, sa mhéid is atá sin ceadaithe de réir dlí."
+msgstr "Ní ghabhann baránta ar bith leis, sa mhéid is atá sin ceadaithe de réir dlí."
-#: xmalloc.c:93
+#: xmalloc.c:91
#, c-format
msgid "%s: cannot allocate %lu bytes (%lu bytes allocated)"
msgstr "%s: ní féidir %lu beart a leithdháileadh (%lu beart leithdháilte)"
-#: xmalloc.c:95
+#: xmalloc.c:93
#, c-format
msgid "%s: cannot allocate %lu bytes"
msgstr "%s: ní féidir %lu beart a leithdháileadh"
-#: xmalloc.c:165
+#: xmalloc.c:163
#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr ""
-"%s: %s:%d: ní féidir %lu beart a leithdháileadh (%lu beart leithdháilte)"
+msgstr "%s: %s:%d: ní féidir %lu beart a leithdháileadh (%lu beart leithdháilte)"
-#: xmalloc.c:167
+#: xmalloc.c:165
#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes"
msgstr "%s: %s:%d: ní féidir %lu beart a leithdháileadh"
@@ -2187,13 +2107,8 @@ msgid "unalias [-a] name [name ...]"
msgstr "unalias [-a] ainm [ainm ...]"
#: builtins.c:53
-msgid ""
-"bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-"
-"x keyseq:shell-command] [keyseq:readline-function or readline-command]"
-msgstr ""
-"bind [-lpsvPSVX] [-m MAPA_EOCHRACH] [-f AINM_CHOMHAID] [-q AINM] [-u AINM] [-"
-"r SRAITH_EOCHRACHA] [-x SRAITH_EOCHRACHA:ORDÚ_BLAOISCE] [SRAITH_EOCHRACHA:"
-"GNÃOMH_readline nó ORDÚ_readline]"
+msgid "bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-x keyseq:shell-command] [keyseq:readline-function or readline-command]"
+msgstr "bind [-lpsvPSVX] [-m MAPA_EOCHRACH] [-f AINM_CHOMHAID] [-q AINM] [-u AINM] [-r SRAITH_EOCHRACHA] [-x SRAITH_EOCHRACHA:ORDÚ_BLAOISCE] [SRAITH_EOCHRACHA:GNÃOMH_readline nó ORDÚ_readline]"
#: builtins.c:56
msgid "break [n]"
@@ -2269,8 +2184,7 @@ msgstr "logout [n]"
#: builtins.c:105
msgid "fc [-e ename] [-lnr] [first] [last] or fc -s [pat=rep] [command]"
-msgstr ""
-"fc [-e AINM_E] [-lnr] [CÉAD] [DEIREANACH] nó fc -s [PATRÚN=IONADAÃ] [ORDÚ]"
+msgstr "fc [-e AINM_E] [-lnr] [CÉAD] [DEIREANACH] nó fc -s [PATRÚN=IONADAÃ] [ORDÚ]"
#: builtins.c:109
msgid "fg [job_spec]"
@@ -2289,12 +2203,8 @@ msgid "help [-dms] [pattern ...]"
msgstr "help [-dms] [PATRÚN ...]"
#: builtins.c:123
-msgid ""
-"history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg "
-"[arg...]"
-msgstr ""
-"history [-c] [-d SEACH_CHUR] [n] nó history -anrw [COMHADAINM] nó history -"
-"ps ARGÓINT [ARGÓINT...]"
+msgid "history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]"
+msgstr "history [-c] [-d SEACH_CHUR] [n] nó history -anrw [COMHADAINM] nó history -ps ARGÓINT [ARGÓINT...]"
#: builtins.c:127
msgid "jobs [-lnprs] [jobspec ...] or jobs -x command [args]"
@@ -2305,25 +2215,16 @@ msgid "disown [-h] [-ar] [jobspec ... | pid ...]"
msgstr "disown [-h] [-ar] [SONRÚ_TAISC ... | AITHEANTAS_PRÓISIS ...]"
#: builtins.c:134
-msgid ""
-"kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l "
-"[sigspec]"
-msgstr ""
-"kill [-s SONRÚ_COMHARTHA | -n UIMHIR_CHOMHARTHA | -SONRÚ_COMHARTHA] "
-"AITHEANTAS_PRÓISIS | SONRÚ_TAISC ... nó kill -l [SONRÚ_COMHARTHA]"
+msgid "kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]"
+msgstr "kill [-s SONRÚ_COMHARTHA | -n UIMHIR_CHOMHARTHA | -SONRÚ_COMHARTHA] AITHEANTAS_PRÓISIS | SONRÚ_TAISC ... nó kill -l [SONRÚ_COMHARTHA]"
#: builtins.c:136
msgid "let arg [arg ...]"
msgstr "let argóint [argóint ...]"
#: builtins.c:138
-msgid ""
-"read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p "
-"prompt] [-t timeout] [-u fd] [name ...]"
-msgstr ""
-"read [-ers] [-a eagar] [-d teormharcóir] [-i téacs] [-n líon_carachtar] [-N "
-"líon_carachtar] [-p leid] [-t teorainn_ama] [-u tuairisceoir_comhaid] "
-"[ainm ...]"
+msgid "read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]"
+msgstr "read [-ers] [-a eagar] [-d teormharcóir] [-i téacs] [-n líon_carachtar] [-N líon_carachtar] [-p leid] [-t teorainn_ama] [-u tuairisceoir_comhaid] [ainm ...]"
#: builtins.c:140
msgid "return [n]"
@@ -2386,8 +2287,7 @@ msgid "umask [-p] [-S] [mode]"
msgstr "umask [-p] [-S] [MÓD]"
#: builtins.c:177
-#, fuzzy
-msgid "wait [-fn] [id ...]"
+msgid "wait [-n] [id ...]"
msgstr "wait [-n] [AITHEANTAS ...]"
#: builtins.c:181
@@ -2415,12 +2315,8 @@ msgid "case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac"
msgstr "case FOCAL in [PATRÚN [| PATRÚN]...) ORDUITHE ;;]... esac"
#: builtins.c:194
-msgid ""
-"if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else "
-"COMMANDS; ] fi"
-msgstr ""
-"if ORDUITHE; then ORDUITHE; [ elif ORDUITHE; then ORDUITHE; ]... [ else "
-"ORDUITHE; ] fi"
+msgid "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMMANDS; ] fi"
+msgstr "if ORDUITHE; then ORDUITHE; [ elif ORDUITHE; then ORDUITHE; ]... [ else ORDUITHE; ] fi"
#: builtins.c:196
msgid "while COMMANDS; do COMMANDS; done"
@@ -2479,44 +2375,24 @@ msgid "printf [-v var] format [arguments]"
msgstr "printf [-v athróg] formáid [argóintí]"
#: builtins.c:231
-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 rogha] [-A gníomh] [-G patrún] [-W "
-"liosta_focal] [-F feidhm] [-C ordú] [-X patrún_scagaire] [-P réimír] [-S "
-"iarmhír] [ainm ...]"
+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 rogha] [-A gníomh] [-G patrún] [-W liosta_focal] [-F feidhm] [-C ordú] [-X patrún_scagaire] [-P réimír] [-S iarmhír] [ainm ...]"
#: builtins.c:235
-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 rogha] [-A gníomh] [-G patrún] [-W "
-"liosta_focal] [-F feidhm] [-C ordú] [-X patrún_scagaire] [-P réimír] [-S "
-"iarmhír] [focal]"
+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 rogha] [-A gníomh] [-G patrún] [-W liosta_focal] [-F feidhm] [-C ordú] [-X patrún_scagaire] [-P réimír] [-S iarmhír] [focal]"
#: builtins.c:239
msgid "compopt [-o|+o option] [-DE] [name ...]"
msgstr "compopt [-o|+o rogha] [-DE] [ainm ...]"
#: builtins.c:242
-msgid ""
-"mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
-msgstr ""
-"mapfile [-d TEORMHARCÓIR] [-n COMHAIREAMH] [-O BUNÚS] [-s COMHAIREAMH] [-t] "
-"[-u TUAIRISCEOIR_COMHAID] [-C AISGHLAOCH] [-c CANDAM] [EAGAR]"
+msgid "mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
+msgstr "mapfile [-d TEORMHARCÓIR] [-n COMHAIREAMH] [-O BUNÚS] [-s COMHAIREAMH] [-t] [-u TUAIRISCEOIR_COMHAID] [-C AISGHLAOCH] [-c CANDAM] [EAGAR]"
#: builtins.c:244
-#, fuzzy
-msgid ""
-"readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
-msgstr ""
-"readarray [-n COMHAIREAMH] [-O BUNÚS] [-s COMHAIREAMH] [-t] [-u "
-"TUAIRISCEOIR_COMHAID] [-C AISGHLAOCH] [-c CANDAM] [EAGAR]"
+msgid "readarray [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
+msgstr "readarray [-n COMHAIREAMH] [-O BUNÚS] [-s COMHAIREAMH] [-t] [-u TUAIRISCEOIR_COMHAID] [-C AISGHLAOCH] [-c CANDAM] [EAGAR]"
#: builtins.c:256
msgid ""
@@ -2533,8 +2409,7 @@ msgid ""
" -p\tprint all defined aliases in a reusable format\n"
" \n"
" Exit Status:\n"
-" alias returns true unless a NAME is supplied for which no alias has "
-"been\n"
+" alias returns true unless a NAME is supplied for which no alias has been\n"
" defined."
msgstr ""
"Sainigh nó taispeáin ailiasanna.\n"
@@ -2580,30 +2455,25 @@ msgid ""
" Options:\n"
" -m keymap Use KEYMAP as the keymap for the duration of this\n"
" command. Acceptable keymap names are emacs,\n"
-" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-"
-"move,\n"
+" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,\n"
" vi-command, and vi-insert.\n"
" -l List names of functions.\n"
" -P List function names and bindings.\n"
" -p List functions and bindings in a form that can be\n"
" reused as input.\n"
-" -S List key sequences that invoke macros and their "
-"values\n"
-" -s List key sequences that invoke macros and their "
-"values\n"
+" -S List key sequences that invoke macros and their values\n"
+" -s List key sequences that invoke macros and their values\n"
" in a form that can be reused as input.\n"
" -V List variable names and values\n"
" -v List variable names and values in a form that can\n"
" be reused as input.\n"
" -q function-name Query about which keys invoke the named function.\n"
-" -u function-name Unbind all keys which are bound to the named "
-"function.\n"
+" -u function-name Unbind all keys which are bound to the named function.\n"
" -r keyseq Remove the binding for KEYSEQ.\n"
" -f filename Read key bindings from FILENAME.\n"
" -x keyseq:shell-command\tCause SHELL-COMMAND to be executed when\n"
" \t\t\t\tKEYSEQ is entered.\n"
-" -X List key sequences bound with -x and associated "
-"commands\n"
+" -X List key sequences bound with -x and associated commands\n"
" in a form that can be reused as input.\n"
" \n"
" Exit Status:\n"
@@ -2640,8 +2510,7 @@ msgid ""
msgstr ""
"Lean ar aghaidh le lúba for, while nó until.\n"
" \n"
-" Tosaigh an chéad atriall eile den lúb mhórthimpeall 'for', 'while' nó "
-"'until'.\n"
+" Tosaigh an chéad atriall eile den lúb mhórthimpeall 'for', 'while' nó 'until'.\n"
" Má shonraítear N, tosaigh an Nú lúb mhórthimpeall.\n"
" \n"
" Stádas Scortha:\n"
@@ -2653,8 +2522,7 @@ msgid ""
" \n"
" Execute SHELL-BUILTIN with arguments ARGs without performing command\n"
" lookup. This is useful when you wish to reimplement a shell builtin\n"
-" as a shell function, but need to execute the builtin within the "
-"function.\n"
+" as a shell function, but need to execute the builtin within the function.\n"
" \n"
" Exit Status:\n"
" Returns the exit status of SHELL-BUILTIN, or false if SHELL-BUILTIN is\n"
@@ -2668,8 +2536,7 @@ msgstr ""
" laistigh den fheidhm.\n"
" \n"
" Stádas Scortha:\n"
-" Aischuirtear stádas scortha ORDÚ-IONSUITE-BLAOISCE, nó falsa sa chás "
-"nach\n"
+" Aischuirtear stádas scortha ORDÚ-IONSUITE-BLAOISCE, nó falsa sa chás nach\n"
" bhfuil ORDÚ-IONSUITE-BLAOISCE ina ordú ionsuite blaoisce."
#: builtins.c:369
@@ -2690,38 +2557,30 @@ msgstr ""
"Aischuir comhthéacs an ghlaoigh reatha fhoghnáthaimh.\n"
" \n"
" Gan SLONN, aischuirtear '$líne $ainm_comhaid'. Le SLONN, aischuirtear\n"
-" '$líne $foghnáthamh $ainm_comhaid'; is féidir lorg cruaiche a sholáthar "
-"leis an\n"
+" '$líne $foghnáthamh $ainm_comhaid'; is féidir lorg cruaiche a sholáthar leis an\n"
" fhaisnéis bhreise seo.\n"
" \n"
" Taispeánann an luach atá ag SLONN líon na bhfrámaí glaoigh le dul siar\n"
" roimh an ceann reatha; fráma 0 an ceann atá ar barr.\n"
" \n"
" Stádas Scortha:\n"
-" Aischuirtear 0 ach sa chás nach bhfuil an bhlaosc ag rith feidhme "
-"blaoisce, nó\n"
+" Aischuirtear 0 ach sa chás nach bhfuil an bhlaosc ag rith feidhme blaoisce, nó\n"
" sa chás go bhfuil SLONN neamhbhailí."
#: builtins.c:387
msgid ""
"Change the shell working directory.\n"
" \n"
-" Change the current directory to DIR. The default DIR is the value of "
-"the\n"
+" Change the current directory to DIR. The default DIR is the value of the\n"
" HOME shell variable.\n"
" \n"
-" The variable CDPATH defines the search path for the directory "
-"containing\n"
-" DIR. Alternative directory names in CDPATH are separated by a colon "
-"(:).\n"
-" A null directory name is the same as the current directory. If DIR "
-"begins\n"
+" The variable CDPATH defines the search path for the directory containing\n"
+" DIR. Alternative directory names in CDPATH are separated by a colon (:).\n"
+" A null directory name is the same as the current directory. If DIR begins\n"
" with a slash (/), then CDPATH is not used.\n"
" \n"
-" If the directory is not found, and the shell option `cdable_vars' is "
-"set,\n"
-" the word is assumed to be a variable name. If that variable has a "
-"value,\n"
+" If the directory is not found, and the shell option `cdable_vars' is set,\n"
+" the word is assumed to be a variable name. If that variable has a value,\n"
" its value is used for DIR.\n"
" \n"
" Options:\n"
@@ -2737,13 +2596,11 @@ msgid ""
" \t\tattributes as a directory containing the file attributes\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
-" `..' is processed by removing the immediately previous pathname "
-"component\n"
+" `..' is processed by removing the immediately previous pathname component\n"
" back to a slash or the beginning of DIR.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed, and if $PWD is set successfully "
-"when\n"
+" Returns 0 if the directory is changed, and if $PWD is set successfully when\n"
" -P is used; non-zero otherwise."
msgstr ""
@@ -2772,8 +2629,7 @@ msgstr ""
" Mar réamhshocrú, oibríonn 'pwd' faoi mar a bheadh '-L' sonraithe.\n"
" \n"
" Stádas Scortha:\n"
-" Aischuirtear luach de 0 ach sa chás go dtugtar rogha neamhbhailí nó nach "
-"féidir\n"
+" Aischuirtear luach de 0 ach sa chás go dtugtar rogha neamhbhailí nó nach féidir\n"
" an chomhadlann reatha a léamh."
#: builtins.c:442
@@ -2821,8 +2677,7 @@ msgid ""
"Execute a simple command or display information about commands.\n"
" \n"
" Runs COMMAND with ARGS suppressing shell function lookup, or display\n"
-" information about the specified COMMANDs. Can be used to invoke "
-"commands\n"
+" information about the specified COMMANDs. Can be used to invoke commands\n"
" on disk when a function with the same name exists.\n"
" \n"
" Options:\n"
@@ -2837,20 +2692,17 @@ msgstr ""
"Rith ordú simplí nó taispeáin eolas maidir le horduithe.\n"
" \n"
" Ritear ORDÚ le hARGÓINTà gan cuardach feidhme blaoisce, nó taispeántar\n"
-" eolas maidir leis na horduithe sonraithe. Is féidir é seo a úsáid chun "
-"orduithe ar\n"
+" eolas maidir leis na horduithe sonraithe. Is féidir é seo a úsáid chun orduithe ar\n"
" diosca a rith má tá feidhm leis an ainm céanna ann.\n"
" \n"
" Roghanna:\n"
-" -p\túsáidtear luach réamhshocraithe le haghaidh CONAIR a aimseoidh go "
-"cinnte\n"
+" -p\túsáidtear luach réamhshocraithe le haghaidh CONAIR a aimseoidh go cinnte\n"
" \tgach ceann de na gnáthríomhchláir áirge.\n"
" -v\ttaispeántar cur síos ar ORDÚ cosúil leis an ordú ionsuite 'type'\n"
" -V\ttaispeántar cur síos níos faide ar gach ORDÚ\n"
" \n"
" Stádas Scortha:\n"
-" Aischuirtear an stádas scortha ó ORDÚ, nó teip sa chás nach n-aimsítear "
-"ORDÚ."
+" Aischuirtear an stádas scortha ó ORDÚ, nó teip sa chás nach n-aimsítear ORDÚ."
#: builtins.c:490
msgid ""
@@ -2871,11 +2723,11 @@ msgid ""
" -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 the value of each NAME to lower case on assignment\n"
+" -l\tto convert NAMEs to lower case on assignment\n"
" -n\tmake NAME a reference to the variable named by its value\n"
" -r\tto make NAMEs readonly\n"
" -t\tto make NAMEs have the `trace' attribute\n"
-" -u\tto convert the value of each NAME to upper case on assignment\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"
@@ -2883,8 +2735,7 @@ msgid ""
" Variables with the integer attribute have arithmetic evaluation (see\n"
" the `let' command) performed when the variable is assigned a value.\n"
" \n"
-" When used in a function, `declare' makes NAMEs local, as with the "
-"`local'\n"
+" When used in a function, `declare' makes NAMEs local, as with the `local'\n"
" command. The `-g' option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
@@ -2918,26 +2769,21 @@ msgid ""
msgstr ""
"Sainigh athróga logánta.\n"
" \n"
-" Cruthaítear athróg logánta darbh ainm AINM, agus cuirtear LUACH leis. "
-"Is\n"
-" féidir le ROGHA a bheith ceann ar bith de na roghanna a ghlacann "
-"'declare' leo.\n"
+" Cruthaítear athróg logánta darbh ainm AINM, agus cuirtear LUACH leis. Is\n"
+" féidir le ROGHA a bheith ceann ar bith de na roghanna a ghlacann 'declare' leo.\n"
" \n"
-" Ní féidir athróga logánta a úsáid ach laistigh de fheidhm. Tá siad "
-"infheicthe\n"
+" Ní féidir athróga logánta a úsáid ach laistigh de fheidhm. Tá siad infheicthe\n"
" san fheidhm ina shainítear iad agus a mic amháin.\n"
" \n"
" Stádas Scortha:\n"
-" Aischuirtear rath ach sa chás go dtugtar rogha neamhbhailí, nó go "
-"dtarlaíonn earráid,\n"
+" Aischuirtear rath ach sa chás go dtugtar rogha neamhbhailí, nó go dtarlaíonn earráid,\n"
" nó go bhfuil an bhlaosc ag rith feidhme."
#: builtins.c:555
msgid ""
"Write arguments to the standard output.\n"
" \n"
-" Display the ARGs, separated by a single space character and followed by "
-"a\n"
+" Display the ARGs, separated by a single space character and followed by a\n"
" newline, on the standard output.\n"
" \n"
" Options:\n"
@@ -2967,8 +2813,7 @@ msgid ""
msgstr ""
"Scríobh na hargóintí ar an ngnáthaschur.\n"
" \n"
-" Taispeántar na hARGÓINTà ar an ngnáthaschur le carachtair spáis eatarthu "
-"agus\n"
+" Taispeántar na hARGÓINTà ar an ngnáthaschur le carachtair spáis eatarthu agus\n"
" líne nua ina ndiadh.\n"
" \n"
" Roghanna:\n"
@@ -2987,11 +2832,9 @@ msgstr ""
" \\t\ttáib chothrománach\n"
" \\v\ttáib ingearach\n"
" \\\\\tcúlslais\n"
-" \\0nnn\tan carachtar leis an gcód ASCII NNN (ochtnártha). Is féidir le "
-"NNN\n"
+" \\0nnn\tan carachtar leis an gcód ASCII NNN (ochtnártha). Is féidir le NNN\n"
" \tbheith 0 go 3 digit ochtnártha ar fhad\n"
-" \\xHH\tan carachtar ocht ngiotán leis an luach HH (heicsidheachúlach). "
-"Is\n"
+" \\xHH\tan carachtar ocht ngiotán leis an luach HH (heicsidheachúlach). Is\n"
" \tféidir le HH bheith 1 nó 2 digit heicsidheachúlach ar fhad.\n"
" \n"
" Stádas Scortha:\n"
@@ -3050,8 +2893,7 @@ msgstr ""
msgid ""
"Execute arguments as a shell command.\n"
" \n"
-" Combine ARGs into a single string, use the result as input to the "
-"shell,\n"
+" Combine ARGs into a single string, use the result as input to the shell,\n"
" and execute the resulting commands.\n"
" \n"
" Exit Status:\n"
@@ -3063,8 +2905,7 @@ msgstr ""
" an bhlaosc, agus rith na horduithe toraidh.\n"
" \n"
" Stádas Scortha:\n"
-" Aischuirtear stádas scortha an ordaithe, nó rath más ordú neamhnitheach "
-"é."
+" Aischuirtear stádas scortha an ordaithe, nó rath más ordú neamhnitheach é."
#: builtins.c:646
msgid ""
@@ -3112,8 +2953,7 @@ msgid ""
"Replace the shell with the given command.\n"
" \n"
" Execute COMMAND, replacing this shell with the specified program.\n"
-" ARGUMENTS become the arguments to COMMAND. If COMMAND is not "
-"specified,\n"
+" ARGUMENTS become the arguments to COMMAND. If COMMAND is not specified,\n"
" any redirections take effect in the current shell.\n"
" \n"
" Options:\n"
@@ -3121,18 +2961,15 @@ msgid ""
" -c\texecute COMMAND with an empty environment\n"
" -l\tplace a dash in the zeroth argument to COMMAND\n"
" \n"
-" If the command cannot be executed, a non-interactive shell exits, "
-"unless\n"
+" If the command cannot be executed, a non-interactive shell exits, unless\n"
" the shell option `execfail' is set.\n"
" \n"
" Exit Status:\n"
-" Returns success unless COMMAND is not found or a redirection error "
-"occurs."
+" Returns success unless COMMAND is not found or a redirection error occurs."
msgstr ""
"Cuir an t-ordú sonraithe in áit na blaoisce.\n"
" \n"
-" Ritear ORDÚ, agus an ríomhchlár sonraithe curtha in áit na blaoisce "
-"seo.\n"
+" Ritear ORDÚ, agus an ríomhchlár sonraithe curtha in áit na blaoisce seo.\n"
" Úsáidtear na hARGÓINTà mar argóintí don ORDÚ. Gan ÓRDÚ, cuirtear\n"
" atreoruithe i bhfeidhm sa bhlaosc reatha.\n"
" \n"
@@ -3141,8 +2978,7 @@ msgstr ""
" -c\tritear ORDÚ le timpeallacht fholamh\n"
" -l\tcuirtear fleiscín mar argóint uimhir a náid don ORDÚ.\n"
" \n"
-" Sa chás nach féidir an t-ordú a rith, scoirfidh blaosc "
-"neamhidirghníomhach,\n"
+" Sa chás nach féidir an t-ordú a rith, scoirfidh blaosc neamhidirghníomhach,\n"
" mura bhfuil an rogha blaoisce 'execfail' socruithe.\n"
" \n"
" Stádas Scortha:\n"
@@ -3165,8 +3001,7 @@ msgstr ""
msgid ""
"Exit a login shell.\n"
" \n"
-" Exits a login shell with exit status N. Returns an error if not "
-"executed\n"
+" Exits a login shell with exit status N. Returns an error if not executed\n"
" in a login shell."
msgstr ""
"Scoir de bhlaosc logála isteach.\n"
@@ -3178,15 +3013,13 @@ msgstr ""
msgid ""
"Display or execute commands from the history list.\n"
" \n"
-" fc is used to list or edit and re-execute commands from the history "
-"list.\n"
+" fc is used to list or edit and re-execute commands from the history list.\n"
" FIRST and LAST can be numbers specifying the range, or FIRST can be a\n"
" string, which means the most recent command beginning with that\n"
" string.\n"
" \n"
" Options:\n"
-" -e ENAME\tselect which editor to use. Default is FCEDIT, then "
-"EDITOR,\n"
+" -e ENAME\tselect which editor to use. Default is FCEDIT, then EDITOR,\n"
" \t\tthen vi\n"
" -l \tlist lines instead of editing\n"
" -n\tomit line numbers when listing\n"
@@ -3200,21 +3033,17 @@ msgid ""
" the last command.\n"
" \n"
" Exit Status:\n"
-" Returns success or status of executed command; non-zero if an error "
-"occurs."
+" Returns success or status of executed command; non-zero if an error occurs."
msgstr ""
"Taispeáin nó rith orduithe ón liosta staire.\n"
" \n"
-" Úsáidtear fc chun orduithe ón liosta staire a liostú, a chur in eagar, "
-"nó a ath-rith.\n"
+" Úsáidtear fc chun orduithe ón liosta staire a liostú, a chur in eagar, nó a ath-rith.\n"
" Más uimhreacha iad CÉAD agus DEIREANACH, sonraíonn siad an raon, nó is\n"
-" féidir le CÉAD bheith ina theaghrán, rud a chiallaíonn an t-ordú is "
-"deireanaí a\n"
+" féidir le CÉAD bheith ina theaghrán, rud a chiallaíonn an t-ordú is deireanaí a\n"
" thosaíonn leis an teaghrán sin.\n"
" \n"
" Roghanna:\n"
-" -e AINM_E\troghnaigh an clár eagarthóra atá le húsáid. FCEDIT an "
-"réamhshocrú,\n"
+" -e AINM_E\troghnaigh an clár eagarthóra atá le húsáid. FCEDIT an réamhshocrú,\n"
" \tansin EDITOR, agus ansin vi.\n"
" -n\tfág uimhreacha na línte ar lár agus liosta á thaispeáint\n"
" -r\taisiompaigh ord na línte (.i. liostaigh an ceann is nuaí ar dtús)\n"
@@ -3222,12 +3051,10 @@ msgstr ""
" San fhormáid 'fc -s [PATRÚN=IONADAà ...] [ORDÚ]', ath-ritear ORDÚ\n"
" tar éis an t-ionadú SEAN=NUA a dhéanamh.\n"
" \n"
-" Ailias úsáideach is ea r='fc -s', sa chaoi go ritheann 'r cc' an t-ordú "
-"is deireanaí\n"
+" Ailias úsáideach is ea r='fc -s', sa chaoi go ritheann 'r cc' an t-ordú is deireanaí\n"
" a thosaíonn le 'cc', agus ath-ritheann 'r' an t-ordú is deireanaí.\n"
" \n"
-" Stádas Scortha:n\\ Aischuirtear rath nó stádas an ordaithe rite; "
-"neamh-nialas má tharlaíonn earráid."
+" Stádas Scortha:n\\ Aischuirtear rath nó stádas an ordaithe rite; neamh-nialas má tharlaíonn earráid."
#: builtins.c:758
msgid ""
@@ -3242,23 +3069,18 @@ msgid ""
msgstr ""
"Bog tasc go dtí an tulra.\n"
" \n"
-" Cuirtear an tasc a shonraítear le SONRÚ_TASC sa tulra agus é mar an tasc "
-"reatha.\n"
-" Mura bhfuil SONRÚ_TASC ann, úsáidtear cibé tasc atá reatha de réir na "
-"blaoisce.\n"
+" Cuirtear an tasc a shonraítear le SONRÚ_TASC sa tulra agus é mar an tasc reatha.\n"
+" Mura bhfuil SONRÚ_TASC ann, úsáidtear cibé tasc atá reatha de réir na blaoisce.\n"
" \n"
" Stádas Scortha:\n"
-" Aischuirtear stádas an ordaithe a cuireadh sa tulra, nó teip má "
-"tharlaíonn earráid."
+" Aischuirtear stádas an ordaithe a cuireadh sa tulra, nó teip má tharlaíonn earráid."
#: builtins.c:773
msgid ""
"Move jobs to the background.\n"
" \n"
-" Place the jobs identified by each JOB_SPEC in the background, as if "
-"they\n"
-" had been started with `&'. If JOB_SPEC is not present, the shell's "
-"notion\n"
+" Place the jobs identified by each JOB_SPEC in the background, as if they\n"
+" had been started with `&'. If JOB_SPEC is not present, the shell's notion\n"
" of the current job is used.\n"
" \n"
" Exit Status:\n"
@@ -3266,10 +3088,8 @@ msgid ""
msgstr ""
"Bog tascanna go dtí an cúlra.\n"
" \n"
-" Cuirtear an tasc a shonraítear le SONRÚ_TASC sa chúlra cosúil le é a "
-"thosú le '&'.\n"
-" Mura bhfuil SONRÚ_TASC ann, úsáidtear cibé tasc atá reatha de réir na "
-"blaoisce.\n"
+" Cuirtear an tasc a shonraítear le SONRÚ_TASC sa chúlra cosúil le é a thosú le '&'.\n"
+" Mura bhfuil SONRÚ_TASC ann, úsáidtear cibé tasc atá reatha de réir na blaoisce.\n"
" \n"
" Stádas Scortha:\n"
" Aischuirtear rath ach sa chás go dtarlaíonn earráid nó nach bhfuil\n"
@@ -3280,8 +3100,7 @@ msgid ""
"Remember or display program locations.\n"
" \n"
" Determine and remember the full pathname of each command NAME. If\n"
-" no arguments are given, information about remembered commands is "
-"displayed.\n"
+" no arguments are given, information about remembered commands is displayed.\n"
" \n"
" Options:\n"
" -d\tforget the remembered location of each NAME\n"
@@ -3300,7 +3119,6 @@ msgid ""
msgstr ""
#: builtins.c:812
-#, fuzzy
msgid ""
"Display information about builtin commands.\n"
" \n"
@@ -3315,24 +3133,21 @@ msgid ""
" \t\tPATTERN\n"
" \n"
" Arguments:\n"
-" PATTERN\tPattern specifying a help topic\n"
+" PATTERN\tPattern specifiying a help topic\n"
" \n"
" Exit Status:\n"
-" Returns success unless PATTERN is not found or an invalid option is "
-"given."
+" Returns success unless PATTERN is not found or an invalid option is given."
msgstr ""
"Taispeáin eolas maidir le horduithe ionsuite.\n"
" \n"
" Taispeántar achoimrí na n-orduithe ionsuite. Má shonraítear PATRÚN,\n"
-" taispeántar cabhair chuimsitheach faoi gach ordú a mheaitseálann "
-"PATRÚN;\n"
+" taispeántar cabhair chuimsitheach faoi gach ordú a mheaitseálann PATRÚN;\n"
" i gcásanna eile taispeántar liosta na n-ábhar cabhrach.\n"
" \n"
" Roghanna:\n"
" -d\ttaispeántar cur síos gairid ar gach ábhar\n"
" -m\ttaispeántar úsáid i bhformáid cosúil leis an lámhleabhar man(1)\n"
-" -s\tní thaispeántar ach achoimre gairid úsáide le haghaidh gach ábhair "
-"a\n"
+" -s\tní thaispeántar ach achoimre gairid úsáide le haghaidh gach ábhair a\n"
" \tmheatseálann PATRÚN\n"
" \n"
" Argóintí:\n"
@@ -3351,8 +3166,7 @@ msgid ""
" \n"
" Options:\n"
" -c\tclear the history list by deleting all of the entries\n"
-" -d offset\tdelete the history entry at position OFFSET. Negative\n"
-" \t\toffsets count back from the end of the history list\n"
+" -d offset\tdelete the history entry at position 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"
@@ -3370,14 +3184,13 @@ msgid ""
" \n"
" If the HISTTIMEFORMAT variable is set and not null, its value is used\n"
" as a format string for strftime(3) to print the time stamp associated\n"
-" with each displayed history entry. No time stamps are printed "
-"otherwise.\n"
+" with each displayed history entry. No time stamps are printed otherwise.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
-#: builtins.c:873
+#: builtins.c:872
msgid ""
"Display status of jobs.\n"
" \n"
@@ -3402,29 +3215,24 @@ msgid ""
msgstr ""
"Taispeáin stádas tascanna.\n"
" \n"
-" Liostáiltear na tascanna gníomhacha. Le SONRÚ_TAISC, ní thaispeántar ach "
-"an tasc sin.\n"
+" Liostáiltear na tascanna gníomhacha. Le SONRÚ_TAISC, ní thaispeántar ach an tasc sin.\n"
" Gan roghanna, taispeántar stádas gach tasc gníomhach.\n"
" \n"
" Roghanna:\n"
-" -l\tliostáiltear aitheantais na bpróiseas chomh maith leis an ngnáth-"
-"eolas.\n"
-" -n\tní liostáiltear ach na próisis le stádas athruithe ón chéad fógra "
-"roimhe seo\n"
+" -l\tliostáiltear aitheantais na bpróiseas chomh maith leis an ngnáth-eolas.\n"
+" -n\tní liostáiltear ach na próisis le stádas athruithe ón chéad fógra roimhe seo\n"
" -p\tliostáiltear aitheantais na bpróiseas amháin\n"
" -r\tní liostáiltear ach tascanna atá ag rith\n"
" -s\tní liostáiltear ach tascanna atá stoptha\n"
" \n"
-" Le -x, ritear ORDÚ tar éis gach SONRÚ_TAISC atá in ARGÓINTà a athrú go "
-"aitheantas\n"
+" Le -x, ritear ORDÚ tar éis gach SONRÚ_TAISC atá in ARGÓINTà a athrú go aitheantas\n"
" próisis an phríomh-phróisis i ngrúpa próiseas an taisc sin.\n"
" \n"
" Stádas Scortha:\n"
-" Aischuirtear rath ach sa chás go dtugtar rogha neamhbailí nó go "
-"dtarlaíonn earráid.\n"
+" Aischuirtear rath ach sa chás go dtugtar rogha neamhbailí nó go dtarlaíonn earráid.\n"
" Má úsáidtear -x, aischuirtear an stádas scortha ó ORDÚ. "
-#: builtins.c:900
+#: builtins.c:899
msgid ""
"Remove jobs from current shell.\n"
" \n"
@@ -3447,16 +3255,14 @@ msgstr ""
" \n"
" Roghanna:\n"
" -a\tbaintear gach tasc mura sholáraítear SONRÚ_TAISC\n"
-" -h\tmarcáiltear gach SONRÚ_TAISC sa chaoi nach seolfar SIGHUP chuige "
-"má\n"
+" -h\tmarcáiltear gach SONRÚ_TAISC sa chaoi nach seolfar SIGHUP chuige má\n"
" \tfhaigheann an bhlaosc féin SIGHUP\n"
" -r\tní bhaintear ach tascanna atá ag rith\n"
" \n"
" Stádas Scortha:\n"
-" Aischuirtear rath ach sa chás go dtugtar rogha neamhbhailí nó "
-"SONRÚ_TAISC neamhbhailí."
+" Aischuirtear rath ach sa chás go dtugtar rogha neamhbhailí nó SONRÚ_TAISC neamhbhailí."
-#: builtins.c:919
+#: builtins.c:918
msgid ""
"Send a signal to a job.\n"
" \n"
@@ -3479,15 +3285,14 @@ msgid ""
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
-#: builtins.c:943
+#: builtins.c:942
msgid ""
"Evaluate arithmetic expressions.\n"
" \n"
" Evaluate each ARG as an arithmetic expression. Evaluation is done in\n"
" fixed-width integers with no check for overflow, though division by 0\n"
" is trapped and flagged as an error. The following list of operators is\n"
-" grouped into levels of equal-precedence operators. The levels are "
-"listed\n"
+" grouped into levels of equal-precedence operators. The levels are listed\n"
" in order of decreasing precedence.\n"
" \n"
" \tid++, id--\tvariable post-increment, post-decrement\n"
@@ -3524,34 +3329,30 @@ msgid ""
" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
msgstr ""
-#: builtins.c:988
+#: builtins.c:987
msgid ""
"Read a line from the standard input and split it into fields.\n"
" \n"
" Reads a single line from the standard input, or from file descriptor FD\n"
-" if the -u option is supplied. The line is split into fields as with "
-"word\n"
+" if the -u option is supplied. The line is split into fields as with word\n"
" splitting, and the first word is assigned to the first NAME, the second\n"
" word to the second NAME, and so on, with any leftover words assigned to\n"
-" the last NAME. Only the characters found in $IFS are recognized as "
-"word\n"
+" the last NAME. Only the characters found in $IFS are recognized as word\n"
" delimiters.\n"
" \n"
-" If no NAMEs are supplied, the line read is stored in the REPLY "
-"variable.\n"
+" If no NAMEs are supplied, the line read is stored in the REPLY variable.\n"
" \n"
" Options:\n"
" -a array\tassign the words read to sequential indices of the array\n"
" \t\tvariable ARRAY, starting at zero\n"
" -d delim\tcontinue until the first character of DELIM is read, rather\n"
" \t\tthan newline\n"
-" -e\tuse Readline to obtain the line\n"
+" -e\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\n"
" \t\tNCHARS characters are read before the delimiter\n"
-" -N nchars\treturn only after reading exactly NCHARS characters, "
-"unless\n"
+" -N nchars\treturn only after reading exactly NCHARS characters, unless\n"
" \t\tEOF is encountered or read times out, ignoring any\n"
" \t\tdelimiter\n"
" -p prompt\toutput the string PROMPT without a trailing newline before\n"
@@ -3569,14 +3370,12 @@ msgid ""
" -u fd\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"
-" (in which case it's greater than 128), a variable assignment error "
-"occurs,\n"
+" The return code is zero, unless end-of-file is encountered, read times out\n"
+" (in which case it's greater than 128), a variable assignment error occurs,\n"
" or an invalid file descriptor is supplied as the argument to -u."
msgstr ""
-#: builtins.c:1035
+#: builtins.c:1034
msgid ""
"Return from a shell function.\n"
" \n"
@@ -3590,15 +3389,13 @@ msgstr ""
"Fill ó fheidhm bhlaoisce.\n"
" \n"
" Filltear ó fheidhm nó ó script léite as comhad leis an luach scortha\n"
-" a shonraítear i N. Má fhágtar N ar lár, is é an stádas scortha ná "
-"stadas\n"
+" a shonraítear i N. Má fhágtar N ar lár, is é an stádas scortha ná stadas\n"
" an orduithe dheireanaigh a ritheadh laistigh den fheidhm nó script.\n"
" \n"
" Stádas Scortha:\n"
-" Aischuirtear N, nó teip sa chás nach bhfuil an bhlaosc ag rith feidhme "
-"nó scripte."
+" Aischuirtear N, nó teip sa chás nach bhfuil an bhlaosc ag rith feidhme nó scripte."
-#: builtins.c:1048
+#: builtins.c:1047
msgid ""
"Set or unset values of shell options and positional parameters.\n"
" \n"
@@ -3641,8 +3438,7 @@ msgid ""
" physical same as -P\n"
" pipefail the return value of a pipeline is the status of\n"
" the last command to exit with a non-zero status,\n"
-" or zero if no command exited with a non-zero "
-"status\n"
+" or zero if no command exited with a non-zero status\n"
" posix change the behavior of bash where the default\n"
" operation differs from the Posix standard to\n"
" match the standard\n"
@@ -3666,8 +3462,7 @@ msgid ""
" by default when the shell is interactive.\n"
" -P If set, do not resolve symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
-" -T If set, the DEBUG and RETURN traps are inherited by shell "
-"functions.\n"
+" -T If set, the DEBUG and RETURN traps are 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"
@@ -3684,7 +3479,7 @@ msgid ""
" Returns success unless an invalid option is given."
msgstr ""
-#: builtins.c:1133
+#: builtins.c:1132
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \n"
@@ -3696,8 +3491,7 @@ msgid ""
" -n\ttreat each NAME as a name reference and unset the variable itself\n"
" \t\trather than the variable it references\n"
" \n"
-" Without options, unset first tries to unset a variable, and if that "
-"fails,\n"
+" Without options, unset first tries to unset a variable, and if that fails,\n"
" tries to unset a function.\n"
" \n"
" Some variables cannot be unset; also see `readonly'.\n"
@@ -3706,13 +3500,12 @@ msgid ""
" Returns success unless an invalid option is given or a NAME is read-only."
msgstr ""
-#: builtins.c:1155
+#: builtins.c:1154
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"
+" executed commands. If VALUE is supplied, assign VALUE before exporting.\n"
" \n"
" Options:\n"
" -f\trefer to shell functions\n"
@@ -3726,8 +3519,7 @@ msgid ""
msgstr ""
"Socraigh an aitreabúid easpórtála le haghaidh athróga blaoisce.\n"
" \n"
-" Marcáiltear gach AINM le haghaidh easpórtáil uathoibríoch go dtí "
-"timpeallacht\n"
+" Marcáiltear gach AINM le haghaidh easpórtáil uathoibríoch go dtí timpeallacht\n"
" na n-orduithe a ritear ina dhiaidh sin. Má sonraítear LUACH, sann LUACH\n"
" roimh easpórtáil.\n"
" \n"
@@ -3739,10 +3531,9 @@ msgstr ""
" Cuireann argóint de '--' deireadh le próiseáil na hargóintí.\n"
" \n"
" Stádas Scortha:\n"
-" Aischuirtear rath ach sa chás go dtugtar rogha neamhbhailí nó go bhfuil "
-"AINM neamhbhailí."
+" Aischuirtear rath ach sa chás go dtugtar rogha neamhbhailí nó go bhfuil AINM neamhbhailí."
-#: builtins.c:1174
+#: builtins.c:1173
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
@@ -3763,7 +3554,7 @@ msgid ""
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
-#: builtins.c:1196
+#: builtins.c:1195
msgid ""
"Shift positional parameters.\n"
" \n"
@@ -3774,7 +3565,7 @@ msgid ""
" Returns success unless N is negative or greater than $#."
msgstr ""
-#: builtins.c:1208 builtins.c:1223
+#: builtins.c:1207 builtins.c:1222
msgid ""
"Execute commands from a file in the current shell.\n"
" \n"
@@ -3795,11 +3586,10 @@ msgstr ""
" paraiméadair ionaid agus AINM_CHOMHAID á rith.\n"
" \n"
" Stádas Scortha:\n"
-" Aischuirtear stádas an ordaithe dheireanaigh a ritheadh in "
-"AINM_COMHAID.\n"
+" Aischuirtear stádas an ordaithe dheireanaigh a ritheadh in AINM_COMHAID.\n"
" Teipeann air sa chás nach féidir AINM_CHOMHAID a léamh."
-#: builtins.c:1239
+#: builtins.c:1238
msgid ""
"Suspend shell execution.\n"
" \n"
@@ -3819,14 +3609,13 @@ msgstr ""
" chur ar fionraí.\n"
" \n"
" Roghanna:\n"
-" -f\tcuirtear iallach ar an t-ordú, fiú más blaosc logála isteach atá "
-"ann.\n"
+" -f\tcuirtear iallach ar an t-ordú, fiú más blaosc logála isteach atá ann.\n"
" \n"
" Stádas Scortha:\n"
" Aischuirtear rath ach sa chás nach bhfuil rialú tascanna cumasaithe,\n"
" nó go dtarlaíonn earráid."
-#: builtins.c:1255
+#: builtins.c:1254
msgid ""
"Evaluate conditional expression.\n"
" \n"
@@ -3860,8 +3649,7 @@ msgid ""
" -x FILE True if the file is executable by you.\n"
" -O FILE True if the file is effectively owned by you.\n"
" -G FILE True if the file is effectively owned by your group.\n"
-" -N FILE True if the file has been modified since it was last "
-"read.\n"
+" -N FILE True if the file has been modified since it was last read.\n"
" \n"
" FILE1 -nt FILE2 True if file1 is newer than file2 (according to\n"
" modification date).\n"
@@ -3882,8 +3670,7 @@ msgid ""
" STRING1 != STRING2\n"
" True if the strings are not equal.\n"
" STRING1 < STRING2\n"
-" True if STRING1 sorts before STRING2 "
-"lexicographically.\n"
+" True if STRING1 sorts before STRING2 lexicographically.\n"
" STRING1 > STRING2\n"
" True if STRING1 sorts after STRING2 lexicographically.\n"
" \n"
@@ -3909,7 +3696,7 @@ msgid ""
" false or an invalid argument is given."
msgstr ""
-#: builtins.c:1337
+#: builtins.c:1336
msgid ""
"Evaluate conditional expression.\n"
" \n"
@@ -3922,12 +3709,11 @@ 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:1346
+#: builtins.c:1345
msgid ""
"Display process times.\n"
" \n"
-" Prints the accumulated user and system times for the shell and all of "
-"its\n"
+" Prints the accumulated user and system times for the shell and all of its\n"
" child processes.\n"
" \n"
" Exit Status:\n"
@@ -3942,12 +3728,11 @@ msgstr ""
" Stádas Scortha:\n"
" Éiríonn leis i gcónaí."
-#: builtins.c:1358
+#: builtins.c:1357
msgid ""
"Trap signals and other events.\n"
" \n"
-" Defines and activates handlers to be run when the shell receives "
-"signals\n"
+" Defines and activates handlers to be run when the shell receives signals\n"
" or other conditions.\n"
" \n"
" ARG is a command to be read and executed when the shell receives the\n"
@@ -3956,37 +3741,29 @@ msgid ""
" 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"
+" 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"
+" If no arguments are supplied, trap prints the list of commands associated\n"
" with each signal.\n"
" \n"
" Options:\n"
" -l\tprint a list of signal names and their corresponding numbers\n"
" -p\tdisplay the trap commands associated with each SIGNAL_SPEC\n"
" \n"
-" Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal "
-"number.\n"
+" Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal number.\n"
" Signal names are case insensitive and the SIG prefix is optional. A\n"
" signal may be sent to the shell with \"kill -signal $$\".\n"
" \n"
" Exit Status:\n"
-" Returns success unless a SIGSPEC is invalid or an invalid option is "
-"given."
+" Returns success unless a SIGSPEC is invalid or an invalid option is given."
msgstr ""
-#: builtins.c:1394
+#: builtins.c:1393
msgid ""
"Display information about command type.\n"
" \n"
@@ -4012,16 +3789,14 @@ msgid ""
" 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."
+" Returns success if all of the NAMEs are found; fails if any are not found."
msgstr ""
-#: builtins.c:1425
+#: builtins.c:1424
msgid ""
"Modify shell resource limits.\n"
" \n"
-" Provides control over the resources available to the shell and "
-"processes\n"
+" Provides control over the resources available to the shell and processes\n"
" it creates, on systems that allow such control.\n"
" \n"
" Options:\n"
@@ -4065,7 +3840,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1475
+#: builtins.c:1474
msgid ""
"Display or set file mode mask.\n"
" \n"
@@ -4099,78 +3874,62 @@ msgstr ""
" Aischuirtear rath ach sa chás go bhfuil MÓD neamhbhailí\n"
" nó go sonraítear rogha neamhbhailí."
-#: builtins.c:1495
-#, fuzzy
+#: builtins.c:1494
msgid ""
"Wait for job completion and return exit status.\n"
" \n"
-" Waits for each process identified by an ID, which may be a process ID or "
-"a\n"
+" Waits for each process identified by an 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 job specification, waits for all processes\n"
+" status is zero. If ID is a a job specification, waits for all processes\n"
" in that job's pipeline.\n"
" \n"
" If the -n option is supplied, waits for the next job to terminate and\n"
" returns its exit status.\n"
" \n"
-" If the -f option is supplied, and job control is enabled, waits for the\n"
-" specified ID to terminate, instead of waiting for it to change status.\n"
-" \n"
" Exit Status:\n"
" Returns the status of the last ID; fails if ID is invalid or an invalid\n"
" option is given."
msgstr ""
"Fan go gcríochnaíonn tasc agus aischuir an stádas scortha.\n"
" \n"
-" Fantar le gach próiseas ata sonraithe le AITHEANTAS, a d'fhéadann a "
-"bheith\n"
-" ina aitheantas próisis nó sonrú taisc, agus tuairiscítear a stádais "
-"chríochnaithe.\n"
-" Gan AITHEANTAS, fantar le gach macphróiseas gníomhach reatha, agus "
-"aischuirtear 0.\n"
-" Más sonrú taisc atá in AITHEANTAS, fantar le gach próiseas i bpíblíne an "
-"taisc sin.\n"
-" \n"
-" Má sonraítear an rogha -n, fantar leis an gcéad tasc eile a stopann "
-"agus\n"
+" Fantar le gach próiseas ata sonraithe le AITHEANTAS, a d'fhéadann a bheith\n"
+" ina aitheantas próisis nó sonrú taisc, agus tuairiscítear a stádais chríochnaithe.\n"
+" Gan AITHEANTAS, fantar le gach macphróiseas gníomhach reatha, agus aischuirtear 0.\n"
+" Más sonrú taisc atá in AITHEANTAS, fantar le gach próiseas i bpíblíne an taisc sin.\n"
+" \n"
+" Má sonraítear an rogha -n, fantar leis an gcéad tasc eile a stopann agus\n"
" aischuirtear a stádais scortha.\n"
" \n"
" \n"
"Stádas Scortha:\n"
-" Aischuirtear stádas an AITHEANTAIS dheireanaigh. Teipeann ar an ordú má "
-"tá\n"
+" Aischuirtear stádas an AITHEANTAIS dheireanaigh. Teipeann ar an ordú má tá\n"
" AITHEANTAS neamhbhailí nó má sonraítear rogha neamhbhailí."
-#: builtins.c:1519
+#: builtins.c:1515
msgid ""
"Wait for process completion and return exit status.\n"
" \n"
-" Waits for each process specified by a PID and reports its termination "
-"status.\n"
+" Waits for each process specified by a PID and reports its termination status.\n"
" If PID is not given, waits for all currently active child processes,\n"
" and the return status is zero. PID must be a process ID.\n"
" \n"
" Exit Status:\n"
-" Returns the status of the last PID; fails if PID is invalid or an "
-"invalid\n"
+" Returns the status of the last PID; fails if PID is invalid or an invalid\n"
" option is given."
msgstr ""
"Fan go gcríochnaíonn próiseas agus aischuir an stádas scortha.\n"
" \n"
" Fantar le gach próiseas ata sonraithe le AITHEANTAS, agus tuairiscítear\n"
-" a stádais chríochnaithe. Gan AITHEANTAS, fantar le gach macphróiseas "
-"gníomhach\n"
-" reatha, agus aischuirtear 0. Ní mór d'AITHEANTAS bheith ina aitheantas "
-"próisis.\n"
+" a stádais chríochnaithe. Gan AITHEANTAS, fantar le gach macphróiseas gníomhach\n"
+" reatha, agus aischuirtear 0. Ní mór d'AITHEANTAS bheith ina aitheantas próisis.\n"
" \n"
" \n"
"Stádas Scortha:\n"
-" Aischuirtear stádas an AITHEANTAIS dheireanaigh. Teipeann ar an ordú má "
-"tá\n"
+" Aischuirtear stádas an AITHEANTAIS dheireanaigh. Teipeann ar an ordú má tá\n"
" AITHEANTAS neamhbhailí nó má sonraítear rogha neamhbhailí."
-#: builtins.c:1534
+#: builtins.c:1530
msgid ""
"Execute commands for each member in a list.\n"
" \n"
@@ -4192,7 +3951,7 @@ msgstr ""
" Stádas Scortha:\n"
" Aischuirtear stádas an ordaithe dheireanaigh a ritheadh."
-#: builtins.c:1548
+#: builtins.c:1544
msgid ""
"Arithmetic for loop.\n"
" \n"
@@ -4217,13 +3976,12 @@ msgstr ""
" \t\t(( SLONN3 ))\n"
" \tdone\n"
" Is sloinn uimhreachtúla iad SLONN1, SLONN2 agus SLONN3.\n"
-" Má fhágtar slonn ar bith ar lár, oibríonn an lúib mar a bheadh luach de "
-"1 air.\n"
+" Má fhágtar slonn ar bith ar lár, oibríonn an lúib mar a bheadh luach de 1 air.\n"
" \n"
" Stádas Scortha:\n"
" Aischuirtear stádas an ordaithe dheireanaigh a ritheadh."
-#: builtins.c:1566
+#: builtins.c:1562
msgid ""
"Select words from a list and execute commands.\n"
" \n"
@@ -4243,7 +4001,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1587
+#: builtins.c:1583
msgid ""
"Report time consumed by pipeline's execution.\n"
" \n"
@@ -4259,7 +4017,7 @@ msgid ""
" The return status is the return status of PIPELINE."
msgstr ""
-#: builtins.c:1604
+#: builtins.c:1600
msgid ""
"Execute commands based on pattern matching.\n"
" \n"
@@ -4277,28 +4035,23 @@ msgstr ""
" Stádas Scortha:\n"
" Aischuirtear stádas an ordaithe dheireanaigh a ritheadh."
-#: builtins.c:1616
+#: builtins.c:1612
msgid ""
"Execute commands based on conditional.\n"
" \n"
-" The `if COMMANDS' list is executed. If its exit status is zero, then "
-"the\n"
-" `then COMMANDS' list is executed. Otherwise, each `elif COMMANDS' list "
-"is\n"
+" The `if COMMANDS' list is executed. If its exit status is zero, then the\n"
+" `then COMMANDS' list is executed. Otherwise, each `elif COMMANDS' list is\n"
" executed in turn, and if its exit status is zero, the corresponding\n"
-" `then COMMANDS' list is executed and the if command completes. "
-"Otherwise,\n"
-" the `else COMMANDS' list is executed, if present. The exit status of "
-"the\n"
-" entire construct is the exit status of the last command executed, or "
-"zero\n"
+" `then COMMANDS' list is executed and the if command completes. Otherwise,\n"
+" the `else COMMANDS' list is executed, if present. The exit status of the\n"
+" entire construct is the exit status of the last command executed, or zero\n"
" if no condition tested true.\n"
" \n"
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1633
+#: builtins.c:1629
msgid ""
"Execute commands as long as a test succeeds.\n"
" \n"
@@ -4316,7 +4069,7 @@ msgstr ""
" Stádas Scortha:\n"
" Aischuirtear stádas an ordaithe deireanach a ritheadh."
-#: builtins.c:1645
+#: builtins.c:1641
msgid ""
"Execute commands as long as a test does not succeed.\n"
" \n"
@@ -4334,7 +4087,7 @@ msgstr ""
" Stádas Scortha:\n"
" Aischuirtear stádas an ordaithe deireanach a ritheadh."
-#: builtins.c:1657
+#: builtins.c:1653
msgid ""
"Create a coprocess named NAME.\n"
" \n"
@@ -4356,13 +4109,12 @@ msgstr ""
" Stádas Scortha:\n"
" Aischuireann an t-ordú coproc stádas scortha de 0."
-#: builtins.c:1671
+#: builtins.c:1667
msgid ""
"Define shell function.\n"
" \n"
" Create a shell function named NAME. When invoked as a simple command,\n"
-" NAME runs COMMANDs in the calling shell's context. When NAME is "
-"invoked,\n"
+" NAME runs COMMANDs in the calling shell's context. When NAME is invoked,\n"
" the arguments are passed to the function as $1...$n, and the function's\n"
" name is in $FUNCNAME.\n"
" \n"
@@ -4373,14 +4125,13 @@ msgstr ""
" \n"
" Cruthaíonn feidhm bhlaoisce darbh ainm AINM. Nuair a úsáidtear mar ordú\n"
" simplí é, ritheann AINM na hORDUITHE i gcomhthéacs na blaoisce glaoigh.\n"
-" Nuair a ghlaoitear AINM, tugtar na hargóintí don fheidhm mar $0 ... $n, "
-"agus\n"
+" Nuair a ghlaoitear AINM, tugtar na hargóintí don fheidhm mar $0 ... $n, agus\n"
" tá ainm na feidhme i $FUNCNAME.\n"
" \n"
" Stádas Scortha:\n"
" Aischuirtear rath mura bhfuil AINM inléite amháin."
-#: builtins.c:1685
+#: builtins.c:1681
msgid ""
"Group commands as a unit.\n"
" \n"
@@ -4398,7 +4149,7 @@ msgstr ""
" Stádas Scortha:\n"
" Aischuirtear stádas an ordaithe dheireanaigh a ritheadh."
-#: builtins.c:1697
+#: builtins.c:1693
msgid ""
"Resume job in foreground.\n"
" \n"
@@ -4421,7 +4172,7 @@ msgstr ""
" Stádas Scortha:\n"
" Aischuirtear stádas an taisc atosaithe."
-#: builtins.c:1712
+#: builtins.c:1708
msgid ""
"Evaluate arithmetic expression.\n"
" \n"
@@ -4432,16 +4183,13 @@ msgid ""
" Returns 1 if EXPRESSION evaluates to 0; returns 0 otherwise."
msgstr ""
-#: builtins.c:1724
+#: builtins.c:1720
msgid ""
"Execute conditional command.\n"
" \n"
-" Returns a status of 0 or 1 depending on the evaluation of the "
-"conditional\n"
-" expression EXPRESSION. Expressions are composed of the same primaries "
-"used\n"
-" by the `test' builtin, and may be combined using the following "
-"operators:\n"
+" Returns a status of 0 or 1 depending on the evaluation of the conditional\n"
+" expression EXPRESSION. Expressions are composed of the same primaries used\n"
+" by the `test' builtin, and may be combined using the following operators:\n"
" \n"
" ( EXPRESSION )\tReturns the value of EXPRESSION\n"
" ! EXPRESSION\t\tTrue if EXPRESSION is false; else false\n"
@@ -4460,7 +4208,7 @@ msgid ""
" 0 or 1 depending on value of EXPRESSION."
msgstr ""
-#: builtins.c:1750
+#: builtins.c:1746
msgid ""
"Common shell variable names and usage.\n"
" \n"
@@ -4514,7 +4262,7 @@ msgid ""
" \t\tcommands should be saved on the history list.\n"
msgstr ""
-#: builtins.c:1807
+#: builtins.c:1803
msgid ""
"Add directories to stack.\n"
" \n"
@@ -4545,7 +4293,7 @@ msgid ""
" change fails."
msgstr ""
-#: builtins.c:1841
+#: builtins.c:1837
msgid ""
"Remove directories from stack.\n"
" \n"
@@ -4572,7 +4320,7 @@ msgid ""
" change fails."
msgstr ""
-#: builtins.c:1871
+#: builtins.c:1867
msgid ""
"Display directory stack.\n"
" \n"
@@ -4608,35 +4356,28 @@ msgstr ""
" \n"
" Roghanna:\n"
" -c\tglantar cruach na gcomhadlann trí gach mhír a bhaint de\n"
-" -l\tná priontáiltear na comhadlanna i gcoibhneas le do chomhadlann "
-"bhaile\n"
+" -l\tná priontáiltear na comhadlanna i gcoibhneas le do chomhadlann bhaile\n"
" \tagus le tilde rompu\n"
" -p\tpriontáiltear cruach na gcomhadlann, mír amháin ar gach líne\n"
" -v\tpriontáiltear cruach na gcomhadlann, mír amháin ar gach líne agus\n"
" \ta háit sa chruach roimpi\n"
" \n"
" Argóintí:\n"
-" +N\tTaispeántar mír N, agus uimhrithe curtha ar na míreanna ó thaobh "
-"clé\n"
-" \tan liosta a thaispeántar le 'dirs' rite gan argóintí, ag tosú ó "
-"náid.\n"
-" -N\tTaispeántar mír N, agus uimhrithe curtha ar na míreanna ó thaobh "
-"deas\n"
-" \tan liosta a thaispeántar le 'dirs' rite gan argóintí, ag tosú ó "
-"náid.\n"
+" +N\tTaispeántar mír N, agus uimhrithe curtha ar na míreanna ó thaobh clé\n"
+" \tan liosta a thaispeántar le 'dirs' rite gan argóintí, ag tosú ó náid.\n"
+" -N\tTaispeántar mír N, agus uimhrithe curtha ar na míreanna ó thaobh deas\n"
+" \tan liosta a thaispeántar le 'dirs' rite gan argóintí, ag tosú ó náid.\n"
" \n"
" Stádas Scortha:\n"
-" Aischuirtear rath muna bhfuil rogha neamhbhailí ann nó muna tharla "
-"earráid."
+" Aischuirtear rath muna bhfuil rogha neamhbhailí ann nó muna tharla earráid."
-#: builtins.c:1902
-#, fuzzy
+#: builtins.c:1898
msgid ""
"Set and unset shell options.\n"
" \n"
" Change the setting of each shell option OPTNAME. Without any option\n"
-" arguments, list each supplied OPTNAME, or all shell options if no\n"
-" OPTNAMEs are given, with an indication of whether or not each is set.\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"
@@ -4651,8 +4392,7 @@ msgid ""
msgstr ""
"Socraigh agus díshocraigh roghanna na blaoisce.\n"
" \n"
-" Athraítear socrú gach rogha blaoisce AINM_ROGHA. Gan argóintí roghnacha "
-"ar bith,\n"
+" Athraítear socrú gach rogha blaoisce AINM_ROGHA. Gan argóintí roghnacha ar bith,\n"
" liostáiltear gach rogha blaoisce lena stádas socruithe nó díshocraithe.\n"
" \n"
" Roghanna:\n"
@@ -4663,11 +4403,10 @@ msgstr ""
" -u\tdíchumasaigh (díshocraigh) gach AINM_ROGHA\n"
" \n"
" Stádas Scortha:\n"
-" Aischuirtear rath má tá AINM_ROGHA cumasaithe. Teipeann ar shopt má "
-"thugtar\n"
+" Aischuirtear rath má tá AINM_ROGHA cumasaithe. Teipeann ar shopt má thugtar\n"
" rogha neamhbhailí, nó má tá AINM_ROGHA díchumasaithe."
-#: builtins.c:1923
+#: builtins.c:1919
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
" \n"
@@ -4675,45 +4414,36 @@ msgid ""
" -v var\tassign the output to shell variable VAR rather than\n"
" \t\tdisplay it on the standard output\n"
" \n"
-" FORMAT is a character string which contains three types of objects: "
-"plain\n"
-" characters, which are simply copied to standard output; character "
-"escape\n"
+" FORMAT is a character string which contains three types of objects: plain\n"
+" characters, which are simply copied to standard output; character escape\n"
" sequences, which are converted and copied to the standard output; and\n"
-" format specifications, each of which causes printing of the next "
-"successive\n"
+" format specifications, each of which causes printing of the next successive\n"
" argument.\n"
" \n"
-" In addition to the standard format specifications described in printf"
-"(1),\n"
+" In addition to the standard format specifications described in printf(1),\n"
" 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\toutput the date-time string resulting from using FMT as a "
-"format\n"
+" %(fmt)T\toutput the date-time string resulting from using FMT as a format\n"
" \t string for strftime(3)\n"
" \n"
" The format is re-used as necessary to consume all of the arguments. If\n"
" there are fewer arguments than the format requires, extra format\n"
-" specifications behave as if a zero value or null string, as "
-"appropriate,\n"
+" specifications behave as if a zero value or null string, as appropriate,\n"
" had been supplied.\n"
" \n"
" Exit Status:\n"
-" Returns success unless an invalid option is given or a write or "
-"assignment\n"
+" Returns success unless an invalid option is given or a write or assignment\n"
" error occurs."
msgstr ""
-#: builtins.c:1957
+#: builtins.c:1953
msgid ""
"Specify how arguments are to be completed by Readline.\n"
" \n"
-" For each NAME, specify how arguments are to be completed. If no "
-"options\n"
-" are supplied, existing completion specifications are printed in a way "
-"that\n"
+" For each NAME, specify how arguments are to be completed. If no options\n"
+" are supplied, existing completion specifications are printed in a way that\n"
" allows them to be reused as input.\n"
" \n"
" Options:\n"
@@ -4733,13 +4463,12 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1985
+#: builtins.c:1981
msgid ""
"Display possible completions depending on the options.\n"
" \n"
" Intended to be used from within a shell function generating possible\n"
-" completions. If the optional WORD argument is supplied, matches "
-"against\n"
+" completions. If the optional WORD argument is supplied, matches against\n"
" WORD are generated.\n"
" \n"
" Exit Status:\n"
@@ -4747,25 +4476,20 @@ msgid ""
msgstr ""
"Taispeáin na hiomlánaithe atá ar fáil de réir na roghanna.\n"
" \n"
-" Tá sé seo ceaptha le húsáid i bhfeidmeanna blaoisce a dhéanann "
-"iomlánaithe.\n"
+" Tá sé seo ceaptha le húsáid i bhfeidmeanna blaoisce a dhéanann iomlánaithe.\n"
" Má thugtar an argóint roghnach FOCAL, cruthaítear iomlánaithe\n"
" atá comhoiriúnach le FOCAL.\n"
" \n"
" Stádas Scortha:\n"
-" Aischuirtear rath ach sa chás go dtugtar rogha neamhbhailí nó go "
-"dtarlaíonn earráid."
+" Aischuirtear rath ach sa chás go dtugtar rogha neamhbhailí nó go dtarlaíonn earráid."
-#: builtins.c:2000
+#: builtins.c:1996
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"
+" 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"
@@ -4787,26 +4511,21 @@ msgid ""
" have a completion specification defined."
msgstr ""
-#: builtins.c:2030
+#: builtins.c:2026
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"
+" 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"
" -d delim\tUse DELIM to terminate lines, instead of newline\n"
-" -n count\tCopy at most COUNT lines. If COUNT is 0, all lines are "
-"copied\n"
-" -O origin\tBegin assigning to ARRAY at index ORIGIN. The default "
-"index is 0\n"
+" -n count\tCopy at most COUNT lines. If COUNT is 0, all lines are copied\n"
+" -O origin\tBegin assigning to ARRAY at index ORIGIN. The default index is 0\n"
" -s count\tDiscard the first COUNT lines read\n"
" -t\tRemove a trailing DELIM from each line read (default newline)\n"
-" -u fd\tRead lines from file descriptor FD instead of the standard "
-"input\n"
+" -u fd\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\n"
" \t\t\tCALLBACK\n"
@@ -4819,17 +4538,15 @@ msgid ""
" 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"
+" 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"
+" Returns success unless an invalid option is given or ARRAY is readonly or\n"
" not an indexed array."
msgstr ""
-#: builtins.c:2066
+#: builtins.c:2062
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
@@ -4855,13 +4572,10 @@ msgstr ""
#~ msgstr "times"
#~ msgid "xrealloc: cannot reallocate %lu bytes (%lu bytes allocated)"
-#~ msgstr ""
-#~ "xrealloc: ní féidir %lu beart a athleithdháileadh (%lu beart leithdháilte)"
+#~ msgstr "xrealloc: ní féidir %lu beart a athleithdháileadh (%lu beart leithdháilte)"
#~ msgid "xrealloc: cannot allocate %lu bytes"
#~ msgstr "xrealloc: ní féidir %lu beart a leithdháileadh"
#~ msgid "xrealloc: %s:%d: cannot reallocate %lu bytes (%lu bytes allocated)"
-#~ msgstr ""
-#~ "xrealloc: %s:%d: ní féidir %lu beart a athleithdháileadh (%lu beart "
-#~ "leithdháilte)"
+#~ msgstr "xrealloc: %s:%d: ní féidir %lu beart a athleithdháileadh (%lu beart leithdháilte)"
diff --git a/po/hr.po b/po/hr.po
index 7d2125b9..fde493a7 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -1,140 +1,147 @@
# Translation of bash to Croatian.
-# Copyright © 2012 Free Software Foundation, Inc.
+# Copyright © 2016 Free Software Foundation, Inc.
# This file is distributed under the same license as the bash package.
-# Tomislav Krznar <tomislav.krznar@gmail.com>, 2012, 2013.
#
+# Tomislav Krznar <tomislav.krznar@gmail.com>, 2012, 2013.
+# Božidar Putanec <bozidarp@yahoo.com>, 2018.
msgid ""
msgstr ""
-"Project-Id-Version: bash 4.2\n"
+"Project-Id-Version: bash 4.4\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-04-27 14:15-0400\n"
-"PO-Revision-Date: 2013-04-18 01:00+0200\n"
-"Last-Translator: Tomislav Krznar <tomislav.krznar@gmail.com>\n"
+"POT-Creation-Date: 2016-09-10 12:42-0400\n"
+"PO-Revision-Date: 2018-05-21 18:15-0800\n"
+"Last-Translator: Božidar Putanec <bozidarp@yahoo.com>\n"
"Language-Team: Croatian <lokalizacija@linux.hr>\n"
+"Language: hr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: hr\n"
"X-Bugs: Report translation errors to the Language-Team address.\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"
-"X-Generator: Gtranslator 2.91.6\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"
+"X-Generator: Lokalize 2.0\n"
-#: arrayfunc.c:58
+#: arrayfunc.c:54
msgid "bad array subscript"
-msgstr "neispravan indeks polja"
+msgstr "nevaljani indeks polja"
-#: arrayfunc.c:373 builtins/declare.def:618 variables.c:2188 variables.c:2214
-#: variables.c:2922
+#: arrayfunc.c:368 builtins/declare.def:574 variables.c:2092 variables.c:2118
+#: variables.c:2730
#, c-format
msgid "%s: removing nameref attribute"
-msgstr ""
+msgstr "%s: uklanja se atribut nameref"
-#: arrayfunc.c:398 builtins/declare.def:831
+#: arrayfunc.c:393 builtins/declare.def:780
#, c-format
msgid "%s: cannot convert indexed to associative array"
-msgstr "%s: ne mogu pretvoriti indeksirano u asocijativno polje"
+msgstr "%s: nije moguće pretvoriti indeksirano u asocijativno polje"
-#: arrayfunc.c:582
+#: arrayfunc.c:578
#, c-format
msgid "%s: invalid associative array key"
-msgstr "%s: neispravan kljuÄ asocijativnog polja"
+msgstr "%s: nevaljani kljuÄ asocijativnoga polja"
-#: arrayfunc.c:584
+#: arrayfunc.c:580
#, c-format
msgid "%s: cannot assign to non-numeric index"
-msgstr "%s: ne mogu pridružiti nenumeriÄkom indeksu"
+msgstr "%s: indeks mora biti numeriÄki"
-#: arrayfunc.c:629
+#: arrayfunc.c:625
#, c-format
msgid "%s: %s: must use subscript when assigning associative array"
-msgstr "%s: %s: mora koristiti indeks pri pridruživanju asocijativnog polja"
+msgstr "%s: %s: mora se koristiti indeks pri dodijeli asocijativnoga polja"
-#: bashhist.c:436
+#: bashhist.c:421
#, c-format
msgid "%s: cannot create: %s"
-msgstr "%s: ne mogu napraviti: %s"
+msgstr "%s: nije moguće napraviti: %s"
-#: bashline.c:4111
+#: bashline.c:4091
msgid "bash_execute_unix_command: cannot find keymap for command"
-msgstr "bash_execute_unix_command: ne mogu pronaći tipkovniÄku mapu za naredbu"
+msgstr "bash_execute_unix_command: nije moguće pronaći keymap za naredbu"
-#: bashline.c:4221
+#: bashline.c:4189
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
-msgstr "%s: prvi znak razliÄit od praznine nije „\"â€"
+msgstr "%s: prvi znak, koji nije bjelina, nije „\"“"
-#: bashline.c:4250
+#: bashline.c:4218
#, c-format
msgid "no closing `%c' in %s"
-msgstr "nema zatvorene „%c†u %s"
+msgstr "nema zakljuÄnoga „%c“ u %s"
-#: bashline.c:4284
+#: bashline.c:4252
#, c-format
msgid "%s: missing colon separator"
-msgstr "%s: nedostaje dvotoÄje za razdvajanje"
+msgstr "%s: nema razdjelnika dvotoÄke"
-#: braces.c:331
+#: braces.c:329
#, c-format
msgid "brace expansion: cannot allocate memory for %s"
msgstr ""
+"brace expansion: nije moguće dodijeliti memoriju za %s\n"
+"(primjer ekspanzije unutar vitiÄastih zagrada: echo a{d,c}e -> ade, ace)"
-#: braces.c:429
+# Brace expansion is a mechanism by which arbitrary strings may be generated
+#: braces.c:427
#, c-format
-msgid "brace expansion: failed to allocate memory for %u elements"
+msgid "brace expansion: failed to allocate memory for %d elements"
msgstr ""
+"brace expansion: nije uspjelo dodijeliti memoriju za %d elemenata\n"
+"(primjer ekspanzije unutar vitiÄastih zagrada: echo a{d,c}e -> ade, ace)"
-#: braces.c:473
+#: braces.c:471
#, c-format
msgid "brace expansion: failed to allocate memory for `%s'"
msgstr ""
+"brace expansion: nije uspjelo dodijeliti memoriju za „%s“\n"
+"(primjer ekspanzije unutar vitiÄastih zagrada: echo a{d,c}e -> ade, ace)"
-#: builtins/alias.def:131
+#: builtins/alias.def:133
#, c-format
msgid "`%s': invalid alias name"
-msgstr "„%sâ€: neispravno drugo ime"
+msgstr "„%s“: nevaljano ime aliasa"
-#: builtins/bind.def:122 builtins/bind.def:125
+#: builtins/bind.def:123 builtins/bind.def:126
msgid "line editing not enabled"
-msgstr "uređivanje redaka nije omogućeno"
+msgstr "redigiranje retka nije omogućeno"
-#: builtins/bind.def:212
+#: builtins/bind.def:213
#, c-format
msgid "`%s': invalid keymap name"
-msgstr "„%sâ€: neispravno ime tipkovniÄke mape"
+msgstr "„%s“: nevaljano ime za keymap"
-#: builtins/bind.def:252
+#: builtins/bind.def:253
#, c-format
msgid "%s: cannot read: %s"
-msgstr "%s: ne mogu Äitati: %s"
+msgstr "%s: nije moguće proÄitati: %s"
+
+#: builtins/bind.def:270
+#, c-format
+msgid "`%s': cannot unbind"
+msgstr "„%s“: nije moguće razvezati"
-#: builtins/bind.def:304 builtins/bind.def:334
+#: builtins/bind.def:308 builtins/bind.def:338
#, c-format
msgid "`%s': unknown function name"
-msgstr "„%sâ€: nepoznato ime funkcije"
+msgstr "„%s“: nepoznato ime funkcije"
-#: builtins/bind.def:312
+#: builtins/bind.def:316
#, c-format
msgid "%s is not bound to any keys.\n"
-msgstr "%s nije pridružen nijednoj tipki.\n"
+msgstr "%s nije vezano s nijednom tipkom.\n"
-#: builtins/bind.def:316
+#: builtins/bind.def:320
#, c-format
msgid "%s can be invoked via "
msgstr "%s se može pozvati pomoću "
-#: builtins/bind.def:353 builtins/bind.def:368
-#, c-format
-msgid "`%s': cannot unbind"
-msgstr "„%sâ€: ne mogu ukloniti vezu"
-
-#: builtins/break.def:77 builtins/break.def:119
+#: builtins/break.def:79 builtins/break.def:121
msgid "loop count"
-msgstr "broj ponavljanja"
+msgstr "brojaÄ ponavljanja"
-#: builtins/break.def:139
+#: builtins/break.def:141
msgid "only meaningful in a `for', `while', or `until' loop"
-msgstr "ima znaÄenje samo u petljama „forâ€, „while†ili „untilâ€"
+msgstr "ima znaÄenje samo u „for“, „while“ ili „until“ petljama"
#: builtins/caller.def:136
msgid ""
@@ -142,241 +149,240 @@ msgid ""
" \n"
" Without EXPR, returns "
msgstr ""
-"Vraća kontekst poziva trenutnog potprograma.\n"
+"Vraća kontekst od trenutaÄnoga poziva funkciji.\n"
" \n"
-" Bez IZRAZA vraća "
+" Bez EXPR, rezultati "
-#: builtins/cd.def:319
+#: builtins/cd.def:321
msgid "HOME not set"
-msgstr "HOME nije postavljen"
+msgstr "HOME varijabla nije definirana"
-#: builtins/cd.def:327 builtins/common.c:161 test.c:889
+#: builtins/cd.def:329 builtins/common.c:167 test.c:885
msgid "too many arguments"
msgstr "previše argumenata"
-#: builtins/cd.def:334
-#, fuzzy
+#: builtins/cd.def:336
msgid "null directory"
-msgstr "nema drugog direktorija"
+msgstr "null direktorij"
-#: builtins/cd.def:345
+#: builtins/cd.def:347
msgid "OLDPWD not set"
-msgstr "OLDPWD nije postavljen"
+msgstr "OLDPWD nije postavljeni"
-#: builtins/common.c:96
+#: builtins/common.c:102
#, c-format
msgid "line %d: "
msgstr "redak %d: "
-#: builtins/common.c:134 error.c:264
+#: builtins/common.c:140 error.c:265
#, c-format
msgid "warning: "
msgstr "upozorenje: "
-#: builtins/common.c:148
+#: builtins/common.c:154
#, c-format
msgid "%s: usage: "
msgstr "%s: uporaba: "
-#: builtins/common.c:193 shell.c:510 shell.c:838
+#: builtins/common.c:199 shell.c:514 shell.c:825
#, c-format
msgid "%s: option requires an argument"
msgstr "%s: opcija zahtijeva argument"
-#: builtins/common.c:200
+#: builtins/common.c:206
#, c-format
msgid "%s: numeric argument required"
-msgstr "%s: potreban je numeriÄki argument"
+msgstr "%s: zahtijeva se numeriÄki argument"
-#: builtins/common.c:207
+#: builtins/common.c:213
#, c-format
msgid "%s: not found"
-msgstr "%s: nije pronađen"
+msgstr "%s: nije pronađeno"
-#: builtins/common.c:216 shell.c:851
+#: builtins/common.c:222 shell.c:838
#, c-format
msgid "%s: invalid option"
-msgstr "%s: neispravna opcija"
+msgstr "%s: nevaljana opcija"
-#: builtins/common.c:223
+#: builtins/common.c:229
#, c-format
msgid "%s: invalid option name"
-msgstr "%s: neispravno ime opcije"
+msgstr "%s: nevaljano ime opcije"
-#: builtins/common.c:230 execute_cmd.c:2342 general.c:294 general.c:299
+#: builtins/common.c:236 general.c:293 general.c:298
#, c-format
msgid "`%s': not a valid identifier"
-msgstr "„%sâ€: nije ispravan identifikator"
+msgstr "„%s“: nije valjani identifikator"
-#: builtins/common.c:240
+#: builtins/common.c:246
msgid "invalid octal number"
-msgstr "neispravan oktalni broj"
+msgstr "nevaljani oktalni broj"
-#: builtins/common.c:242
+#: builtins/common.c:248
msgid "invalid hex number"
-msgstr "neispravan heksadekadski broj"
+msgstr "nevaljani heksadecimalni broj"
-#: builtins/common.c:244 expr.c:1538
+#: builtins/common.c:250 expr.c:1473
msgid "invalid number"
-msgstr "neispravan broj"
+msgstr "nevaljani broj"
-#: builtins/common.c:252
+#: builtins/common.c:258
#, c-format
msgid "%s: invalid signal specification"
-msgstr "%s: neispravno naveden signal"
+msgstr "%s: nevaljana specifikacija signala"
-#: builtins/common.c:259
+#: builtins/common.c:265
#, c-format
msgid "`%s': not a pid or valid job spec"
-msgstr "„%sâ€: nije pid ili ispravno naveden zadatak"
+msgstr "„%s“: nije PID ili valjani pokazatelj posla"
-#: builtins/common.c:266 error.c:510
+#: builtins/common.c:272 error.c:511
#, c-format
msgid "%s: readonly variable"
msgstr "%s: varijabla samo za Äitanje"
-#: builtins/common.c:274
+#: builtins/common.c:280
#, c-format
msgid "%s: %s out of range"
-msgstr "%s: %s je izvan granica"
+msgstr "%s: %s je izvan raspona"
-#: builtins/common.c:274 builtins/common.c:276
+#: builtins/common.c:280 builtins/common.c:282
msgid "argument"
msgstr "argument"
-#: builtins/common.c:276
+#: builtins/common.c:282
#, c-format
msgid "%s out of range"
-msgstr "%s je izvan granica"
+msgstr "%s je izvan raspona"
-#: builtins/common.c:284
+#: builtins/common.c:290
#, c-format
msgid "%s: no such job"
-msgstr "%s: nema takvog zadatka"
+msgstr "%s: nema takvoga posla"
-#: builtins/common.c:292
+#: builtins/common.c:298
#, c-format
msgid "%s: no job control"
-msgstr "%s: nema kontrole zadataka"
+msgstr "%s: nema upravljanja poslom u ovoj ljuski"
-#: builtins/common.c:294
+#: builtins/common.c:300
msgid "no job control"
-msgstr "nema kontrole zadataka"
+msgstr "nema upravljanja poslom u ovoj ljuski"
-#: builtins/common.c:304
+#: builtins/common.c:310
#, c-format
msgid "%s: restricted"
-msgstr "%s: ograniÄeno"
+msgstr "%s: ograniÄeni naÄin"
-#: builtins/common.c:306
+#: builtins/common.c:312
msgid "restricted"
-msgstr "ograniÄeno"
+msgstr "ograniÄeni naÄin"
-#: builtins/common.c:314
+#: builtins/common.c:320
#, c-format
msgid "%s: not a shell builtin"
-msgstr "%s: nije ugrađen u ljusku"
+msgstr "%s: nije ugrađena bash naredba"
-#: builtins/common.c:323
+#: builtins/common.c:329
#, c-format
msgid "write error: %s"
msgstr "greška pisanja: %s"
-#: builtins/common.c:331
+#: builtins/common.c:337
#, c-format
msgid "error setting terminal attributes: %s"
msgstr "greška pri postavljanju svojstava terminala: %s"
-#: builtins/common.c:333
+#: builtins/common.c:339
#, c-format
msgid "error getting terminal attributes: %s"
msgstr "greška pri preuzimanju svojstava terminala: %s"
-#: builtins/common.c:579
+#: builtins/common.c:585
#, c-format
msgid "%s: error retrieving current directory: %s: %s\n"
-msgstr "%s: greška pri otkrivanju trenutnog direktorija: %s: %s\n"
+msgstr "%s: nije moguće pronaći trenutaÄno direktorij: %s: %s\n"
-#: builtins/common.c:645 builtins/common.c:647
+#: builtins/common.c:651 builtins/common.c:653
#, c-format
msgid "%s: ambiguous job spec"
-msgstr "%s: viÅ¡eznaÄan navod zadatka"
+msgstr "%s: dvosmisleni pokazatelj posla"
-#: builtins/common.c:908
+#: builtins/common.c:918
msgid "help not available in this version"
-msgstr ""
+msgstr "u ovoj inaÄici pomoć nije ugraÄ‘ena"
#: builtins/complete.def:278
#, c-format
msgid "%s: invalid action name"
-msgstr "%s: neispravno ime radnje"
+msgstr "%s: nevaljano ime za akciju"
-#: builtins/complete.def:452 builtins/complete.def:653
-#: builtins/complete.def:874
+#: builtins/complete.def:452 builtins/complete.def:647
+#: builtins/complete.def:858
#, c-format
msgid "%s: no completion specification"
-msgstr "%s: nije navedeno nadopunjavanje"
+msgstr "%s: dovršavanje nije specificirano"
-#: builtins/complete.def:707
+#: builtins/complete.def:699
msgid "warning: -F option may not work as you expect"
-msgstr "upozorenje: opcija -F možda neće raditi kako želite"
+msgstr "upozorenje: opcija -F možda neće raditi prema oÄekivanju"
-#: builtins/complete.def:709
+#: builtins/complete.def:701
msgid "warning: -C option may not work as you expect"
-msgstr "upozorenje: opcija -C možda neće raditi kako želite"
+msgstr "upozorenje: opcija -C možda neće raditi prema oÄekivanju"
-#: builtins/complete.def:847
+#: builtins/complete.def:831
msgid "not currently executing completion function"
-msgstr "trenutno ne izvršavam funkciju nadopunjavanja"
+msgstr "trenutaÄno se ne izvrÅ¡ava funkcija kompletiranja"
-#: builtins/declare.def:132
+#: builtins/declare.def:127
msgid "can only be used in a function"
msgstr "može se koristiti samo u funkciji"
-#: builtins/declare.def:369 builtins/declare.def:736
+#: builtins/declare.def:332 builtins/declare.def:685
#, c-format
msgid "%s: reference variable cannot be an array"
-msgstr ""
+msgstr "%s: referentna varijabla ne može biti polje"
-#: builtins/declare.def:380 variables.c:3161
+#: builtins/declare.def:343 variables.c:2959
#, c-format
msgid "%s: nameref variable self references not allowed"
-msgstr ""
+msgstr "%s: varijabla nameref ukazuje na samu sebe, a to nije dopušteno"
-#: builtins/declare.def:385 variables.c:2018 variables.c:3083 variables.c:3095
-#: variables.c:3158
+#: builtins/declare.def:348 variables.c:1928 variables.c:2877 variables.c:2889
+#: variables.c:2956
#, c-format
msgid "%s: circular name reference"
-msgstr ""
+msgstr "%s: kružna referencija na ime"
-#: builtins/declare.def:390 builtins/declare.def:742 builtins/declare.def:753
-#, fuzzy, c-format
+#: builtins/declare.def:353 builtins/declare.def:691 builtins/declare.def:702
+#, c-format
msgid "`%s': invalid variable name for name reference"
-msgstr "„%sâ€: neispravno drugo ime"
+msgstr "„%s“: nevaljano ime varijable za referenciju na ime"
-#: builtins/declare.def:500
+#: builtins/declare.def:463
msgid "cannot use `-f' to make functions"
-msgstr "ne mogu koristiti „-f†za izradu funkcija"
+msgstr "„-f“ se ne može koristiti za definiranje funkcije"
-#: builtins/declare.def:512 execute_cmd.c:5797
+#: builtins/declare.def:475 execute_cmd.c:5632
#, c-format
msgid "%s: readonly function"
msgstr "%s: funkcija samo za Äitanje"
-#: builtins/declare.def:804
+#: builtins/declare.def:753
#, c-format
msgid "%s: quoted compound array assignment deprecated"
-msgstr ""
+msgstr "%s: dodjeljivanje citiranoga složenog polja je zastarjelo"
-#: builtins/declare.def:818
+#: builtins/declare.def:767
#, c-format
msgid "%s: cannot destroy array variables in this way"
-msgstr "%s: ne mogu uniÅ¡titi varijable polja na ovaj naÄin"
+msgstr "%s: nije moguće uniÅ¡titi varijable polja na ovaj naÄin"
-#: builtins/declare.def:825 builtins/read.def:784
+#: builtins/declare.def:774 builtins/read.def:751
#, c-format
msgid "%s: cannot convert associative to indexed array"
-msgstr "%s: ne mogu pretvoriti asocijativno u indeksirano polje"
+msgstr "%s: nije moguće pretvoriti asocijativno u indeksirano polje"
#: builtins/enable.def:143 builtins/enable.def:151
msgid "dynamic loading not available"
@@ -385,17 +391,17 @@ msgstr "dinamiÄko uÄitavanje nije dostupno"
#: builtins/enable.def:343
#, c-format
msgid "cannot open shared object %s: %s"
-msgstr "ne mogu otvoriti dijeljeni objekt %s: %s"
+msgstr "nije moguće otvoriti dijeljeni objekt %s: %s"
#: builtins/enable.def:369
#, c-format
msgid "cannot find %s in shared object %s: %s"
-msgstr "ne mogu pronaći %s u dijeljenom objektu %s: %s"
+msgstr "nije moguće pronaći %s u dijeljenom objektu %s: %s"
#: builtins/enable.def:387
#, c-format
msgid "load function for %s returns failure (%d): not loaded"
-msgstr ""
+msgstr "funkcija uÄitavanja za %s zavrÅ¡ila je s pogreÅ¡kom (%d): nije uÄitano"
#: builtins/enable.def:512
#, c-format
@@ -405,119 +411,118 @@ msgstr "%s: nije dinamiÄki uÄitan"
#: builtins/enable.def:538
#, c-format
msgid "%s: cannot delete: %s"
-msgstr "%s: ne mogu ukloniti: %s"
+msgstr "%s: nije moguće izbrisati: %s"
-#: builtins/evalfile.c:138 builtins/hash.def:184 execute_cmd.c:5629
+#: builtins/evalfile.c:144 builtins/hash.def:172 execute_cmd.c:5472
#, c-format
msgid "%s: is a directory"
msgstr "%s: to je direktorij"
-#: builtins/evalfile.c:144
+#: builtins/evalfile.c:150
#, c-format
msgid "%s: not a regular file"
msgstr "%s: nije obiÄna datoteka"
-#: builtins/evalfile.c:153
+#: builtins/evalfile.c:159
#, c-format
msgid "%s: file is too large"
msgstr "%s: datoteka je prevelika"
-#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1623
+#: builtins/evalfile.c:194 builtins/evalfile.c:212 shell.c:1578
#, c-format
msgid "%s: cannot execute binary file"
-msgstr "%s: ne mogu izvršiti binarnu datoteku"
+msgstr "%s: nije moguće izvršiti binarnu datoteku"
-#: builtins/exec.def:155 builtins/exec.def:157 builtins/exec.def:237
+#: builtins/exec.def:156 builtins/exec.def:158 builtins/exec.def:235
#, c-format
msgid "%s: cannot execute: %s"
-msgstr "%s: ne mogu izvršiti: %s"
+msgstr "%s: nije moguće izvršiti: %s"
-#: builtins/exit.def:64
+#: builtins/exit.def:67
#, c-format
msgid "logout\n"
msgstr "odjava\n"
-#: builtins/exit.def:89
+#: builtins/exit.def:92
msgid "not login shell: use `exit'"
-msgstr "nije prijavna ljuska: koristite „exitâ€"
+msgstr "nije prijavna ljuska: odjavite se s „exit“"
-#: builtins/exit.def:121
+# stopped > pauzirano ili zaustavljeno
+#: builtins/exit.def:124
#, c-format
msgid "There are stopped jobs.\n"
-msgstr "Ima zaustavljenih zadataka.\n"
+msgstr "Ima zaustavljenih poslova.\n"
-#: builtins/exit.def:123
+#: builtins/exit.def:126
#, c-format
msgid "There are running jobs.\n"
-msgstr "Ima pokrenutih zadataka.\n"
+msgstr "Ima pokrenutih poslova.\n"
-#: builtins/fc.def:265
+#: builtins/fc.def:269
msgid "no command found"
msgstr "naredba nije pronađena"
-#: builtins/fc.def:323 builtins/fc.def:372
+#: builtins/fc.def:327 builtins/fc.def:376
msgid "history specification"
-msgstr "specifikacija povijesti"
+msgstr "prikaz povijesti naredbi"
-#: builtins/fc.def:393
+#: builtins/fc.def:397
#, c-format
msgid "%s: cannot open temp file: %s"
-msgstr "%s: ne mogu otvoriti privremenu datoteku: %s"
+msgstr "%s: nije moguće otvoriti privremenu datoteku: %s"
-#: builtins/fg_bg.def:152 builtins/jobs.def:284
+#: builtins/fg_bg.def:153 builtins/jobs.def:284
msgid "current"
-msgstr "trenutno"
+msgstr "trenutaÄno"
-#: builtins/fg_bg.def:161
+#: builtins/fg_bg.def:162
#, c-format
msgid "job %d started without job control"
-msgstr "zadatak %d pokrenut bez kontrole zadataka"
+msgstr "posao %d pokrenuti je bez mogućnosti upravljanja"
#: builtins/getopt.c:110
#, c-format
msgid "%s: illegal option -- %c\n"
-msgstr "%s: nedozvoljena opcija -- %c\n"
+msgstr "%s: nedopuštena opcija -- %c\n"
#: builtins/getopt.c:111
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: opcija zahtijeva argument -- %c\n"
-#: builtins/hash.def:91
+#: builtins/hash.def:92
msgid "hashing disabled"
-msgstr "raspršivanje onemogućeno"
+msgstr "hash-tablica je onemogućena"
-#: builtins/hash.def:138
+#: builtins/hash.def:139
#, c-format
msgid "%s: hash table empty\n"
-msgstr "%s: tablica raspršivanja prazna\n"
+msgstr "%s: hash-tablica je prazna\n"
-#: builtins/hash.def:266
+#: builtins/hash.def:254
#, c-format
msgid "hits\tcommand\n"
-msgstr "pogoci\tnaredba\n"
+msgstr "pogodci\tnaredba\n"
-#: builtins/help.def:133
+#: builtins/help.def:135
+#, c-format
msgid "Shell commands matching keyword `"
msgid_plural "Shell commands matching keywords `"
-msgstr[0] "Naredbe ljuske koje odgovaraju kljuÄnoj rijeÄi „"
-msgstr[1] "Naredbe ljuske koje odgovaraju kljuÄnim rijeÄima „"
-msgstr[2] "Naredbe ljuske koje odgovaraju kljuÄnim rijeÄima „"
+msgstr[0] "Naredba koja odgovara kljuÄnoj rijeÄi „"
+msgstr[1] "Naredbe koje odgovaraju kljuÄnim rijeÄima „"
+msgstr[2] "Naredbi koje odgovaraju kljuÄnim rijeÄima „"
-#: builtins/help.def:185
+#: builtins/help.def:187
#, c-format
-msgid ""
-"no help topics match `%s'. Try `help help' or `man -k %s' or `info %s'."
-msgstr ""
-"nisu pronaÄ‘ene teme pomoći za „%sâ€. PokuÅ¡ajte „help helpâ€, „man -k %s†ili "
-"„info %sâ€."
+msgid "no help topics match `%s'. Try `help help' or `man -k %s' or `info %s'."
+msgstr "nisu pronađene teme pomoći za „%s“. Pokušajte s „help help“, „man -k %s“ ili „info %s“."
-#: builtins/help.def:224
+#: builtins/help.def:226
#, c-format
msgid "%s: cannot open: %s"
-msgstr "%s: ne mogu otvoriti: %s"
+msgstr "%s: nije moguće otvoriti: %s"
-#: builtins/help.def:524
+#: builtins/help.def:526
#, c-format
msgid ""
"These shell commands are defined internally. Type `help' to see this list.\n"
@@ -528,30 +533,28 @@ msgid ""
"A star (*) next to a name means that the command is disabled.\n"
"\n"
msgstr ""
-"Ove naredbe ljuske su interno definirane. Upišite „help†za prikaz popisa.\n"
-"UpiÅ¡ite „help ime†za viÅ¡e podataka o funkciji „imeâ€.\n"
-"Koristite „info bash†za više općenitih podataka o ljusci.\n"
-"Koristite „man -k†ili „info†za više podataka o naredbama izvan ovog "
-"popisa.\n"
+"Ove bash naredbe su interno definirane. Upišite „help“ za prikaz popisa.\n"
+"Upišite „help ime“ za više podataka o funkciji „ime“.\n"
+"Koristite „info bash“ za više općenitih podataka o ljusci.\n"
+"Koristite „man -k“ ili „info“ za više podataka o naredbama izvan ovog popisa.\n"
"\n"
"Zvjezdica (*) pokraj imena oznaÄava onemogućenu naredbu.\n"
"\n"
-#: builtins/history.def:154
+#: builtins/history.def:155
msgid "cannot use more than one of -anrw"
-msgstr "ne mogu koristiti više od jedne od opcija -anrw"
+msgstr "smije se rabiti samo jedna od opcija -anrw"
-#: builtins/history.def:187 builtins/history.def:197 builtins/history.def:212
-#: builtins/history.def:229 builtins/history.def:241 builtins/history.def:248
+#: builtins/history.def:187
msgid "history position"
-msgstr "mjesto u povijesti"
+msgstr "mjesto u povijesti naredbi"
-#: builtins/history.def:331
-#, fuzzy, c-format
+#: builtins/history.def:264
+#, c-format
msgid "%s: invalid timestamp"
-msgstr "%s: neispravno ime opcije"
+msgstr "%s: nevaljana vremenska oznaka"
-#: builtins/history.def:442
+#: builtins/history.def:375
#, c-format
msgid "%s: history expansion failed"
msgstr "%s: proširenje povijesti nije uspjelo"
@@ -563,89 +566,89 @@ msgstr "%s: inlib nije uspio"
#: builtins/jobs.def:109
msgid "no other options allowed with `-x'"
-msgstr "nisu dozvoljene druge opcije uz „-xâ€"
+msgstr "nisu dopuštene druge opcije uz „-x“"
-#: builtins/kill.def:200
+#: builtins/kill.def:202
#, c-format
msgid "%s: arguments must be process or job IDs"
-msgstr "%s: argumenti moraju biti identifikatori procesa ili zadataka"
+msgstr "%s: argumenti moraju biti ID-ovi procesa ili posla"
-#: builtins/kill.def:263
+#: builtins/kill.def:265
msgid "Unknown error"
msgstr "Nepoznata greška"
-#: builtins/let.def:97 builtins/let.def:122 expr.c:614 expr.c:632
+#: builtins/let.def:97 builtins/let.def:122 expr.c:583 expr.c:598
msgid "expression expected"
-msgstr "oÄekujem izraz"
+msgstr "oÄekivao se izraz"
#: builtins/mapfile.def:178
#, c-format
msgid "%s: not an indexed array"
msgstr "%s: nije indeksirano polje"
-#: builtins/mapfile.def:271 builtins/read.def:305
+#: builtins/mapfile.def:272 builtins/read.def:306
#, c-format
msgid "%s: invalid file descriptor specification"
-msgstr "%s: neispravno naveden opisnik datoteke"
+msgstr "%s: nevaljana specifikacija deskriptora datoteke"
-#: builtins/mapfile.def:279 builtins/read.def:312
+#: builtins/mapfile.def:280 builtins/read.def:313
#, c-format
msgid "%d: invalid file descriptor: %s"
-msgstr "%d: neispravan opisnik datoteke: %s"
+msgstr "%d: nevaljani deskriptor datoteke: %s"
-#: builtins/mapfile.def:288 builtins/mapfile.def:326
+#: builtins/mapfile.def:289 builtins/mapfile.def:327
#, c-format
msgid "%s: invalid line count"
-msgstr "%s: neispravan broj redaka"
+msgstr "%s: nevaljani koliÄina redaka"
-#: builtins/mapfile.def:299
+#: builtins/mapfile.def:300
#, c-format
msgid "%s: invalid array origin"
-msgstr "%s: neispravan izvor polja"
+msgstr "%s: nevaljani poÄetak polja"
-#: builtins/mapfile.def:316
+#: builtins/mapfile.def:317
#, c-format
msgid "%s: invalid callback quantum"
-msgstr "%s: neispravan element povratnog poziva"
+msgstr "%s: nevaljana koliÄina od callback"
-#: builtins/mapfile.def:349
+#: builtins/mapfile.def:350
msgid "empty array variable name"
msgstr "prazno ime varijable polja"
-#: builtins/mapfile.def:370
+#: builtins/mapfile.def:371
msgid "array variable support required"
-msgstr "potrebna je podrška varijable polja"
+msgstr "potrebna podrška varijable polja nije podržana u ovoj ljusci"
-#: builtins/printf.def:416
+#: builtins/printf.def:412
#, c-format
msgid "`%s': missing format character"
-msgstr "„%sâ€: nedostaje znak oblika"
+msgstr "„%s“: nedostaje znak za format"
-#: builtins/printf.def:471
+#: builtins/printf.def:467
#, c-format
msgid "`%c': invalid time format specification"
-msgstr "„%câ€: neispravno naveden oblik vremena"
+msgstr "„%c“: nevaljana specifikacija za format vremena"
-#: builtins/printf.def:673
+#: builtins/printf.def:669
#, c-format
msgid "`%c': invalid format character"
-msgstr "„%câ€: neispravan znak oblika"
+msgstr "„%c“: nevaljani znak za format"
-#: builtins/printf.def:699
+#: builtins/printf.def:695
#, c-format
msgid "warning: %s: %s"
msgstr "upozorenje: %s: %s"
-#: builtins/printf.def:785
+#: builtins/printf.def:781
#, c-format
msgid "format parsing problem: %s"
-msgstr ""
+msgstr "greška pri analizi: %s"
-#: builtins/printf.def:882
+#: builtins/printf.def:878
msgid "missing hex digit for \\x"
-msgstr "nedostaje heksadekadska znamenka za \\x"
+msgstr "nedostaje heksadecimalna znamenka za \\x"
-#: builtins/printf.def:897
+#: builtins/printf.def:893
#, c-format
msgid "missing unicode digit for \\%c"
msgstr "nedostaje unicode znamenka za \\%c"
@@ -655,23 +658,23 @@ msgid "no other directory"
msgstr "nema drugog direktorija"
#: builtins/pushd.def:360
-#, fuzzy, c-format
+#, c-format
msgid "%s: invalid argument"
-msgstr "%s: neispravan argument ograniÄenja"
+msgstr "%s: nevaljani argument"
-#: builtins/pushd.def:480
+#: builtins/pushd.def:475
msgid "<no current directory>"
-msgstr "<nema trenutnog direktorija>"
+msgstr "<nema trenutaÄnog direktorija>"
-#: builtins/pushd.def:524
+#: builtins/pushd.def:519
msgid "directory stack empty"
-msgstr "stog direktorija je prazan"
+msgstr "snop direktorija je prazan"
-#: builtins/pushd.def:526
+#: builtins/pushd.def:521
msgid "directory stack index"
msgstr "indeks stoga direktorija"
-#: builtins/pushd.def:701
+#: builtins/pushd.def:696
msgid ""
"Display the list of currently remembered directories. Directories\n"
" find their way onto the list with the `pushd' command; you can get\n"
@@ -686,36 +689,30 @@ msgid ""
" \twith its position in the stack\n"
" \n"
" Arguments:\n"
-" +N\tDisplays the Nth entry counting from the left of the list shown "
-"by\n"
+" +N\tDisplays the Nth entry counting from the left of the list shown by\n"
" \tdirs when invoked without options, starting with zero.\n"
" \n"
-" -N\tDisplays the Nth entry counting from the right of the list shown "
-"by\n"
+" -N\tDisplays the Nth entry counting from the right of the list shown by\n"
"\tdirs when invoked without options, starting with zero."
msgstr ""
-"Prikaži popis trenutno zapamćenih direktorija. Direktoriji se dodaju\n"
-" na popis naredbom „pushdâ€, kroz popis se možete vraćati naredbom\n"
-" „popdâ€.\n"
-" \n"
+"Pokaže popis trenutaÄno zapamćenih direktorija. Direktoriji se unose\n"
+" na popis pomoću naredbe „pushd“, a s naredbom „popd“ se uklanjaju.\n"
+"\n"
" Opcije:\n"
-" -c\toÄisti stog direktorija uklanjanjem svih elemenata\n"
-" -l\tne ispisuj tildom prefiksirane inaÄice direktorija\n"
-" \trelativno u odnosu na poÄetni direktorij\n"
-" -p\tispiši stog direktorija jednu stavku po retku\n"
-" -v\tispiši stog direktorija jednu stavku po retku\n"
-" \tprefiksiranu položajem u stogu\n"
-" \n"
+" -c poÄisti snop direktorija brisanjem svih elemenata\n"
+" -l ispiše apsolutne staze direktorija u odnosu na osobni\n"
+" direktorij (ne skraćuje staze upotrebom tilde)\n"
+" -p ispiše sadržaj snopa po jedan direktorij po retku\n"
+" -v kao „-p“, ali s prefiksom koji pokazuje\n"
+" poziciju direktorija snopu\n"
+"\n"
" Argumenti:\n"
-" +N\tPrikazuje N-tu stavku s lijeve strane popisa koju prikazuje "
-"naredba\n"
-" \t„dirs†pozvana bez opcija, poÄevÅ¡i od nule.\n"
-" \n"
-" -N\tPrikazuje N-tu stavku s desne strane popisa koju prikazuje "
-"naredba\n"
-"\t„dirs†pozvana bez opcija, poÄevÅ¡i od nule."
+" +N Pokaže N-ti direktorij iz snopa, brojeći od od nule s\n"
+" lijeve strane popisa kÈd se „dirs“ pokrene bez opcija.\n"
+" -N Pokaže N-ti direktorij iz snopa, brojeći od nule s\n"
+" desne strane popisa kÈd se „dirs“ pokrene bez opcija."
-#: builtins/pushd.def:723
+#: builtins/pushd.def:718
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"
@@ -739,8 +736,25 @@ msgid ""
" \n"
" The `dirs' builtin displays the directory stack."
msgstr ""
+"Doda direktorij na vrh snopa direktorija ili zarotira snop tako da\n"
+" uÄini novi vrh snopa trenutaÄnim radnim direktorijem. Bez argumenata\n"
+" razmijeni pozicije dva direktorija na vrhu snopa.\n"
+"\n"
+" Opcije:\n"
+" -n izostavi uobiÄajenu promjenu direktorija kÈd dodaje\n"
+" direktorije u snop, odnosno samo manipulira sa snopom\n"
+"\n"
+" Argumenti:\n"
+" +N Zarotira snop tako, da N-ti direktorij u snopu (brojeći od nule s\n"
+" lijeve strane popisa prikazanoga s „dirs“) postane novi vrh snopa.\n"
+" -N Zarotira snop tako, da N-ti direktorij u snopu (brojeći od nule s\n"
+" desne strane popisa prikazanoga s „dirs“) postane novi vrh snopa.\n"
+" DIREKTORIJ Doda DIREKTORIJ na vrh snopa direktorija i\n"
+" uÄini ga novim aktualnim radnim direktorijem.\n"
+"\n"
+" Naredba „dirs“ prikaže trenutaÄni sadržaj snopa direktorija."
-#: builtins/pushd.def:748
+#: builtins/pushd.def:743
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"
@@ -760,138 +774,154 @@ msgid ""
" \n"
" The `dirs' builtin displays the directory stack."
msgstr ""
+"Ukloni direktorije iz snopa direktorija. Bez argumenata, ukloni\n"
+" direktorij na vrhu snopa i premjesti se u novi najviši direktorij.\n"
+"\n"
+" Opcije:\n"
+" -n izostavi uobiÄajenu promjenu direktorija kÈd uklanja\n"
+" direktorije iz snopa, odnosno samo manipulira sa snopom\n"
+"\n"
+" Argumenti:\n"
+" +N Ukloni da N-ti direktorij iz snopa brojeći od nule s lijeve\n"
+" strane popisa prikazanoga s „dirs“. Na primjer: „popd +0“\n"
+" ukloni prvi, a „popd +1“ ukloni drugi direktorij.\n"
+" +N Ukloni da N-ti direktorij iz snopa brojeći od nule s desne\n"
+" strane popisa prikazanoga s „dirs“. Na primjer.: „popd -0“\n"
+" ukloni zadnji, a „popd -1“ ukloni predzadnji direktorij.\n"
+"\n"
+" Naredba „dirs“ prikaže trenutaÄni sadržaj snopa direktorija."
-#: builtins/read.def:277
+#: builtins/read.def:279
#, c-format
msgid "%s: invalid timeout specification"
-msgstr "%s: neispravno navedeno vremensko ograniÄenje"
+msgstr "%s: nevaljana specifikacija za istek vremena"
-#: builtins/read.def:729
+#: builtins/read.def:696
#, c-format
msgid "read error: %d: %s"
msgstr "greÅ¡ka Äitanja: %d: %s"
-#: builtins/return.def:68
+#: builtins/return.def:71
msgid "can only `return' from a function or sourced script"
-msgstr "pozivanje „return†je moguće samo iz funkcije ili pokrenute skripte"
+msgstr "„return“ je mogući samo iz funkcije ili iz pokrenute skripte"
-#: builtins/set.def:834
+#: builtins/set.def:841
msgid "cannot simultaneously unset a function and a variable"
-msgstr "ne mogu istovremeno poništiti funkciju i varijablu"
+msgstr "nije moguće istovremeno poništiti funkciju i varijablu"
-#: builtins/set.def:881
+#: builtins/set.def:888
#, c-format
msgid "%s: cannot unset"
-msgstr "%s: ne mogu poništiti"
+msgstr "%s: nije moguće poništiti"
-#: builtins/set.def:902 variables.c:3597
+#: builtins/set.def:909 variables.c:3389
#, c-format
msgid "%s: cannot unset: readonly %s"
-msgstr "%s: ne mogu poniÅ¡titi: %s je samo za Äitanje"
+msgstr "%s: nije moguće poniÅ¡titi: %s je moguće samo Äitati"
-#: builtins/set.def:915
+#: builtins/set.def:922
#, c-format
msgid "%s: not an array variable"
msgstr "%s: nije varijabla polja"
-#: builtins/setattr.def:189
+#: builtins/setattr.def:191
#, c-format
msgid "%s: not a function"
msgstr "%s: nije funkcija"
-#: builtins/setattr.def:194
-#, fuzzy, c-format
+#: builtins/setattr.def:196
+#, c-format
msgid "%s: cannot export"
-msgstr "%s: ne mogu poništiti"
+msgstr "%s: nije moguće eksportirati"
#: builtins/shift.def:73 builtins/shift.def:79
msgid "shift count"
-msgstr "broj pomaka"
+msgstr "brojaÄ pomaka"
-#: builtins/shopt.def:301
+#: builtins/shopt.def:289
msgid "cannot set and unset shell options simultaneously"
-msgstr "ne mogu istovremeno postaviti i poništiti opcije ljuske"
+msgstr "nije moguće istovremeno postaviti i poništiti opcije ljuske"
-#: builtins/shopt.def:403
+#: builtins/shopt.def:391
#, c-format
msgid "%s: invalid shell option name"
-msgstr "%s: neispravno ime opcije ljuske"
+msgstr "%s: nevaljano ime za opciju ljuske"
-#: builtins/source.def:128
+#: builtins/source.def:131
msgid "filename argument required"
-msgstr "potrebno je ime datoteke kao argument"
+msgstr "zahtijeva se ime datoteke kao argument"
-#: builtins/source.def:154
+#: builtins/source.def:157
#, c-format
msgid "%s: file not found"
msgstr "%s: datoteka nije pronađena"
#: builtins/suspend.def:102
msgid "cannot suspend"
-msgstr "ne mogu zaustaviti"
+msgstr "obustava nije moguća"
#: builtins/suspend.def:112
msgid "cannot suspend a login shell"
-msgstr "ne mogu zaustaviti prijavnu ljusku"
+msgstr "nije moguće obustaviti prijavnu ljusku"
-#: builtins/type.def:235
+#: builtins/type.def:236
#, c-format
msgid "%s is aliased to `%s'\n"
-msgstr "%s je drugo ime za „%sâ€\n"
+msgstr "%s je alias za „%s“\n"
-#: builtins/type.def:256
+#: builtins/type.def:257
#, c-format
msgid "%s is a shell keyword\n"
msgstr "%s je kljuÄna rijeÄ ljuske\n"
-#: builtins/type.def:275
+#: builtins/type.def:276
#, c-format
msgid "%s is a function\n"
msgstr "%s je funkcija\n"
-#: builtins/type.def:299
-#, fuzzy, c-format
+#: builtins/type.def:300
+#, c-format
msgid "%s is a special shell builtin\n"
-msgstr "%s je ugrađen u ljusku\n"
+msgstr "%s je specijalna ugrađena funkcija ljuske\n"
-#: builtins/type.def:301
+#: builtins/type.def:302
#, c-format
msgid "%s is a shell builtin\n"
-msgstr "%s je ugrađen u ljusku\n"
+msgstr "%s je ugrađena funkcija ljuske\n"
-#: builtins/type.def:323 builtins/type.def:408
+#: builtins/type.def:324 builtins/type.def:409
#, c-format
msgid "%s is %s\n"
msgstr "%s je %s\n"
-#: builtins/type.def:343
+#: builtins/type.def:344
#, c-format
msgid "%s is hashed (%s)\n"
-msgstr "%s je raspršen (%s)\n"
+msgstr "za %s izraÄunata hash vrijednost (%s)\n"
-#: builtins/ulimit.def:396
+#: builtins/ulimit.def:398
#, c-format
msgid "%s: invalid limit argument"
-msgstr "%s: neispravan argument ograniÄenja"
+msgstr "%s: nevaljani argument za ograniÄenje"
-#: builtins/ulimit.def:422
+#: builtins/ulimit.def:424
#, c-format
msgid "`%c': bad command"
-msgstr "„%câ€: neispravna naredba"
+msgstr "„%c“: loša naredba"
-#: builtins/ulimit.def:451
+#: builtins/ulimit.def:453
#, c-format
msgid "%s: cannot get limit: %s"
-msgstr "%s: ne mogu otkriti ograniÄenje: %s"
+msgstr "%s: nije moguće dobiti ograniÄenje: %s"
-#: builtins/ulimit.def:477
+#: builtins/ulimit.def:479
msgid "limit"
msgstr "ograniÄenje"
-#: builtins/ulimit.def:489 builtins/ulimit.def:789
+#: builtins/ulimit.def:491 builtins/ulimit.def:791
#, c-format
msgid "%s: cannot modify limit: %s"
-msgstr "%s: ne mogu urediti ograniÄenje: %s"
+msgstr "%s: nije moguće promijeniti ograniÄenje: %s"
#: builtins/umask.def:115
msgid "octal number"
@@ -900,434 +930,426 @@ msgstr "oktalni broj"
#: builtins/umask.def:232
#, c-format
msgid "`%c': invalid symbolic mode operator"
-msgstr "„%câ€: neispravan operator simboliÄkog naÄina"
+msgstr "„%c“: nevaljani operator u simboliÄkom naÄinu"
#: builtins/umask.def:287
#, c-format
msgid "`%c': invalid symbolic mode character"
-msgstr "„%câ€: neispravan znak simboliÄkog naÄina"
+msgstr "„%c“: nevaljani znak u simboliÄkom naÄinu"
-#: error.c:89 error.c:347 error.c:349 error.c:351
+#: error.c:90 error.c:348 error.c:350 error.c:352
msgid " line "
msgstr " redak "
-#: error.c:164
+#: error.c:165
#, c-format
msgid "last command: %s\n"
msgstr "posljednja naredba: %s\n"
-#: error.c:172
+#: error.c:173
#, c-format
msgid "Aborting..."
-msgstr "Prekidam..."
+msgstr "Prekida se..."
#. TRANSLATORS: this is a prefix for informational messages.
-#: error.c:287
+#: error.c:288
#, c-format
msgid "INFORM: "
-msgstr ""
+msgstr "informacije: "
-#: error.c:462
+#: error.c:463
msgid "unknown command error"
msgstr "nepoznata greška naredbe"
-#: error.c:463
+#: error.c:464
msgid "bad command type"
-msgstr "neispravna vrsta naredbe"
+msgstr "loša vrsta naredbe"
-#: error.c:464
+#: error.c:465
msgid "bad connector"
-msgstr "neispravno spajanje"
+msgstr "loš konektor"
-#: error.c:465
+#: error.c:466
msgid "bad jump"
-msgstr "neispravan skok"
+msgstr "loši skok"
-#: error.c:503
+#: error.c:504
#, c-format
msgid "%s: unbound variable"
msgstr "%s: nepovezana varijabla"
-#: eval.c:242
+#: eval.c:209
#, c-format
msgid "\atimed out waiting for input: auto-logout\n"
-msgstr "\avrijeme Äekanja ulaza je isteklo: automatska-odjava\n"
+msgstr "\avrijeme Äekanja na ulaz je isteklo: automatska-odjava\n"
-#: execute_cmd.c:536
+#: execute_cmd.c:527
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
-msgstr "ne mogu preusmjeriti standardni ulaz iz /dev/null: %s"
+msgstr "nije moguće preusmjeriti standardni ulaz iz /dev/null: %s"
-#: execute_cmd.c:1294
+#: execute_cmd.c:1275
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
-msgstr "TIMEFORMAT: „%câ€: neispravan znak oblika"
+msgstr "TIMEFORMAT: „%c“: nevaljani znak za format"
-#: execute_cmd.c:2330
+#: execute_cmd.c:2273
#, c-format
msgid "execute_coproc: coproc [%d:%s] still exists"
-msgstr ""
+msgstr "execute_coproc(): coproc [%d:%s] još uvijek postoji"
-#: execute_cmd.c:2456
+#: execute_cmd.c:2377
msgid "pipe error"
-msgstr "greška cjevovoda"
+msgstr "greška cijevi"
-#: execute_cmd.c:4624
+#: execute_cmd.c:4496
#, c-format
msgid "eval: maximum eval nesting level exceeded (%d)"
-msgstr ""
+msgstr "eval: prekoraÄena je dopuÅ¡tena razina eval gniježđenja (%d)"
-#: execute_cmd.c:4636
+#: execute_cmd.c:4508
#, c-format
msgid "%s: maximum source nesting level exceeded (%d)"
-msgstr ""
+msgstr "%s: prekoraÄena je dopuÅ¡tena razina source gniježđenja (%d)"
-#: execute_cmd.c:4742
+#: execute_cmd.c:4616
#, c-format
msgid "%s: maximum function nesting level exceeded (%d)"
-msgstr ""
+msgstr "%s: prekoraÄena je dopuÅ¡tena razina gniježđenja funkcije (%d)"
-#: execute_cmd.c:5285
+#: execute_cmd.c:5144
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
-msgstr "%s: ograniÄeno: ne možete navesti „/†u imenu naredbe"
+msgstr "%s: ograniÄeni naÄin: znak „/“ nije dopuÅ¡ten u imenima naredba"
-#: execute_cmd.c:5383
+#: execute_cmd.c:5232
#, c-format
msgid "%s: command not found"
msgstr "%s: naredba nije pronađena"
-#: execute_cmd.c:5627
+#: execute_cmd.c:5470
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: execute_cmd.c:5665
+#: execute_cmd.c:5508
#, c-format
msgid "%s: %s: bad interpreter"
-msgstr "%s: %s: neispravan tumaÄ"
+msgstr "%s: %s: loši interpreter"
-#: execute_cmd.c:5702
-#, fuzzy, c-format
+#: execute_cmd.c:5545
+#, c-format
msgid "%s: cannot execute binary file: %s"
-msgstr "%s: ne mogu izvršiti binarnu datoteku"
+msgstr "%s: binarnu datoteku %s nije moguće pokrenuti/izvršiti"
-#: execute_cmd.c:5788
-#, fuzzy, c-format
+#: execute_cmd.c:5623
+#, c-format
msgid "`%s': is a special builtin"
-msgstr "%s je ugrađen u ljusku\n"
+msgstr "„%s“ je specijalna funkcija ugrađena u ljusku"
-#: execute_cmd.c:5840
+#: execute_cmd.c:5675
#, c-format
msgid "cannot duplicate fd %d to fd %d"
-msgstr "ne mogu udvostruÄiti opisnik datoteke %d u opisnik datoteke %d"
+msgstr "nije moguće kopirati deskriptor datoteke %d u deskriptor datoteke %d"
-#: expr.c:263
+#: expr.c:259
msgid "expression recursion level exceeded"
-msgstr "razina rekurzije izraza je prekoraÄena"
+msgstr "izraz ima preveliki broj rekurzija"
-#: expr.c:291
+#: expr.c:283
msgid "recursion stack underflow"
-msgstr "podljev stoga rekurzije"
+msgstr "snop rekurzija je prazan"
-#: expr.c:453
+#: expr.c:431
msgid "syntax error in expression"
-msgstr "sintaksna greška u izrazu"
+msgstr "sintaktiÄka greÅ¡ka u izrazu"
-#: expr.c:497
+#: expr.c:475
msgid "attempted assignment to non-variable"
-msgstr "pokušaj pridruživanja ne-varijabli"
+msgstr "vrijednost se može dodijeliti samo varijabli"
-#: expr.c:506
-#, fuzzy
-msgid "syntax error in variable assignment"
-msgstr "sintaksna greška u izrazu"
-
-#: expr.c:520 expr.c:886
+#: expr.c:495 expr.c:858
msgid "division by 0"
msgstr "dijeljenje s 0"
-#: expr.c:567
+#: expr.c:542
msgid "bug: bad expassign token"
-msgstr "greška: neispravan simbol expassign"
+msgstr "**interna greška** : loši token u izrazu za dodjelu"
-#: expr.c:621
+#: expr.c:595
msgid "`:' expected for conditional expression"
-msgstr "oÄekujem „:†za uvjetni izraz"
+msgstr "znak „:“ je nužan u uvjetnom izrazu"
-#: expr.c:947
+#: expr.c:919
msgid "exponent less than 0"
msgstr "eksponent je manji od 0"
-#: expr.c:1004
+#: expr.c:976
msgid "identifier expected after pre-increment or pre-decrement"
-msgstr "oÄekujem identifikator nakon pred-povećanja ili pred-smanjenja"
+msgstr "nakon pre-increment ili pre-decrement oÄekuje se identifikator"
-#: expr.c:1030
+#: expr.c:1002
msgid "missing `)'"
-msgstr "nedostaje „)â€"
+msgstr "nema „)“"
-#: expr.c:1081 expr.c:1458
+#: expr.c:1053 expr.c:1393
msgid "syntax error: operand expected"
-msgstr "sintaksna greÅ¡ka: oÄekujem operand"
+msgstr "sintaktiÄka greÅ¡ka: oÄekivao se operand"
-#: expr.c:1460
+#: expr.c:1395
msgid "syntax error: invalid arithmetic operator"
-msgstr "sintaksna greÅ¡ka: neispravan aritmetiÄki operator"
+msgstr "sintaktiÄka greÅ¡ka: nevaljani aritmetiÄki operator"
-#: expr.c:1484
+#: expr.c:1419
#, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
-msgstr "%s%s%s: %s (simbol greÅ¡ke je „%sâ€)"
+msgstr "%s%s%s: %s (simbol greške je „%s“)"
-#: expr.c:1542
+#: expr.c:1477
msgid "invalid arithmetic base"
-msgstr "neispravna aritmetiÄka baza"
+msgstr "nevaljana aritmetiÄka baza"
-#: expr.c:1562
+#: expr.c:1497
msgid "value too great for base"
msgstr "vrijednost baze je prevelika"
-#: expr.c:1611
+#: expr.c:1546
#, c-format
msgid "%s: expression error\n"
-msgstr "%s: greška izraza\n"
+msgstr "%s: greška u izrazu\n"
-#: general.c:69
+#: general.c:68
msgid "getcwd: cannot access parent directories"
-msgstr "getcwd: ne mogu pristupiti nadređenim direktorijima"
+msgstr "getcwd(): nije moguće pristupiti nadređenim direktorijima"
-#: input.c:99 subst.c:5858
+#: input.c:102 subst.c:5858
#, c-format
msgid "cannot reset nodelay mode for fd %d"
-msgstr ""
+msgstr "ne može se onemogućiti nodelay naÄin za deskriptor datoteke %d"
-#: input.c:266
+#: input.c:271
#, c-format
msgid "cannot allocate new file descriptor for bash input from fd %d"
-msgstr "ne mogu alocirati novi datoteÄni opisnik za bash ulaz iz fd %d"
+msgstr "nije moguće dodijeliti novi datoteÄni deskriptor za bash ulaz iz fd %d"
-#: input.c:274
+#: input.c:279
#, c-format
msgid "save_bash_input: buffer already exists for new fd %d"
-msgstr "save_bash_input: međuspremnik već postoji za novi fd %d"
+msgstr "save_bash_input(): međuspremnik već postoji za novi fd %d"
#: jobs.c:527
msgid "start_pipeline: pgrp pipe"
-msgstr "start_pipeline: pgrp pipe"
+msgstr "start_pipeline(): pgrp pipe (procesna grupa cijevi)"
-#: jobs.c:1080
+#: jobs.c:1035
#, c-format
msgid "forked pid %d appears in running job %d"
-msgstr "razdvojen pid %d se javlja u pokrenutom zadatku %d"
+msgstr "potproces PID %d javlja se u pokrenutom poslu %d"
-#: jobs.c:1199
+#: jobs.c:1154
#, c-format
msgid "deleting stopped job %d with process group %ld"
-msgstr "uklanjam zaustavljeni zadatak %d s grupom procesa %ld"
+msgstr "uklanja se zaustavljeni posao %d s grupom procesa %ld"
-#: jobs.c:1303
+#: jobs.c:1258
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
-msgstr "add_process: proces %5ld (%s) u the_pipeline"
+msgstr "add_process(): proces %5ld (%s) u cjevovodu"
-#: jobs.c:1306
+#: jobs.c:1261
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
-msgstr "add_process: pid %5ld (%s) oznaÄen kao joÅ¡ živ"
+msgstr "add_process(): PID %5ld (%s) oznaÄen kao joÅ¡ uvijek aktivan"
-#: jobs.c:1635
+#: jobs.c:1590
#, c-format
msgid "describe_pid: %ld: no such pid"
-msgstr "describe_pid: %ld: ne postoji takav pid"
+msgstr "describe_pid(): %ld: PID ne postoji"
-#: jobs.c:1650
+#: jobs.c:1605
#, c-format
msgid "Signal %d"
msgstr "Signal %d"
-#: jobs.c:1664 jobs.c:1690
+#: jobs.c:1619 jobs.c:1645
msgid "Done"
msgstr "Gotovo"
-#: jobs.c:1669 siglist.c:123
+#: jobs.c:1624 siglist.c:123
msgid "Stopped"
-msgstr "Zaustavljen"
+msgstr "Zaustavljeno"
-#: jobs.c:1673
+#: jobs.c:1628
#, c-format
msgid "Stopped(%s)"
-msgstr "Zaustavljen(%s)"
+msgstr "Zaustavljeno(%s)"
-#: jobs.c:1677
+#: jobs.c:1632
msgid "Running"
-msgstr "Pokrenut"
+msgstr "Pokrenuto"
-#: jobs.c:1694
+#: jobs.c:1649
#, c-format
msgid "Done(%d)"
msgstr "Gotovo(%d)"
-#: jobs.c:1696
+#: jobs.c:1651
#, c-format
msgid "Exit %d"
msgstr "Izlaz %d"
-#: jobs.c:1699
+#: jobs.c:1654
msgid "Unknown status"
-msgstr "Nepoznato stanje"
+msgstr "Nepoznati status"
-#: jobs.c:1786
+#: jobs.c:1741
#, c-format
msgid "(core dumped) "
-msgstr "(jezgra izbaÄena) "
+msgstr "(stanje memorije zapisano) "
-#: jobs.c:1805
+#: jobs.c:1760
#, c-format
msgid " (wd: %s)"
msgstr " (wd: %s)"
-#: jobs.c:2033
+#: jobs.c:1985
#, c-format
msgid "child setpgid (%ld to %ld)"
-msgstr ""
+msgstr "postavljanje procesne grupe %2$ld od potomka %1$ld"
-#: jobs.c:2395 nojobs.c:657
+#: jobs.c:2347 nojobs.c:654
#, c-format
msgid "wait: pid %ld is not a child of this shell"
-msgstr "wait: pid %ld nije dijete ove ljuske"
+msgstr "wait: PID %ld nije potomak ove ljuske"
-#: jobs.c:2687
+#: jobs.c:2602
#, c-format
msgid "wait_for: No record of process %ld"
-msgstr "wait_for: Ne postoji zapis o procesu %ld"
+msgstr "wait_for: nema zapisa o procesu %ld"
-#: jobs.c:3048
+#: jobs.c:2929
#, c-format
msgid "wait_for_job: job %d is stopped"
-msgstr "wait_for_job: zadatak %d je zaustavljen"
+msgstr "wait_for_job: posao %d je zaustavljen"
-#: jobs.c:3355
+#: jobs.c:3221
#, c-format
msgid "%s: job has terminated"
-msgstr "%s: zadatak je dovršen"
+msgstr "%s: posao je prekinut"
-#: jobs.c:3364
+#: jobs.c:3230
#, c-format
msgid "%s: job %d already in background"
-msgstr "%s: zadatak %d je već u pozadini"
+msgstr "%s: posao %d je već u pozadini"
-#: jobs.c:3590
+#: jobs.c:3455
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
-msgstr ""
+msgstr "waitchld(): omogući WNOHANG da se izbjegne neodređeno blokiranje"
-#: jobs.c:4114
+#: jobs.c:3970
#, c-format
msgid "%s: line %d: "
msgstr "%s: redak %d: "
-#: jobs.c:4128 nojobs.c:900
+#: jobs.c:3984 nojobs.c:897
#, c-format
msgid " (core dumped)"
-msgstr " (jezgra izbaÄena)"
+msgstr " (stanje memorije zapisano)"
-#: jobs.c:4140 jobs.c:4153
+#: jobs.c:3996 jobs.c:4009
#, c-format
msgid "(wd now: %s)\n"
-msgstr "(sadašnji wd: %s)\n"
+msgstr "(radni direktorij je sada: %s)\n"
-#: jobs.c:4185
+#: jobs.c:4041
msgid "initialize_job_control: getpgrp failed"
-msgstr "initialize_job_control: getpgrp nije uspio"
-
-#: jobs.c:4241
-#, fuzzy
-msgid "initialize_job_control: no job control in background"
-msgstr "initialize_job_control: setpgid"
+msgstr "initialize_job_control: neuspješni getpgrp()"
-#: jobs.c:4257
+#: jobs.c:4104
msgid "initialize_job_control: line discipline"
-msgstr ""
+msgstr "initialize_job_control: line discipline"
-#: jobs.c:4267
+#: jobs.c:4114
msgid "initialize_job_control: setpgid"
-msgstr "initialize_job_control: setpgid"
+msgstr "initialize_job_control: setpgid()"
-#: jobs.c:4288 jobs.c:4297
+#: jobs.c:4135 jobs.c:4144
#, c-format
msgid "cannot set terminal process group (%d)"
-msgstr "ne mogu postaviti grupu procesa terminala (%d)"
+msgstr "nije moguće postaviti procesnu grupu (%d) terminala"
-#: jobs.c:4302
+#: jobs.c:4149
msgid "no job control in this shell"
-msgstr "nema kontrole zadataka u ovoj ljusci"
+msgstr "nema kontrole poslova u ovoj ljusci"
-#: lib/malloc/malloc.c:306
+#: lib/malloc/malloc.c:296
#, c-format
msgid "malloc: failed assertion: %s\n"
-msgstr ""
+msgstr "malloc(): neuspješni kontrolni test: %s\n"
-#: lib/malloc/malloc.c:322
+#: lib/malloc/malloc.c:312
#, c-format
msgid ""
"\r\n"
"malloc: %s:%d: assertion botched\r\n"
msgstr ""
+"\r\n"
+"malloc(): %s:%d: loše provedena proba\r\n"
-#: lib/malloc/malloc.c:323
+#: lib/malloc/malloc.c:313
msgid "unknown"
msgstr "nepoznato"
-#: lib/malloc/malloc.c:811
+#: lib/malloc/malloc.c:801
msgid "malloc: block on free list clobbered"
-msgstr ""
+msgstr "malloc(): prepisani je blok na popisu slobodne memorije"
-#: lib/malloc/malloc.c:888
+#: lib/malloc/malloc.c:878
msgid "free: called with already freed block argument"
-msgstr "free: pozvan s argumentom već oslobođenog bloka"
+msgstr "free(): pozvan s argumentom za već slobodni memorijski blok"
-#: lib/malloc/malloc.c:891
+#: lib/malloc/malloc.c:881
msgid "free: called with unallocated block argument"
-msgstr "free: pozvan s argumentom nealociranog bloka"
+msgstr "free(): pozvan s argumentom za ne dodijeljeni memorijski blok"
-#: lib/malloc/malloc.c:910
+#: lib/malloc/malloc.c:900
msgid "free: underflow detected; mh_nbytes out of range"
-msgstr "free: otkriven podljev, mh_nbytes izvan granica"
+msgstr "free(): otkriveni je podljev, mh_nbytes ispod granica"
-#: lib/malloc/malloc.c:916
+#: lib/malloc/malloc.c:906
msgid "free: start and end chunk sizes differ"
-msgstr ""
+msgstr "free(): veliÄine segmenta od poÄetka i kraja su razliÄite"
-#: lib/malloc/malloc.c:1015
+#: lib/malloc/malloc.c:1005
msgid "realloc: called with unallocated block argument"
-msgstr "realloc: pozvan s argumentom nealociranog bloka"
+msgstr "realloc(): pozvan s argumentom za ne dodijeljeni memorijski blok"
-#: lib/malloc/malloc.c:1030
+#: lib/malloc/malloc.c:1020
msgid "realloc: underflow detected; mh_nbytes out of range"
-msgstr "realloc: otkriven podljev, mh_nbytes izvan granica"
+msgstr "realloc(): otkriveni je podljev, mh_nbytes ispod granica"
-#: lib/malloc/malloc.c:1036
+#: lib/malloc/malloc.c:1026
msgid "realloc: start and end chunk sizes differ"
-msgstr ""
+msgstr "realloc(): veliÄine segmenta od poÄetka i kraja su razliÄite"
#: lib/malloc/table.c:191
#, c-format
msgid "register_alloc: alloc table is full with FIND_ALLOC?\n"
-msgstr ""
+msgstr "register_alloc(): rezervacijska tablica je popunjena s FIND_ALLOC??\n"
#: lib/malloc/table.c:200
#, c-format
msgid "register_alloc: %p already in table as allocated?\n"
-msgstr ""
+msgstr "register_alloc(): %p je već rezervirani u tablici??\n"
#: lib/malloc/table.c:253
#, c-format
msgid "register_free: %p already in table as free?\n"
-msgstr "register_free: %p već u tablici kao oslobođen?\n"
+msgstr "register_free(): %p je već slobodan u tablici??\n"
#: lib/sh/fmtulong.c:102
msgid "invalid base"
-msgstr "neispravna baza"
+msgstr "nevaljana baza"
#: lib/sh/netopen.c:168
#, c-format
@@ -1337,36 +1359,36 @@ msgstr "%s: nepoznato raÄunalo"
#: lib/sh/netopen.c:175
#, c-format
msgid "%s: invalid service"
-msgstr "%s: neispravna usluga"
+msgstr "%s: nevaljani servis"
#: lib/sh/netopen.c:306
#, c-format
msgid "%s: bad network path specification"
-msgstr "%s: neispravno navedena mrežna putanja"
+msgstr "%s: loša specifikacija za mrežnu stazu"
#: lib/sh/netopen.c:347
msgid "network operations not supported"
msgstr "mrežne operacije nisu podržane"
-#: locale.c:205
+#: locale.c:200
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s)"
-msgstr "setlocale: LC_ALL: ne mogu promijeniti lokal (%s)"
+msgstr "setlocale(): LC_ALL: nije moguće promijeniti jeziÄno podruÄje (%s)"
-#: locale.c:207
+#: locale.c:202
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
-msgstr "setlocale: LC_ALL: ne mogu promijeniti lokal (%s): %s"
+msgstr "setlocale(): LC_ALL: nije moguće promijeniti jeziÄno podruÄje (%s): %s"
-#: locale.c:272
+#: locale.c:259
#, c-format
msgid "setlocale: %s: cannot change locale (%s)"
-msgstr "setlocale: %s: ne mogu promijeniti lokal (%s)"
+msgstr "setlocale(): %s: nije moguće promijeniti jeziÄno podruÄje (%s)"
-#: locale.c:274
+#: locale.c:261
#, c-format
msgid "setlocale: %s: cannot change locale (%s): %s"
-msgstr "setlocale: %s: ne mogu promijeniti lokal (%s): %s"
+msgstr "setlocale(): %s: nije moguće promijeniti jeziÄno podruÄje (%s): %s"
#: mailcheck.c:439
msgid "You have mail in $_"
@@ -1379,323 +1401,317 @@ msgstr "Imate novu poštu u $_"
#: mailcheck.c:480
#, c-format
msgid "The mail in %s has been read\n"
-msgstr "PoÅ¡ta u %s je proÄitana\n"
+msgstr "PoÅ¡ta u %s je već proÄitana\n"
-#: make_cmd.c:317
+#: make_cmd.c:329
msgid "syntax error: arithmetic expression required"
-msgstr "sintaksna greÅ¡ka: potreban aritmetiÄki izraz"
+msgstr "sintaktiÄka greÅ¡ka: zahtijeva se aritmetiÄki izraz"
-#: make_cmd.c:319
+#: make_cmd.c:331
msgid "syntax error: `;' unexpected"
-msgstr "sintaksna greÅ¡ka: neoÄekivana „;â€"
+msgstr "sintaktiÄka greÅ¡ka: neoÄekivani „;“ znak"
-#: make_cmd.c:320
+#: make_cmd.c:332
#, c-format
msgid "syntax error: `((%s))'"
-msgstr "sintaksna greÅ¡ka: „((%s))â€"
+msgstr "sintaktiÄka greÅ¡ka: „((%s))“"
-#: make_cmd.c:572
+#: make_cmd.c:584
#, c-format
msgid "make_here_document: bad instruction type %d"
-msgstr "make_here_document: neispravna vrsta instrukcije %d"
+msgstr "make_here_document(): loša vrsta instrukcije %d"
-#: make_cmd.c:657
+#: make_cmd.c:669
#, c-format
msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
-msgstr ""
+msgstr "redak %d od here-document ima za razdjelnik EOF (oÄekuje se „%s“)"
-#: make_cmd.c:756
+#: make_cmd.c:768
#, c-format
msgid "make_redirection: redirection instruction `%d' out of range"
-msgstr ""
+msgstr "make_redirection(): instrukcija za preusmjeravanje „%d“ je izvan raspona"
-#: parse.y:2369
+#: parse.y:2324
#, c-format
-msgid ""
-"shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line "
-"truncated"
-msgstr ""
+msgid "shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line truncated"
+msgstr "shell_getc(): shell_input_line_size (%zu) je veća od SIZE_MAX (%lu): skraćuje se"
-#: parse.y:2772
+#: parse.y:2700
msgid "maximum here-document count exceeded"
-msgstr ""
+msgstr "maksimalni broj za here-document je prekoraÄeni"
-#: parse.y:3511 parse.y:3881
+#: parse.y:3390 parse.y:3748
#, c-format
msgid "unexpected EOF while looking for matching `%c'"
-msgstr "neoÄekivani EOF pri traženju odgovarajućeg „%câ€"
+msgstr "neoÄekivani EOF pri traženju odgovarajućeg „%c“"
-#: parse.y:4581
+#: parse.y:4410
msgid "unexpected EOF while looking for `]]'"
-msgstr "neoÄekivani EOF pri traženju „]]â€"
+msgstr "neoÄekivani EOF pri traženju „]]“"
-#: parse.y:4586
+#: parse.y:4415
#, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
-msgstr "sintaksna greÅ¡ka u uvjetnom izrazu: neoÄekivani simbol „%sâ€"
+msgstr "sintaktiÄka greÅ¡ka u uvjetnom izrazu: neoÄekivani token „%s“"
-#: parse.y:4590
+#: parse.y:4419
msgid "syntax error in conditional expression"
-msgstr "sintaksna greška u uvjetnom izrazu"
+msgstr "sintaktiÄka greÅ¡ka u uvjetnom izrazu"
-#: parse.y:4668
+#: parse.y:4497
#, c-format
msgid "unexpected token `%s', expected `)'"
-msgstr "neoÄekivani simbol „%sâ€, oÄekujem „)â€"
+msgstr "neoÄekivani token „%s“ umjesto oÄekivane „)“"
-#: parse.y:4672
+#: parse.y:4501
msgid "expected `)'"
-msgstr "oÄekujem „)â€"
+msgstr "oÄekivana je „)“"
-#: parse.y:4700
+#: parse.y:4529
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
-msgstr "neoÄekivani argument „%s†uvjetnom unarnom operatoru"
+msgstr "neoÄekivani argument „%s“ uvjetnom unarnom operatoru"
-#: parse.y:4704
+#: parse.y:4533
msgid "unexpected argument to conditional unary operator"
-msgstr "neoÄekivani argument uvjetnom unarnom operatoru"
+msgstr "neoÄekivani argument za uvjetni unarni operator"
-#: parse.y:4750
+#: parse.y:4579
#, c-format
msgid "unexpected token `%s', conditional binary operator expected"
-msgstr "neoÄekivani simbol „%sâ€, oÄekujem uvjetni binarni operator"
+msgstr "neoÄekivani token „%s“; oÄekivao se uvjetni binarni operator"
-#: parse.y:4754
+#: parse.y:4583
msgid "conditional binary operator expected"
-msgstr "oÄekujem uvjetni binarni operator"
+msgstr "oÄekivao se uvjetni binarni operator"
-#: parse.y:4776
+#: parse.y:4605
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
-msgstr "neoÄekivani argument „%s†uvjetnom binarnom operatoru"
+msgstr "neoÄekivani argument „%s“ za uvjetni binarni operator"
-#: parse.y:4780
+#: parse.y:4609
msgid "unexpected argument to conditional binary operator"
-msgstr "neoÄekivani argument uvjetnom binarnom operatoru"
+msgstr "neoÄekivani argument za uvjetni binarni operator"
-#: parse.y:4791
+#: parse.y:4620
#, c-format
msgid "unexpected token `%c' in conditional command"
-msgstr "neoÄekivani simbol „%c†u uvjetnoj naredbi"
+msgstr "neoÄekivani token „%c“ u uvjetnoj naredbi"
-#: parse.y:4794
+#: parse.y:4623
#, c-format
msgid "unexpected token `%s' in conditional command"
-msgstr "neoÄekivani simbol „%s†u uvjetnoj naredbi"
+msgstr "neoÄekivani token „%s“ u uvjetnoj naredbi"
-#: parse.y:4798
+#: parse.y:4627
#, c-format
msgid "unexpected token %d in conditional command"
-msgstr "neoÄekivani simbol %d u uvjetnoj naredbi"
+msgstr "neoÄekivani token %d u uvjetnoj naredbi"
-#: parse.y:6220
+#: parse.y:5996
#, c-format
msgid "syntax error near unexpected token `%s'"
-msgstr "sintaksna greÅ¡ka kod neoÄekivanog simbola „%sâ€"
+msgstr "sintaktiÄka greÅ¡ka blizu neoÄekivanog tokena „%s“"
-#: parse.y:6238
+#: parse.y:6014
#, c-format
msgid "syntax error near `%s'"
-msgstr "sintaksna greÅ¡ka kod „%sâ€"
+msgstr "sintaktiÄka greÅ¡ka blizu „%s“"
-#: parse.y:6248
+#: parse.y:6024
msgid "syntax error: unexpected end of file"
-msgstr "sintaksna greÅ¡ka: neoÄekivani kraj datoteke"
+msgstr "sintaktiÄka greÅ¡ka: neoÄekivani kraj datoteke"
-#: parse.y:6248
+#: parse.y:6024
msgid "syntax error"
-msgstr "sintaksna greška"
+msgstr "sintaktiÄka greÅ¡ka"
-#: parse.y:6310
+#: parse.y:6086
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
-msgstr "Koristite „%s†za napuštanje ljuske.\n"
+msgstr "Koristite \"%s\" da napustite ljusku.\n"
-#: parse.y:6472
+#: parse.y:6248
msgid "unexpected EOF while looking for matching `)'"
-msgstr "neoÄekivani EOF pri traženju odgovarajuće „)â€"
+msgstr "neoÄekivani EOF pri traženju odgovarajuće „)“"
-#: pcomplete.c:1132
+#: pcomplete.c:1126
#, c-format
msgid "completion: function `%s' not found"
-msgstr "completion: funkcija „%s†nije pronađena"
+msgstr "completion(): funkcija „%s“ nije pronađena"
-#: pcomplete.c:1722
+#: pcomplete.c:1646
#, c-format
msgid "programmable_completion: %s: possible retry loop"
-msgstr ""
+msgstr "programmable_completion(): %s: moguća je beskonaÄna petlja"
#: pcomplib.c:182
#, c-format
msgid "progcomp_insert: %s: NULL COMPSPEC"
-msgstr "progcomp_insert: %s: NULL COMPSPEC"
+msgstr "progcomp_insert(): %s: prazni COMPSPEC"
-#: print_cmd.c:300
+#: print_cmd.c:302
#, c-format
msgid "print_command: bad connector `%d'"
-msgstr ""
+msgstr "print_command(): loši konektor „%d“"
-#: print_cmd.c:373
+#: print_cmd.c:375
#, c-format
msgid "xtrace_set: %d: invalid file descriptor"
-msgstr "xtrace_set: %d: neispravan opisnik datoteke"
+msgstr "xtrace_set(): %d: nevaljani deskriptor datoteke"
-#: print_cmd.c:378
+#: print_cmd.c:380
msgid "xtrace_set: NULL file pointer"
-msgstr "xtrace_set: NULL pokazivaÄ na datoteku"
+msgstr "xtrace_set(): prazni pokazivaÄ na datoteku"
-#: print_cmd.c:382
+#: print_cmd.c:384
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
-msgstr ""
+msgstr "xtrace fd (%d) != fileno xtrace fp (%d)"
-#: print_cmd.c:1538
+#: print_cmd.c:1534
#, c-format
msgid "cprintf: `%c': invalid format character"
-msgstr ""
+msgstr "cprintf(): „%c“: nevaljani znak za format"
-#: redir.c:121 redir.c:167
+#: redir.c:124 redir.c:171
msgid "file descriptor out of range"
-msgstr "opisnik datoteke izvan granica"
+msgstr "deskriptor datoteke je izvan raspona"
-#: redir.c:174
+#: redir.c:178
#, c-format
msgid "%s: ambiguous redirect"
-msgstr "%s: viÅ¡eznaÄno preusmjeravanje"
+msgstr "%s: dvosmisleno preusmjeravanje"
-#: redir.c:178
+#: redir.c:182
#, c-format
msgid "%s: cannot overwrite existing file"
-msgstr "%s: ne mogu pisati preko postojeće datoteke"
+msgstr "%s: nije moguće pisati preko postojeće datoteke"
-#: redir.c:183
+#: redir.c:187
#, c-format
msgid "%s: restricted: cannot redirect output"
-msgstr "%s: ograniÄeno: ne mogu preusmjeriti izlaz"
+msgstr "%s: ograniÄeno: nije moguće preusmjeriti izlaz"
-#: redir.c:188
+#: redir.c:192
#, c-format
msgid "cannot create temp file for here-document: %s"
-msgstr "ne mogu napraviti privremenu datoteku za here-document: %s"
+msgstr "nije moguće napraviti privremenu datoteku za here-document: %s"
-#: redir.c:192
+#: redir.c:196
#, c-format
msgid "%s: cannot assign fd to variable"
-msgstr "%s: ne mogu pridružiti opisnik datoteke varijabli"
+msgstr "%s: nije moguće dodijeliti deskriptor datoteke varijabli"
-#: redir.c:588
+#: redir.c:586
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr "/dev/(tcp|udp)/host/port nije podržan bez umrežavanja"
-#: redir.c:870 redir.c:985 redir.c:1046 redir.c:1211
+#: redir.c:868 redir.c:983 redir.c:1044 redir.c:1209
msgid "redirection error: cannot duplicate fd"
-msgstr "greÅ¡ka preusmjeravanja: ne mogu udvostruÄiti opisnik datoteke"
+msgstr "greška preusmjeravanja: nije moguće kopirati deskriptor datoteke"
-#: shell.c:343
+#: shell.c:347
msgid "could not find /tmp, please create!"
-msgstr "ne mogu pronaći /tmp, molim, napravite ga!"
+msgstr "nije bilo moguće pronaći /tmp; napravite taj direktorij!"
-#: shell.c:347
+#: shell.c:351
msgid "/tmp must be a valid directory name"
msgstr "/tmp mora biti ispravno ime direktorija"
-#: shell.c:798
-msgid "pretty-printing mode ignored in interactive shells"
-msgstr ""
-
-#: shell.c:940
+#: shell.c:927
#, c-format
msgid "%c%c: invalid option"
-msgstr "%c%c: neispravna opcija"
+msgstr "%c%c: nevaljana opcija"
-#: shell.c:1299
+#: shell.c:1282
#, c-format
msgid "cannot set uid to %d: effective uid %d"
-msgstr ""
+msgstr "nije moguće postaviti UID na %d: efektivni UID je %d"
-#: shell.c:1306
+#: shell.c:1289
#, c-format
msgid "cannot set gid to %d: effective gid %d"
-msgstr ""
+msgstr "nije moguće postaviti GID na %d: efektivni GID je %d"
-#: shell.c:1494
+#: shell.c:1458
msgid "cannot start debugger; debugging mode disabled"
-msgstr ""
+msgstr "nije moguće pokrenuti debugger; debugiranje je onemogućeno"
-#: shell.c:1608
-#, fuzzy, c-format
+#: shell.c:1566
+#, c-format
msgid "%s: Is a directory"
msgstr "%s: to je direktorij"
-#: shell.c:1826
+#: shell.c:1777
msgid "I have no name!"
msgstr "Nemam ime!"
-#: shell.c:1980
+#: shell.c:1930
#, c-format
msgid "GNU bash, version %s-(%s)\n"
msgstr "GNU bash, inaÄica %s-(%s)\n"
-#: shell.c:1981
+#: shell.c:1931
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
"\t%s [GNU long option] [option] script-file ...\n"
msgstr ""
"Uporaba: %s [GNU dugaÄka opcija] [opcija] ...\n"
-"\t %s [GNU dugaÄka opcija] [opcija] skripta ...\n"
+" %s [GNU dugaÄka opcija] [opcija] skripta ...\n"
-#: shell.c:1983
+#: shell.c:1933
msgid "GNU long options:\n"
msgstr "GNU dugaÄke opcije:\n"
-#: shell.c:1987
+#: shell.c:1937
msgid "Shell options:\n"
msgstr "Opcije ljuske:\n"
-#: shell.c:1988
+#: shell.c:1938
msgid "\t-ilrsD or -c command or -O shopt_option\t\t(invocation only)\n"
-msgstr ""
+msgstr "\t-ilrsD ili -c NAREDBA ili -O SHOPT-OPCIJA (samo za pokretanje)\n"
-#: shell.c:2003
+#: shell.c:1953
#, c-format
msgid "\t-%s or -o option\n"
-msgstr ""
+msgstr "\t-%s ili -o opcija\n"
-#: shell.c:2009
+#: shell.c:1959
#, c-format
msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
-msgstr ""
+msgstr "„%s -c \"help set\"“ pokaže vam dodatne informacije o opcijama ljuske.\n"
-#: shell.c:2010
+#: shell.c:1960
#, c-format
msgid "Type `%s -c help' for more information about shell builtin commands.\n"
-msgstr ""
+msgstr "„%s -c help set“ pokaže vam više informacija o ugrađenim funkcijama ljuske.\n"
-#: shell.c:2011
+#: shell.c:1961
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
-msgstr "Koristite naredbu „bashbug†za prijavljivanje grešaka.\n"
+msgstr "Koristite naredbu „bashbug“ za prijavljivanje grešaka.\n"
-#: shell.c:2013
+#: shell.c:1963
#, c-format
msgid "bash home page: <http://www.gnu.org/software/bash>\n"
-msgstr ""
+msgstr "bash Web stranica: <http://www.gnu.org/software/bash>\n"
-#: shell.c:2014
+#: shell.c:1964
#, c-format
msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
-msgstr ""
+msgstr "Općenita pomoć za korištenje GNU softvera: <http://www.gnu.org/gethelp/>\n"
-#: sig.c:695
+#: sig.c:707
#, c-format
msgid "sigprocmask: %d: invalid operation"
-msgstr ""
+msgstr "sigprocmask(): %d: nevaljana operacija"
#: siglist.c:48
msgid "Bogus signal"
-msgstr "Lažan signal"
+msgstr "Lažni signal"
#: siglist.c:51
msgid "Hangup"
@@ -1711,11 +1727,11 @@ msgstr "Izlaz"
#: siglist.c:63
msgid "Illegal instruction"
-msgstr "Nedozvoljena instrukcija"
+msgstr "Nedopuštena instrukcija"
#: siglist.c:67
msgid "BPT trace/trap"
-msgstr "BPT praćenje/zamka"
+msgstr "BPT trag/zamka instrukcija (Trace/Breakpoint trap)"
#: siglist.c:75
msgid "ABORT instruction"
@@ -1727,15 +1743,15 @@ msgstr "EMT instrukcija"
#: siglist.c:83
msgid "Floating point exception"
-msgstr "Iznimka pomiÄnog zareza"
+msgstr "Iznimka/greška u radu s realnim brojem"
#: siglist.c:87
msgid "Killed"
-msgstr "Prekinut"
+msgstr "Ubijen"
#: siglist.c:91
msgid "Bus error"
-msgstr "SabirniÄka greÅ¡ka"
+msgstr "Greška adresiranja"
#: siglist.c:95
msgid "Segmentation fault"
@@ -1743,11 +1759,11 @@ msgstr "Segmentacijska greška"
#: siglist.c:99
msgid "Bad system call"
-msgstr "Neispravan poziv sustava"
+msgstr "Loši sustavski poziv"
#: siglist.c:103
msgid "Broken pipe"
-msgstr "Prekinut cjevovod"
+msgstr "Prekinuta cijev"
#: siglist.c:107
msgid "Alarm clock"
@@ -1755,7 +1771,7 @@ msgstr "Budilica"
#: siglist.c:111
msgid "Terminated"
-msgstr "Završen"
+msgstr "Završeno"
#: siglist.c:115
msgid "Urgent IO condition"
@@ -1763,15 +1779,15 @@ msgstr "Hitno U/I stanje"
#: siglist.c:119
msgid "Stopped (signal)"
-msgstr "Zaustavljen (signalom)"
+msgstr "Zaustavljeno (signalom)"
#: siglist.c:127
msgid "Continue"
-msgstr "Nastavi"
+msgstr "Nastavljanje"
#: siglist.c:135
msgid "Child death or stop"
-msgstr "Dijete je umrlo ili zaustavljeno"
+msgstr "Potomak-proces ubijen ili zaustavljen"
#: siglist.c:139
msgid "Stopped (tty input)"
@@ -1783,7 +1799,7 @@ msgstr "Zaustavljen (tty izlaz)"
#: siglist.c:147
msgid "I/O ready"
-msgstr "U/I spreman"
+msgstr "U/I je spreman"
#: siglist.c:151
msgid "CPU limit"
@@ -1795,19 +1811,19 @@ msgstr "OgraniÄenje datoteke"
#: siglist.c:159
msgid "Alarm (virtual)"
-msgstr "Budilica (virtualna)"
+msgstr "Alarm (virtualni)"
#: siglist.c:163
msgid "Alarm (profile)"
-msgstr ""
+msgstr "Alarm (profil)"
#: siglist.c:167
msgid "Window changed"
-msgstr "Promijenjen prozor"
+msgstr "Prozor promijenjen"
#: siglist.c:171
msgid "Record lock"
-msgstr ""
+msgstr "Zapis zakljuÄan"
#: siglist.c:175
msgid "User signal 1"
@@ -1819,7 +1835,7 @@ msgstr "KorisniÄki signal 2"
#: siglist.c:183
msgid "HFT input data pending"
-msgstr ""
+msgstr "HFT ulazni podaci Äekaju"
#: siglist.c:187
msgid "power failure imminent"
@@ -1839,15 +1855,15 @@ msgstr "greška programiranja"
#: siglist.c:203
msgid "HFT monitor mode granted"
-msgstr ""
+msgstr "HFT nadzor dopušten"
#: siglist.c:207
msgid "HFT monitor mode retracted"
-msgstr ""
+msgstr "HFT nadzor oduzet"
#: siglist.c:211
msgid "HFT sound sequence has completed"
-msgstr ""
+msgstr "HFT sekvencija zvukova je završena"
#: siglist.c:215
msgid "Information request"
@@ -1855,254 +1871,241 @@ msgstr "Zahtjev za informacijom"
#: siglist.c:223
msgid "Unknown Signal #"
-msgstr "Nepoznat signal #"
+msgstr "Nepoznati signal #"
#: siglist.c:225
#, c-format
msgid "Unknown Signal #%d"
-msgstr "Nepoznat signal #%d"
+msgstr "Nepoznati signal #%d"
-#: subst.c:1450 subst.c:1641
+#: subst.c:1445 subst.c:1608
#, c-format
msgid "bad substitution: no closing `%s' in %s"
-msgstr "neispravna zamjena: nema zatvorene „%s†u %s"
+msgstr "loÅ¡a supstitucija: nema zakljuÄnoga „%s“ u %s"
-#: subst.c:3209
+#: subst.c:3154
#, c-format
msgid "%s: cannot assign list to array member"
-msgstr "%s: ne mogu pridružiti popis elementu polja"
+msgstr "%s: nije moguće dodijeliti popis elementu polja"
-#: subst.c:5734 subst.c:5750
+#: subst.c:5740 subst.c:5756
msgid "cannot make pipe for process substitution"
-msgstr "ne mogu napraviti cjevovod za zamjenu procesa"
+msgstr "nije moguće napraviti cijev za zamjenu procesa"
-#: subst.c:5796
+#: subst.c:5798
msgid "cannot make child for process substitution"
-msgstr "ne mogu napraviti dijete za zamjenu procesa"
+msgstr "nije moguće napraviti potomka za zamjenu procesa"
#: subst.c:5848
#, c-format
msgid "cannot open named pipe %s for reading"
-msgstr "ne mogu otvoriti imenovani cjevovod %s za Äitanje"
+msgstr "nije moguće otvoriti imenovanu cijev %s za Äitanje"
#: subst.c:5850
#, c-format
msgid "cannot open named pipe %s for writing"
-msgstr "ne mogu otvoriti imenovani cjevovod %s za pisanje"
+msgstr "nije moguće otvoriti imenovanu cijev %s za pisanje"
#: subst.c:5873
#, c-format
msgid "cannot duplicate named pipe %s as fd %d"
-msgstr "ne mogu udvostruÄiti imenovani cjevovod %s kao opisnik datoteke %d"
+msgstr "nije moguće kopirati imenovanu cijev %s kao deskriptor datoteke %d"
-#: subst.c:5990
-#, fuzzy
+#: subst.c:5959
msgid "command substitution: ignored null byte in input"
-msgstr "neispravna zamjena: nema zatvorenog „`†u %s"
+msgstr "nevaljana supstitucija: ignorirani NULL bajt na ulazu"
-#: subst.c:6121
+#: subst.c:6083
msgid "cannot make pipe for command substitution"
-msgstr "ne mogu napraviti cjevovod za zamjenu naredbi"
+msgstr "nije moguće napraviti cijev za zamjenu naredbi"
-#: subst.c:6164
+#: subst.c:6127
msgid "cannot make child for command substitution"
-msgstr "ne mogu napraviti dijete za zamjenu naredbi"
+msgstr "nije moguće napraviti potomka za zamjenu naredbi"
-#: subst.c:6190
+#: subst.c:6153
msgid "command_substitute: cannot duplicate pipe as fd 1"
-msgstr ""
-"command_substitute: ne mogu udvostruÄiti cjevovod kao opisnik datoteke 1"
+msgstr "command_substitute(): nije moguće kopirati cijev kao deskriptor datoteke 1"
-#: subst.c:6641 subst.c:9483
+#: subst.c:6580 subst.c:8939
#, c-format
msgid "%s: invalid variable name for name reference"
-msgstr ""
+msgstr "%s: nevaljano ime varijable za naziv referencije"
-#: subst.c:6737 subst.c:6755 subst.c:6903
-#, fuzzy, c-format
+#: subst.c:6666 subst.c:8351 subst.c:8371
+#, c-format
+msgid "%s: bad substitution"
+msgstr "%s: loša supstitucija"
+
+#: subst.c:6800
+#, c-format
msgid "%s: invalid indirect expansion"
-msgstr "%s: neispravan broj redaka"
+msgstr "%s: nevaljana indirektna ekspanzija"
-#: subst.c:6771 subst.c:6910
-#, fuzzy, c-format
+#: subst.c:6807
+#, c-format
msgid "%s: invalid variable name"
-msgstr "„%sâ€: neispravno drugo ime"
-
-#: subst.c:6962
-#, fuzzy, c-format
-msgid "%s: parameter not set"
-msgstr "%s: parametar prazan ili nije postavljen"
+msgstr "„%s“: nevaljano ime varijable"
-#: subst.c:6964
+#: subst.c:6854
#, c-format
msgid "%s: parameter null or not set"
-msgstr "%s: parametar prazan ili nije postavljen"
+msgstr "%s: prazni parametar ili nije postavljen"
-#: subst.c:7201 subst.c:7216
+#: subst.c:7089 subst.c:7104
#, c-format
msgid "%s: substring expression < 0"
-msgstr "%s: izraz podniza < 0"
+msgstr "%s: rezultat od izraza dijela stringa < 0"
-#: subst.c:8839 subst.c:8860
-#, c-format
-msgid "%s: bad substitution"
-msgstr "%s: neispravna zamjena"
-
-#: subst.c:8948
+#: subst.c:8450
#, c-format
msgid "$%s: cannot assign in this way"
-msgstr "$%s: ne mogu pridružiti na ovaj naÄin"
+msgstr "$%s: nije moguće dodijeliti na ovaj naÄin"
-#: subst.c:9346
-msgid ""
-"future versions of the shell will force evaluation as an arithmetic "
-"substitution"
-msgstr "buduće inaÄice ljuske će prisiliti procjenu kao aritmetiÄku zamjenu"
+#: subst.c:8802
+msgid "future versions of the shell will force evaluation as an arithmetic substitution"
+msgstr "buduće inaÄice ljuske će prisiliti procjenu kao aritmetiÄku supstituciju"
-#: subst.c:9903
+#: subst.c:9349
#, c-format
msgid "bad substitution: no closing \"`\" in %s"
-msgstr "neispravna zamjena: nema zatvorenog „`†u %s"
+msgstr "loÅ¡a supstitucija: nema zakljuÄnoga znaka „`“ u %s"
-#: subst.c:10907
+#: subst.c:10298
#, c-format
msgid "no match: %s"
msgstr "nema podudaranja: %s"
#: test.c:147
msgid "argument expected"
-msgstr "oÄekujem argument"
+msgstr "oÄekuje se argument"
#: test.c:156
#, c-format
msgid "%s: integer expression expected"
-msgstr "%s: oÄekujem cjelobrojni izraz"
+msgstr "%s: oÄekuje se cijelo brojni izraz"
#: test.c:265
msgid "`)' expected"
-msgstr "oÄekujem „)â€"
+msgstr "oÄekivana je „)“"
#: test.c:267
#, c-format
msgid "`)' expected, found %s"
-msgstr "oÄekujem „)â€, naÅ¡ao %s"
+msgstr "oÄekuje se „)“, naÄ‘en %s"
-#: test.c:282 test.c:748 test.c:751
+#: test.c:282 test.c:744 test.c:747
#, c-format
msgid "%s: unary operator expected"
-msgstr "%s: oÄekujem unarni operator"
+msgstr "%s: oÄekuje se unarni operator"
-#: test.c:469 test.c:791
+#: test.c:469 test.c:787
#, c-format
msgid "%s: binary operator expected"
-msgstr "%s: oÄekujem binarni operator"
+msgstr "%s: oÄekuje se binarni operator"
-#: test.c:873
+#: test.c:869
msgid "missing `]'"
-msgstr "nedostaje „]â€"
+msgstr "nedostaje „]“"
-#: trap.c:216
+#: trap.c:224
msgid "invalid signal number"
-msgstr "neispravan broj signala"
+msgstr "nevaljani broj za signal"
-#: trap.c:379
+#: trap.c:387
#, c-format
msgid "run_pending_traps: bad value in trap_list[%d]: %p"
-msgstr ""
+msgstr "run_pending_traps(): loša vrijednost u trap_list[%d]: %p"
-#: trap.c:383
+#: trap.c:391
#, c-format
-msgid ""
-"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
-msgstr ""
+msgid "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
+msgstr "run_pending_traps: signalom manipulira SIG_DFL, opet Å¡alje %d (%s) na samoga sebe"
-#: trap.c:439
+#: trap.c:447
#, c-format
msgid "trap_handler: bad signal %d"
-msgstr "trap_handler: neispravan signal %d"
+msgstr "trap_handler(): loši signal %d"
-#: variables.c:399
+#: variables.c:409
#, c-format
msgid "error importing function definition for `%s'"
-msgstr "greÅ¡ka pri uvozu definicije funkcije za „%sâ€"
+msgstr "greška pri importiranju definicije funkcije za „%s“"
-#: variables.c:801
+#: variables.c:814
#, c-format
msgid "shell level (%d) too high, resetting to 1"
-msgstr "razina ljuske (%d) je previsoka, vraćam na 1"
+msgstr "razina ljuske (%d) je previsoka, vraća se na 1"
-#: variables.c:2512
+#: variables.c:2413
msgid "make_local_variable: no function context at current scope"
-msgstr ""
+msgstr "make_local_variable(): u trenutaÄnom podruÄju nema konteksta funkcije"
-#: variables.c:2531
-#, fuzzy, c-format
+#: variables.c:2432
+#, c-format
msgid "%s: variable may not be assigned value"
-msgstr "%s: ne mogu pridružiti opisnik datoteke varijabli"
+msgstr "%s: varijabli se ne može dodijeliti vrijednost"
-#: variables.c:3246
+#: variables.c:3043
#, c-format
msgid "%s: assigning integer to name reference"
-msgstr ""
+msgstr "%s: nazivu referencije se pripisuje cijeli broj"
-#: variables.c:4149
+#: variables.c:3940
msgid "all_local_variables: no function context at current scope"
-msgstr ""
+msgstr "all_local_variables(): u trenutaÄnom podruÄju nema konteksta funkcije"
-#: variables.c:4437
+#: variables.c:4218
#, c-format
msgid "%s has null exportstr"
-msgstr "%s ima prazan exportstr"
+msgstr "*** %s ima prazni exportstr"
-#: variables.c:4442 variables.c:4451
+#: variables.c:4223 variables.c:4232
#, c-format
msgid "invalid character %d in exportstr for %s"
-msgstr ""
+msgstr "*** nevaljani znak %d u exportstr za %s"
-#: variables.c:4457
+#: variables.c:4238
#, c-format
msgid "no `=' in exportstr for %s"
-msgstr ""
+msgstr "*** nema „=“ u exportstr za %s"
-#: variables.c:4911
+#: variables.c:4684
msgid "pop_var_context: head of shell_variables not a function context"
-msgstr ""
+msgstr "pop_var_context(): vrh od „shell_variables“ nije funkcijski kontekst"
-#: variables.c:4924
+#: variables.c:4697
msgid "pop_var_context: no global_variables context"
-msgstr ""
+msgstr "pop_var_context(): nije „global_variables“ kontekst"
-#: variables.c:4999
+#: variables.c:4772
msgid "pop_scope: head of shell_variables not a temporary environment scope"
-msgstr ""
+msgstr "pop_scope(): vrh od „shell_variables“ nije privremeni kontekst okoline"
-#: variables.c:5862
+#: variables.c:5619
#, c-format
msgid "%s: %s: cannot open as FILE"
-msgstr "%s: %s: ne mogu otvoriti kao DATOTEKU"
+msgstr "%s: %s: nije moguće otvoriti kao DATOTEKU"
-#: variables.c:5867
+#: variables.c:5624
#, c-format
msgid "%s: %s: invalid value for trace file descriptor"
-msgstr ""
+msgstr "%s: %s: nevaljana vrijednost za praćenje deskriptora datoteke"
-#: variables.c:5912
-#, fuzzy, c-format
+#: variables.c:5669
+#, c-format
msgid "%s: %s: compatibility value out of range"
-msgstr "%s: %s je izvan granica"
+msgstr "%s: %s vrijednost za kompatibilnost je izvan raspona"
#: version.c:46 version2.c:46
-#, fuzzy
msgid "Copyright (C) 2016 Free Software Foundation, Inc."
-msgstr "Copyright © 2011 Free Software Foundation, Inc."
+msgstr "Copyright (C) 2016 Free Software Foundation, Inc."
#: version.c:47 version2.c:47
-msgid ""
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>\n"
+msgid "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
msgstr ""
-"Licenca GPLv3+: GNU GPL inaÄica 3 ili novija <http://gnu.org/licenses/gpl."
-"html>\n"
+"Licencija:\n"
+"GPLv3+: GNU GPL inaÄica 3 ili novija <http://gnu.org/licenses/gpl.html>\n"
#: version.c:86 version2.c:86
#, c-format
@@ -2110,68 +2113,67 @@ msgid "GNU bash, version %s (%s)\n"
msgstr "GNU bash, inaÄica %s (%s)\n"
#: version.c:91 version2.c:91
-#, fuzzy
msgid "This is free software; you are free to change and redistribute it."
-msgstr "Ovo je slobodan softver, slobodno ga smijete mijenjati i dijeliti.\n"
+msgstr "Ovo je slobodni softver; slobodno ga mijenjajte i dijelite."
#: version.c:92 version2.c:92
-#, fuzzy
msgid "There is NO WARRANTY, to the extent permitted by law."
-msgstr "NEMA JAMSTAVA, do krajnje mjere dozvoljene zakonom.\n"
+msgstr "NEMA JAMSTVA do granica dopuštenih zakonom."
-#: xmalloc.c:93
+#: xmalloc.c:91
#, c-format
msgid "%s: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr "%s: ne mogu alocirati %lu bajtova (alocirano %lu bajtova)"
+msgstr "%s: nije moguće dodijeliti %lu bajtova (dodijeljeno je %lu bajtova)"
-#: xmalloc.c:95
+#: xmalloc.c:93
#, c-format
msgid "%s: cannot allocate %lu bytes"
-msgstr "%s: ne mogu alocirati %lu bajtova"
+msgstr "%s: nije moguće dodijeliti %lu bajtova"
-#: xmalloc.c:165
+#: xmalloc.c:163
#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr "%s: %s:%d: ne mogu alocirati %lu bajtova (alocirano %lu bajtova)"
+msgstr "%s: %s:%d: nije moguće dodijeliti %lu bajtova (dodijeljeno je %lu bajtova)"
-#: xmalloc.c:167
+#: xmalloc.c:165
#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes"
-msgstr "%s: %s:%d: ne mogu alocirati %lu bajtova"
+msgstr "%s: %s:%d: nije moguće dodijeliti %lu bajtova"
#: builtins.c:45
msgid "alias [-p] [name[=value] ... ]"
-msgstr "alias [-p] [ime[=vrijednost] ... ]"
+msgstr "alias [-p] [IME[=VRIJEDNOST]... ]"
#: builtins.c:49
msgid "unalias [-a] name [name ...]"
-msgstr "unalias [-a] ime [ime ...]"
+msgstr "unalias [-a] IME..."
#: builtins.c:53
-msgid ""
-"bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-"
-"x keyseq:shell-command] [keyseq:readline-function or readline-command]"
+msgid "bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-x keyseq:shell-command] [keyseq:readline-function or readline-command]"
msgstr ""
+"bind [-lpsvPSVX] [-m TIPKOVNICA] [-f DATOTEKA] [-q IME] [-u IME]\n"
+" [-r PREÄŒAC] [-x PREÄŒAC:SHELL_NAREDBA]\n"
+" [PREÄŒAC:READLINE_FUNKCIJA | READLINE_NAREDBA]"
#: builtins.c:56
msgid "break [n]"
-msgstr ""
+msgstr "break [N]"
#: builtins.c:58
msgid "continue [n]"
-msgstr ""
+msgstr "continue [N]"
#: builtins.c:60
msgid "builtin [shell-builtin [arg ...]]"
-msgstr ""
+msgstr "builtin [UGRAÄENA_SHELL_FUNKCIJA [ARGUMENT...]]"
#: builtins.c:63
msgid "caller [expr]"
-msgstr ""
+msgstr "caller [IZRAZ]"
#: builtins.c:66
msgid "cd [-L|[-P [-e]] [-@]] [dir]"
-msgstr ""
+msgstr "cd [-L|[-P [-e]] [-@]] [DIREKTORIJ]"
#: builtins.c:68
msgid "pwd [-LP]"
@@ -2179,238 +2181,237 @@ msgstr "pwd [-LP]"
#: builtins.c:76
msgid "command [-pVv] command [arg ...]"
-msgstr ""
+msgstr "command [-pVv] NAREDBA [ARGUMENT...]"
#: builtins.c:78
-#, fuzzy
msgid "declare [-aAfFgilnrtux] [-p] [name[=value] ...]"
-msgstr "alias [-p] [ime[=vrijednost] ... ]"
+msgstr "declare [-aAfFgilnrtux] [-p] [IME[=VRIJEDNOST]...]"
#: builtins.c:80
-#, fuzzy
msgid "typeset [-aAfFgilnrtux] [-p] name[=value] ..."
-msgstr "alias [-p] [ime[=vrijednost] ... ]"
+msgstr "typeset [-aAfFgilnrtux] [-p] IME[=VRIJEDNOST]..."
#: builtins.c:82
msgid "local [option] name[=value] ..."
-msgstr ""
+msgstr "local [OPCIJA] IME[=VRIJEDNOST]..."
#: builtins.c:85
msgid "echo [-neE] [arg ...]"
-msgstr ""
+msgstr "echo [-neE] [ARGUMENT...]"
#: builtins.c:89
msgid "echo [-n] [arg ...]"
-msgstr ""
+msgstr "echo [-n] [ARGUMENT...]"
#: builtins.c:92
msgid "enable [-a] [-dnps] [-f filename] [name ...]"
-msgstr ""
+msgstr "enable [-a] [-dnps] [-f DATOTEKA] [IME...]"
#: builtins.c:94
msgid "eval [arg ...]"
-msgstr ""
+msgstr "eval [ARGUMENT...]"
#: builtins.c:96
msgid "getopts optstring name [arg]"
-msgstr ""
+msgstr "getopts OPCIJA_STRING IME [ARGUMENT]"
#: builtins.c:98
msgid "exec [-cl] [-a name] [command [arguments ...]] [redirection ...]"
-msgstr ""
+msgstr "exec [-cl] [-a IME] [NAREDBA [ARGUMENT...]] [PREUSMJERAVANJE...]"
#: builtins.c:100
msgid "exit [n]"
-msgstr ""
+msgstr "exit [N]"
#: builtins.c:102
msgid "logout [n]"
-msgstr ""
+msgstr "logout [N]"
#: builtins.c:105
msgid "fc [-e ename] [-lnr] [first] [last] or fc -s [pat=rep] [command]"
-msgstr ""
+msgstr "fc [-e EDITOR] [-lnr] [PRVA] [ZADNJA] ili: fc -s [UZORAK=ZAMJENA] [NAREDBA]"
#: builtins.c:109
msgid "fg [job_spec]"
-msgstr ""
+msgstr "fg [JOBSPEC]"
#: builtins.c:113
msgid "bg [job_spec ...]"
-msgstr ""
+msgstr "bg [JOBSPEC...]"
#: builtins.c:116
msgid "hash [-lr] [-p pathname] [-dt] [name ...]"
-msgstr ""
+msgstr "hash [-lr] [-p IME_STAZE] [-dt] [IME...]"
#: builtins.c:119
msgid "help [-dms] [pattern ...]"
-msgstr ""
+msgstr "help [-dms] [UZORAK ...]"
#: builtins.c:123
-msgid ""
-"history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg "
-"[arg...]"
+msgid "history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]"
msgstr ""
+"history [-c] [-d POZICIJA] [N]\n"
+" ili: history -anrw [DATOTEKA]\n"
+" ili: history -ps ARGUMENT..."
#: builtins.c:127
msgid "jobs [-lnprs] [jobspec ...] or jobs -x command [args]"
-msgstr ""
+msgstr "jobs [-lnprs] [JOBSPEC...] ili: jobs -x NAREDBA [ARGUMENT...]"
#: builtins.c:131
msgid "disown [-h] [-ar] [jobspec ... | pid ...]"
-msgstr ""
+msgstr "disown [-h] [-ar] [JOBSPEC... | PID...]"
#: builtins.c:134
-msgid ""
-"kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l "
-"[sigspec]"
+msgid "kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]"
msgstr ""
+"kill [-s SIGSPEC | -n SIGNUM | -SIGSPEC] pid | JOBSPEC\n"
+" ili: kill -l [SIGSPEC]"
#: builtins.c:136
msgid "let arg [arg ...]"
-msgstr ""
+msgstr "let ARGUMENT..."
#: builtins.c:138
-msgid ""
-"read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p "
-"prompt] [-t timeout] [-u fd] [name ...]"
+msgid "read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]"
msgstr ""
+"read [-ers] [-a POLJE] [-d MEÄA] [-i TEKST] [-p PROMPT]\n"
+" [-n BROJ_ZNAKOVA] [-N BROJ_ZNAKOVA] [-t SEKUNDA]\n"
+" [-u FD] [IME...]"
#: builtins.c:140
msgid "return [n]"
-msgstr ""
+msgstr "return [N]"
#: builtins.c:142
msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
-msgstr ""
+msgstr "set [-abefhkmnptuvxBCHP] [-o IME_OPCIJE] [--] [ARGUMENT...]"
#: builtins.c:144
-#, fuzzy
msgid "unset [-f] [-v] [-n] [name ...]"
-msgstr "unalias [-a] ime [ime ...]"
+msgstr "unset [-f] [-v] [-n] [IME...]"
#: builtins.c:146
msgid "export [-fn] [name[=value] ...] or export -p"
-msgstr ""
+msgstr "export [-fn] [IME[=VRIJEDNOST]...] ili: export -p"
#: builtins.c:148
msgid "readonly [-aAf] [name[=value] ...] or readonly -p"
-msgstr ""
+msgstr "readonly [-aAf] [IME[=VRIJEDNOST]...] ili: readonly -p"
#: builtins.c:150
msgid "shift [n]"
-msgstr ""
+msgstr "shift [N]"
#: builtins.c:152
msgid "source filename [arguments]"
-msgstr ""
+msgstr "source DATOTEKA [ARGUMENTI]"
#: builtins.c:154
msgid ". filename [arguments]"
-msgstr ""
+msgstr ". DATOTEKA [ARGUMENTI]"
#: builtins.c:157
msgid "suspend [-f]"
-msgstr ""
+msgstr "suspend [-f]"
#: builtins.c:160
msgid "test [expr]"
-msgstr ""
+msgstr "test [IZRAZ]"
#: builtins.c:162
msgid "[ arg... ]"
-msgstr ""
+msgstr "[ ARGUMENT... ]"
#: builtins.c:166
msgid "trap [-lp] [[arg] signal_spec ...]"
-msgstr ""
+msgstr "trap [-lp] [[ARGUMENT] SIGNAL_SPEC...]"
#: builtins.c:168
msgid "type [-afptP] name [name ...]"
-msgstr ""
+msgstr "type [-afptP] IME..."
#: builtins.c:171
msgid "ulimit [-SHabcdefiklmnpqrstuvxPT] [limit]"
-msgstr ""
+msgstr "ulimit [-SHabcdefiklmnpqrstuvxPT] [LIMIT]"
#: builtins.c:174
msgid "umask [-p] [-S] [mode]"
-msgstr ""
+msgstr "umask [-p] [-S] [MODE]"
#: builtins.c:177
-msgid "wait [-fn] [id ...]"
-msgstr ""
+msgid "wait [-n] [id ...]"
+msgstr "wait [-n] [ID...]"
#: builtins.c:181
msgid "wait [pid ...]"
-msgstr ""
+msgstr "wait [PID...]"
#: builtins.c:184
msgid "for NAME [in WORDS ... ] ; do COMMANDS; done"
-msgstr ""
+msgstr "for IME [in RIJEÄŒIMA...]; do NAREDBE; done"
#: builtins.c:186
msgid "for (( exp1; exp2; exp3 )); do COMMANDS; done"
-msgstr ""
+msgstr "for (( IZRAZ_1; IZRAZ_2; IZRAZ_3 )); do NAREDBE; done"
#: builtins.c:188
msgid "select NAME [in WORDS ... ;] do COMMANDS; done"
-msgstr ""
+msgstr "select IME [in RIJEÄŒIMA...;]; do NAREDBE; done"
#: builtins.c:190
msgid "time [-p] pipeline"
-msgstr ""
+msgstr "time [-p] CJEVOVOD"
#: builtins.c:192
msgid "case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac"
-msgstr ""
+msgstr "case RIJEČ in [UZORAK [| UZORAK]...) NAREDBE;;]... esac"
#: builtins.c:194
-msgid ""
-"if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else "
-"COMMANDS; ] fi"
+msgid "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMMANDS; ] fi"
msgstr ""
+"if NAREDBE; then NAREDBE; [elif NAREDBE; then NAREDBE;]... [else NAREDBE;]\n"
+" fi"
#: builtins.c:196
msgid "while COMMANDS; do COMMANDS; done"
-msgstr ""
+msgstr "while NAREDBE; do NAREDBE; done"
#: builtins.c:198
msgid "until COMMANDS; do COMMANDS; done"
-msgstr ""
+msgstr "until NAREDBE; do NAREDBE; done"
#: builtins.c:200
msgid "coproc [NAME] command [redirections]"
-msgstr ""
+msgstr "coproc [IME] NAREDBA [PREUSMJERAVANJA]"
#: builtins.c:202
msgid "function name { COMMANDS ; } or name () { COMMANDS ; }"
-msgstr ""
+msgstr "function IME {NAREDBE;} ili: IME () {NAREDBE;}"
#: builtins.c:204
msgid "{ COMMANDS ; }"
-msgstr ""
+msgstr "{ NAREDBE; }"
#: builtins.c:206
msgid "job_spec [&]"
-msgstr ""
+msgstr "JOBSPEC [&]"
#: builtins.c:208
msgid "(( expression ))"
-msgstr "(( izraz ))"
+msgstr "(( IZRAZ ))"
#: builtins.c:210
msgid "[[ expression ]]"
-msgstr "[[ izraz ]]"
+msgstr "(( IZRAZ ))"
#: builtins.c:212
msgid "variables - Names and meanings of some shell variables"
-msgstr ""
+msgstr "varijable — imena i znaÄenje nekih varijabla ljuske"
#: builtins.c:215
msgid "pushd [-n] [+N | -N | dir]"
-msgstr "pushd [-n] [+N | -N | direktorij]"
+msgstr "pushd [-n] [+N | -N | DIREKTORIJ]"
#: builtins.c:219
msgid "popd [-n] [+N | -N]"
@@ -2418,44 +2419,45 @@ msgstr "popd [-n] [+N | -N]"
#: builtins.c:223
msgid "dirs [-clpv] [+N] [-N]"
-msgstr ""
+msgstr "dirs [-clpv] [+N] [-N]"
#: builtins.c:226
msgid "shopt [-pqsu] [-o] [optname ...]"
-msgstr ""
+msgstr "shopt [-pqsu] [-o] [IME_OPCIJE...]"
#: builtins.c:228
msgid "printf [-v var] format [arguments]"
-msgstr ""
+msgstr "printf [-v VARIJABLA] FORMAT [ARGUMENTI]"
#: builtins.c:231
-msgid ""
-"complete [-abcdefgjksuv] [-pr] [-DE] [-o option] [-A action] [-G globpat] [-"
-"W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S "
-"suffix] [name ...]"
+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 OPCIJA] [-A AKCIJA]\n"
+" [-C NAREDBA] [-F FUNCIJA] [-G UZORAK] [-P PREFIKS]\n"
+" [-S SUFIKS] [-W POPIS_RIJEÄŒI] [-X FILTAR_UZORAKA] [IME...]"
#: builtins.c:235
-msgid ""
-"compgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist] "
-"[-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]"
+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 OPCIJA] [-A AKCIJA] [-C NAREDBA]\n"
+" [-F FUNCIJA] [-G UZORAK] [-P PREFIKS] [-S SUFIKS]\n"
+" [-W POPIS_RIJEČI] [-X FILTAR_UZORAKA] [RIJEČ]"
#: builtins.c:239
msgid "compopt [-o|+o option] [-DE] [name ...]"
-msgstr ""
+msgstr "compopt [-o|+o OPCIJA] [-DE] [IME...]"
#: builtins.c:242
-msgid ""
-"mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
+msgid "mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
msgstr ""
+"mapfile [-d MEÄA] [-n BROJ] [-O POÄŒETAK] [-s BROJ] [-t] [-u FD]\n"
+" [-C FUNKCIJA] [-c TOLIKO] [POLJE]"
#: builtins.c:244
-msgid ""
-"readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
+msgid "readarray [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
msgstr ""
+"readarray [-n BROJ] [-O POÄŒETAK] [-s BROJ] [-t] [-u FD]\n"
+" [-C FUNKCIJA] [-c TOLIKO] [POLJE]"
#: builtins.c:256
msgid ""
@@ -2472,10 +2474,18 @@ msgid ""
" -p\tprint all defined aliases in a reusable format\n"
" \n"
" Exit Status:\n"
-" alias returns true unless a NAME is supplied for which no alias has "
-"been\n"
+" alias returns true unless a NAME is supplied for which no alias has been\n"
" defined."
msgstr ""
+"Definira ili prikaže aliase.\n"
+"\n"
+" Bez argumenata, „alias“ ispiše popis aliasa na standardni izlaz u\n"
+" iskoristivom formatu: alias IME='ZAMJENA'.\n"
+" S argumentima, alias je definirani za svako IME za koje je dȃna\n"
+" ZAMJENA. Ako ZAMJENA završi s razmakom (bjelinom), onda pri ekspanziji\n"
+" alias provjeri je li je i sljedeća rijeÄ alias.\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 osim ako nije definirani alias za dȃno IME."
#: builtins.c:278
msgid ""
@@ -2486,6 +2496,11 @@ msgid ""
" \n"
" Return success unless a NAME is not an existing alias."
msgstr ""
+"Ukloni svako dȃno IME iz popisa definiranih aliasa.\n"
+"\n"
+" S opcijom „-a“ izbriše sve definirane aliase.\n"
+"\n"
+" Završi s uspjehom osim ako IME nije postojeći alias."
#: builtins.c:291
msgid ""
@@ -2499,35 +2514,66 @@ msgid ""
" Options:\n"
" -m keymap Use KEYMAP as the keymap for the duration of this\n"
" command. Acceptable keymap names are emacs,\n"
-" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-"
-"move,\n"
+" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,\n"
" vi-command, and vi-insert.\n"
" -l List names of functions.\n"
" -P List function names and bindings.\n"
" -p List functions and bindings in a form that can be\n"
" reused as input.\n"
-" -S List key sequences that invoke macros and their "
-"values\n"
-" -s List key sequences that invoke macros and their "
-"values\n"
+" -S List key sequences that invoke macros and their values\n"
+" -s List key sequences that invoke macros and their values\n"
" in a form that can be reused as input.\n"
" -V List variable names and values\n"
" -v List variable names and values in a form that can\n"
" be reused as input.\n"
" -q function-name Query about which keys invoke the named function.\n"
-" -u function-name Unbind all keys which are bound to the named "
-"function.\n"
+" -u function-name Unbind all keys which are bound to the named function.\n"
" -r keyseq Remove the binding for KEYSEQ.\n"
" -f filename Read key bindings from FILENAME.\n"
" -x keyseq:shell-command\tCause SHELL-COMMAND to be executed when\n"
" \t\t\t\tKEYSEQ is entered.\n"
-" -X List key sequences bound with -x and associated "
-"commands\n"
+" -X List key sequences bound with -x and associated commands\n"
" in a form that can be reused as input.\n"
" \n"
" Exit Status:\n"
" bind returns 0 unless an unrecognized option is given or an error occurs."
msgstr ""
+"Odredi i postavi „readline“ preÄace i varijable.\n"
+"\n"
+" Poveže sekvencije tipki (preÄace) na „readline“ funkciju, ili makro ili\n"
+" „readline“ varijablu. Sintaksa argumenta koji nije opcija je ista kao\n"
+" u ~/.inputrc, ali mora biti proslijeÄ‘eni kao pojedinaÄni argument,\n"
+" na primjer: '\"\\C-x\\C-r\": re-read-init-file'.\n"
+"\n"
+" Opcije:\n"
+" -f DATOTEKA proÄita preÄace iz ove DATOTEKE\n"
+" -l izlista sve poznate funkcije\n"
+" -m TIPKOVNICA koristi ovu TIPKOVNICU dok traje ova naredba;\n"
+" moguće TIPKOVNICE su emacs, emacs-standard,\n"
+" emacs-meta, emacs-ctlx, vi, vi-move, vi-command,\n"
+" i vi-insert.\n"
+" -P izlista imena funkcija i preÄaca\n"
+" -p ispiÅ¡e imena funkcija i preÄaca u formatu\n"
+" koji se može iskoristiti kao ulaz\n"
+" -r PREÄŒAC ukloni sekvenciju tipki za ovaj preÄac\n"
+" -q FUNKCIJA pokaže tipke koje pozivaju ovu FUNKCIJU\n"
+" -S pokaže sekvencije tipki poje pozivaju makroe\n"
+" s njihovim vrijednostima\n"
+" -s ispiše sekvencije tipki poje pozivaju makroe s\n"
+" njihovim vrijednostima u formatu koji se može\n"
+" iskoristiti kao ulaz\n"
+" -u FUNKCIJA poniÅ¡ti sve preÄace vezane na ovu FUNKCIJU\n"
+" -V izlista imena varijabli s njihovim vrijednostima\n"
+" -v ispiše imena varijabli s njihovim vrijednostima\n"
+" u formatu koji se može iskoristiti kao ulaz\n"
+" -x PREÄŒAC:SHELL_NAREDBA uÄini da se izvrÅ¡i ova SHELL_NAREDBA kÈd god\n"
+" se unese taj PREÄŒAC (sekvencija tipki)\n"
+" -X ispiÅ¡e preÄace (sekvencije tipki) vezane s „-x“ i\n"
+" njima pridružene naredbe u formatu koji se može\n"
+" iskoristiti kao ulaz\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 osim ako je dȃna neprepoznata opcija\n"
+" ili se dogodila greška."
#: builtins.c:330
msgid ""
@@ -2539,6 +2585,11 @@ msgid ""
" Exit Status:\n"
" The exit status is 0 unless N is not greater than or equal to 1."
msgstr ""
+"Izlaz iz for, while ili until petlji.\n"
+"\n"
+" Ako je dȃn N, ukida se N ugnježđenih petlji.\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 osim ako je N manji od 1."
#: builtins.c:342
msgid ""
@@ -2550,6 +2601,10 @@ msgid ""
" Exit Status:\n"
" The exit status is 0 unless N is not greater than or equal to 1."
msgstr ""
+"Nastavlja sljedeću iteraciju ugnježđenih for, while ili until petlji.\n"
+" Ako je dȃn N, nastavlja se N-tom ugnježđenom petljom.\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 osim ako je N manji od 1."
#: builtins.c:354
msgid ""
@@ -2557,13 +2612,22 @@ msgid ""
" \n"
" Execute SHELL-BUILTIN with arguments ARGs without performing command\n"
" lookup. This is useful when you wish to reimplement a shell builtin\n"
-" as a shell function, but need to execute the builtin within the "
-"function.\n"
+" as a shell function, but need to execute the builtin within the function.\n"
" \n"
" Exit Status:\n"
" Returns the exit status of SHELL-BUILTIN, or false if SHELL-BUILTIN is\n"
" not a shell builtin.."
msgstr ""
+"Izvrši ugrađenu funkciju ljuske (shell builtins).\n"
+"\n"
+" IzvrÅ¡i dȃnu UGRAÄENU_SHELL_FUNKCIJU (SHELL-BUILTIN) funkciju s dȃnim\n"
+" ARGUMENTIMA. To je korisno ako želite redefinirati implementaciju\n"
+" ugrađene shell funkcije kao vlastitu shell funkciju (skriptu s istim\n"
+" imenom kao ugrađena shell funkcija), a potrebna vam je funkcionalnost\n"
+" te ugrađene shell funkcije unutar vaše vlastite skripte (shell funkcije).\n"
+"\n"
+" ZavrÅ¡i s kÈdom UGRAÄENE_SHELL_FUNKCIJE ili s kÈdom 1 ako\n"
+" UGRAÄENA_SHELL_FUNKCIJA nije ugraÄ‘ene funkcija ljuske (shell builtin)."
#: builtins.c:369
msgid ""
@@ -2580,27 +2644,32 @@ msgid ""
" Returns 0 unless the shell is not executing a shell function or EXPR\n"
" is invalid."
msgstr ""
+"Vrati kontekst trenutaÄnoga poziva potprogramu.\n"
+"\n"
+" Bez IZRAZA, vrati „$line $filename“. Ako je dȃn IZRAZ, vrati\n"
+" „$line $subroutine $filename“; ova dodatna informacija može poslužiti\n"
+" za „stack trace“.\n"
+"\n"
+" Vrijednost IZRAZA pokazuje koliko se treba vratiti unazad od\n"
+" trenutaÄne pozicije, s time da je pozicija 0 trenutaÄna pozicija.\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 osim ako ljuska ne izvrÅ¡ava ljuskinu funkciju\n"
+" ili je IZRAZ nevaljani."
#: builtins.c:387
msgid ""
"Change the shell working directory.\n"
" \n"
-" Change the current directory to DIR. The default DIR is the value of "
-"the\n"
+" Change the current directory to DIR. The default DIR is the value of the\n"
" HOME shell variable.\n"
" \n"
-" The variable CDPATH defines the search path for the directory "
-"containing\n"
-" DIR. Alternative directory names in CDPATH are separated by a colon "
-"(:).\n"
-" A null directory name is the same as the current directory. If DIR "
-"begins\n"
+" The variable CDPATH defines the search path for the directory containing\n"
+" DIR. Alternative directory names in CDPATH are separated by a colon (:).\n"
+" A null directory name is the same as the current directory. If DIR begins\n"
" with a slash (/), then CDPATH is not used.\n"
" \n"
-" If the directory is not found, and the shell option `cdable_vars' is "
-"set,\n"
-" the word is assumed to be a variable name. If that variable has a "
-"value,\n"
+" If the directory is not found, and the shell option `cdable_vars' is set,\n"
+" the word is assumed to be a variable name. If that variable has a value,\n"
" its value is used for DIR.\n"
" \n"
" Options:\n"
@@ -2616,15 +2685,49 @@ msgid ""
" \t\tattributes as a directory containing the file attributes\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
-" `..' is processed by removing the immediately previous pathname "
-"component\n"
+" `..' is processed by removing the immediately previous pathname component\n"
" back to a slash or the beginning of DIR.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed, and if $PWD is set successfully "
-"when\n"
+" Returns 0 if the directory is changed, and if $PWD is set successfully when\n"
" -P is used; non-zero otherwise."
msgstr ""
+"Promjeni trenutaÄni direktorij.\n"
+"\n"
+" Promijeni trenutaÄni direktorij u dȃni DIREKTORIJ. Zadano, DIREKTORIJ\n"
+" je vrijednost varijable HOME.\n"
+"\n"
+" Varijabla CDPATH definira staze (direktorije) po kojima se\n"
+" traži dȃni DIREKTORIJ.\n"
+"\n"
+" Nazivi direktorija (staza) u CDPATH su razdvojeni s dvotoÄkom (:);\n"
+" prazni naziv za direktorij je isto kao i trenutaÄni direktorij (.).\n"
+" Ako dȃni DIREKTORIJ zapoÄinje s kosom crtom (/), onda se CDPATH\n"
+" ne koristi.\n"
+"\n"
+" Ako se dȃni direktorij ne pronađe, a omogućena je opcija „cdable_vars“,\n"
+" tada se dȃna rijeÄ uzme kao ime varijable; ako ta varijabla sadrži\n"
+" naziv, „cd“ prijeđe u direktorij s tim nazivom.\n"
+"\n"
+" Opcije:\n"
+" -L slijedi simboliÄke veze; simboliÄke veze u DIREKTORIJu\n"
+" razriješi nakon procesiranja „..“ instancije DIREKTORIJa;\n"
+" opcija „-L“ je aktivna u zadanom (poÄetnom) stanju\n"
+" -P rabi fiziÄku strukturu direktorija umjesto da slijedi\n"
+" simboliÄke veze; simboliÄke veze DIREKTORIJa\n"
+" razriješi prije procesiranja „..“ instancije DIREKTORIJa\n"
+" -e ako je dȃna s opcijom „-P“, i trenutaÄni radni direktorij nije\n"
+" moguće uspješno odrediti nakon uspješne promjene direktorija,\n"
+" „cd“ zavrÅ¡i s kÈdom razliÄitim od 0.\n"
+" -@ opiše proširene atribute povezane s datotekom kao direktorij\n"
+" koji sadrži atribute datoteke (ako sustav to podržava)\n"
+"\n"
+" Token „..“ se procesira uklanjanjem komponente staze koja mu neposredno\n"
+" prethodi unatrag do kose crte „/“ ili do poÄetka DIREKTORIJA.\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 ako je direktorij promijenjen i ako je\n"
+" varijabla okoline PWD uspjeÅ¡no postavljena kÈd je dȃna opcija „-P“;\n"
+" u suprotnom zavrÅ¡i s kÈdom 1."
#: builtins.c:425
msgid ""
@@ -2641,6 +2744,16 @@ msgid ""
" Returns 0 unless an invalid option is given or the current directory\n"
" cannot be read."
msgstr ""
+"IspiÅ¡e ime trenutaÄnoga radnog direktorija.\n"
+"\n"
+" Opcije:\n"
+" -L ispiÅ¡e vrijednost od $PWD ako sadrži trenutaÄni radni direktorij\n"
+" -P ispiÅ¡e stvarnu fiziÄku stazu do direktorija bez simboliÄkih veza\n"
+"\n"
+" U zadanom stanju „pwd“ se ponaša kao da je aktivna „-L“ opcija.\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 osim ako nije dȃna nevaljana opcija\n"
+" ili se trenutaÄni radni direktorij ne može proÄitati."
#: builtins.c:442
msgid ""
@@ -2650,13 +2763,7 @@ msgid ""
" \n"
" Exit Status:\n"
" Always succeeds."
-msgstr ""
-"Prazna naredba.\n"
-" \n"
-" Nema efekta, ova naredba ne radi ništa.\n"
-" \n"
-" Izlazno stanje:\n"
-" Uvijek uspješno."
+msgstr "Naredba nema nikakvog efekta, ne radi niÅ¡ta; uvijek zavrÅ¡i s kÈdom 0."
#: builtins.c:453
msgid ""
@@ -2664,11 +2771,7 @@ msgid ""
" \n"
" Exit Status:\n"
" Always succeeds."
-msgstr ""
-"Vrati uspješan rezultat.\n"
-" \n"
-" Izlazno stanje:\n"
-" Uvijek uspješno."
+msgstr "Uvijek zavrÅ¡i uspjeÅ¡no s kÈdom 0."
#: builtins.c:462
msgid ""
@@ -2676,19 +2779,14 @@ msgid ""
" \n"
" Exit Status:\n"
" Always fails."
-msgstr ""
-"Vrati neuspješan rezultat.\n"
-" \n"
-" Izlazno stanje:\n"
-" Uvijek neuspješno."
+msgstr "Uvijek zavrÅ¡i neuspjeÅ¡no s kÈdom 1."
#: builtins.c:471
msgid ""
"Execute a simple command or display information about commands.\n"
" \n"
" Runs COMMAND with ARGS suppressing shell function lookup, or display\n"
-" information about the specified COMMANDs. Can be used to invoke "
-"commands\n"
+" information about the specified COMMANDs. Can be used to invoke commands\n"
" on disk when a function with the same name exists.\n"
" \n"
" Options:\n"
@@ -2700,6 +2798,20 @@ msgid ""
" Exit Status:\n"
" Returns exit status of COMMAND, or failure if COMMAND is not found."
msgstr ""
+"Izvrši jednostavnu naredbu ili pokaže informacije o naredbama.\n"
+"\n"
+" Izvrši dȃnu NAREDBU s dȃnim ARGUMENTIMA ignorirajući pritom bilo\n"
+" koju funkciju ljuske s istim imenom (naredba). Može se koristiti da\n"
+" pokrenete naredbu na disku i onda kÈd postoji funkcija s istim imenom.\n"
+"\n"
+" Opcije:\n"
+" -p rabi zadanu vrijednost za PATH kao garanciju\n"
+" pronalaženja svih standardnih programa\n"
+" -v ispiÅ¡e opis NAREDBE, sliÄno kao „type“ builtin\n"
+" -V ispiše opširniji opis svake dȃne NAREDBE\n"
+"\n"
+" Završi s izlaznim statusom NAREDBE\n"
+" ili s 1 ako NAREDBA nije pronađena."
#: builtins.c:490
msgid ""
@@ -2720,11 +2832,11 @@ msgid ""
" -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 the value of each NAME to lower case on assignment\n"
+" -l\tto convert NAMEs to lower case on assignment\n"
" -n\tmake NAME a reference to the variable named by its value\n"
" -r\tto make NAMEs readonly\n"
" -t\tto make NAMEs have the `trace' attribute\n"
-" -u\tto convert the value of each NAME to upper case on assignment\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"
@@ -2732,25 +2844,57 @@ msgid ""
" Variables with the integer attribute have arithmetic evaluation (see\n"
" the `let' command) performed when the variable is assigned a value.\n"
" \n"
-" When used in a function, `declare' makes NAMEs local, as with the "
-"`local'\n"
+" When used in a function, `declare' makes NAMEs local, as with the `local'\n"
" command. The `-g' option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or a variable\n"
" assignment error occurs."
msgstr ""
+"Postavlja vrijednosti i atribute varijablama.\n"
+"\n"
+" Deklarira varijable i dodjeljuje im atribute. Ako IMEna nisu dȃna,\n"
+" prikaže atribute i vrijednosti svih varijabli.\n"
+"\n"
+" Opcije:\n"
+" -f prikaže samo definirane funkcije (ne pokaže varijable)\n"
+" -F prikaže samo imena funkcija bez definicija\n"
+" -g kreira globalne varijable samo za upotrebu u funkciji ljuske;\n"
+" inaÄe se ignoriraju\n"
+" -p prikaže atribute i vrijednost za svako dȃno IME\n"
+"\n"
+" Atributi:\n"
+" -a uÄini od dȃnih IMEna indeksirana polja (ako je to podržano)\n"
+" -A uÄini od dȃnih IMEna asocijativna polja (ako je to podržano)\n"
+" -i uÄini da dȃna IMEna dobiju „integer“ svojstva\n"
+" -l pretvori slova dȃnih IMEna u mala slova prilikom upotrebe\n"
+" -n uÄini dȃno IME referencijom na drugu varijablu s imenom\n"
+" jednakim „vrijednost od varijable IME“\n"
+" -r uÄini dȃna IMEna readonly\n"
+" -t uÄini da dȃna IMEna dobiju „trace“ svojstva\n"
+" -u pretvori slova dȃnih IMEna u velika slova prilikom upotrebe\n"
+" -x oznaÄi dȃna IMEna za ekport\n"
+"\n"
+" „+“ umjesto „-“ iskljuÄi dȃni atribut.\n"
+"\n"
+" Varijable s „integer“ atributom obavljaju aritmetiÄke operacije tijekom\n"
+" izvođenja i upotrebe (pogledajte „let“ naredbu).\n"
+"\n"
+" Unutar funkcije „declare“ uÄini dȃna IMEna lokalnima, sliÄno kao\n"
+" naredba „local“. Opcija „-g“ sprijeÄi takvo ponaÅ¡anje.\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 osim ako je dȃna nevaljana opcija\n"
+" ili se dogodila greška prilikom pridruživanja varijabli."
#: builtins.c:530
-#, fuzzy
msgid ""
"Set variable values and attributes.\n"
" \n"
" A synonym for `declare'. See `help declare'."
msgstr ""
"Postavi vrijednosti i svojstva varijabli.\n"
-" \n"
-" Zastarjelo. Pogledajte „help declareâ€."
+"\n"
+" Sinonim za „declare“. Za detalje upišite „help declare“."
#: builtins.c:538
msgid ""
@@ -2766,13 +2910,22 @@ msgid ""
" Returns success unless an invalid option is supplied, a variable\n"
" assignment error occurs, or the shell is not executing a function."
msgstr ""
+"Definira lokalne varijable.\n"
+"\n"
+" Kreira lokalnu varijablu IME i dodijeli joj vrijednost. OPCIJA\n"
+" može biti bilo koja od opcija koju prihvaća naredba „declare“.\n"
+"\n"
+" Lokalne varijable mogu se koristiti samo unutar neke funkcije a\n"
+" vidljive su samo funkciji u kojoj su definirane i njezinim potomcima.\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 osim ako su dȃne nevaljane opcije,\n"
+" dogodila se greška pri dodijeli ili ljuska ne izvrši funkciju."
#: builtins.c:555
msgid ""
"Write arguments to the standard output.\n"
" \n"
-" Display the ARGs, separated by a single space character and followed by "
-"a\n"
+" Display the ARGs, separated by a single space character and followed by a\n"
" newline, on the standard output.\n"
" \n"
" Options:\n"
@@ -2800,6 +2953,35 @@ msgid ""
" Exit Status:\n"
" Returns success unless a write error occurs."
msgstr ""
+"Dȃne argumente ispiše na standardni izlaz.\n"
+"\n"
+" Ispiše dȃne argumente na standardni izlaz, međusobno odvojene s\n"
+" jednim razmakom (bjelina) i na kraju s novim retkom.\n"
+"\n"
+" Opcije:\n"
+" -n ne pripoji novi redak (znak novog retka)\n"
+" -e interpretira sljedeće sekvencije maskirane\n"
+" s obratnom kosom crtom (backslash escapes)\n"
+" -E ne interpretira sekvencije maskirane\n"
+" s obratnom kosom crtom (backslash escapes)\n"
+"\n"
+" „echo“ interpretira ove kontrolne kodove (sekvencije maskirane\n"
+" s obratnom kosom crtom — backslash escapes):\n"
+" \\a alert (zvuÄni signal)\n"
+" \\b backspace\n"
+" \\c sprijeÄi daljni izlaz\n"
+" \\e znak za escape (ESC)\n"
+" \\E znak za escape (ESC)\n"
+" \\f nova stranica (znak za FF, form feed)\n"
+" \\n novi redak (znak za LF, line feed)\n"
+" \\r na poÄetak novoga retka (Enter, znak za CR, carriage return)\n"
+" \\t horizontalni tabulator\n"
+" \\v vertikalni tabulator\n"
+" \\\\ backslash (\\)\n"
+" \\0NNN znak s ASCII kÈdom NNN (oktalni, 1 do 3 znamenke)\n"
+" \\xHH znak s ASCII kÈdom HH (heksadecimalni, 1 do 2 znamenke)\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 osim ako se ne dogodi greÅ¡ka pisanja."
#: builtins.c:591
msgid ""
@@ -2813,6 +2995,12 @@ msgid ""
" Exit Status:\n"
" Returns success unless a write error occurs."
msgstr ""
+"Ispiše argumente na standardni izlaz.\n"
+"\n"
+" Prikaže ARGUMENTE na standardnom izlazu (pripoji im znak za novi redak).\n"
+" Opcijom „-n“ može se iskljuÄiti pripajanje znaka za novi redak.\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 ako se ne dogodi greÅ¡ka pisanja."
#: builtins.c:606
msgid ""
@@ -2840,18 +3028,48 @@ msgid ""
" Exit Status:\n"
" Returns success unless NAME is not a shell builtin or an error occurs."
msgstr ""
+"Omogući ili onemogući ugrađene opcije ljuske.\n"
+"\n"
+" Aktivira i deaktivira ugrađene opcije ljuske. Deaktiviranje vam\n"
+" omogućava pokrenuti naredbu na disku s istim imenom kao ugrađena\n"
+" komanda bez potrebe specificiranja kompletne staze.\n"
+"\n"
+" Opcije:\n"
+" -a ispiše ugrađene naredbe i pokaže jesu ili nisu omogućene\n"
+" -n onemogući IMEnovane naredbe ili izlista onemogućene naredbe\n"
+" -p generira izlaz koji se može koristi za ulaz (zadano)\n"
+" -s ispiše samo imena specijalnih POSIX ugrađenih naredbi\n"
+"\n"
+" Opcije koje upravljaju dinamiÄko uÄitavanje:\n"
+" -f uÄita ugraÄ‘enu naredbu IME iz dijeljenoga objekta DATOTEKA\n"
+" -d ukloni ugraÄ‘enu naredbu uÄitanu s „-f“\n"
+"\n"
+" Bez opcija, omogućena su sva dȃna IMEna. Bez imena prikazane su\n"
+" omogućene naredbe (ili s „-n“ onemogućene).\n"
+"\n"
+" Primjer: da koristite binarnu datoteku „test“ koja se nalazi na putu\n"
+" pretraživanja PATH, umjesto ugrađene (test) naredbe, upišite\n"
+" „enable -n test“.\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 osim ako IME nije ugraÄ‘ena naredba\n"
+" ili se nije dogodila greška."
#: builtins.c:634
msgid ""
"Execute arguments as a shell command.\n"
" \n"
-" Combine ARGs into a single string, use the result as input to the "
-"shell,\n"
+" Combine ARGs into a single string, use the result as input to the shell,\n"
" and execute the resulting commands.\n"
" \n"
" Exit Status:\n"
" Returns exit status of command or success if command is null."
msgstr ""
+"Izvrši argumente kao naredbu ljuske.\n"
+"\n"
+" Združi argumente u jedinstveni string, upotrijebi ga kao ulaz za ljusku\n"
+" i izvrši rezultirajuću naredbu.\n"
+"\n"
+" ZavrÅ¡i s kÈdom naredbe ili uspjeÅ¡no ako je naredba prazna."
#: builtins.c:646
msgid ""
@@ -2893,14 +3111,47 @@ msgid ""
" Returns success if an option is found; fails if the end of options is\n"
" encountered or an error occurs."
msgstr ""
+"Analiza argumenata opcija.\n"
+"\n"
+" Procedure ljuske koriste „getopts“ za analizu položajnih parametara\n"
+" kao opcije.\n"
+" \n"
+" OPCIJA_STRING sadrži slova opcije koje treba prepoznati; ako iza\n"
+" slova slijedi dvotoÄka, oÄekuje se da opcija ima argument koji treba\n"
+" biti bjelinom odvojen od opcije.\n"
+"\n"
+" Svaki put kÈd se pozove, getopts će smjestiti sljedeću opciju u ljuskinu\n"
+" varijablu IME (ako IME ne postoji, getopts ga inicijalizira), a indeks\n"
+" sljedećeg argumenta koji treba procesirati u ljuskinu varijablu OPTIND.\n"
+" OPTIND je inicijaliziran na 1 pri svakom pozivanju ljuske ili ljuskine\n"
+" skripte. Ako opcija zahtijeva argument, getopts smjesti taj argument u\n"
+" ljuskinu varijablu OPTARG.\n"
+"\n"
+" getopts javlja greÅ¡ke na jedan od dva naÄina. Ako je dvotoÄka prvi znak u\n"
+" OPCIJA_STRING, getopts tiho prijavi grešku (ne ispisuje poruke o greškama).\n"
+" Ako naiđe na nevaljanu opciju, getopts smjesti nađeni znak opcije u OPTARG.\n"
+" Ako zahtijevani argument nije pronađen, getopts smjesti „:“ u IME i postavi\n"
+" OPTARG na pronađeni znak opcije. Ako getopts ne radi tiho i naiđe na\n"
+" nevaljanu opciju, getopts smjesti „?“ u IME i poništi OPTARG.\n"
+" Ako zahtijevani argument nije pronađen, getopts smjesti „?“ u IME, poništi\n"
+" OPTARG i ispiše poruku o greškama.\n"
+"\n"
+" Ako ljuskina varijabla OPTERR ima vrijednost 0, getopts onemogući ispis\n"
+" poruka o greÅ¡kama, Äak i kÈd prvi znak u OPCIJA_STRING nije dvotoÄka.\n"
+" Zadano, OPTERR ima vrijednost 1.\n"
+"\n"
+" ObiÄno getopts analizira položajne parametre ($0 - $9), ali ako je\n"
+" dȃno više argumenata, onda analizira te argumente.\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 ako pronaÄ‘e opciju; ako naiÄ‘e na kraj opcija\n"
+" ili ako se dogodi greška, završi s neuspjehom."
#: builtins.c:688
msgid ""
"Replace the shell with the given command.\n"
" \n"
" Execute COMMAND, replacing this shell with the specified program.\n"
-" ARGUMENTS become the arguments to COMMAND. If COMMAND is not "
-"specified,\n"
+" ARGUMENTS become the arguments to COMMAND. If COMMAND is not specified,\n"
" any redirections take effect in the current shell.\n"
" \n"
" Options:\n"
@@ -2908,14 +3159,28 @@ msgid ""
" -c\texecute COMMAND with an empty environment\n"
" -l\tplace a dash in the zeroth argument to COMMAND\n"
" \n"
-" If the command cannot be executed, a non-interactive shell exits, "
-"unless\n"
+" If the command cannot be executed, a non-interactive shell exits, unless\n"
" the shell option `execfail' is set.\n"
" \n"
" Exit Status:\n"
-" Returns success unless COMMAND is not found or a redirection error "
-"occurs."
+" Returns success unless COMMAND is not found or a redirection error occurs."
msgstr ""
+"Zamjeni ljusku s dȃnom naredbom.\n"
+"\n"
+" Izvrši dȃnu NAREDBU, zamijenivši ovu ljusku s ovim programom.\n"
+" Eventualni ARGUMENTI postanu argumenti NAREDBE. Ako NAREDBA nije\n"
+" specificirana, sva preusmjeravanja se dogode u trenutaÄnoj ljusci.\n"
+"\n"
+" Opcije:\n"
+" -a IME dÈde IME kao nulti argument NAREDBI\n"
+" -c izvrši NAREDBU u praznoj okolini\n"
+" -l smjesti spojnicu („-“) kao nulti argument NAREDBI\n"
+"\n"
+" Ako se naredba ne može izvršiti, ne-interaktivna ljuska završi,\n"
+" osim ako je aktivna opcija ljuske „execfail“.\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0, osim ako NAREDBA nije pronaÄ‘ena,\n"
+" ili se dogodila greška preusmjeravanja."
#: builtins.c:709
msgid ""
@@ -2924,37 +3189,32 @@ msgid ""
" Exits the shell with a status of N. If N is omitted, the exit status\n"
" is that of the last command executed."
msgstr ""
-"Izađi iz ljuske.\n"
-" \n"
-" Izlazi iz ljuske sa stanjem N. Ako N nije naveden, izlazno stanje je\n"
-" isto kao i stanje zadnje izvršene naredbe."
+"Izlaz iz ljuske.\n"
+"\n"
+" ZavrÅ¡i s kÈdom N. Bez N zavrÅ¡i s kÈdom zadnje izvrÅ¡ene naredbe."
#: builtins.c:718
msgid ""
"Exit a login shell.\n"
" \n"
-" Exits a login shell with exit status N. Returns an error if not "
-"executed\n"
+" Exits a login shell with exit status N. Returns an error if not executed\n"
" in a login shell."
msgstr ""
-"Izađi iz prijavne ljuske.\n"
-" \n"
-" Izlazi iz prijavne ljuske s izlaznim stanjem N. Vraća grešku ako nije\n"
-" izvršeno u prijavnoj ljusci."
+"Izlaz iz prijavne ljuske.\n"
+"\n"
+" ZavrÅ¡i s kÈdom N. ZavrÅ¡i s greÅ¡kom ako to nije prijavna ljuska."
#: builtins.c:728
msgid ""
"Display or execute commands from the history list.\n"
" \n"
-" fc is used to list or edit and re-execute commands from the history "
-"list.\n"
+" fc is used to list or edit and re-execute commands from the history list.\n"
" FIRST and LAST can be numbers specifying the range, or FIRST can be a\n"
" string, which means the most recent command beginning with that\n"
" string.\n"
" \n"
" Options:\n"
-" -e ENAME\tselect which editor to use. Default is FCEDIT, then "
-"EDITOR,\n"
+" -e ENAME\tselect which editor to use. Default is FCEDIT, then EDITOR,\n"
" \t\tthen vi\n"
" -l \tlist lines instead of editing\n"
" -n\tomit line numbers when listing\n"
@@ -2968,9 +3228,27 @@ msgid ""
" the last command.\n"
" \n"
" Exit Status:\n"
-" Returns success or status of executed command; non-zero if an error "
-"occurs."
+" Returns success or status of executed command; non-zero if an error occurs."
msgstr ""
+"Prikaže ili izvrši naredbe iz popisa povijesti.\n"
+"\n"
+" Koristi se za prikazivanje dosadašnjih, za uređivanje, ili za ponovno\n"
+" pokretanje naredbi. PRVA i ZADNJA mogu biti brojevi koji specificiraju\n"
+" raspon, ili PRVA može biti string koji pokazuje na posljednju naredbu\n"
+" Äije ime zapoÄinje sa stringom.\n"
+"\n"
+" Opcije:\n"
+" -e EDITOR ime EDITORA koji će se koristi; zadano, koristi se FCEDIT,\n"
+" zatim EDITOR ili konaÄno „vi“\n"
+" -l izlista popis naredbi (umjesto uređivanja)\n"
+" -n popis bez brojeva\n"
+" -r popis s obrnutim redoslijedom (najnovija prvo)\n"
+"\n"
+" Prikladni alias s ovom funkcijom je r='fc -s'. Tako uneseni „r“ izvrši\n"
+" ponovno posljednju naredbu, a uneseni „r cc“ izvrši posljednju naredbu\n"
+" koja zapoÄinje s „cc“.\n"
+"\n"
+" ZavrÅ¡i s kÈdom izvrÅ¡ene naredbe; razliÄito od 0 ako se dogodi greÅ¡ka."
#: builtins.c:758
msgid ""
@@ -2983,28 +3261,41 @@ msgid ""
" Exit Status:\n"
" Status of command placed in foreground, or failure if an error occurs."
msgstr ""
+"Premjesti posao u interaktivni naÄin.\n"
+"\n"
+" Smjesti posao JOBSPEC u interaktivni naÄin i uÄini ga\n"
+" trenutaÄnim poslom. Bez dȃnoga JOBSPEC, ljuska rabi svoj pojam\n"
+" o trenutaÄnom poslu.\n"
+"\n"
+" ZavrÅ¡i s kÈdom naredbe smjeÅ¡tene u interaktivni naÄin\n"
+" ili s neuspjehom ako se dogodi greška."
#: builtins.c:773
msgid ""
"Move jobs to the background.\n"
" \n"
-" Place the jobs identified by each JOB_SPEC in the background, as if "
-"they\n"
-" had been started with `&'. If JOB_SPEC is not present, the shell's "
-"notion\n"
+" Place the jobs identified by each JOB_SPEC in the background, as if they\n"
+" had been started with `&'. If JOB_SPEC is not present, the shell's notion\n"
" of the current job is used.\n"
" \n"
" Exit Status:\n"
" Returns success unless job control is not enabled or an error occurs."
msgstr ""
+"Premjesti poslove u pozadinu.\n"
+"\n"
+" Smjesti poslove idenificirane sa svakim JOBSPEC u pozadinu, kao da su\n"
+" pokrenuti s „&“. Bez dȃnih JOBSPEC, ljuska rabi svoj pojam\n"
+" o trenutaÄnom poslu.\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 osim ako upravljanje s poslovima nije omogućeno\n"
+" ili se dogodila greška."
#: builtins.c:787
msgid ""
"Remember or display program locations.\n"
" \n"
" Determine and remember the full pathname of each command NAME. If\n"
-" no arguments are given, information about remembered commands is "
-"displayed.\n"
+" no arguments are given, information about remembered commands is displayed.\n"
" \n"
" Options:\n"
" -d\tforget the remembered location of each NAME\n"
@@ -3021,6 +3312,23 @@ msgid ""
" Exit Status:\n"
" Returns success unless NAME is not found or an invalid option is given."
msgstr ""
+"Zapamti ili prikaže lokacije programa.\n"
+"\n"
+" Odredi i zapamti apsolutnu stazu za svaku naredbu IME. Ako nisu\n"
+" dȃni argumenti, prikaže informacije o zapamćenim naredbama.\n"
+"\n"
+" Opcije:\n"
+" -d zaboravi zapamćene lokacije za svako IME\n"
+" -l generira izlaz koji se može koristi za ulaz\n"
+" -p IME_STAZE rabi IME_STAZE kao kao apsolutnu stazu za IME\n"
+" -r zaboravi sve zapamćene lokacije\n"
+" -t ispiše zapamćene lokacije za svako IME\n"
+" (s prefiksom IME ako je dȃno više IMEna)\n"
+" Svako dȃno IME se traži u $PATH i doda se popisu zapamćenih\n"
+" naredbi.\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 osim ako nije pronaÄ‘eno IME\n"
+" ili je dȃna nevaljana opcija."
#: builtins.c:812
msgid ""
@@ -3037,12 +3345,25 @@ msgid ""
" \t\tPATTERN\n"
" \n"
" Arguments:\n"
-" PATTERN\tPattern specifying a help topic\n"
+" PATTERN\tPattern specifiying a help topic\n"
" \n"
" Exit Status:\n"
-" Returns success unless PATTERN is not found or an invalid option is "
-"given."
+" Returns success unless PATTERN is not found or an invalid option is given."
msgstr ""
+"Prikaže informacije o ugrađenim (builtin) naredbama.\n"
+"\n"
+" Prikaže kratke sažetke o ugrađenim naredbama. Ako je specificirani\n"
+" UZORAK, pokaže detaljnu pomoć za sve naredbe koje podudare UZORAK,\n"
+" inaÄe ispiÅ¡e popis tema za koje možete potražiti detalje.\n"
+"\n"
+" Opties:\n"
+" -d ukratko opisano djelovanje naredbe\n"
+" -m prikaže uporabu u pseudo manpage formatu\n"
+" -s prikaže samo sinopsis uporabe za svaku\n"
+" naredbu koja podudara UZORAK\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 osim ako UZORAK nije pronaÄ‘en,\n"
+" ili je dȃna nevaljana opcija."
#: builtins.c:836
msgid ""
@@ -3053,8 +3374,7 @@ msgid ""
" \n"
" Options:\n"
" -c\tclear the history list by deleting all of the entries\n"
-" -d offset\tdelete the history entry at position OFFSET. Negative\n"
-" \t\toffsets count back from the end of the history list\n"
+" -d offset\tdelete the history entry at position 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"
@@ -3072,14 +3392,44 @@ msgid ""
" \n"
" If the HISTTIMEFORMAT variable is set and not null, its value is used\n"
" as a format string for strftime(3) to print the time stamp associated\n"
-" with each displayed history entry. No time stamps are printed "
-"otherwise.\n"
+" with each displayed history entry. No time stamps are printed otherwise.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
+"Prikaže ili manipulira povijest naredbi.\n"
+"\n"
+" Prikaže numerirani popis izvršenih naredbi (povijest); ispred\n"
+" modificiranih stavki stoji prefiks „*“. Ako je dȃn argument N,\n"
+" ispiše N najmlađih (zadnjih) redaka povijesti.\n"
+"\n"
+" Opcije:\n"
+" -c poÄisti povijest iz memorije; zaboravi sve izvrÅ¡ene naredbe\n"
+" -d POZICIJA izbriše redak povijesti na POZICIJI\n"
+"\n"
+" -a pripoji trenutaÄnu povijest „povijesnoj“ datoteci\n"
+" -n pripoji sve neproÄitane retke povijesne datoteke\n"
+" trenutaÄnom popisu povijesti\n"
+" -r proÄita i pripoji povijesnu datoteku\n"
+" trenutaÄnom popisu povijesti\n"
+" -w trenutaÄnu povijest zapiÅ¡e u povijesnu datoteku\n"
+"\n"
+" -p proširi povijest na svakom ARGUMENTU i prikaže rezultat\n"
+" bez spremanja u povijesni popis\n"
+" -s Pripoji ARGUMENTe popisu povijesti kao pojedinaÄne stavke \n"
+"\n"
+" Kao povijesna datoteka koristi se DATOTEKA ako je dȃna; ako nije dȃna,\n"
+" koristi se varijabla HISTFILE (ako ima vrijednost), inaÄe se koristi\n"
+" ~/.bash_history.\n"
+"\n"
+" Ako HISTTIMEFORMAT varijabla postoji i nije nula, njezinu vrijednost\n"
+" koristi strftime(3) kao format string za ispis vremenskih oznaka\n"
+" povijesnih stavki; inaÄe, vremenske oznake se ne ispisuju.\n"
+"\n"
+" Završi s statusom 0 osim ako nije dȃna nevaljana opcija\n"
+" ili se dogodila greška."
-#: builtins.c:873
+#: builtins.c:872
msgid ""
"Display status of jobs.\n"
" \n"
@@ -3102,8 +3452,26 @@ 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 ""
+"Prikaže status poslova.\n"
+"\n"
+" Izlista aktivne poslove. JOBSPEC ograniÄi izlaz na taj posao.\n"
+" Bez opcija, prikaže status svih aktivnih poslova.\n"
+"\n"
+" Opcije:\n"
+" -l pokaže i ID-ove procesa uz uobiÄajene informacije\n"
+" -n pokaže samo procese koji su se promijenili od zadnjeg izvješća\n"
+" -p pokaže samo ID-ove procesa\n"
+" -r ograniÄi izlaz samo na trenutaÄno pokrenute poslove\n"
+" -s ograniÄi izlaz samo na zaustavljene poslove\n"
+"\n"
+" Ako je dȃna opcija -x, „jobs“ zamijeni svaki JOBSPEC\n"
+" pronađen u NAREDBI ili u ARGUMENTIMA s odgovarajućim\n"
+" ID-om procesne grupe i izvrši NAREDBU s ARGUMENTIMA.\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 osim ako je dȃna nevaljana opcija ili se dogodila greÅ¡ka.\n"
+" Ako je dȃna opcija -x, završi sa izlaznim statusom NAREDBE."
-#: builtins.c:900
+#: builtins.c:899
msgid ""
"Remove jobs from current shell.\n"
" \n"
@@ -3119,8 +3487,22 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option or JOBSPEC is given."
msgstr ""
+"Ukloni poslove iz trenutaÄne ljuske.\n"
+"\n"
+" Ukloni svaki JOBSPEC argument iz tablice aktivnih poslova.\n"
+" Bez ikakvih JOBSPEC ljuska rabi svoj pojam o trenutaÄnom\n"
+" poslu.\n"
+"\n"
+" Opcije:\n"
+" -a ukloni sve poslove ako nije dȃni JOBSPEC\n"
+" -h oznaÄi svaki JOBSPEC tako da se SIGHUP ne Å¡alje\n"
+" poslu ako ljuska primi SIGHUP\n"
+" -r ukloni samo pokrenute poslove\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 osim ako je dȃna nevaljana opcija\n"
+" ili nije dȃni JOBSPEC."
-#: builtins.c:919
+#: builtins.c:918
msgid ""
"Send a signal to a job.\n"
" \n"
@@ -3142,16 +3524,36 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
+"Pošalje signal poslu.\n"
+"\n"
+" Pošalje signal dȃn u SIGSPEC ili SIGNUM procesima koji su\n"
+" identificirani s PID-om ili s JOBSPEC. Ako nije\n"
+" dȃn nijedan signal (ni SIGSPEC ni SIGNUM), pošalje se SIGTERM.\n"
+"\n"
+" Opcije:\n"
+" -s IME IME je ime signala koji se Å¡alje\n"
+" -n BROJ BROJ je broj signala koji se Å¡alje\n"
+" -l izlista imena dostupnih signala; ako su dȃni argumenti iza\n"
+" „-l“, to su brojevi signala Äija odgovarajuća imena\n"
+" treba ispisati\n"
+" -L isto kao -l\n"
+"\n"
+" „kill“ je ugrađena ljuskina naredba iz dva razloga: dopušta vam da se\n"
+" koristi ID posla umjesto ID procesa i također vam dopušta ubiti procese\n"
+" iako ste dostigli vaÅ¡e ograniÄenje broja procesa koje možete kreirati;\n"
+" tj. ne morate pokrenuti novi proces da ubijete prekobrojne procese.\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 osim ako je dȃna nevaljana opcija\n"
+" ili se dogodila greška."
-#: builtins.c:943
+#: builtins.c:942
msgid ""
"Evaluate arithmetic expressions.\n"
" \n"
" Evaluate each ARG as an arithmetic expression. Evaluation is done in\n"
" fixed-width integers with no check for overflow, though division by 0\n"
" is trapped and flagged as an error. The following list of operators is\n"
-" grouped into levels of equal-precedence operators. The levels are "
-"listed\n"
+" grouped into levels of equal-precedence operators. The levels are listed\n"
" in order of decreasing precedence.\n"
" \n"
" \tid++, id--\tvariable post-increment, post-decrement\n"
@@ -3187,35 +3589,71 @@ msgid ""
" Exit Status:\n"
" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
msgstr ""
+"Evaluira aritmetiÄke izraze.\n"
+"\n"
+" Evaluira svaki ARGUMENT kao aritmetiÄki izraz. Evaluacija se\n"
+" obavlja za cijele brojeve fiksne Å¡irine bez provjere prelijevanja.\n"
+" Ipak, dijeljenje s nulom se detektira i prijavi kao greška.\n"
+"\n"
+" Popis koji slijedi opisuje operatore s jednakim prioritetom u\n"
+" istoj grupi, a grupe su poredane po opadajućemu prioritetu.\n"
+"\n"
+" var++, var-- post-increment, post-decrement varijable\n"
+" ++var, --var pre-increment, pre-decrement varijable\n"
+" -, + unarni minus, unarni plus\n"
+" !, ~ logiÄka i bitovska negacija\n"
+" ** potenciranje\n"
+" *, /, % množenje, dijeljenje, ostatak dijeljenja\n"
+" +, - zbrajanje, oduzimanje\n"
+" <<, >> pomak za bit ulijevo i udesno\n"
+" <=, >=, <, > usporedba\n"
+" ==, != jednako, nejednako\n"
+" & bitovski AND\n"
+" ^ bitovski XOR\n"
+" | bitovski OR\n"
+" && logiÄki AND\n"
+" || logiÄki OR\n"
+"\n"
+" expr ? expr : expr uvjetni izraz\n"
+"\n"
+" =, *=, /=, %=, +=, -=, <<=, >>=, &=, ^=, |= pridruživanje\n"
+"\n"
+" Varijable ljuske su dopuštene kao parametri. Ime varijable se zamijeni\n"
+" s njezinom vrijednošću (ako treba, pretvori se u cijeli broj).\n"
+" Varijable, za upotrebu u izrazima, ne moraju imati atribut cijelog\n"
+" broja.\n"
+"\n"
+" Operatori se evaluiraju prema pravilima prioriteta. Najprije se\n"
+" evaluiraju pod-izrazi u zagradama i tako mogu prevagnuti nad gore\n"
+" opisanim pravilima prioriteta.\n"
+"\n"
+" Ako zadnji ARGUMENT evaluira na 0 (nula), „let“ zavrÅ¡i s kÈdom 1;\n"
+" inaÄe zavrÅ¡i s kÈdom 0."
-#: builtins.c:988
+#: builtins.c:987
msgid ""
"Read a line from the standard input and split it into fields.\n"
" \n"
" Reads a single line from the standard input, or from file descriptor FD\n"
-" if the -u option is supplied. The line is split into fields as with "
-"word\n"
+" if the -u option is supplied. The line is split into fields as with word\n"
" splitting, and the first word is assigned to the first NAME, the second\n"
" word to the second NAME, and so on, with any leftover words assigned to\n"
-" the last NAME. Only the characters found in $IFS are recognized as "
-"word\n"
+" the last NAME. Only the characters found in $IFS are recognized as word\n"
" delimiters.\n"
" \n"
-" If no NAMEs are supplied, the line read is stored in the REPLY "
-"variable.\n"
+" If no NAMEs are supplied, the line read is stored in the REPLY variable.\n"
" \n"
" Options:\n"
" -a array\tassign the words read to sequential indices of the array\n"
" \t\tvariable ARRAY, starting at zero\n"
" -d delim\tcontinue until the first character of DELIM is read, rather\n"
" \t\tthan newline\n"
-" -e\tuse Readline to obtain the line\n"
+" -e\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\n"
" \t\tNCHARS characters are read before the delimiter\n"
-" -N nchars\treturn only after reading exactly NCHARS characters, "
-"unless\n"
+" -N nchars\treturn only after reading exactly NCHARS characters, unless\n"
" \t\tEOF is encountered or read times out, ignoring any\n"
" \t\tdelimiter\n"
" -p prompt\toutput the string PROMPT without a trailing newline before\n"
@@ -3233,14 +3671,48 @@ msgid ""
" -u fd\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"
-" (in which case it's greater than 128), a variable assignment error "
-"occurs,\n"
+" The return code is zero, unless end-of-file is encountered, read times out\n"
+" (in which case it's greater than 128), a variable assignment error occurs,\n"
" or an invalid file descriptor is supplied as the argument to -u."
msgstr ""
+"ProÄita redak iz standardnoga ulaza i razdijeli ga na polja.\n"
+"\n"
+" ProÄita jedan redak iz standardnoga ulaza (ili dȃnoga deskriptora datoteke\n"
+" FD ako je dȃna opcija „-u“) i dodijeli prvu rijeÄ prvom IMEnu, drugu rijeÄ\n"
+" drugom IMEnu, i tako dalje; viÅ¡ak rijeÄi dodijeli je zadnjem IMEnu\n"
+" Samo znakovi sadržani u varijabli IFS prepoznaju se kao MEÄA\n"
+" (razdjelnik rijeÄi). Ako nije dȃno nijedno IME, proÄitani redak se\n"
+" spremi u varijablu REPLY.\n"
+"\n"
+" Opcije:\n"
+" -a POLJE proÄitane rijeÄi dodijeli sekvencijalno indeksima POLJA\n"
+" poÄevÅ¡i od nule\n"
+" -d MEÄA nastavi Äitati sve dok ne proÄita prvu MEÄU (umjesto LF znaka)\n"
+" -e u interaktivnoj ljusci rabi „readline“ za Äitanje retka\n"
+" -i TEKST rabi TEKST kao poÄetni tekst za „readline“\n"
+" -n BROJ zaustavi Äitanje nakon proÄitanih ne viÅ¡e od BROJ znakova\n"
+" ili nakon LF znaka (umjesto da uvijek Äeka na LF znak)\n"
+" -N BROJ zaustavi Äitanje samo nakon proÄitanih ne viÅ¡e od BROJ\n"
+" znakova ili nakon EOF znaka ili nakon isteka „t SEKUNDA\n"
+" -p PROMPT ispiše string PROMPT kao prompt (bez završnog znaka novog\n"
+" retka) prije poÄetka Äitanja retka\n"
+" -r onemogući maskiranje kódova s obratnom kosom crtom\n"
+" -s siguran ulaz — ne odjekuje ulaz na terminal\n"
+" -t BROJ nakon isteka BROJ SEKUNDI prestane Äekati na ulaz i zavrÅ¡i\n"
+" s kÈdom većim od 128; zadano, broj sekundi Äekanja je\n"
+" vrijednost varijable TMOUT; BROJ može biti i realni broj;\n"
+" Ako je BROJ = 0, „read“ zavrÅ¡i odmah bez da iÅ¡ta Äita, a\n"
+" samo ako je ulaz dostupni na specificiranom deskriptoru\n"
+" datoteke ZavrÅ¡i s kÈdom 0\n"
+"\n"
+" -u FD Äita iz deskriptora datoteke FD umjesto iz standardnoga ulaza\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 osim ako ne naiÄ‘e na konac datoteke\n"
+" (EOF), ili je isteklo vrijeme Äekanja, ili se dogodila greÅ¡ka\n"
+" pri dodjeli, ili je specificirani nevaljani deskriptor datoteke\n"
+" kao argument opciji „-u“."
-#: builtins.c:1035
+#: builtins.c:1034
msgid ""
"Return from a shell function.\n"
" \n"
@@ -3251,8 +3723,16 @@ msgid ""
" Exit Status:\n"
" Returns N, or failure if the shell is not executing a function or script."
msgstr ""
+"Povrat iz funkcije ljuske.\n"
+"\n"
+" UÄini da funkcija ili pokrenuta skripta zavrÅ¡i sa izlaznom vrijednošću\n"
+" specificiranom s N. Ako N nije dȃn, zavrÅ¡i s kÈdom zadnje naredbe\n"
+" izvršene unutar funkcije ili skripte.\n"
+"\n"
+" Vrati vrijednost N ili 1 ako ljuska ne izvrši\n"
+" funkciju ili skriptu."
-#: builtins.c:1048
+#: builtins.c:1047
msgid ""
"Set or unset values of shell options and positional parameters.\n"
" \n"
@@ -3295,8 +3775,7 @@ msgid ""
" physical same as -P\n"
" pipefail the return value of a pipeline is the status of\n"
" the last command to exit with a non-zero status,\n"
-" or zero if no command exited with a non-zero "
-"status\n"
+" or zero if no command exited with a non-zero status\n"
" posix change the behavior of bash where the default\n"
" operation differs from the Posix standard to\n"
" match the standard\n"
@@ -3320,8 +3799,7 @@ msgid ""
" by default when the shell is interactive.\n"
" -P If set, do not resolve symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
-" -T If set, the DEBUG and RETURN traps are inherited by shell "
-"functions.\n"
+" -T If set, the DEBUG and RETURN traps are 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"
@@ -3337,8 +3815,84 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is given."
msgstr ""
+"Postavi vrijednosti opcija ljuske i položajnih parametara.\n"
+"\n"
+" Omogući/onemogući svojstva ljuske ili mijenja vrijednosti položajnih\n"
+" parametara. Bez opcija ili argumenata „set“ prikaže imena i vrijednosti\n"
+" svih definiranih varijabli i funkcija u formatu upotrebljivom kao\n"
+" ulaz za postavljanje/poniÅ¡tavanje trenutaÄno postavljenih varijabli.\n"
+" Dostupne su sljedeće opcije („+“ umjesto „-“ iskljuÄi dȃnu opciju):\n"
+"\n"
+" -a automatski eksportira nove ili modificirane varijable i funkcije\n"
+" -B izvrši brace expansion, npr. echo a{d,c}e -> ade, ace (zadano)\n"
+" -b odmah prijavi prekid posla (ne Äeka da zavrÅ¡i trenutna naredba)\n"
+" -C onemogući da preusmjereni eksport piše preko regularnih datoteka\n"
+" -E omogući da bilo koji ERR „trap“ naslijede funkcije ljuske i potomci\n"
+" -e zavrÅ¡i odmah ako naredba zavrÅ¡i s kÈdom razliÄitim od nula\n"
+" -f onemogući zamjenske znakove za imena datoteka (iskljuÄi „globbing“)\n"
+" -H omogući upotrebu znaka „!“ za supstituciju povijesti naredbi\n"
+" -h pamti (apslolutne) lokacije izvršenih naredbi (zadano)\n"
+" -k smjesti sve argumente dodijeljene varijablama u okolinu\n"
+" (a ne samo one koje prethode imenu naredbe)\n"
+" -m upravljanje s poslovima je omogućena (zadano)\n"
+" -n proÄita, ali ne izvrÅ¡i naredbe („testiranje“)\n"
+" -o IME_OPCIJE omogući IME_OPCIJU (v. niže za dugaÄka imena opcija)\n"
+" -P ne razrijeÅ¡i simboliÄke veze pri izvrÅ¡avanju naredbi poput „cd“\n"
+" koje promjene trenutaÄni direktorij\n"
+" -p ukljuÄi privilegirani mÈd: datoteke BASH_ENV i ENV se ignoriraju,\n"
+" funkcije ljuske se ne importiraju iz okoline, a ignoriraju se i\n"
+" sve SHELLOPTS; taj mÈd se automatski aktivira kÈd god se realni\n"
+" i efektivni UID i GID ne podudaraju. IskljuÄivanje ove opcije\n"
+" uÄini da je efektivni UID i GID isti kao i realni UID i GID.\n"
+" -T DEBUG i RETURN „trap“ naslijede funkcije ljuske i potomci\n"
+" -t zavrÅ¡i nakon Äitanja i izvrÅ¡enja jedne naredbe\n"
+" -u nepostojeće varijable tretira kao greÅ¡ku kÈd supstituira\n"
+" -v ispisuju ulaz (odjekuje ih) istovremeno s Äitanjem\n"
+" -x ispisuje naredbe s argumentima istovremeno s izvršavanjem\n"
+" -- argumenti koji slijede su položajni parametri; ako ih nema,\n"
+" postojeći položajni argumenti se brišu (uklanjaju se)\n"
+" - iskljuÄi opcije -v i -x; argumenti koji slijede su položajni\n"
+" parametri; ali ako ih nema, postojeći položajni argumenti\n"
+" se ne brišu (ostaju)\n"
+"\n"
+" Opcije se također mogu koristiti pri pokretanju ljuske. Postojeće\n"
+" stanje opcija može se naći u $-. Za eventualne dodatne argumente iz\n"
+" „set“ uzima se da su položajni parametri i dodjeljuje se, po redu, na\n"
+" $1, $2, ... $N.\n"
+"\n"
+" DugaÄki nazivi koji se koriste s opcijom -o (ili +o)\n"
+" allexport isto kao -a\n"
+" braceexpand isto kao -B (brace ekspanzija, npr. echo a{d,c}e -> ade, ace\n"
+" emacs za ureÄ‘ivanje redaka koristi suÄelje u „emacs“ stilu\n"
+" errexit isto kao -e\n"
+" errtrace isto kao -E\n"
+" functrace isto kao -T\n"
+" hashall isto kao -h\n"
+" histexpand isto kao -H\n"
+" history omogući naredbu „history“\n"
+" ignoreeof ignorira Ctrl-D; ne završi (ne iziđe iz) ljusku na EOF\n"
+" interactive-comments dopusti komentiranje u interaktivnim naredbama\n"
+" keyword isto kao -k\n"
+" monitor isto kao -m\n"
+" noclobber isto kao -C\n"
+" noexec isto kao -n\n"
+" noglob isto kao -f\n"
+" nolog (prepoznata, ali se ignorira)\n"
+" notify isto kao -b\n"
+" nounset isto kao -u\n"
+" onecmd isto kao -t\n"
+" physical isto kao -P\n"
+" pipefail cjevovod vrati vrijednost izlaznog statusa zadnje neuspješne\n"
+" naredbe ili 0 ako su svi poslovi uspješno završeni\n"
+" posix striktno poštuje POSIX standard\n"
+" privileged isto kao -p\n"
+" verbose isto kao -v\n"
+" vi za ureÄ‘ivanje redaka koristi suÄelje u „vi“ stilu\n"
+" xtrace isto kao -x\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 osim ako je dȃna nevaljana opcija."
-#: builtins.c:1133
+#: builtins.c:1132
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \n"
@@ -3350,8 +3904,7 @@ msgid ""
" -n\ttreat each NAME as a name reference and unset the variable itself\n"
" \t\trather than the variable it references\n"
" \n"
-" Without options, unset first tries to unset a variable, and if that "
-"fails,\n"
+" Without options, unset first tries to unset a variable, and if that fails,\n"
" tries to unset a function.\n"
" \n"
" Some variables cannot be unset; also see `readonly'.\n"
@@ -3359,14 +3912,29 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is given or a NAME is read-only."
msgstr ""
+"Ukloni vrijednosti i atribute varijabli i funkcija ljuske.\n"
+"\n"
+" Za svako IME ukloni odgovarajuću varijablu ili funkciju\n"
+"\n"
+" Opcije:\n"
+" -f tretira svako IME kao funkciju ljuske\n"
+" -v tretira svako IME kao varijablu ljuske\n"
+" -n tretira svako IME kao referenciju na neki objekt i ukloni\n"
+" samu varijablu IME umjesto referiranog objekta\n"
+"\n"
+" Bez dȃnih opcija, „unset“ prvo pokuša ukloniti varijablu, a ako to\n"
+" ne uspije, onda pokuša ukloniti funkciju. Neke varijable nije moguće\n"
+" ukloniti; pogledajte „readonly.\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 osim ako je dȃna nevaljana opcija\n"
+" ili IME je „samo-za-Äitanje“."
-#: builtins.c:1155
+#: builtins.c:1154
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"
+" executed commands. If VALUE is supplied, assign VALUE before exporting.\n"
" \n"
" Options:\n"
" -f\trefer to shell functions\n"
@@ -3378,8 +3946,23 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
+"Postavi eksportni atribut na varijable ljuske.\n"
+"\n"
+" OznaÄi automatski svako dȃno IME za eksport u okolinu za naknadno\n"
+" izvršavanje naredbi. Ako je dȃna VRIJEDNOST, dodijeli im VRIJEDNOST\n"
+" prije eksportiranja.\n"
+"\n"
+" Opcije:\n"
+" -f dȃna IMEna se odnose samo na funkcije\n"
+" -n ukloni eksportni atribut iz svakoga IMEna \n"
+" -p izlista popis svih eksportiranih varijabli i funkcija\n"
+"\n"
+" Argument „--“ sprijeÄi daljnje procesiranje opcija.\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 osim ako je dȃna nevaljana opcija\n"
+" ili dȃno IME nije valjano."
-#: builtins.c:1174
+#: builtins.c:1173
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
@@ -3399,8 +3982,25 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
+"OznaÄi varijable ljuske kao nepromjenjive.\n"
+"\n"
+" OznaÄi svako IME kao nepromjenjivo (readonly), tako da se vrijednosti\n"
+" ovih IMEna ne može promijeniti kasnijim operacijama. Ako je dȃna\n"
+" VRIJEDNOST, prvo mu dodijeli VRIJEDNOST, a zatim ga oznaÄi nepromjenjivim.\n"
+"\n"
+" Opcije:\n"
+" -a svako IME se odnosi na varijable indeksiranoga polja\n"
+" -A svako IME se odnosi na varijable asocijativnoga polja\n"
+" -f svako IME se odnosi na funkcije ljuske\n"
+" -p prikaže popis svih nepromjenjivih varijabli ili funkcija\n"
+" ovisno o opciji „-f“ (je li ili nije dȃna).\n"
+"\n"
+" Argument „--“ onemogući daljnje procesiranje opcija.\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 osim ako je dȃna nevaljana opcija\n"
+" ili je IME nevaljano."
-#: builtins.c:1196
+#: builtins.c:1195
msgid ""
"Shift positional parameters.\n"
" \n"
@@ -3410,8 +4010,14 @@ msgid ""
" Exit Status:\n"
" Returns success unless N is negative or greater than $#."
msgstr ""
+"Pomakne položajne parametre.\n"
+"\n"
+" Preimenuje položajne parametre $N+1,$N+2,... u $1,$2,...\n"
+" Ako nije dȃni N, uzima se da je N = 1.\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 osim ako je N negativni ili veći od $#."
-#: builtins.c:1208 builtins.c:1223
+#: builtins.c:1207 builtins.c:1222
msgid ""
"Execute commands from a file in the current shell.\n"
" \n"
@@ -3424,8 +4030,17 @@ msgid ""
" Returns the status of the last command executed in FILENAME; fails if\n"
" FILENAME cannot be read."
msgstr ""
+"IzvrÅ¡i naredbe iz datoteke u trenutaÄnoj ljusci.\n"
+"\n"
+" ÄŒita i izvrÅ¡i naredbe iz DATOTEKE u trenutaÄnoj ljusci.\n"
+" Direktorij s DATOTEKOM traži se po stazama sadržanima u varijabli\n"
+" PATH. Ako su dȃni ikoji ARGUMENTI, oni postaju položajni parametri\n"
+" tijekom izvršavanja DATOTEKE.\n"
+"\n"
+" ZavrÅ¡i s kÈdom zadnje izvrÅ¡ene naredbe iz DATOTEKE,\n"
+" ili sa statusom 1 ako se DATOTEKA ne može proÄitati."
-#: builtins.c:1239
+#: builtins.c:1238
msgid ""
"Suspend shell execution.\n"
" \n"
@@ -3438,8 +4053,18 @@ msgid ""
" Exit Status:\n"
" Returns success unless job control is not enabled or an error occurs."
msgstr ""
+"Obustavi rad ljuske.\n"
+"\n"
+" Obustavi rad u ovoj ljusci sve dok ne primi SIGCONT signal.\n"
+" Ako nije prisiljena, rad prijavne ljuske se ne može obustaviti.\n"
+"\n"
+" Opcije:\n"
+" -f prisili obustavu, Äak i ako je to prijavna ljuska\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 osim ako upravljanje poslom nije omogućeno\n"
+" ili se dogodila greška."
-#: builtins.c:1255
+#: builtins.c:1254
msgid ""
"Evaluate conditional expression.\n"
" \n"
@@ -3473,8 +4098,7 @@ msgid ""
" -x FILE True if the file is executable by you.\n"
" -O FILE True if the file is effectively owned by you.\n"
" -G FILE True if the file is effectively owned by your group.\n"
-" -N FILE True if the file has been modified since it was last "
-"read.\n"
+" -N FILE True if the file has been modified since it was last read.\n"
" \n"
" FILE1 -nt FILE2 True if file1 is newer than file2 (according to\n"
" modification date).\n"
@@ -3495,8 +4119,7 @@ msgid ""
" STRING1 != STRING2\n"
" True if the strings are not equal.\n"
" STRING1 < STRING2\n"
-" True if STRING1 sorts before STRING2 "
-"lexicographically.\n"
+" True if STRING1 sorts before STRING2 lexicographically.\n"
" STRING1 > STRING2\n"
" True if STRING1 sorts after STRING2 lexicographically.\n"
" \n"
@@ -3521,33 +4144,105 @@ msgid ""
" Returns success if EXPR evaluates to true; fails if EXPR evaluates to\n"
" false or an invalid argument is given."
msgstr ""
+"Evaluira uvjetni izraz.\n"
+"\n"
+" Evaluira dȃni IZRAZ; ovisno o rezultatu evaluacije, završi sa\n"
+" statusom 0 (istina), ili 1 (neistina, laž). Izrazi mogu biti unarni\n"
+" ili binarni. Unarni izrazi se Äesto koriste za ispitivanje statusa\n"
+" datoteke. Također postoje operatori za usporedbu stringova i brojeva.\n"
+"\n"
+" Ponašanje od „test“ ovisi o broju argumenata. Potražite u „bash“\n"
+" uputama detalje za uporabu.\n"
+"\n"
+" Operatori za datoteke:\n"
+" -a DATOTEKA istina ako datoteka postoji\n"
+" -b DATOTEKA istina ako je datoteka blok uređaj\n"
+" -c DATOTEKA istina ako je datoteka znakovni uređaj\n"
+" -d DATOTEKA istina ako je datoteka direktorij\n"
+" -e DATOTEKA istina ako datoteka postoji\n"
+" -f DATOTEKA istina ako je datoteka regularna datoteka\n"
+" -G DATOTEKA istina ako je datoteka efektivno vlasništvo vaše grupe\n"
+" -g DATOTEKA istina ako je datoteka SETGUID\n"
+" -h DATOTEKA istina ako je datoteka simboliÄka veza\n"
+" -k DATOTEKA istina ako datoteka ima postavljeni \"sticky\" bit\n"
+" -L DATOTEKA istina ako je datoteka simboliÄka veza\n"
+" -N DATOTEKA istina ako se datoteka promijenila od zadnjeg Äitanja\n"
+" -O DATOTEKA istina ako je datoteka efektivno vaše vlasništvo\n"
+" -p DATOTEKA istina ako je datoteka imenovana cijev\n"
+" -r DATOTEKA istina ako vi možete Äitati datoteku\n"
+" -S DATOTEKA istina ako je datoteka utiÄnica\n"
+" -s DATOTEKA istina ako datoteka nije prazna\n"
+" -t DESKRIPTOR istina ako je deskriptor datoteke otvoren u terminalu\n"
+" -u DATOTEKA istina ako je datoteka SETUID\n"
+" -w DATOTEKA istina ako vi možete pisati datoteku\n"
+" -x DATOTEKA istina ako vi možete izvršiti datoteku\n"
+"\n"
+" DTEKA1 -nt DTEKA2 istina ako je prva datoteka promijenjena\n"
+" kasnije od druge\n"
+" DTEKA1 -ot DTEKA2 istina ako je prva datoteka promijenjena\n"
+" ranije od druge\n"
+" DTEKA1 -ef DTEKA2 istina ako je prva datoteka Ävrsta veza na drugu\n"
+"\n"
+" Operatori za stringove:\n"
+" -z STRING istina ako je string prazni\n"
+" -n STRING istina ako string nije prazni\n"
+" STRING istina ako string nije prazni\n"
+" STRING1 = STRING2 istina ako su stringovi jednaki\n"
+" STRING1 != STRING2 istina ako stringovi nisu jednaki\n"
+" STRING1 < STRING2 istina ako se leksikografski prvi string\n"
+" razvrsta ispred drugoga\n"
+" STRING1 > STRING2 istina ako se leksikografski prvi string\n"
+" razvrsta iza drugoga\n"
+"\n"
+" Ostali operatori:\n"
+" -o OPCIJA istina ako je ova OPCIJA ljuske omogućena\n"
+" -v VARIJABLA istina ako ova VARIJABLA ima vrijednost\n"
+" -R VARIJABLA istina ako je ova VARIJABLA referencija (nameref) \n"
+" ! IZRAZ istina ako IZRAZ neistiniti\n"
+" IZRAZ1 -a IZRAZ2 istina ako su oba izraza istinita\n"
+" IZRAZ1 -o IZRAZ2 laž ako su oba izraza neistinita\n"
+" ARG1 OP ARG2 istina ako je aritmetika ispravna; operator OP je\n"
+" jedan od: -eq, -ne, -lt, -le, -gt, ili -ge;\n"
+" koji znaÄe: jednako, nejednako, manje od, manje,\n"
+" ili jednako, veće od, veće ili jednako.\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 ako je IZRAZ istiniti, 1 ako je IZRAZ neistiniti,\n"
+" ili 2 ako je dȃn nevaljani argument."
-#: builtins.c:1337
+#: builtins.c:1336
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 ""
+"Provjeri uvjetni izraz.\n"
+"\n"
+" To je sinonim za ugrađenu funkciju „test“, ali zadnji argument\n"
+" mora biti zagrada „]“ kao par zagradi „[“ na poÄetku."
-#: builtins.c:1346
+#: builtins.c:1345
msgid ""
"Display process times.\n"
" \n"
-" Prints the accumulated user and system times for the shell and all of "
-"its\n"
+" Prints the accumulated user and system times for the shell and all of its\n"
" child processes.\n"
" \n"
" Exit Status:\n"
" Always succeeds."
msgstr ""
+"Prikaže potrošnju vremena procesa.\n"
+" \n"
+" Prikaže ukupno potrošeno vrijeme korisnikom i sustavom; prvo, vrijeme\n"
+" potrošeno samom ljuskom, a zatim svim potomcima pokrenutih ljuskom.\n"
+"\n"
+" ZavrÅ¡i uvijek s kÈdom 0."
-#: builtins.c:1358
+#: builtins.c:1357
msgid ""
"Trap signals and other events.\n"
" \n"
-" Defines and activates handlers to be run when the shell receives "
-"signals\n"
+" Defines and activates handlers to be run when the shell receives signals\n"
" or other conditions.\n"
" \n"
" ARG is a command to be read and executed when the shell receives the\n"
@@ -3556,37 +4251,60 @@ msgid ""
" 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"
+" 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"
+" If no arguments are supplied, trap prints the list of commands associated\n"
" with each signal.\n"
" \n"
" Options:\n"
" -l\tprint a list of signal names and their corresponding numbers\n"
" -p\tdisplay the trap commands associated with each SIGNAL_SPEC\n"
" \n"
-" Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal "
-"number.\n"
+" Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal number.\n"
" Signal names are case insensitive and the SIG prefix is optional. A\n"
" signal may be sent to the shell with \"kill -signal $$\".\n"
" \n"
" Exit Status:\n"
-" Returns success unless a SIGSPEC is invalid or an invalid option is "
-"given."
+" Returns success unless a SIGSPEC is invalid or an invalid option is given."
msgstr ""
+"Prikupljanje (hvatanje) signala i drugih događaja.\n"
+"\n"
+" Definira i aktivira postupke rukovanja koji se pokrenu kÈd ljuska\n"
+" primi signal ili se dogodi neki drugi sluÄaj.\n"
+"\n"
+" ARGUMENT je naredba koja se proÄita i izvrÅ¡i kÈd ljuska primi jedan od\n"
+" specificiranih signala (SIGNAL_SPEC). Ako nema ARGUMENTA (i dȃn je samo\n"
+" jedan signal), ili ARGUMENT je „-“, specificirani signal zadobije svoju\n"
+" originalnu vrijednost (koju je imao na startu ove ljuske). Ako je ARGUMENT\n"
+" prazni string, ljuska i njezini potomci ignoriraju svaki SIGNAL_SPEC.\n"
+"\n"
+" Ako je SIGNAL_SPEC 0 ili EXIT, ARGUMENT se izvrÅ¡i kÈd zatvorite\n"
+" (exit) ljusku. Ako je SIGNAL_SPEC DEBUG, ARGUMENT se izvrši prije\n"
+" svake jednostavne naredbe. Ako je SIGNAL_SPEC RETURN, ARGUMENT se\n"
+" izvrÅ¡i svaki put kÈd funkcija ljuske ili skripta izvrÅ¡ena s . ili\n"
+" „ugraÄ‘eni source“ zavrÅ¡i izvrÅ¡avanje. SIGNAL_SPEC ERR znaÄi da se\n"
+" ARGUMENT izvrši nakon neuspješne naredbe koja bi uzrokovala da ljuska\n"
+" zavrÅ¡i (exit) kÈd je opcija „-e“ omogućena.\n"
+"\n"
+" Bez argumenta, „trap“ izlista popis koji pokaže asocijaciju\n"
+" između naredbi i signala.\n"
+"\n"
+" Opcije:\n"
+" -l popis imena signala i njihov odgovarajući broj\n"
+" -p pokaže koja naredba je povezana na svaki dȃni signal\n"
+"\n"
+" Svaki je SIGNAL_SPEC ili ime signala iz <signal.h> ili broj signala.\n"
+" Signal se može poslati ljusci s „kill -signal $$“.\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 osim ako SIGNAL_SPEC nije valjani\n"
+" ili je dȃna nevaljana opcija."
-#: builtins.c:1394
+#: builtins.c:1393
msgid ""
"Display information about command type.\n"
" \n"
@@ -3612,16 +4330,35 @@ msgid ""
" 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."
+" Returns success if all of the NAMEs are found; fails if any are not found."
msgstr ""
+"Informacije o tipu naredbe.\n"
+"\n"
+" Za svako dȃno IME pokaže kako će se interpretirati\n"
+" ako se koristi kao naredba.\n"
+"\n"
+" Opcije:\n"
+" -a pokaže sve lokacije koje sadrže izvrÅ¡nu datoteku IME; ukljuÄuje i\n"
+" lokacije s aliasima, ugrađenim naredbama i funkcijama, ali onda\n"
+" i samo onda ako nije dȃna opcija „-p“\n"
+" -f ignorira funkcije kao da nisu definirane\n"
+" -P traži dȃno IME po stazama definiranim u PATH (također ako je IME\n"
+" alias, ugrađena naredba (builtin) ili funkcija)\n"
+" i ispiše puni naziv datoteke na disku koja bi se izvršila\n"
+" -p ispiše puni naziv datoteke na disku koja bi se izvršila ili\n"
+" ništa ako je IME alias, ugrađena naredba (builtin) ili funkcija\n"
+" -t ispiše samo tip navedenih IMEna: „alias“, „builtin“, „file“,\n"
+" „function“ ili „keyword“, ovisno o tome je li rijeÄ o aliasu,\n"
+" ugrađenoj funkciji (builtin), datoteci na disku, definiranoj\n"
+" funkciji ili kljuÄnoj rijeÄi; ili niÅ¡ta, ako je ime nepoznato\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 ako se pronaÄ‘u sva IMEna, inaÄe s 1."
-#: builtins.c:1425
+#: builtins.c:1424
msgid ""
"Modify shell resource limits.\n"
" \n"
-" Provides control over the resources available to the shell and "
-"processes\n"
+" Provides control over the resources available to the shell and processes\n"
" it creates, on systems that allow such control.\n"
" \n"
" Options:\n"
@@ -3664,8 +4401,52 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
+"Upravlja i modificira ograniÄenja ljuske.\n"
+"\n"
+" Omogući upravljanje s resursima koji su dostupni ovoj ljusci i\n"
+" procesima koje kreira -- na sustavima koji to dopuštaju.\n"
+"\n"
+" Opcije:\n"
+" -S rabi „mekano“ (soft) ograniÄenje resursa\n"
+" -H rabi „tvrdo“ (hard) ograniÄenje resursa\n"
+" -a popis svih trenutaÄnih ograniÄenja\n"
+" -b maks. veliÄina meÄ‘uspremnika utiÄnice\n"
+" -c maks. veliÄina „core“ datoteka (u kB)\n"
+" -d maks. veliÄina segmenta s procesnim podacima (in kB)\n"
+" -e maks. prioritet raspoređivanja („nice“ vrijednost)\n"
+" -f maks. veliÄina datoteka ljuska i njeni potomci mogu zapisati\n"
+" -i maks. broj signala koji može biti na Äekanju\n"
+" -l maks. veliÄina koju proces može zakljuÄati u memoriju\n"
+" -k maks. broj rezerviranih/dodijeljenih „kqueues“ za taj proces\n"
+" -m maks. iznos fiziÄke memorije procesa (in kB)\n"
+" -n maks. broj otvorenih deskriptora datoteka\n"
+" -p maks. veliÄina meÄ‘uspremnika cijevi\n"
+" -q maks. broj bajtova za red POSIX poruka\n"
+" -r maks. prioritet raspoređivanja u realnom vremenu\n"
+" -s maks. veliÄina snopa (stack) (u kB)\n"
+" -t maks. iznos CPU vremena (u sekundama)\n"
+" -u maks. broj korisniÄkih procesa\n"
+" -v maks. veliÄina virtualne memorije (u kB)\n"
+" -x maks. broj datoteÄnih brava (lokota, locks)\n"
+" -P maks. broj pseudo terminala\n"
+" -T maks. broj dretvi\n"
+"\n"
+" Nisu sve opisane opcije dostupne na svim platformama.\n"
+"\n"
+" Ako je specificirani, LIMIT postane nova vrijednost za specificirani\n"
+" resurs, inaÄe se prikažu trenutaÄne vrijednosti. Specijalne vrijednosti,\n"
+" „soft“, „hard“, i „unlimited“ su trenutaÄni soft limit, trenutaÄni hard\n"
+" limit i unlimited. Ako nijedna opcija nije specificirana, podrazumijeva\n"
+" se da je aktivna „-f“ opcija.\n"
+"\n"
+" Vrijednosti su višekratnik od 1024 bajta, osim za „-t“ koji je\n"
+" u sekundama, „-p“ koji je višekratnik od 512 bajta i „-u“ je apsolutni\n"
+" broj procesa.\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 osim ako je dȃna nevaljana opcija\n"
+" ili se dogodila greška."
-#: builtins.c:1475
+#: builtins.c:1474
msgid ""
"Display or set file mode mask.\n"
" \n"
@@ -3682,45 +4463,74 @@ msgid ""
" Exit Status:\n"
" Returns success unless MODE is invalid or an invalid option is given."
msgstr ""
+"Prikaže ili postavi masku prilikom kreiranje datoteke.\n"
+"\n"
+" Postavi masku datoteke koju kreira korisnik na MODE.\n"
+" Ako MODE nije dȃn, ispiÅ¡e trenutaÄnu vrijednost maske.\n"
+"\n"
+" Ako MODE poÄinje sa znamenkom, interpretira se kao oktalni broj;\n"
+" inaÄe to je simboliÄki mode string kakav prihvaća chmod(1).\n"
+"\n"
+" Opcije:\n"
+" -p ako nije dȃn MODE, generira izlaz u formatu\n"
+" koji se može iskoristiti kao ulaz\n"
+" -S napravi simboliÄki izlaz; inaÄe izlaz je oktalni broj\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 osim ako MODE nije valjan\n"
+" ili je dȃna nevaljana opcija."
-#: builtins.c:1495
+#: builtins.c:1494
msgid ""
"Wait for job completion and return exit status.\n"
" \n"
-" Waits for each process identified by an ID, which may be a process ID or "
-"a\n"
+" Waits for each process identified by an 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 job specification, waits for all processes\n"
+" status is zero. If ID is a a job specification, waits for all processes\n"
" in that job's pipeline.\n"
" \n"
" If the -n option is supplied, waits for the next job to terminate and\n"
" returns its exit status.\n"
" \n"
-" If the -f option is supplied, and job control is enabled, waits for the\n"
-" specified ID to terminate, instead of waiting for it to change status.\n"
-" \n"
" Exit Status:\n"
" Returns the status of the last ID; fails if ID is invalid or an invalid\n"
" option is given."
msgstr ""
+"Čeka da posao završi i vrati njegov izlazni status.\n"
+"\n"
+" Čeka na svaki posao identificirani s ID — to jest indikatorom posla ili\n"
+" indikatorom procesa — i izvijesti njegov završni status. Ako nije dȃn\n"
+" ID, Äeka na sve trenutaÄno aktivne potomke, a zavrÅ¡ni status je nula.\n"
+" Ako je ID specifikacija posla, Äeka na sve procese u cjevovodu tog posla.\n"
+"\n"
+" Ako je dȃna opcija „-n“, Äeka na zavrÅ¡etak sljedećeg posla i vrati\n"
+" njegov izlazni status.\n"
+"\n"
+" ZavrÅ¡i s kÈdom zadnjeg ID-a, s kÈdom 1 ako je ID nevaljani\n"
+" ili je dȃna nevaljana opcija."
-#: builtins.c:1519
+#: builtins.c:1515
msgid ""
"Wait for process completion and return exit status.\n"
" \n"
-" Waits for each process specified by a PID and reports its termination "
-"status.\n"
+" Waits for each process specified by a PID and reports its termination status.\n"
" If PID is not given, waits for all currently active child processes,\n"
" and the return status is zero. PID must be a process ID.\n"
" \n"
" Exit Status:\n"
-" Returns the status of the last PID; fails if PID is invalid or an "
-"invalid\n"
+" Returns the status of the last PID; fails if PID is invalid or an invalid\n"
" option is given."
msgstr ""
+"Čeka da proces završi i vrati njegov izlazni status.\n"
+"\n"
+" Čeka na svaki proces identificirani s PID i izvijesti njegov završni\n"
+" status. Ako nije dȃn PID, Äeka na sve trenutaÄno aktivne potomke,\n"
+" a završni status je nula. PID mora biti proces ID.\n"
+"\n"
+" ZavrÅ¡i s kÈdom zadnjeg PID-a, s kÈdom 1 ako je PID nevaljani,\n"
+" ili s 2 ako je dȃna nevaljana opcija."
-#: builtins.c:1534
+#: builtins.c:1530
msgid ""
"Execute commands for each member in a list.\n"
" \n"
@@ -3732,8 +4542,16 @@ msgid ""
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
+"IzvrÅ¡i naredbe za svakoga Älana u popisu.\n"
+"\n"
+" Petlja „for“ izvrÅ¡i sekvenciju naredbi za svakoga Älana u popisu stavki.\n"
+" Ako nema operanda „in RIJEČIMA...;“, podrazumijeva se operand\n"
+" „in \"$@\"“. Svakom elementu u RIJEČIMA, IME se postavi na taj element\n"
+" i izvrše se NAREDBE.\n"
+"\n"
+" ZavrÅ¡i s kÈdom zadnje izvrÅ¡ene naredbe."
-#: builtins.c:1548
+#: builtins.c:1544
msgid ""
"Arithmetic for loop.\n"
" \n"
@@ -3749,8 +4567,18 @@ msgid ""
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
+"AritmetiÄka „for“ petlja.\n"
+"\n"
+" Isto kao:\n"
+"\n"
+" (( EXP1 )); while (( EXP2 )); do NAREDBE; (( EXP3 )); done\n"
+"\n"
+" EXP1, EXP2, EXP3 su aritmetiÄki izrazi. Ako bilo koji izraz nije\n"
+" dȃn, uzima se da mu je vrijednost jednaka 1.\n"
+"\n"
+" ZavrÅ¡i s kÈdom zadnje izvrÅ¡ene naredbe."
-#: builtins.c:1566
+#: builtins.c:1562
msgid ""
"Select words from a list and execute commands.\n"
" \n"
@@ -3769,8 +4597,23 @@ msgid ""
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
+"Pripremi izbornik i izvrši izabrane naredbe.\n"
+"\n"
+" Proširenjem RIJEČI, „select“ generira i prikaže izbornik na standardnom\n"
+" izlazu za greÅ¡ke s brojem ispred svake rijeÄi. Ako operand „u RIJEÄŒIMA“\n"
+" nije dȃn, podrazumijeva se operand „in \"$@\"“.\n"
+" Nakon izbornika prikaže se PS3 prompt i redak se Äita iz standardnoga\n"
+" ulaza; ako se redak sastoji od broja koji odgovara jednoj od prikazanih\n"
+" rijeÄi, onda varijabla IME dobije vrijednost te rijeÄi; ako je redak\n"
+" prazan, RIJEÄŒI i prompt se ponovno prikažu; ako se proÄita EOF „select“\n"
+" naredba zavrÅ¡i s poslom. Bilo koja druga vrijednost koja se proÄita uÄini\n"
+" da se IME isprazni (nulira). ProÄitani redak spremi se u varijablu REPLY.\n"
+" NAREDBE se izvršavaju nakon svakog izbora, tako dugo dok „break“ naredba\n"
+" ne prekine posao.\n"
+"\n"
+" ZavrÅ¡i s kÈdom zadnje izvrÅ¡ene naredbe."
-#: builtins.c:1587
+#: builtins.c:1583
msgid ""
"Report time consumed by pipeline's execution.\n"
" \n"
@@ -3785,8 +4628,19 @@ msgid ""
" Exit Status:\n"
" The return status is the return status of PIPELINE."
msgstr ""
+"Prikaže vrijeme potrošeno cjevovodom.\n"
+"\n"
+" Nakon završetka izvršavanja CJEVOVODA prikaže sažetak statistike\n"
+" trošenja vremena: ukupno potrošeno vrijeme, CPU vrijeme potrošeno\n"
+" korisnikom i CPU vrijeme potrošeno sustavom za izvršavanje naredbi.\n"
+"\n"
+" Izlazni format se može prilagoditi s varijablom okoline TIMEFORMAT.\n"
+" Opcija „-p“ ignorira TIMEFORMAT i ispiše izlaz u prenosivom POSIX\n"
+" formatu.\n"
+"\n"
+" Završi s izlaznim statusom CJEVOVODA."
-#: builtins.c:1604
+#: builtins.c:1600
msgid ""
"Execute commands based on pattern matching.\n"
" \n"
@@ -3796,29 +4650,39 @@ msgid ""
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
+"Izvrši naredbe ovisno o slaganju s uzorkom.\n"
+"\n"
+" Izvrši onu NAREDBU koja odgovara prvom UZORKU koji se podudara s RIJEČI.\n"
+" Znak „|“ rabi se za razdvajanje više uzoraka.\n"
+"\n"
+" ZavrÅ¡i s kÈdom zadnje izvrÅ¡ene naredbe."
-#: builtins.c:1616
+#: builtins.c:1612
msgid ""
"Execute commands based on conditional.\n"
" \n"
-" The `if COMMANDS' list is executed. If its exit status is zero, then "
-"the\n"
-" `then COMMANDS' list is executed. Otherwise, each `elif COMMANDS' list "
-"is\n"
+" The `if COMMANDS' list is executed. If its exit status is zero, then the\n"
+" `then COMMANDS' list is executed. Otherwise, each `elif COMMANDS' list is\n"
" executed in turn, and if its exit status is zero, the corresponding\n"
-" `then COMMANDS' list is executed and the if command completes. "
-"Otherwise,\n"
-" the `else COMMANDS' list is executed, if present. The exit status of "
-"the\n"
-" entire construct is the exit status of the last command executed, or "
-"zero\n"
+" `then COMMANDS' list is executed and the if command completes. Otherwise,\n"
+" the `else COMMANDS' list is executed, if present. The exit status of the\n"
+" entire construct is the exit status of the last command executed, or zero\n"
" if no condition tested true.\n"
" \n"
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
+"Izvršavanje uvjetovanih naredbi.\n"
+"\n"
+" Prvo izvrÅ¡i zadatke iza „if“; ako „if“ zavrÅ¡i s kÈdom nula, izvrÅ¡i\n"
+" zadatke iza prvog „then“; inaÄe, izvrÅ¡e se zadatci iza sljedećeg „elif“\n"
+" (ako postoji), ili „else“ (ako postoji). Ako „elif“ zavrÅ¡i s kÈdom\n"
+" nula, izvrše se zadatci iza odgovarajućih „then“. Ako više nema „elif“,\n"
+" ili „else“, ili nakon izvršenja zadataka iza „then“, „if“ naredba završi.\n"
+"\n"
+" „if“ zavrÅ¡i s kÈdom zadnjeg izvrÅ¡enoga zadatka."
-#: builtins.c:1633
+#: builtins.c:1629
msgid ""
"Execute commands as long as a test succeeds.\n"
" \n"
@@ -3828,8 +4692,14 @@ msgid ""
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
+"Izvršava naredbe tako dugo dok je test uspješan.\n"
+"\n"
+" Izvršava sukcesivne NAREDBE tako dugo dok zadnja naredba u\n"
+" „while“ NAREDBI ZavrÅ¡i s kÈdom 0.\n"
+"\n"
+" ZavrÅ¡i s kÈdom zadnje izvrÅ¡ene naredbe."
-#: builtins.c:1645
+#: builtins.c:1641
msgid ""
"Execute commands as long as a test does not succeed.\n"
" \n"
@@ -3839,8 +4709,14 @@ msgid ""
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
+"Izvršava naredbe tako dugo dok test ne uspije.\n"
+"\n"
+" Izvršava sukcesivne NAREDBE tako dugo dok zadnja naredba u\n"
+" „until“ NAREDBAMA zavrÅ¡i s kÈdom razliÄitim od nule.\n"
+"\n"
+" ZavrÅ¡i s kÈdom zadnje izvrÅ¡ene naredbe."
-#: builtins.c:1657
+#: builtins.c:1653
msgid ""
"Create a coprocess named NAME.\n"
" \n"
@@ -3852,22 +4728,37 @@ msgid ""
" Exit Status:\n"
" The coproc command returns an exit status of 0."
msgstr ""
+"Kreira coprocess (suproces) s imenom IME.\n"
+"\n"
+" Izvrši NAREDBU asinkrono, sa standardnim izlazom i standardnim ulazom\n"
+" naredbe spojene preko cijevi na deskriptore datoteke dodijeljene\n"
+" indeksima 0 i 1 varijable polja IME u izvršnoj ljusci.\n"
+" Zadano, IME je \"COPROC\".\n"
+"\n"
+" Naredba coproc zavrÅ¡i s kÈdom 0."
-#: builtins.c:1671
+#: builtins.c:1667
msgid ""
"Define shell function.\n"
" \n"
" Create a shell function named NAME. When invoked as a simple command,\n"
-" NAME runs COMMANDs in the calling shell's context. When NAME is "
-"invoked,\n"
+" NAME runs COMMANDs in the calling shell's context. When NAME is invoked,\n"
" the arguments are passed to the function as $1...$n, and the function's\n"
" name is in $FUNCNAME.\n"
" \n"
" Exit Status:\n"
" Returns success unless NAME is readonly."
msgstr ""
+"Definira funkciju ljuske.\n"
+"\n"
+" Kreira funkciju ljuske nazvanu IME. KÈd se pokrene kao jednostavna\n"
+" naredba, IME izvrši NAREDBE unutar konteksta ljuske pozivanja.\n"
+" KÈd se IME pozove, argumenti se proslijede funkciji kao $0...$N,\n"
+" a ime funkcije je $FUNCNAME.\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 osim ako je IME readonly (samo-za-Äitanje)."
-#: builtins.c:1685
+#: builtins.c:1681
msgid ""
"Group commands as a unit.\n"
" \n"
@@ -3877,8 +4768,14 @@ msgid ""
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
+"Grupira naredbe u jednu cjelinu.\n"
+"\n"
+" IzvrÅ¡i skup naredbi kao grupu. To je jedan od naÄina za preusmjeravanje\n"
+" Äitavog skupa naredbi\n"
+"\n"
+" ZavrÅ¡i s kÈdom zadnje izvrÅ¡ene naredbe."
-#: builtins.c:1697
+#: builtins.c:1693
msgid ""
"Resume job in foreground.\n"
" \n"
@@ -3891,8 +4788,16 @@ msgid ""
" Exit Status:\n"
" Returns the status of the resumed job."
msgstr ""
+"Nastavi posao u interaktivnom naÄinu.\n"
+"\n"
+" Nastavi dȃni obustavljeni ili pozadinski posao u interaktivnom mÈdu\n"
+" To je ekvivalentno naredbi „fg“. JOBSPEC može specificirati\n"
+" ili ime posla ili broj posla. Ako „&“ slijedi iza JOBSPEC\n"
+" onda posao prelazi u pozadinu. To je ekvivalentno naredbi „bg“\n"
+"\n"
+" ZavrÅ¡i s kÈdom nastavljenoga posla."
-#: builtins.c:1712
+#: builtins.c:1708
msgid ""
"Evaluate arithmetic expression.\n"
" \n"
@@ -3902,17 +4807,21 @@ msgid ""
" Exit Status:\n"
" Returns 1 if EXPRESSION evaluates to 0; returns 0 otherwise."
msgstr ""
+"IzraÄuna aritmetiÄki izraz.\n"
+"\n"
+" IZRAZ se izraÄuna po aritmetiÄkim pravilima.\n"
+" To je isto kao \"let IZRAZ\".\n"
+"\n"
+" ZavrÅ¡i s kÈdom 1 ako je rezultat IZRAZA jednaki 0;\n"
+" inaÄe zavrÅ¡i s kÈdom 0."
-#: builtins.c:1724
+#: builtins.c:1720
msgid ""
"Execute conditional command.\n"
" \n"
-" Returns a status of 0 or 1 depending on the evaluation of the "
-"conditional\n"
-" expression EXPRESSION. Expressions are composed of the same primaries "
-"used\n"
-" by the `test' builtin, and may be combined using the following "
-"operators:\n"
+" Returns a status of 0 or 1 depending on the evaluation of the conditional\n"
+" expression EXPRESSION. Expressions are composed of the same primaries used\n"
+" by the `test' builtin, and may be combined using the following operators:\n"
" \n"
" ( EXPRESSION )\tReturns the value of EXPRESSION\n"
" ! EXPRESSION\t\tTrue if EXPRESSION is false; else false\n"
@@ -3930,8 +4839,29 @@ msgid ""
" Exit Status:\n"
" 0 or 1 depending on value of EXPRESSION."
msgstr ""
+"Izvrši uvjetnu naredbu.\n"
+"\n"
+" Evaluira dani uvjetni IZRAZ; ovisno o rezultatu evaluacije završi sa\n"
+" statusom 0 (istina) ili 1 (neistina, laž). Izrazi koriste iste osnovne\n"
+" komponente koje koristi ugrađena naredba (builtin) „test“, i mogu se\n"
+" kombinirati sa sljedećim operatorima:\n"
+"\n"
+" ( IZRAZ ) vrati vrijednost danoga IZRAZa\n"
+" ! IZRAZ istina ako je IZRAZ istina, inaÄe laž\n"
+" IZRAZ1 && IZRAZ2 istina ako su oba izraza istinita, inaÄe laž\n"
+" IZRAZ1 || IZRAZ2 laž ako su oba izraza neistinita, inaÄe istina\n"
+"\n"
+" Ako se rabe operatori „==“ ili „!=“, onda se string desno od operatora\n"
+" smatra za uzorak i provodi se podudaranje uzoraka.\n"
+" Ako se rabi operator „=~“, onda se string na desno od operatora podudara\n"
+" kao regularni izraz.\n"
+"\n"
+" Operatori „&&“ i „|| ne evaluiraju IZRAZ2 ako je IZRAZ1 dovoljan za\n"
+" odreÄ‘ivanje konaÄnog rezurlata.\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 ili 1 ovisno o IZRAZU."
-#: builtins.c:1750
+#: builtins.c:1746
msgid ""
"Common shell variable names and usage.\n"
" \n"
@@ -3984,8 +4914,54 @@ 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:1807
+"ZnaÄenje i upotreba standardnih varijabli ljuske.\n"
+"\n"
+" U nastavku je opis brojnih varijabli od kojih neke sadrže popis\n"
+" elemenata. U svakom od tih popisa elementi su razdvojeni dvotoÄkama.\n"
+"\n"
+" BASH_VERSION inaÄica ovog „bash“ programa\n"
+" CDPATH popis direktorija u kojima se traži direktorij\n"
+" kÈd argument od „cd“ (direktorij) nije u\n"
+" trenutaÄnom radnom direktoriju\n"
+" GLOBIGNORE popis uzoraka koji opisuju imena datoteka koje\n"
+" se ignoriraju prilikom ekspanzije imena staza\n"
+" HISTFILE ime datoteke koja sadrži povijest vaših naredbi\n"
+" HISTFILESIZE maksimalni broj redaka datoteke s povijesti naredba\n"
+" HISTIGNORE popis uzoraka koji opisuju naredbe koje ne treba zapisati\n"
+" u datoteku koja sadrži povijest vaših naredbi\n"
+" HISTSIZE maksimalni broj redaka koje aktualna ljuska može dosegnuti\n"
+" HOME puni naziv staze do vašega osobnoga direktorija\n"
+" HOSTNAME ime raÄunala na kojem se izvrÅ¡ava „bash“\n"
+" HOSTTYPE tip CPU-a na kojem se izvršava „bash“\n"
+" IGNOREEOF broj ignoriranih Ctrl-D (EOF) prije zatvaranja ljuske\n"
+" MACHTYPE tip raÄunala na kojem se izvrÅ¡ava „bash“\n"
+" MAILCHECK kako Äesto (u sekundama) „bash“ gleda ima li nove poÅ¡te\n"
+" MAILPATH popis datoteka koje „bash“ provjeri za novu poštu\n"
+" OSTYPE distribucija Unix-a no kojem se izvršava ovaj „bash“\n"
+" PATH popis direktorija u kojima se traže naredbe\n"
+" PROMPT_COMMAND naredba koja se izvrši prije ispisa primarnoga prompta\n"
+" PS1 string koji opisuje primarni prompt\n"
+" PS2 string koji opisuje sekundarni prompt (zadano, „>“)\n"
+" PWD puni naziv staze trenutaÄnoga radnoga direktorija\n"
+" SHELLOPTS popis svih omogućenih opcija ljuske\n"
+" TERM naziv vrste trenutaÄnoga terminala\n"
+" TIMEFORMAT pravilo za format ispisa „time“ statistika\n"
+" auto_resume ako nije prazan, uÄini da se naredbena rijeÄ na naredbenom\n"
+" retku prvo potraži na popisu obustavljenih poslova,\n"
+" i ako se tamo pronađe, taj se posao premjesti u\n"
+" interaktivni mÈd; vrijednost „exact“ znaÄi da naredbena\n"
+" rijeÄ mora strikno podudariti naredbu iz popisa;\n"
+" vrijednost „substring“ znaÄi da naredbena rijeÄ mora\n"
+" podudariti podstring naredbe iz popisa; bilo koja druga\n"
+" vrijednost znaÄi da naredbena rijeÄ mora biti prefiks\n"
+" obustavljene naredbe\n"
+" histchars znakovi koje upravljaju s proširenjem i brzom supstitucijom\n"
+" povijesti; prvi znak je znak za „supstituciju\n"
+" povijesti“, obiÄno „!“; drugi znak je „znak brze\n"
+" supstitucije“, obiÄno „^“; treći znak je „komentar\n"
+" povijesti“, obiÄno „#“.\n"
+
+#: builtins.c:1803
msgid ""
"Add directories to stack.\n"
" \n"
@@ -4015,8 +4991,30 @@ msgid ""
" Returns success unless an invalid argument is supplied or the directory\n"
" change fails."
msgstr ""
+"Doda direktorije na snop.\n"
+"\n"
+" Doda direktorij na vrh snopa direktorija ili zarotira snop tako da\n"
+" uÄini novi vrh snopa trenutaÄnim radnim direktorijem. Bez argumenata\n"
+" razmijeni pozicije dva direktorija na vrhu snopa.\n"
+"\n"
+" Opcije:\n"
+" -n izostavi uobiÄajenu promjenu direktorija kÈd dodaje\n"
+" direktorije u snop, odnosno samo manipulira sa snopom\n"
+"\n"
+" Argumenti:\n"
+" DIREKTORIJ Doda DIREKTORIJ na vrh snopa direktorija i\n"
+" uÄini ga novim aktualnim radnim direktorijem.\n"
+" +N Zarotira snop tako, da N-ti direktorij u snopu (brojeći od nule s\n"
+" lijeve strane popisa prikazanoga s „dirs“) postane novi vrh snopa.\n"
+" -N Zarotira snop tako, da N-ti direktorij u snopu (brojeći od nule s\n"
+" desne strane popisa prikazanoga s „dirs“) postane novi vrh snopa.\n"
+"\n"
+" Naredba „dirs“ prikaže trenutaÄni sadržaj snopa direktorija.\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 osim ako je dȃna nevaljana opcija\n"
+" ili nije uspjela promjena direktorija."
-#: builtins.c:1841
+#: builtins.c:1837
msgid ""
"Remove directories from stack.\n"
" \n"
@@ -4042,9 +5040,29 @@ msgid ""
" Returns success unless an invalid argument is supplied or the directory\n"
" change fails."
msgstr ""
+"Ukloni direktorije iz snopa.\n"
+"\n"
+" Ukloni direktorije iz snopa direktorija. Bez argumenata, ukloni\n"
+" direktorij na vrhu snopa i premjesti se u novi najviši direktorij.\n"
+"\n"
+" Opcije:\n"
+" -n izostavi uobiÄajenu promjenu direktorija kÈd uklanja\n"
+" direktorije iz snopa, odnosno samo manipulira sa snopom\n"
+"\n"
+" Argumenti:\n"
+" +N Ukloni da N-ti direktorij iz snopa brojeći od nule s lijeve\n"
+" strane popisa prikazanoga s „dirs“. Na primjer: „popd +0“\n"
+" ukloni prvi, a „popd +1“ ukloni drugi direktorij.\n"
+" +N Ukloni da N-ti direktorij iz snopa brojeći od nule s desne\n"
+" strane popisa prikazanoga s „dirs“. Na primjer.: „popd -0“\n"
+" ukloni zadnji, a „popd -1“ ukloni predzadnji direktorij.\n"
+"\n"
+" Naredba „dirs“ prikaže trenutaÄni sadržaj snopa direktorija.\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 osim ako je dȃna nevaljana opcija\n"
+" ili nije uspjela promjena direktorija."
-#: builtins.c:1871
-#, fuzzy
+#: builtins.c:1867
msgid ""
"Display directory stack.\n"
" \n"
@@ -4072,34 +5090,35 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-"Prikaži popis trenutno zapamćenih direktorija. Direktoriji se dodaju\n"
-" na popis naredbom „pushdâ€, kroz popis se možete vraćati naredbom\n"
-" „popdâ€.\n"
+"Ispiše sadržaj snopa direktorija.\n"
+"\n"
+" Pokaže popis trenutaÄno zapamćenih direktorija. Direktoriji se unose\n"
+" na popis pomoću naredbe „pushd“, a s naredbom „popd“ se uklanjaju.\n"
" \n"
" Opcije:\n"
-" -c\toÄisti stog direktorija uklanjanjem svih elemenata\n"
-" -l\tne ispisuj tildom prefiksirane inaÄice direktorija\n"
-" \trelativno u odnosu na poÄetni direktorij\n"
-" -p\tispiši stog direktorija jednu stavku po retku\n"
-" -v\tispiši stog direktorija jednu stavku po retku\n"
-" \tprefiksiranu položajem u stogu\n"
-" \n"
+" -c poÄisti snop direktorija brisanjem svih elemenata\n"
+" -l ispiše apsolutne staze direktorija u odnosu na osobni\n"
+" direktorij (ne skraćuje staze upotrebom tilde)\n"
+" -p ispiše sadržaj snopa po jedan direktorij po retku\n"
+" -v kao „-p“, ali s prefiksom koji pokazuje\n"
+" poziciju direktorija snopu\n"
+"\n"
" Argumenti:\n"
-" +N\tPrikazuje N-tu stavku s lijeve strane popisa koju prikazuje "
-"naredba\n"
-" \t„dirs†pozvana bez opcija, poÄevÅ¡i od nule.\n"
-" \n"
-" -N\tPrikazuje N-tu stavku s desne strane popisa koju prikazuje "
-"naredba\n"
-"\t„dirs†pozvana bez opcija, poÄevÅ¡i od nule."
+" +N Pokaže N-ti direktorij iz snopa, brojeći od od nule s\n"
+" lijeve strane popisa kÈd se „dirs“ pokrene bez opcija.\n"
+" -N Pokaže N-ti direktorij iz snopa, brojeći od nule s\n"
+" desne strane popisa kÈd se „dirs“ pokrene bez opcija.\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 osim ako je dȃna nevaljana opcija\n"
+" ili se dogodila greška."
-#: builtins.c:1902
+#: builtins.c:1898
msgid ""
"Set and unset shell options.\n"
" \n"
" Change the setting of each shell option OPTNAME. Without any option\n"
-" arguments, list each supplied OPTNAME, or all shell options if no\n"
-" OPTNAMEs are given, with an indication of whether or not each is set.\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"
@@ -4112,8 +5131,25 @@ msgid ""
" Returns success if OPTNAME is enabled; fails if an invalid option is\n"
" given or OPTNAME is disabled."
msgstr ""
+"UkljuÄi ili iskljuÄi opcije ljuske.\n"
+"\n"
+" Promjeni postavku svakoj opciji ljuske IME_OPCIJE. Bez ikakvih opcija i\n"
+" argumenta, „shopt“ izlista sve opcije ljuske pokazujući je li, ili nije\n"
+" ukljuÄena.\n"
+"\n"
+" Opcije:\n"
+" -o ograniÄi IME_OPCIJE na ona koja su definirana\n"
+" za upotrebu sa „set -o“\n"
+" -p generira izlaz koji se može koristi za ulaz\n"
+" -q izostavi izlaz (ništa ne ispisuje)\n"
+" -s omogući (ukljuÄi) sve dȃne IME_OPCIJE\n"
+" -u onemogući (iskljuÄi) sve dȃne IME_OPCIJE\n"
+"\n"
+" Bez opcija (ili samo s „-q“ opcijom) ZavrÅ¡i s kÈdom 0 ako je IME_OPCIJE\n"
+" ukljuÄeno, a s 1 ako je iskljuÄeno. ZavrÅ¡i takoÄ‘er s 1 ako je dȃno\n"
+" nevaljano ime opcije, a završi s 2 ako je dȃna nevaljana opcija."
-#: builtins.c:1923
+#: builtins.c:1919
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
" \n"
@@ -4121,45 +5157,64 @@ msgid ""
" -v var\tassign the output to shell variable VAR rather than\n"
" \t\tdisplay it on the standard output\n"
" \n"
-" FORMAT is a character string which contains three types of objects: "
-"plain\n"
-" characters, which are simply copied to standard output; character "
-"escape\n"
+" FORMAT is a character string which contains three types of objects: plain\n"
+" characters, which are simply copied to standard output; character escape\n"
" sequences, which are converted and copied to the standard output; and\n"
-" format specifications, each of which causes printing of the next "
-"successive\n"
+" format specifications, each of which causes printing of the next successive\n"
" argument.\n"
" \n"
-" In addition to the standard format specifications described in printf"
-"(1),\n"
+" In addition to the standard format specifications described in printf(1),\n"
" 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\toutput the date-time string resulting from using FMT as a "
-"format\n"
+" %(fmt)T\toutput the date-time string resulting from using FMT as a format\n"
" \t string for strftime(3)\n"
" \n"
" The format is re-used as necessary to consume all of the arguments. If\n"
" there are fewer arguments than the format requires, extra format\n"
-" specifications behave as if a zero value or null string, as "
-"appropriate,\n"
+" specifications behave as if a zero value or null string, as appropriate,\n"
" had been supplied.\n"
" \n"
" Exit Status:\n"
-" Returns success unless an invalid option is given or a write or "
-"assignment\n"
+" Returns success unless an invalid option is given or a write or assignment\n"
" error occurs."
msgstr ""
+"Oblikuje ispis ARGUMENATA prema pravilima FORMATA.\n"
+"\n"
+" Ispiše dane ARGUMENTE u danom FORMATU.\n"
+"\n"
+" Opcije:\n"
+" -v VARIJABLA preusmjeri (dodijeli) izlaz (ispis) u VARIJABLU\n"
+" umjesto na standardni izlaz\n"
+"\n"
+" FORMAT je znakovni string koji sadrži tri vrste objekta:\n"
+" obiÄne znakove koji se jednostavno kopiraju na izlaz; kontrolne znakove\n"
+" (maskirane sekvencije) koji se pretvore i kopiraju na izlaz; i\n"
+" specifikacije formata od kojih svaka uzrokuje ispisivanje sljedećeg\n"
+" sukcesivnoga argumenta.\n"
+"\n"
+" Pored standardnih simbola za format opisanih u printf(1),\n"
+" printf dodatno interpretira:\n"
+" %b proširi maskirane sekvencije s obratnom kosom crtom\n"
+" (backslash escape sequences) u relevantim argumentima\n"
+" %q citira argument tako, da se može iskoristiti kao ulaz\n"
+" %(fmt)T ispis vremena rezultira upotrebom FMT kao\n"
+" format stringa za strftime(3)\n"
+"\n"
+" Dani format se koristi sve dok se ne potroše svi argumenti. Ako ima\n"
+" manje od oÄekivanoga broja argumenata, suviÅ¡ne format specifikacije\n"
+" se ponašaju kao da im je vrijednost nula, ili prazni string.\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 osim ako je dana nevaljana opcija\n"
+" ili se dogodila greška pisanja ili greška pri dodijeli."
-#: builtins.c:1957
+#: builtins.c:1953
msgid ""
"Specify how arguments are to be completed by Readline.\n"
" \n"
-" For each NAME, specify how arguments are to be completed. If no "
-"options\n"
-" are supplied, existing completion specifications are printed in a way "
-"that\n"
+" For each NAME, specify how arguments are to be completed. If no options\n"
+" are supplied, existing completion specifications are printed in a way that\n"
" allows them to be reused as input.\n"
" \n"
" Options:\n"
@@ -4178,30 +5233,55 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
+"Specificira kako „readline“ treba kompletirati argumente.\n"
+"\n"
+" Za svako dȃno IME specificira kako se kompletiraju argumenti. Bez\n"
+" dȃnih opcija ispiše postojeće specifikacije koje se mogu ponovno\n"
+" iskoristiti kao ulaz.\n"
+"\n"
+" Opcije:\n"
+" -p ispiše postojeće specifikacije kompletiranja u formatu\n"
+" upotrebljivom za ulaz\n"
+" -r ukloni specifikaciju kompletiranja za svako dȃno IME\n"
+" ili ukloni sve specifikacije ako nisu dȃna IMEna\n"
+" -D na naredbe koje nemaju vlastitu specifikaciju za kompletiranje\n"
+" primjeni „zadano“ ponašanje specifikacija i akcija\n"
+" -E primjeni zadano ponašanje specifikacija i akcija i na „prazne“\n"
+" naredbe, to jest pokuša kompletirati prazni redak\n"
+"\n"
+" Redoslijed akcija pri pokušaju kompletiranja slijedi gore dȃni poredak\n"
+" opcija u verzalu. Opcija „-D“ ima veći prioritet od opcije „'E“.\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 osim ako je dȃna nevaljana opcija\n"
+" ili se dogodila greška."
-#: builtins.c:1985
+#: builtins.c:1981
msgid ""
"Display possible completions depending on the options.\n"
" \n"
" Intended to be used from within a shell function generating possible\n"
-" completions. If the optional WORD argument is supplied, matches "
-"against\n"
+" completions. If the optional WORD argument is supplied, matches against\n"
" WORD are generated.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
+"Prikaže moguća kompletiranja ovisno o opcijama.\n"
+"\n"
+" „compgen“ je namijenjen za upotrebu unutar funkcije koja generira\n"
+" moguća kompletiranja. Ako je dȃna neobvezna opcija RIJEČ, generira\n"
+" samo moguća kompletiranja podudarna s opcijom RIJEČ.\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 osim ako je dȃna nevaljana opcija\n"
+" ili se dogodila greška."
-#: builtins.c:2000
+#: builtins.c:1996
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"
+" 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"
@@ -4222,27 +5302,44 @@ msgid ""
" Returns success unless an invalid option is supplied or NAME does not\n"
" have a completion specification defined."
msgstr ""
+"Izmjena ili prikaz opcija za kompletiranje.\n"
+"\n"
+" Izmijenite opcije kompletiranja za svako IME u skladu s opcijama,\n"
+" ili za kompletiranje koje se trenutaÄno vrÅ¡i ako nisu dȃna IMEna.\n"
+" Ako nema opcija, ispišu se opcije kompletiranja za svako IME ili\n"
+" za trenutaÄno kompletiranje.\n"
+"\n"
+" Opcije:\n"
+" -o OPCIJA ovu OPCIJU kompletiranja postavi za svako IME\n"
+" -D promijeni opcije za kompletiranje „zadanih“ naredba\n"
+" -E promijeni opcije za kompletiranje „praznih“ naredba\n"
+"\n"
+" „+“ umjesto „-“ iskljuÄi odgovarajuću opciju.\n"
+"\n"
+" Svako IME ukazuje na naredbu za koju specifikacija kompletiranja mora\n"
+" već prije biti definirana pomoću ugrađene naredbe „complete“. Ako nije\n"
+" dȃno nijedno IME, funkcija koja trenutaÄno generira kompletiranja mora\n"
+" pozvati „compopt“; time se onda promjene opcije za taj generator koji\n"
+" trenutaÄno izvrÅ¡ava kompletiranja.\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 osim ako nije dȃna nevaljana opcija\n"
+" ili nije definirana specifikacija za kompletiranje IMEna."
-#: builtins.c:2030
+#: builtins.c:2026
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"
+" 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"
" -d delim\tUse DELIM to terminate lines, instead of newline\n"
-" -n count\tCopy at most COUNT lines. If COUNT is 0, all lines are "
-"copied\n"
-" -O origin\tBegin assigning to ARRAY at index ORIGIN. The default "
-"index is 0\n"
+" -n count\tCopy at most COUNT lines. If COUNT is 0, all lines are copied\n"
+" -O origin\tBegin assigning to ARRAY at index ORIGIN. The default index is 0\n"
" -s count\tDiscard the first COUNT lines read\n"
" -t\tRemove a trailing DELIM from each line read (default newline)\n"
-" -u fd\tRead lines from file descriptor FD instead of the standard "
-"input\n"
+" -u fd\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\n"
" \t\t\tCALLBACK\n"
@@ -4255,35 +5352,56 @@ msgid ""
" 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"
+" 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"
+" Returns success unless an invalid option is given or ARRAY is readonly or\n"
" not an indexed array."
msgstr ""
+"Mapira proÄitane retke iz standardnoga ulaza u varijablu tipa polje.\n"
+"\n"
+" UÄitane retke iz standardnoga ulaza mapira u indeksiranu varijablu POLJE.\n"
+" Ako nema argumenta POLJE, koristi se (zadano) varijabla MAPFILE.\n"
+"\n"
+" Opcije:\n"
+" -d MEÄA prvi znak u MEÄI (umjesto LF) je znak za kraj retka\n"
+" -n BROJ kopira ne viÅ¡e od BROJ redaka (0 znaÄi sve retke)\n"
+" -O POÄŒETAK mapiranje zapoÄinje s indeksom POÄŒETAK (zadano 0)\n"
+" -s BROJ preskoÄi (izostavi) prvih BROJ redaka\n"
+" -t ukloni zaostalu MEÄU (zadano LF) iz svakog uÄitanoga retka\n"
+" -u FD Äita retke iz FD (deskriptora datoteke) umjesto iz stdin\n"
+" -C FUNKCIJA evaluira FUNKCIJU nakon svako TOLIKO proÄitanih redaka\n"
+" -c TOLIKO nakon svako TOLIKO proÄitanih redaka pozove FUNKCIJU\n"
+"\n"
+" Argument:\n"
+" POLJE ime varijable polja u koju se mapiraju proÄitani redci\n"
+"\n"
+" Ako je opcija „-C“ dȃna bez opcije „-c“, TOLIKO je 5000 (zadano).\n"
+" KÈd FUNKCIJA evaluira — dobiva indeks sljedećeg elementa polja koji se\n"
+" mapira i redak koji će biti dodijeljen tom elementu — kao dodatne argumente.\n"
+"\n"
+" Ako nije dȃni eksplicitni POÄŒETAK, „mapfile“ poÄisti polje\n"
+" prije poÄetka mapiranja.\n"
+"\n"
+" ZavrÅ¡i s kÈdom 0 osim ako je POLJE readonly (samo-za-Äitanje)\n"
+" ili nije polje; ili je dȃna nevaljana opcija."
-#: builtins.c:2066
+#: builtins.c:2062
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
" A synonym for `mapfile'."
msgstr ""
-"UÄitaj retke iz datoteke u varijablu polja.\n"
-" \n"
-" Sinonim za „mapfileâ€."
+"UÄita retke iz datoteke u varijablu tipa indeksirano polje.\n"
+"\n"
+" Sinonim za „mapfile“."
#~ msgid "Copyright (C) 2009 Free Software Foundation, Inc.\n"
#~ msgstr "Copyright © 2009 Free Software Foundation, Inc.\n"
-#~ msgid ""
-#~ "License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl."
-#~ "html>\n"
-#~ msgstr ""
-#~ "Licenca GPLv2+: GNU GPL inaÄica 2 ili novija <http://gnu.org/licenses/gpl."
-#~ "html>\n"
+#~ msgid "License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>\n"
+#~ msgstr "Licenca GPLv2+: GNU GPL inaÄica 2 ili novija <http://gnu.org/licenses/gpl.html>\n"
#~ msgid ":"
#~ msgstr ":"
diff --git a/po/pt.po b/po/pt.po
index 2f99d148..2678c9b7 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -7,133 +7,131 @@ msgid ""
msgstr ""
"Project-Id-Version: bash-4.4\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-04-27 14:15-0400\n"
+"POT-Creation-Date: 2016-09-10 12:42-0400\n"
"PO-Revision-Date: 2018-01-30 06:34+0000\n"
"Last-Translator: Pedro Albuquerque <palbuquerque73@gmail.com>\n"
"Language-Team: Portuguese <translation-team-pt@lists.sourceforge.net>\n"
+"Language: pt\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: pt\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
"Plural-Forms: nplurals=2; plural=n !=1;\n"
"X-Generator: Gtranslator 2.91.6\n"
-#: arrayfunc.c:58
+#: arrayfunc.c:54
msgid "bad array subscript"
msgstr "subscrito de matriz inválido"
-#: arrayfunc.c:373 builtins/declare.def:618 variables.c:2188 variables.c:2214
-#: variables.c:2922
+#: arrayfunc.c:368 builtins/declare.def:574 variables.c:2092 variables.c:2118
+#: variables.c:2730
#, c-format
msgid "%s: removing nameref attribute"
msgstr "%s: a remover atributo nameref"
-#: arrayfunc.c:398 builtins/declare.def:831
+#: arrayfunc.c:393 builtins/declare.def:780
#, c-format
msgid "%s: cannot convert indexed to associative array"
msgstr "%s: impossível converter matriz indexada para associativa"
-#: arrayfunc.c:582
+#: arrayfunc.c:578
#, c-format
msgid "%s: invalid associative array key"
msgstr "%s: chave de matriz associativa inválida"
-#: arrayfunc.c:584
+#: arrayfunc.c:580
#, c-format
msgid "%s: cannot assign to non-numeric index"
msgstr "%s: impossível atribuir a índice não numérico"
-#: arrayfunc.c:629
+#: arrayfunc.c:625
#, c-format
msgid "%s: %s: must use subscript when assigning associative array"
msgstr "%s: %s: tem de usar subscrito ao atribuir a matriz associativa"
-#: bashhist.c:436
+#: bashhist.c:421
#, c-format
msgid "%s: cannot create: %s"
msgstr "%s: impossível criar: %s"
-#: bashline.c:4111
+#: bashline.c:4091
msgid "bash_execute_unix_command: cannot find keymap for command"
-msgstr ""
-"bash_execute_unix_command: impossível encontrar mapa de teclado para o "
-"comando"
+msgstr "bash_execute_unix_command: impossível encontrar mapa de teclado para o comando"
-#: bashline.c:4221
+#: bashline.c:4189
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
msgstr "%s: o 1º carácter não-espaço não é \"\"\""
-#: bashline.c:4250
+#: bashline.c:4218
#, c-format
msgid "no closing `%c' in %s"
msgstr "sem \"%c\" de fecho em %s"
-#: bashline.c:4284
+#: bashline.c:4252
#, c-format
msgid "%s: missing colon separator"
msgstr "%s: separador dois pontos em falta"
-#: braces.c:331
+#: braces.c:329
#, c-format
msgid "brace expansion: cannot allocate memory for %s"
msgstr "expansão: impossível alocar memória para %s"
-#: braces.c:429
-#, fuzzy, c-format
-msgid "brace expansion: failed to allocate memory for %u elements"
+#: braces.c:427
+#, c-format
+msgid "brace expansion: failed to allocate memory for %d elements"
msgstr "expansão: falha ao alocar memória para %d elementos"
-#: braces.c:473
+#: braces.c:471
#, c-format
msgid "brace expansion: failed to allocate memory for `%s'"
msgstr "expansão: falha ao alocar memória para \"%s\""
-#: builtins/alias.def:131
+#: builtins/alias.def:133
#, c-format
msgid "`%s': invalid alias name"
msgstr "\"%s\": aliás inválido"
-#: builtins/bind.def:122 builtins/bind.def:125
+#: builtins/bind.def:123 builtins/bind.def:126
msgid "line editing not enabled"
msgstr "Edição de linha não activada"
-#: builtins/bind.def:212
+#: builtins/bind.def:213
#, c-format
msgid "`%s': invalid keymap name"
msgstr "\"%s\": mapa de teclado inválido"
-#: builtins/bind.def:252
+#: builtins/bind.def:253
#, c-format
msgid "%s: cannot read: %s"
msgstr "%s: impossível ler: %s"
-#: builtins/bind.def:304 builtins/bind.def:334
+#: builtins/bind.def:270
+#, c-format
+msgid "`%s': cannot unbind"
+msgstr "\"%s\": impossível desassociar"
+
+#: builtins/bind.def:308 builtins/bind.def:338
#, c-format
msgid "`%s': unknown function name"
msgstr "\"%s\": nome de função desconhecido"
-#: builtins/bind.def:312
+#: builtins/bind.def:316
#, c-format
msgid "%s is not bound to any keys.\n"
msgstr "%s: não tem associação a qualquer tecla.\n"
-#: builtins/bind.def:316
+#: builtins/bind.def:320
#, c-format
msgid "%s can be invoked via "
msgstr "%s pode ser chamado via "
-#: builtins/bind.def:353 builtins/bind.def:368
-#, c-format
-msgid "`%s': cannot unbind"
-msgstr "\"%s\": impossível desassociar"
-
-#: builtins/break.def:77 builtins/break.def:119
+#: builtins/break.def:79 builtins/break.def:121
msgid "loop count"
msgstr "total de ciclos"
-#: builtins/break.def:139
+#: builtins/break.def:141
msgid "only meaningful in a `for', `while', or `until' loop"
msgstr "só tem significado num ciclo \"for\", \"while\" ou \"until\""
@@ -147,162 +145,162 @@ msgstr ""
" \n"
" Sem EXPR, devolve "
-#: builtins/cd.def:319
+#: builtins/cd.def:321
msgid "HOME not set"
msgstr "HOME não definida"
-#: builtins/cd.def:327 builtins/common.c:161 test.c:889
+#: builtins/cd.def:329 builtins/common.c:167 test.c:885
msgid "too many arguments"
msgstr "demasiados argumentos"
-#: builtins/cd.def:334
+#: builtins/cd.def:336
msgid "null directory"
msgstr "pasta nula"
-#: builtins/cd.def:345
+#: builtins/cd.def:347
msgid "OLDPWD not set"
msgstr "OLDPWD não definida"
-#: builtins/common.c:96
+#: builtins/common.c:102
#, c-format
msgid "line %d: "
msgstr "linha %d: "
-#: builtins/common.c:134 error.c:264
+#: builtins/common.c:140 error.c:265
#, c-format
msgid "warning: "
msgstr "aviso: "
-#: builtins/common.c:148
+#: builtins/common.c:154
#, c-format
msgid "%s: usage: "
msgstr "%s: uso: "
-#: builtins/common.c:193 shell.c:510 shell.c:838
+#: builtins/common.c:199 shell.c:514 shell.c:825
#, c-format
msgid "%s: option requires an argument"
msgstr "%s: a opção requer um argumento"
-#: builtins/common.c:200
+#: builtins/common.c:206
#, c-format
msgid "%s: numeric argument required"
msgstr "%s: requer um argumento numérico"
-#: builtins/common.c:207
+#: builtins/common.c:213
#, c-format
msgid "%s: not found"
msgstr "%s: não encontrado"
-#: builtins/common.c:216 shell.c:851
+#: builtins/common.c:222 shell.c:838
#, c-format
msgid "%s: invalid option"
msgstr "%s: opção inválida"
-#: builtins/common.c:223
+#: builtins/common.c:229
#, c-format
msgid "%s: invalid option name"
msgstr "%s: nome de opção inválido"
-#: builtins/common.c:230 execute_cmd.c:2342 general.c:294 general.c:299
+#: builtins/common.c:236 general.c:293 general.c:298
#, c-format
msgid "`%s': not a valid identifier"
msgstr "\"%s\": identificador inválido"
-#: builtins/common.c:240
+#: builtins/common.c:246
msgid "invalid octal number"
msgstr "número octal inválido"
-#: builtins/common.c:242
+#: builtins/common.c:248
msgid "invalid hex number"
msgstr "número hexadecimal inválido"
-#: builtins/common.c:244 expr.c:1538
+#: builtins/common.c:250 expr.c:1473
msgid "invalid number"
msgstr "número inválido"
-#: builtins/common.c:252
+#: builtins/common.c:258
#, c-format
msgid "%s: invalid signal specification"
msgstr "%s: especificação de sinal inválida"
-#: builtins/common.c:259
+#: builtins/common.c:265
#, c-format
msgid "`%s': not a pid or valid job spec"
msgstr "\"%s\": especificação de pid ou tarefa inválida"
-#: builtins/common.c:266 error.c:510
+#: builtins/common.c:272 error.c:511
#, c-format
msgid "%s: readonly variable"
msgstr "%s: variável só de leitura"
-#: builtins/common.c:274
+#: builtins/common.c:280
#, c-format
msgid "%s: %s out of range"
msgstr "%s: %s fora do intervalo"
-#: builtins/common.c:274 builtins/common.c:276
+#: builtins/common.c:280 builtins/common.c:282
msgid "argument"
msgstr "argumento"
-#: builtins/common.c:276
+#: builtins/common.c:282
#, c-format
msgid "%s out of range"
msgstr "%s fora do intervalo"
-#: builtins/common.c:284
+#: builtins/common.c:290
#, c-format
msgid "%s: no such job"
msgstr "%s: tarefa inexistente"
-#: builtins/common.c:292
+#: builtins/common.c:298
#, c-format
msgid "%s: no job control"
msgstr "%s: sem controlo da tarefa"
-#: builtins/common.c:294
+#: builtins/common.c:300
msgid "no job control"
msgstr "sem controlo da tarefa"
-#: builtins/common.c:304
+#: builtins/common.c:310
#, c-format
msgid "%s: restricted"
msgstr "%s: restrita"
-#: builtins/common.c:306
+#: builtins/common.c:312
msgid "restricted"
msgstr "restrita"
-#: builtins/common.c:314
+#: builtins/common.c:320
#, c-format
msgid "%s: not a shell builtin"
msgstr "%s: não é interno da consola"
-#: builtins/common.c:323
+#: builtins/common.c:329
#, c-format
msgid "write error: %s"
msgstr "erro de escrita: %s"
-#: builtins/common.c:331
+#: builtins/common.c:337
#, c-format
msgid "error setting terminal attributes: %s"
msgstr "erro ao definir atributos do terminal: %s"
-#: builtins/common.c:333
+#: builtins/common.c:339
#, c-format
msgid "error getting terminal attributes: %s"
msgstr "erro ao obter atributos do terminal: %s"
-#: builtins/common.c:579
+#: builtins/common.c:585
#, c-format
msgid "%s: error retrieving current directory: %s: %s\n"
msgstr "%s: erro ao obter a pasta actual: %s: %s\n"
-#: builtins/common.c:645 builtins/common.c:647
+#: builtins/common.c:651 builtins/common.c:653
#, c-format
msgid "%s: ambiguous job spec"
msgstr "%s: especificação de tarefa ambígua"
-#: builtins/common.c:908
+#: builtins/common.c:918
msgid "help not available in this version"
msgstr "ajuda indisponível nesta versão"
@@ -311,69 +309,69 @@ msgstr "ajuda indisponível nesta versão"
msgid "%s: invalid action name"
msgstr "%s: nome de acção inválido"
-#: builtins/complete.def:452 builtins/complete.def:653
-#: builtins/complete.def:874
+#: builtins/complete.def:452 builtins/complete.def:647
+#: builtins/complete.def:858
#, c-format
msgid "%s: no completion specification"
msgstr "%s: sem especificação de conclusão"
-#: builtins/complete.def:707
+#: builtins/complete.def:699
msgid "warning: -F option may not work as you expect"
msgstr "aviso: a opção -F pode não resultar como esperado"
-#: builtins/complete.def:709
+#: builtins/complete.def:701
msgid "warning: -C option may not work as you expect"
msgstr "aviso: a opção -C pode não resultar como esperado"
-#: builtins/complete.def:847
+#: builtins/complete.def:831
msgid "not currently executing completion function"
msgstr "a função de conclusão não está em execução"
-#: builtins/declare.def:132
+#: builtins/declare.def:127
msgid "can only be used in a function"
msgstr "só pode ser usado numa função"
-#: builtins/declare.def:369 builtins/declare.def:736
+#: builtins/declare.def:332 builtins/declare.def:685
#, c-format
msgid "%s: reference variable cannot be an array"
msgstr "%s: variável de referência não pode ser uma matriz"
-#: builtins/declare.def:380 variables.c:3161
+#: builtins/declare.def:343 variables.c:2959
#, c-format
msgid "%s: nameref variable self references not allowed"
msgstr "%s: não são permitidas auto-referências de nameref"
-#: builtins/declare.def:385 variables.c:2018 variables.c:3083 variables.c:3095
-#: variables.c:3158
+#: builtins/declare.def:348 variables.c:1928 variables.c:2877 variables.c:2889
+#: variables.c:2956
#, c-format
msgid "%s: circular name reference"
msgstr "%s: referência circular de nome"
-#: builtins/declare.def:390 builtins/declare.def:742 builtins/declare.def:753
+#: builtins/declare.def:353 builtins/declare.def:691 builtins/declare.def:702
#, c-format
msgid "`%s': invalid variable name for name reference"
msgstr "\"%s\": nome de variável inválido para referência de nome"
-#: builtins/declare.def:500
+#: builtins/declare.def:463
msgid "cannot use `-f' to make functions"
msgstr "impossível usar \"-f\" para fazer funções"
-#: builtins/declare.def:512 execute_cmd.c:5797
+#: builtins/declare.def:475 execute_cmd.c:5632
#, c-format
msgid "%s: readonly function"
msgstr "%s: função só de leitura"
-#: builtins/declare.def:804
+#: builtins/declare.def:753
#, c-format
msgid "%s: quoted compound array assignment deprecated"
msgstr "%s: atribuição de matriz composta citada obsoleta"
-#: builtins/declare.def:818
+#: builtins/declare.def:767
#, c-format
msgid "%s: cannot destroy array variables in this way"
msgstr "%s: impossível destruir variáveis de matriz assim"
-#: builtins/declare.def:825 builtins/read.def:784
+#: builtins/declare.def:774 builtins/read.def:751
#, c-format
msgid "%s: cannot convert associative to indexed array"
msgstr "%s: impossível converter matriz associativa em indexada"
@@ -407,68 +405,68 @@ msgstr "%s: não carregada dinamicamente"
msgid "%s: cannot delete: %s"
msgstr "%s: impossível eliminar: %s"
-#: builtins/evalfile.c:138 builtins/hash.def:184 execute_cmd.c:5629
+#: builtins/evalfile.c:144 builtins/hash.def:172 execute_cmd.c:5472
#, c-format
msgid "%s: is a directory"
msgstr "%s: é uma pasta"
-#: builtins/evalfile.c:144
+#: builtins/evalfile.c:150
#, c-format
msgid "%s: not a regular file"
msgstr "%s: não é um ficheiro normal"
-#: builtins/evalfile.c:153
+#: builtins/evalfile.c:159
#, c-format
msgid "%s: file is too large"
msgstr "%s: ficheiro muito grande"
-#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1623
+#: builtins/evalfile.c:194 builtins/evalfile.c:212 shell.c:1578
#, c-format
msgid "%s: cannot execute binary file"
msgstr "%s: impossível executar o binário"
-#: builtins/exec.def:155 builtins/exec.def:157 builtins/exec.def:237
+#: builtins/exec.def:156 builtins/exec.def:158 builtins/exec.def:235
#, c-format
msgid "%s: cannot execute: %s"
msgstr "%s: impossível executar: %s"
-#: builtins/exit.def:64
+#: builtins/exit.def:67
#, c-format
msgid "logout\n"
msgstr "logout\n"
-#: builtins/exit.def:89
+#: builtins/exit.def:92
msgid "not login shell: use `exit'"
msgstr "não é consola de sessão: use \"exit\""
-#: builtins/exit.def:121
+#: builtins/exit.def:124
#, c-format
msgid "There are stopped jobs.\n"
msgstr "Há tarefas interrompidas.\n"
-#: builtins/exit.def:123
+#: builtins/exit.def:126
#, c-format
msgid "There are running jobs.\n"
msgstr "Há tarefas em curso.\n"
-#: builtins/fc.def:265
+#: builtins/fc.def:269
msgid "no command found"
msgstr "sem comando encontrado"
-#: builtins/fc.def:323 builtins/fc.def:372
+#: builtins/fc.def:327 builtins/fc.def:376
msgid "history specification"
msgstr "especificação de histórico"
-#: builtins/fc.def:393
+#: builtins/fc.def:397
#, c-format
msgid "%s: cannot open temp file: %s"
msgstr "%s: impossível abrir ficheiro temporário: %s"
-#: builtins/fg_bg.def:152 builtins/jobs.def:284
+#: builtins/fg_bg.def:153 builtins/jobs.def:284
msgid "current"
msgstr "actual"
-#: builtins/fg_bg.def:161
+#: builtins/fg_bg.def:162
#, c-format
msgid "job %d started without job control"
msgstr "tarefa %d começou sem controlo de tarefa"
@@ -483,40 +481,38 @@ msgstr "%s: opção ilegal -- %c\n"
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: a opção requer um argumento -- %c\n"
-#: builtins/hash.def:91
+#: builtins/hash.def:92
msgid "hashing disabled"
msgstr "hashing desactivado"
-#: builtins/hash.def:138
+#: builtins/hash.def:139
#, c-format
msgid "%s: hash table empty\n"
msgstr "%s: tabela de hash vazia\n"
-#: builtins/hash.def:266
+#: builtins/hash.def:254
#, c-format
msgid "hits\tcommand\n"
msgstr "sucessos\tcomando\n"
-#: builtins/help.def:133
+#: builtins/help.def:135
+#, c-format
msgid "Shell commands matching keyword `"
msgid_plural "Shell commands matching keywords `"
msgstr[0] "Comandos de consola correspondentes à palavra-chave \""
msgstr[1] "Comandos de consola correspondentes a palavras-chave \""
-#: builtins/help.def:185
+#: builtins/help.def:187
#, c-format
-msgid ""
-"no help topics match `%s'. Try `help help' or `man -k %s' or `info %s'."
-msgstr ""
-"nenhum tópico de ajuda para \"%s\". Tente \"help help\", \"man -k %s\" ou "
-"\"info %s\"."
+msgid "no help topics match `%s'. Try `help help' or `man -k %s' or `info %s'."
+msgstr "nenhum tópico de ajuda para \"%s\". Tente \"help help\", \"man -k %s\" ou \"info %s\"."
-#: builtins/help.def:224
+#: builtins/help.def:226
#, c-format
msgid "%s: cannot open: %s"
msgstr "%s: impossível abrir: %s"
-#: builtins/help.def:524
+#: builtins/help.def:526
#, c-format
msgid ""
"These shell commands are defined internally. Type `help' to see this list.\n"
@@ -527,8 +523,7 @@ msgid ""
"A star (*) next to a name means that the command is disabled.\n"
"\n"
msgstr ""
-"Estes comandos de consola são definidos internamente. Insira \"help\" para "
-"ver a lista.\n"
+"Estes comandos de consola são definidos internamente. Insira \"help\" para ver a lista.\n"
"Insira \"help nome\" para saber mais sobre a função \"nome\".\n"
"Use \"info bash\" para saber mais sobre a consola em geral.\n"
"Use \"man -k ou \"info\" para saber mais sobre comandos não listados.\n"
@@ -536,21 +531,20 @@ msgstr ""
"Um asterisco (*) junto a um nome significa que o comando está inactivo.\n"
"\n"
-#: builtins/history.def:154
+#: builtins/history.def:155
msgid "cannot use more than one of -anrw"
msgstr "impossível usar mais de um -anrw"
-#: builtins/history.def:187 builtins/history.def:197 builtins/history.def:212
-#: builtins/history.def:229 builtins/history.def:241 builtins/history.def:248
+#: builtins/history.def:187
msgid "history position"
msgstr "posição do histórico"
-#: builtins/history.def:331
+#: builtins/history.def:264
#, c-format
msgid "%s: invalid timestamp"
msgstr "%s: carimbo inválido"
-#: builtins/history.def:442
+#: builtins/history.def:375
#, c-format
msgid "%s: history expansion failed"
msgstr "%s: falha na expansão do histórico"
@@ -564,16 +558,16 @@ msgstr "%s: falha inlib"
msgid "no other options allowed with `-x'"
msgstr "não são permitidas mais opções com \"-x\""
-#: builtins/kill.def:200
+#: builtins/kill.def:202
#, c-format
msgid "%s: arguments must be process or job IDs"
msgstr "%s: os argumentos têm de ser IDs de processos ou tarefas"
-#: builtins/kill.def:263
+#: builtins/kill.def:265
msgid "Unknown error"
msgstr "Erro desconhecido"
-#: builtins/let.def:97 builtins/let.def:122 expr.c:614 expr.c:632
+#: builtins/let.def:97 builtins/let.def:122 expr.c:583 expr.c:598
msgid "expression expected"
msgstr "esperada expressão"
@@ -582,69 +576,69 @@ msgstr "esperada expressão"
msgid "%s: not an indexed array"
msgstr "%s: não é uma matriz indexada"
-#: builtins/mapfile.def:271 builtins/read.def:305
+#: builtins/mapfile.def:272 builtins/read.def:306
#, c-format
msgid "%s: invalid file descriptor specification"
msgstr "%s: especificação de descritor de ficheiro inválida"
-#: builtins/mapfile.def:279 builtins/read.def:312
+#: builtins/mapfile.def:280 builtins/read.def:313
#, c-format
msgid "%d: invalid file descriptor: %s"
msgstr "%d: descritor de ficheiro inválido: %s"
-#: builtins/mapfile.def:288 builtins/mapfile.def:326
+#: builtins/mapfile.def:289 builtins/mapfile.def:327
#, c-format
msgid "%s: invalid line count"
msgstr "%s: total de linhas inválido"
-#: builtins/mapfile.def:299
+#: builtins/mapfile.def:300
#, c-format
msgid "%s: invalid array origin"
msgstr "%s: origem de matriz inválida"
-#: builtins/mapfile.def:316
+#: builtins/mapfile.def:317
#, c-format
msgid "%s: invalid callback quantum"
msgstr "%s: callback inválida"
-#: builtins/mapfile.def:349
+#: builtins/mapfile.def:350
msgid "empty array variable name"
msgstr "nome de variável de matriz vazio"
-#: builtins/mapfile.def:370
+#: builtins/mapfile.def:371
msgid "array variable support required"
msgstr "requerido suporte a variáveis de matriz"
-#: builtins/printf.def:416
+#: builtins/printf.def:412
#, c-format
msgid "`%s': missing format character"
msgstr "%s: carácter de formato em falta"
-#: builtins/printf.def:471
+#: builtins/printf.def:467
#, c-format
msgid "`%c': invalid time format specification"
msgstr "\"%c\": especificação de formato de hora inválida"
-#: builtins/printf.def:673
+#: builtins/printf.def:669
#, c-format
msgid "`%c': invalid format character"
msgstr "\"%c\": carácter de formato inválido"
-#: builtins/printf.def:699
+#: builtins/printf.def:695
#, c-format
msgid "warning: %s: %s"
msgstr "aviso: %s: %s"
-#: builtins/printf.def:785
+#: builtins/printf.def:781
#, c-format
msgid "format parsing problem: %s"
msgstr "problema de análise de formato: %s"
-#: builtins/printf.def:882
+#: builtins/printf.def:878
msgid "missing hex digit for \\x"
msgstr "dígito hex em falta para \\x"
-#: builtins/printf.def:897
+#: builtins/printf.def:893
#, c-format
msgid "missing unicode digit for \\%c"
msgstr "dígito unicode em falta para \\%c"
@@ -658,19 +652,19 @@ msgstr "nenhuma outra pasta"
msgid "%s: invalid argument"
msgstr "%s: argumento inválido"
-#: builtins/pushd.def:480
+#: builtins/pushd.def:475
msgid "<no current directory>"
msgstr "<sem pasta actual>"
-#: builtins/pushd.def:524
+#: builtins/pushd.def:519
msgid "directory stack empty"
msgstr "pilha de pastas vazia"
-#: builtins/pushd.def:526
+#: builtins/pushd.def:521
msgid "directory stack index"
msgstr "índice da pilha de pastas"
-#: builtins/pushd.def:701
+#: builtins/pushd.def:696
msgid ""
"Display the list of currently remembered directories. Directories\n"
" find their way onto the list with the `pushd' command; you can get\n"
@@ -685,12 +679,10 @@ msgid ""
" \twith its position in the stack\n"
" \n"
" Arguments:\n"
-" +N\tDisplays the Nth entry counting from the left of the list shown "
-"by\n"
+" +N\tDisplays the Nth entry counting from the left of the list shown by\n"
" \tdirs when invoked without options, starting with zero.\n"
" \n"
-" -N\tDisplays the Nth entry counting from the right of the list shown "
-"by\n"
+" -N\tDisplays the Nth entry counting from the right of the list shown by\n"
"\tdirs when invoked without options, starting with zero."
msgstr ""
"Mostrar a lista de pastas actualmente lembradas. As pastas\n"
@@ -712,7 +704,7 @@ msgstr ""
" -N\tmostra a N entrada a contar da direita da lista mostrada por\n"
" \tpastas quando chamada sem opções, começando com zero."
-#: builtins/pushd.def:723
+#: builtins/pushd.def:718
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"
@@ -758,7 +750,7 @@ msgstr ""
" \n"
" O \"dirs\" interno mostra a pilha de pastas."
-#: builtins/pushd.def:748
+#: builtins/pushd.def:743
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"
@@ -796,45 +788,45 @@ msgstr ""
" \n"
" O \"dirs\" interno mostra a pilha de pastas."
-#: builtins/read.def:277
+#: builtins/read.def:279
#, c-format
msgid "%s: invalid timeout specification"
msgstr "%s: especificação de inacção inválida"
-#: builtins/read.def:729
+#: builtins/read.def:696
#, c-format
msgid "read error: %d: %s"
msgstr "erro de leitura: %d: %s"
-#: builtins/return.def:68
+#: builtins/return.def:71
msgid "can only `return' from a function or sourced script"
msgstr "só pode usar \"return\" a partir de uma função ou script baseado"
-#: builtins/set.def:834
+#: builtins/set.def:841
msgid "cannot simultaneously unset a function and a variable"
msgstr "impossível desactivar simultaneamente uma função e uma variável"
-#: builtins/set.def:881
+#: builtins/set.def:888
#, c-format
msgid "%s: cannot unset"
msgstr "%s: impossível desactivar"
-#: builtins/set.def:902 variables.c:3597
+#: builtins/set.def:909 variables.c:3389
#, c-format
msgid "%s: cannot unset: readonly %s"
msgstr "%s: impossível desactivar: %s só de leitura"
-#: builtins/set.def:915
+#: builtins/set.def:922
#, c-format
msgid "%s: not an array variable"
msgstr "%s: não é variável de matriz"
-#: builtins/setattr.def:189
+#: builtins/setattr.def:191
#, c-format
msgid "%s: not a function"
msgstr "%s: não é função"
-#: builtins/setattr.def:194
+#: builtins/setattr.def:196
#, c-format
msgid "%s: cannot export"
msgstr "%s: impossível exportar"
@@ -843,20 +835,20 @@ msgstr "%s: impossível exportar"
msgid "shift count"
msgstr "total de trocas"
-#: builtins/shopt.def:301
+#: builtins/shopt.def:289
msgid "cannot set and unset shell options simultaneously"
msgstr "impossível definir e desactivar opções da consola em simultâneo"
-#: builtins/shopt.def:403
+#: builtins/shopt.def:391
#, c-format
msgid "%s: invalid shell option name"
msgstr "%s: nome de opção da consola inválido"
-#: builtins/source.def:128
+#: builtins/source.def:131
msgid "filename argument required"
msgstr "requerido argumento de nome de ficheiro"
-#: builtins/source.def:154
+#: builtins/source.def:157
#, c-format
msgid "%s: file not found"
msgstr "%s: ficheiro não encontrado"
@@ -869,61 +861,61 @@ msgstr "impossível suspender"
msgid "cannot suspend a login shell"
msgstr "impossível suspender uma consola de sessão"
-#: builtins/type.def:235
+#: builtins/type.def:236
#, c-format
msgid "%s is aliased to `%s'\n"
msgstr "%s usa o aliás \"%s\"\n"
-#: builtins/type.def:256
+#: builtins/type.def:257
#, c-format
msgid "%s is a shell keyword\n"
msgstr "%s é palavra-chave da consola\n"
-#: builtins/type.def:275
+#: builtins/type.def:276
#, c-format
msgid "%s is a function\n"
msgstr "%s é uma função\n"
-#: builtins/type.def:299
+#: builtins/type.def:300
#, c-format
msgid "%s is a special shell builtin\n"
msgstr "%s é opção interna especial da consola\n"
-#: builtins/type.def:301
+#: builtins/type.def:302
#, c-format
msgid "%s is a shell builtin\n"
msgstr "%s é opção interna da consola\n"
-#: builtins/type.def:323 builtins/type.def:408
+#: builtins/type.def:324 builtins/type.def:409
#, c-format
msgid "%s is %s\n"
msgstr "%s é %s\n"
-#: builtins/type.def:343
+#: builtins/type.def:344
#, c-format
msgid "%s is hashed (%s)\n"
msgstr "%s tem hash (%s)\n"
-#: builtins/ulimit.def:396
+#: builtins/ulimit.def:398
#, c-format
msgid "%s: invalid limit argument"
msgstr "%s: argumento de limite inválido"
-#: builtins/ulimit.def:422
+#: builtins/ulimit.def:424
#, c-format
msgid "`%c': bad command"
msgstr "\"%c\": comando errado"
-#: builtins/ulimit.def:451
+#: builtins/ulimit.def:453
#, c-format
msgid "%s: cannot get limit: %s"
msgstr "%s: impossível obter limite: %s"
-#: builtins/ulimit.def:477
+#: builtins/ulimit.def:479
msgid "limit"
msgstr "limite"
-#: builtins/ulimit.def:489 builtins/ulimit.def:789
+#: builtins/ulimit.def:491 builtins/ulimit.def:791
#, c-format
msgid "%s: cannot modify limit: %s"
msgstr "%s: impossível modificar limite: %s"
@@ -942,208 +934,202 @@ msgstr "\"%c\": operador de modo simbólico inválido"
msgid "`%c': invalid symbolic mode character"
msgstr "\"%c\": carácter de modo simbólico inválido"
-#: error.c:89 error.c:347 error.c:349 error.c:351
+#: error.c:90 error.c:348 error.c:350 error.c:352
msgid " line "
msgstr " linha "
-#: error.c:164
+#: error.c:165
#, c-format
msgid "last command: %s\n"
msgstr "último comando: %s\n"
-#: error.c:172
+#: error.c:173
#, c-format
msgid "Aborting..."
msgstr "A abortar..."
#. TRANSLATORS: this is a prefix for informational messages.
-#: error.c:287
+#: error.c:288
#, c-format
msgid "INFORM: "
msgstr "INFORM.: "
-#: error.c:462
+#: error.c:463
msgid "unknown command error"
msgstr "erro de comando desconhecido"
-#: error.c:463
+#: error.c:464
msgid "bad command type"
msgstr "tipo de comando errado"
-#: error.c:464
+#: error.c:465
msgid "bad connector"
msgstr "conector errado"
-#: error.c:465
+#: error.c:466
msgid "bad jump"
msgstr "salto errado"
-#: error.c:503
+#: error.c:504
#, c-format
msgid "%s: unbound variable"
msgstr "%s: variável desassociada"
-#: eval.c:242
+#: eval.c:209
#, c-format
msgid "\atimed out waiting for input: auto-logout\n"
msgstr "\aDemasiada inacção à espera de entrada: sessão terminada\n"
-#: execute_cmd.c:536
+#: execute_cmd.c:527
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
msgstr "impossível redireccionar entrada padrão de /dev/null: %s"
-#: execute_cmd.c:1294
+#: execute_cmd.c:1275
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr "FORMATOHORA: \"%c\": carácter de formato inválido"
-#: execute_cmd.c:2330
+#: execute_cmd.c:2273
#, c-format
msgid "execute_coproc: coproc [%d:%s] still exists"
msgstr "execute_coproc: coproc [%d:%s] ainda existe"
-#: execute_cmd.c:2456
+#: execute_cmd.c:2377
msgid "pipe error"
msgstr "erro de pipe"
-#: execute_cmd.c:4624
+#: execute_cmd.c:4496
#, c-format
msgid "eval: maximum eval nesting level exceeded (%d)"
msgstr "eval: nível máximo de aninhamento de eval excedido (%d)"
-#: execute_cmd.c:4636
+#: execute_cmd.c:4508
#, c-format
msgid "%s: maximum source nesting level exceeded (%d)"
msgstr "%s: nível máximo de aninhamento de fonte excedido (%d)"
-#: execute_cmd.c:4742
+#: execute_cmd.c:4616
#, c-format
msgid "%s: maximum function nesting level exceeded (%d)"
msgstr "%s: nível máximo de aninhamento de função excedido (%d)"
-#: execute_cmd.c:5285
+#: execute_cmd.c:5144
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
msgstr "%s: restrito: impossível especificar \"/\" em nomes de comando"
-#: execute_cmd.c:5383
+#: execute_cmd.c:5232
#, c-format
msgid "%s: command not found"
msgstr "%s: comando não encontrado"
-#: execute_cmd.c:5627
+#: execute_cmd.c:5470
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: execute_cmd.c:5665
+#: execute_cmd.c:5508
#, c-format
msgid "%s: %s: bad interpreter"
msgstr "%s: %s: interpretador errado"
-#: execute_cmd.c:5702
+#: execute_cmd.c:5545
#, c-format
msgid "%s: cannot execute binary file: %s"
msgstr "%s: impossível executar binário: %s"
-#: execute_cmd.c:5788
+#: execute_cmd.c:5623
#, c-format
msgid "`%s': is a special builtin"
msgstr "%s: é uma opção interna especial"
-#: execute_cmd.c:5840
+#: execute_cmd.c:5675
#, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr "impossível duplicar fd %d para fd %d"
-#: expr.c:263
+#: expr.c:259
msgid "expression recursion level exceeded"
msgstr "nível de recursão da expressão excedido"
-#: expr.c:291
+#: expr.c:283
msgid "recursion stack underflow"
msgstr "sub-fluxo da pilha de recursividade"
-#: expr.c:453
+#: expr.c:431
msgid "syntax error in expression"
msgstr "erro de sintaxe na expressão"
-#: expr.c:497
+#: expr.c:475
msgid "attempted assignment to non-variable"
msgstr "tentativa de atribuição a não-variável"
-#: expr.c:506
-#, fuzzy
-msgid "syntax error in variable assignment"
-msgstr "erro de sintaxe na expressão"
-
-#: expr.c:520 expr.c:886
+#: expr.c:495 expr.c:858
msgid "division by 0"
msgstr "divisão por 0"
-#: expr.c:567
+#: expr.c:542
msgid "bug: bad expassign token"
msgstr "problema: símbolo expassign errado"
-#: expr.c:621
+#: expr.c:595
msgid "`:' expected for conditional expression"
msgstr "\":\" esperados para expressão condicional"
-#: expr.c:947
+#: expr.c:919
msgid "exponent less than 0"
msgstr "expoente menor que 0"
-#: expr.c:1004
+#: expr.c:976
msgid "identifier expected after pre-increment or pre-decrement"
msgstr "identificador esperado após pré-incremento ou pré-decremento"
-#: expr.c:1030
+#: expr.c:1002
msgid "missing `)'"
msgstr "\")\" em falta"
-#: expr.c:1081 expr.c:1458
+#: expr.c:1053 expr.c:1393
msgid "syntax error: operand expected"
msgstr "erro de sintaxe: operando esperado"
-#: expr.c:1460
+#: expr.c:1395
msgid "syntax error: invalid arithmetic operator"
msgstr "erro de sintaxe: operador aritmético inválido"
-#: expr.c:1484
+#: expr.c:1419
#, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
msgstr "%s%s%s: %s (símbolo de erro é \"%s\")"
-#: expr.c:1542
+#: expr.c:1477
msgid "invalid arithmetic base"
msgstr "base aritmética inválida"
-#: expr.c:1562
+#: expr.c:1497
msgid "value too great for base"
msgstr "valor muito grande para a base"
-#: expr.c:1611
+#: expr.c:1546
#, c-format
msgid "%s: expression error\n"
msgstr "%s: erro de expressão\n"
-#: general.c:69
+#: general.c:68
msgid "getcwd: cannot access parent directories"
msgstr "getcwd: impossível aceder a pastas-mãe"
-#: input.c:99 subst.c:5858
+#: input.c:102 subst.c:5858
#, c-format
msgid "cannot reset nodelay mode for fd %d"
msgstr "impossível repor modo nodelay para fd %d"
-#: input.c:266
+#: input.c:271
#, c-format
msgid "cannot allocate new file descriptor for bash input from fd %d"
-msgstr ""
-"impossível alocar novo descritor de ficheiro para entrada bash de fd %d"
+msgstr "impossível alocar novo descritor de ficheiro para entrada bash de fd %d"
-#: input.c:274
+#: input.c:279
#, c-format
msgid "save_bash_input: buffer already exists for new fd %d"
msgstr "save_bash_input: buffer já existe para o novo fd %d"
@@ -1152,158 +1138,153 @@ msgstr "save_bash_input: buffer já existe para o novo fd %d"
msgid "start_pipeline: pgrp pipe"
msgstr "start_pipeline: pipe pgrp"
-#: jobs.c:1080
+#: jobs.c:1035
#, c-format
msgid "forked pid %d appears in running job %d"
msgstr "pid %d aparece em tarefa em execução %d"
-#: jobs.c:1199
+#: jobs.c:1154
#, c-format
msgid "deleting stopped job %d with process group %ld"
msgstr "a eliminar tarefa interrompida %d com grupo de processo %ld"
-#: jobs.c:1303
+#: jobs.c:1258
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
msgstr "add_process: processo %5ld (%s) na _pipeline"
-#: jobs.c:1306
+#: jobs.c:1261
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
msgstr "add_process: pid %5ld (%s) marcado como ainda activo"
-#: jobs.c:1635
+#: jobs.c:1590
#, c-format
msgid "describe_pid: %ld: no such pid"
msgstr "describe_pid: %ld: pid não existente"
-#: jobs.c:1650
+#: jobs.c:1605
#, c-format
msgid "Signal %d"
msgstr "Sinal %d"
-#: jobs.c:1664 jobs.c:1690
+#: jobs.c:1619 jobs.c:1645
msgid "Done"
msgstr "Feito"
-#: jobs.c:1669 siglist.c:123
+#: jobs.c:1624 siglist.c:123
msgid "Stopped"
msgstr "Interrompido"
-#: jobs.c:1673
+#: jobs.c:1628
#, c-format
msgid "Stopped(%s)"
msgstr "Interrompido(%s)"
-#: jobs.c:1677
+#: jobs.c:1632
msgid "Running"
msgstr "Em execução"
-#: jobs.c:1694
+#: jobs.c:1649
#, c-format
msgid "Done(%d)"
msgstr "Feito(%d)"
-#: jobs.c:1696
+#: jobs.c:1651
#, c-format
msgid "Exit %d"
msgstr "Sair de %d"
-#: jobs.c:1699
+#: jobs.c:1654
msgid "Unknown status"
msgstr "Estado desconhecido"
-#: jobs.c:1786
+#: jobs.c:1741
#, c-format
msgid "(core dumped) "
msgstr "(núcleo despejado) "
-#: jobs.c:1805
+#: jobs.c:1760
#, c-format
msgid " (wd: %s)"
msgstr " (wd: %s)"
-#: jobs.c:2033
+#: jobs.c:1985
#, c-format
msgid "child setpgid (%ld to %ld)"
msgstr "setpgid filho (%ld para %ld)"
-#: jobs.c:2395 nojobs.c:657
+#: jobs.c:2347 nojobs.c:654
#, c-format
msgid "wait: pid %ld is not a child of this shell"
msgstr "wait: pid %ld não é um filho desta consola"
-#: jobs.c:2687
+#: jobs.c:2602
#, c-format
msgid "wait_for: No record of process %ld"
msgstr "wait_for: sem registo do processo %ld"
-#: jobs.c:3048
+#: jobs.c:2929
#, c-format
msgid "wait_for_job: job %d is stopped"
msgstr "wait_for_tarefa: tarefa %d está interrompida"
-#: jobs.c:3355
+#: jobs.c:3221
#, c-format
msgid "%s: job has terminated"
msgstr "%s: tarefa terminada"
-#: jobs.c:3364
+#: jobs.c:3230
#, c-format
msgid "%s: job %d already in background"
msgstr "%s: tarefa %d já em 2º plano"
-#: jobs.c:3590
+#: jobs.c:3455
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
msgstr "waitchld: a ligar WNOHANG para evitar bloquieo indefinido"
-#: jobs.c:4114
+#: jobs.c:3970
#, c-format
msgid "%s: line %d: "
msgstr "%s: linha %d: "
-#: jobs.c:4128 nojobs.c:900
+#: jobs.c:3984 nojobs.c:897
#, c-format
msgid " (core dumped)"
msgstr " (núcleo despejado)"
-#: jobs.c:4140 jobs.c:4153
+#: jobs.c:3996 jobs.c:4009
#, c-format
msgid "(wd now: %s)\n"
msgstr "(wd agora: %s)\n"
-#: jobs.c:4185
+#: jobs.c:4041
msgid "initialize_job_control: getpgrp failed"
msgstr "initialize_tarefa_control: getpgrp falhou"
-#: jobs.c:4241
-#, fuzzy
-msgid "initialize_job_control: no job control in background"
-msgstr "initialize_tarefa_control: disciplina de linha"
-
-#: jobs.c:4257
+#: jobs.c:4104
msgid "initialize_job_control: line discipline"
msgstr "initialize_tarefa_control: disciplina de linha"
-#: jobs.c:4267
+#: jobs.c:4114
msgid "initialize_job_control: setpgid"
msgstr "initialize_tarefa_control: setpgid"
-#: jobs.c:4288 jobs.c:4297
+#: jobs.c:4135 jobs.c:4144
#, c-format
msgid "cannot set terminal process group (%d)"
msgstr "impossível definir grupo de processo do terminal (%d)"
-#: jobs.c:4302
+#: jobs.c:4149
msgid "no job control in this shell"
msgstr "não há controlo de tarefa nesta consola"
-#: lib/malloc/malloc.c:306
+#: lib/malloc/malloc.c:296
#, c-format
msgid "malloc: failed assertion: %s\n"
msgstr "malloc: asserção falhada: %s\n"
-#: lib/malloc/malloc.c:322
+#: lib/malloc/malloc.c:312
#, c-format
msgid ""
"\r\n"
@@ -1312,39 +1293,39 @@ msgstr ""
"\r\n"
"malloc: %s:%d: asserção frustrada\r\n"
-#: lib/malloc/malloc.c:323
+#: lib/malloc/malloc.c:313
msgid "unknown"
msgstr "desconhecido"
-#: lib/malloc/malloc.c:811
+#: lib/malloc/malloc.c:801
msgid "malloc: block on free list clobbered"
msgstr "malloc: bloqueio na lista livre clobbered"
-#: lib/malloc/malloc.c:888
+#: lib/malloc/malloc.c:878
msgid "free: called with already freed block argument"
msgstr "free: chamado com argumento de bloco já liberto"
-#: lib/malloc/malloc.c:891
+#: lib/malloc/malloc.c:881
msgid "free: called with unallocated block argument"
msgstr "free: chamado com argumento de bloco não alocado"
-#: lib/malloc/malloc.c:910
+#: lib/malloc/malloc.c:900
msgid "free: underflow detected; mh_nbytes out of range"
msgstr "free: sub-fluxo detectado; mh_nbytes fora do intervalo"
-#: lib/malloc/malloc.c:916
+#: lib/malloc/malloc.c:906
msgid "free: start and end chunk sizes differ"
msgstr "free: tamanho dos pontos inicial e final difere"
-#: lib/malloc/malloc.c:1015
+#: lib/malloc/malloc.c:1005
msgid "realloc: called with unallocated block argument"
msgstr "realloc: chamado com argumento de bloco não alocado"
-#: lib/malloc/malloc.c:1030
+#: lib/malloc/malloc.c:1020
msgid "realloc: underflow detected; mh_nbytes out of range"
msgstr "realloc: sub-fluxo detectado; mh_nbytes fora do intervalo"
-#: lib/malloc/malloc.c:1036
+#: lib/malloc/malloc.c:1026
msgid "realloc: start and end chunk sizes differ"
msgstr "realloc: tamanho dos pontos inicial e final difere"
@@ -1386,22 +1367,22 @@ msgstr "%s: especificação de caminho de rede errada"
msgid "network operations not supported"
msgstr "operações de rede não suportadas"
-#: locale.c:205
+#: locale.c:200
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s)"
msgstr "setlocale: LC_ALL: não pode alterar o idioma (%s)"
-#: locale.c:207
+#: locale.c:202
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
msgstr "setlocale: LC_ALL: não pode alterar o idioma (%s): %s"
-#: locale.c:272
+#: locale.c:259
#, c-format
msgid "setlocale: %s: cannot change locale (%s)"
msgstr "setlocale: %s: não pode alterar o idioma (%s)"
-#: locale.c:274
+#: locale.c:261
#, c-format
msgid "setlocale: %s: cannot change locale (%s): %s"
msgstr "setlocale: %s: não pode alterar o idioma (%s): %s"
@@ -1419,151 +1400,145 @@ msgstr "Tem novo correio em $_"
msgid "The mail in %s has been read\n"
msgstr "O correio em %s já foi lido\n"
-#: make_cmd.c:317
+#: make_cmd.c:329
msgid "syntax error: arithmetic expression required"
msgstr "erro de sintaxe: requerida expressão aritmética"
-#: make_cmd.c:319
+#: make_cmd.c:331
msgid "syntax error: `;' unexpected"
msgstr "erro de sintaxe: \";\" inesperado"
-#: make_cmd.c:320
+#: make_cmd.c:332
#, c-format
msgid "syntax error: `((%s))'"
msgstr "erro de sintaxe: \"((%s))\""
-#: make_cmd.c:572
+#: make_cmd.c:584
#, c-format
msgid "make_here_document: bad instruction type %d"
msgstr "make_here_document: tipo de instrução %d errado"
-#: make_cmd.c:657
+#: make_cmd.c:669
#, c-format
msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
-msgstr ""
-"here-document na linha %d delimitado por fim-de-ficheiro (desejado \"%s\")"
+msgstr "here-document na linha %d delimitado por fim-de-ficheiro (desejado \"%s\")"
-#: make_cmd.c:756
+#: make_cmd.c:768
#, c-format
msgid "make_redirection: redirection instruction `%d' out of range"
-msgstr ""
-"make_redirection: instrução de redireccionamento \"%d\" fora do intervalo"
+msgstr "make_redirection: instrução de redireccionamento \"%d\" fora do intervalo"
-#: parse.y:2369
+#: parse.y:2324
#, c-format
-msgid ""
-"shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line "
-"truncated"
-msgstr ""
-"consola_getc: consola_input_line_size (%zu) excede SIZE_MAX (%lu): linha "
-"truncada"
+msgid "shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line truncated"
+msgstr "consola_getc: consola_input_line_size (%zu) excede SIZE_MAX (%lu): linha truncada"
-#: parse.y:2772
+#: parse.y:2700
msgid "maximum here-document count exceeded"
msgstr "total here-document máximo excedido"
-#: parse.y:3511 parse.y:3881
+#: parse.y:3390 parse.y:3748
#, c-format
msgid "unexpected EOF while looking for matching `%c'"
msgstr "EOF inesperado ao procurar \"%c\" correspondentes"
-#: parse.y:4581
+#: parse.y:4410
msgid "unexpected EOF while looking for `]]'"
msgstr "EOF inesperado ao procurar \"]]\""
-#: parse.y:4586
+#: parse.y:4415
#, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
msgstr "erro de sintaxe em expressão condicional: símbolo inesperado \"%s\""
-#: parse.y:4590
+#: parse.y:4419
msgid "syntax error in conditional expression"
msgstr "erro de sintaxe em expressão condicional"
-#: parse.y:4668
+#: parse.y:4497
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr "símbolo inesperado \"%s\", esperado \")\""
-#: parse.y:4672
+#: parse.y:4501
msgid "expected `)'"
msgstr "esperado \")\""
-#: parse.y:4700
+#: parse.y:4529
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr "argumento \"%s\" inesperado para operador unário condicional"
-#: parse.y:4704
+#: parse.y:4533
msgid "unexpected argument to conditional unary operator"
msgstr "argumento inesperado para operador unário condicional"
-#: parse.y:4750
+#: parse.y:4579
#, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr "símbolo \"%s\" inesperado, esperado operador binário condicional"
-#: parse.y:4754
+#: parse.y:4583
msgid "conditional binary operator expected"
msgstr "esperado operador binário condicional"
-#: parse.y:4776
+#: parse.y:4605
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr "argumento \"%s\" inesperado para operador binário condicional"
-#: parse.y:4780
+#: parse.y:4609
msgid "unexpected argument to conditional binary operator"
msgstr "argumento inesperado para operador binário condicional"
-#: parse.y:4791
+#: parse.y:4620
#, c-format
msgid "unexpected token `%c' in conditional command"
msgstr "símbolo \"%c\" inesperado em comando condicional"
-#: parse.y:4794
+#: parse.y:4623
#, c-format
msgid "unexpected token `%s' in conditional command"
msgstr "símbolo \"%s\" inesperado em comando condicional"
-#: parse.y:4798
+#: parse.y:4627
#, c-format
msgid "unexpected token %d in conditional command"
msgstr "símbolo %d inesperado em comando condicional"
-#: parse.y:6220
+#: parse.y:5996
#, c-format
msgid "syntax error near unexpected token `%s'"
msgstr "erro de sintaxe junto a símbolo \"%s\" inesperado"
-#: parse.y:6238
+#: parse.y:6014
#, c-format
msgid "syntax error near `%s'"
msgstr "erro de sintaxe junto a \"%s\""
-#: parse.y:6248
+#: parse.y:6024
msgid "syntax error: unexpected end of file"
msgstr "erro de sintaxe: fim de ficheiro inesperado"
-#: parse.y:6248
+#: parse.y:6024
msgid "syntax error"
msgstr "erro de sintaxe"
-#: parse.y:6310
+#: parse.y:6086
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr "Use \"%s\" para sair da consola.\n"
-#: parse.y:6472
+#: parse.y:6248
msgid "unexpected EOF while looking for matching `)'"
msgstr "EOF inesperado ao procurar o \")\" correspondente"
-#: pcomplete.c:1132
+#: pcomplete.c:1126
#, c-format
msgid "completion: function `%s' not found"
msgstr "completion: função \"%s\" não encontrada"
-#: pcomplete.c:1722
+#: pcomplete.c:1646
#, c-format
msgid "programmable_completion: %s: possible retry loop"
msgstr "programmable_completion: %s: possível ciclo de repetição"
@@ -1573,113 +1548,109 @@ msgstr "programmable_completion: %s: possível ciclo de repetição"
msgid "progcomp_insert: %s: NULL COMPSPEC"
msgstr "progcomp_insert: %s: NULL COMPSPEC"
-#: print_cmd.c:300
+#: print_cmd.c:302
#, c-format
msgid "print_command: bad connector `%d'"
msgstr "print_command: conector \"%d\" errado"
-#: print_cmd.c:373
+#: print_cmd.c:375
#, c-format
msgid "xtrace_set: %d: invalid file descriptor"
msgstr "xtrace_set: %d: descritor de ficheiro inválido"
-#: print_cmd.c:378
+#: print_cmd.c:380
msgid "xtrace_set: NULL file pointer"
msgstr "xtrace_set: ponteiro de ficheiro NULL"
-#: print_cmd.c:382
+#: print_cmd.c:384
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
msgstr "xtrace fd (%d) != fileno xtrace fp (%d)"
-#: print_cmd.c:1538
+#: print_cmd.c:1534
#, c-format
msgid "cprintf: `%c': invalid format character"
msgstr "cprintf: \"%c\": carácter de formato inválido"
-#: redir.c:121 redir.c:167
+#: redir.c:124 redir.c:171
msgid "file descriptor out of range"
msgstr "descritor de ficheiro fora de alcance"
-#: redir.c:174
+#: redir.c:178
#, c-format
msgid "%s: ambiguous redirect"
msgstr "%s: redireccionamento ambíguo"
-#: redir.c:178
+#: redir.c:182
#, c-format
msgid "%s: cannot overwrite existing file"
msgstr "%s: impossível sobrescrever ficheiro existente"
-#: redir.c:183
+#: redir.c:187
#, c-format
msgid "%s: restricted: cannot redirect output"
msgstr "%s: restricto: impossível redireccionar saída"
-#: redir.c:188
+#: redir.c:192
#, c-format
msgid "cannot create temp file for here-document: %s"
msgstr "impossível criar ficheiro temporário para here-document: %s"
-#: redir.c:192
+#: redir.c:196
#, c-format
msgid "%s: cannot assign fd to variable"
msgstr "%s: impossível atribuir fd a variável"
-#: redir.c:588
+#: redir.c:586
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr "/dev/(tcp|udp)/host/port não suportado em trabalho de rede"
-#: redir.c:870 redir.c:985 redir.c:1046 redir.c:1211
+#: redir.c:868 redir.c:983 redir.c:1044 redir.c:1209
msgid "redirection error: cannot duplicate fd"
msgstr "erro de redireccionamento: impossível duplicar fd"
-#: shell.c:343
+#: shell.c:347
msgid "could not find /tmp, please create!"
msgstr "impossível encontrar /tmp, por favor crie-a!"
-#: shell.c:347
+#: shell.c:351
msgid "/tmp must be a valid directory name"
msgstr "/tmp tem de ser um nome de pasta válido"
-#: shell.c:798
-msgid "pretty-printing mode ignored in interactive shells"
-msgstr ""
-
-#: shell.c:940
+#: shell.c:927
#, c-format
msgid "%c%c: invalid option"
msgstr "%c%c: opção inválida"
-#: shell.c:1299
+#: shell.c:1282
#, c-format
msgid "cannot set uid to %d: effective uid %d"
msgstr "impossível definir uid como %d: uid efectiva %d"
-#: shell.c:1306
+#: shell.c:1289
#, c-format
msgid "cannot set gid to %d: effective gid %d"
msgstr "impossível definir gid como %d: gid efectiva %d"
-#: shell.c:1494
+#: shell.c:1458
msgid "cannot start debugger; debugging mode disabled"
msgstr "impossível iniciar o depurador; modo de depuração desactivado"
-#: shell.c:1608
+#: shell.c:1566
#, c-format
msgid "%s: Is a directory"
msgstr "%s: é uma pasta"
-#: shell.c:1826
+#: shell.c:1777
msgid "I have no name!"
msgstr "Não tenho nome!"
-#: shell.c:1980
+#: shell.c:1930
#, c-format
msgid "GNU bash, version %s-(%s)\n"
msgstr "GNU bash, versão %s-(%s)\n"
-#: shell.c:1981
+#: shell.c:1931
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
@@ -1688,52 +1659,49 @@ msgstr ""
"Uso:\t%s [opção longa GNU] [opção] ...\n"
"\t%s [opção longa GNU] [opção] script-file ...\n"
-#: shell.c:1983
+#: shell.c:1933
msgid "GNU long options:\n"
msgstr "Opções longas GNU:\n"
-#: shell.c:1987
+#: shell.c:1937
msgid "Shell options:\n"
msgstr "Opções da consola:\n"
-#: shell.c:1988
+#: shell.c:1938
msgid "\t-ilrsD or -c command or -O shopt_option\t\t(invocation only)\n"
msgstr "\tcomando -ilrsD ou -c ou -O shopt_option\t\t(só chamada)\n"
-#: shell.c:2003
+#: shell.c:1953
#, c-format
msgid "\t-%s or -o option\n"
msgstr "\topção -%s ou -o\n"
-#: shell.c:2009
+#: shell.c:1959
#, c-format
msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
-msgstr ""
-"Insira \"%s -c \"help set\"\" para mais informação sobre opções da consola.\n"
+msgstr "Insira \"%s -c \"help set\"\" para mais informação sobre opções da consola.\n"
-#: shell.c:2010
+#: shell.c:1960
#, c-format
msgid "Type `%s -c help' for more information about shell builtin commands.\n"
-msgstr ""
-"Insira \"%s -c help\" para mais informação sobre comandos internos da "
-"consola.\n"
+msgstr "Insira \"%s -c help\" para mais informação sobre comandos internos da consola.\n"
-#: shell.c:2011
+#: shell.c:1961
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
msgstr "Use o comando \"bashbug\" para reportar erros.\n"
-#: shell.c:2013
+#: shell.c:1963
#, c-format
msgid "bash home page: <http://www.gnu.org/software/bash>\n"
msgstr "Página inicial do bash: <http://www.gnu.org/software/bash>\n"
-#: shell.c:2014
+#: shell.c:1964
#, c-format
msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
msgstr "Ajuda geral para usar programas GNU: <http://www.gnu.org/gethelp/>\n"
-#: sig.c:695
+#: sig.c:707
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr "sigprocmask: %d: operação inválida"
@@ -1907,21 +1875,21 @@ msgstr "Sinal desconhecido #"
msgid "Unknown Signal #%d"
msgstr "Sinal desconhecido #%d"
-#: subst.c:1450 subst.c:1641
+#: subst.c:1445 subst.c:1608
#, c-format
msgid "bad substitution: no closing `%s' in %s"
msgstr "má substituição: sem \"%s\" de fecho em %s"
-#: subst.c:3209
+#: subst.c:3154
#, c-format
msgid "%s: cannot assign list to array member"
msgstr "%s: impossível atribuir lista a membro de matriz"
-#: subst.c:5734 subst.c:5750
+#: subst.c:5740 subst.c:5756
msgid "cannot make pipe for process substitution"
msgstr "impossível fazer pipe para substituição de processo"
-#: subst.c:5796
+#: subst.c:5798
msgid "cannot make child for process substitution"
msgstr "impossível fazer filho para substituição de processo"
@@ -1940,76 +1908,67 @@ msgstr "impossível abrir pipe chamado %s para escrita"
msgid "cannot duplicate named pipe %s as fd %d"
msgstr "imossível duplicar pipe chamado %s como fd %d"
-#: subst.c:5990
+#: subst.c:5959
msgid "command substitution: ignored null byte in input"
msgstr "substituição de comando: byte nulo ignorado na entrada"
-#: subst.c:6121
+#: subst.c:6083
msgid "cannot make pipe for command substitution"
msgstr "impossível fazer pipe para substituição de comando"
-#: subst.c:6164
+#: subst.c:6127
msgid "cannot make child for command substitution"
msgstr "impossível fazer filho para substituição de comando"
-#: subst.c:6190
+#: subst.c:6153
msgid "command_substitute: cannot duplicate pipe as fd 1"
msgstr "command_substitute: impossível duplicar pipe como fd 1"
-#: subst.c:6641 subst.c:9483
+#: subst.c:6580 subst.c:8939
#, c-format
msgid "%s: invalid variable name for name reference"
msgstr "%s: nome de variável inválido para referência de nome"
-#: subst.c:6737 subst.c:6755 subst.c:6903
+#: subst.c:6666 subst.c:8351 subst.c:8371
+#, c-format
+msgid "%s: bad substitution"
+msgstr "%s: má substituição"
+
+#: subst.c:6800
#, c-format
msgid "%s: invalid indirect expansion"
msgstr "%s: expansão indirecta inválida"
-#: subst.c:6771 subst.c:6910
+#: subst.c:6807
#, c-format
msgid "%s: invalid variable name"
msgstr "%s: nome de variável inválido"
-#: subst.c:6962
-#, fuzzy, c-format
-msgid "%s: parameter not set"
-msgstr "%s: parâmetro nulo ou não definido"
-
-#: subst.c:6964
+#: subst.c:6854
#, c-format
msgid "%s: parameter null or not set"
msgstr "%s: parâmetro nulo ou não definido"
-#: subst.c:7201 subst.c:7216
+#: subst.c:7089 subst.c:7104
#, c-format
msgid "%s: substring expression < 0"
msgstr "%s: expressão de sub-cadeia < 0"
-#: subst.c:8839 subst.c:8860
-#, c-format
-msgid "%s: bad substitution"
-msgstr "%s: má substituição"
-
-#: subst.c:8948
+#: subst.c:8450
#, c-format
msgid "$%s: cannot assign in this way"
msgstr "$%s: impossível atribuir desta forma"
-#: subst.c:9346
-msgid ""
-"future versions of the shell will force evaluation as an arithmetic "
-"substitution"
-msgstr ""
-"futuras versões da consola vão forçar a avaliação como uma substituição "
-"aritmética"
+#: subst.c:8802
+msgid "future versions of the shell will force evaluation as an arithmetic substitution"
+msgstr "futuras versões da consola vão forçar a avaliação como uma substituição aritmética"
-#: subst.c:9903
+#: subst.c:9349
#, c-format
msgid "bad substitution: no closing \"`\" in %s"
msgstr "má substituição: sem \"\"\" de fecho em %s"
-#: subst.c:10907
+#: subst.c:10298
#, c-format
msgid "no match: %s"
msgstr "sem par:%s"
@@ -2032,109 +1991,105 @@ msgstr "\")\" esperado"
msgid "`)' expected, found %s"
msgstr "\")\" esperado, encontrado %s"
-#: test.c:282 test.c:748 test.c:751
+#: test.c:282 test.c:744 test.c:747
#, c-format
msgid "%s: unary operator expected"
msgstr "%s: operador unáro esperado"
-#: test.c:469 test.c:791
+#: test.c:469 test.c:787
#, c-format
msgid "%s: binary operator expected"
msgstr "%s: operador bináro esperado"
-#: test.c:873
+#: test.c:869
msgid "missing `]'"
msgstr "\"]\" em falta"
-#: trap.c:216
+#: trap.c:224
msgid "invalid signal number"
msgstr "número de sinal inválido"
-#: trap.c:379
+#: trap.c:387
#, c-format
msgid "run_pending_traps: bad value in trap_list[%d]: %p"
msgstr "run_pending_traps: valor errado em trap_list[%d]: %p"
-#: trap.c:383
+#: trap.c:391
#, c-format
-msgid ""
-"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
-msgstr ""
-"run_pending_traps: gestor de sinal é SIG_DFL, a reenviar %d (%s) para mim "
-"próprio"
+msgid "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
+msgstr "run_pending_traps: gestor de sinal é SIG_DFL, a reenviar %d (%s) para mim próprio"
-#: trap.c:439
+#: trap.c:447
#, c-format
msgid "trap_handler: bad signal %d"
msgstr "trap_handler: sinal errado %d"
-#: variables.c:399
+#: variables.c:409
#, c-format
msgid "error importing function definition for `%s'"
msgstr "erro ao importar definição de função para \"%s\""
-#: variables.c:801
+#: variables.c:814
#, c-format
msgid "shell level (%d) too high, resetting to 1"
msgstr "nível da consola (%d) muito alto, a repor para 1"
-#: variables.c:2512
+#: variables.c:2413
msgid "make_local_variable: no function context at current scope"
msgstr "make_local_variável: sem contexto de função no âmbito actual"
-#: variables.c:2531
+#: variables.c:2432
#, c-format
msgid "%s: variable may not be assigned value"
msgstr "%s: não pode atribuir um valor à variável"
-#: variables.c:3246
+#: variables.c:3043
#, c-format
msgid "%s: assigning integer to name reference"
msgstr "%s: a atribuir inteiro à referência de nome"
-#: variables.c:4149
+#: variables.c:3940
msgid "all_local_variables: no function context at current scope"
msgstr "all_local_variables: sem contexto de função no âmbito actual"
-#: variables.c:4437
+#: variables.c:4218
#, c-format
msgid "%s has null exportstr"
msgstr "%s tem exportstr nulo"
-#: variables.c:4442 variables.c:4451
+#: variables.c:4223 variables.c:4232
#, c-format
msgid "invalid character %d in exportstr for %s"
msgstr "carácter %d inválido em exportstr para %s"
-#: variables.c:4457
+#: variables.c:4238
#, c-format
msgid "no `=' in exportstr for %s"
msgstr "sem \"=\" em exportstr para %s"
-#: variables.c:4911
+#: variables.c:4684
msgid "pop_var_context: head of shell_variables not a function context"
msgstr "pop_var_context: cabeça de consola_variables não é contexto de função"
-#: variables.c:4924
+#: variables.c:4697
msgid "pop_var_context: no global_variables context"
msgstr "pop_var_context: sem contexto de global_variables"
-#: variables.c:4999
+#: variables.c:4772
msgid "pop_scope: head of shell_variables not a temporary environment scope"
-msgstr ""
-"pop_scope: cabeça de consola_variables não é âmbito de ambiente temporário"
+msgstr "pop_scope: cabeça de consola_variables não é âmbito de ambiente temporário"
-#: variables.c:5862
+#: variables.c:5619
#, c-format
msgid "%s: %s: cannot open as FILE"
msgstr "%s: %s: impossível abrir como FICHEIRO"
-#: variables.c:5867
+#: variables.c:5624
#, c-format
msgid "%s: %s: invalid value for trace file descriptor"
msgstr "%s: %s: valor inválido para descritor de ficheiro trace"
-#: variables.c:5912
+#: variables.c:5669
#, c-format
msgid "%s: %s: compatibility value out of range"
msgstr "%s: %s: valor de compatibilidade fora do intervalo"
@@ -2144,12 +2099,8 @@ msgid "Copyright (C) 2016 Free Software Foundation, Inc."
msgstr "Copyright (C) 2016 Free Software Foundation, Inc."
#: version.c:47 version2.c:47
-msgid ""
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>\n"
-msgstr ""
-"Licença GPLv3+: GNU GPL versão 3 ou posterior <http://gnu.org/licenses/gpl."
-"html>\n"
+msgid "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+msgstr "Licença GPLv3+: GNU GPL versão 3 ou posterior <http://gnu.org/licenses/gpl.html>\n"
#: version.c:86 version2.c:86
#, c-format
@@ -2164,22 +2115,22 @@ msgstr "Este é um programa gratuito; pode alterá-lo e distribuí-lo à vontade
msgid "There is NO WARRANTY, to the extent permitted by law."
msgstr "Não há QUALQUER GARANTIA, até aos limites previstos pela Lei."
-#: xmalloc.c:93
+#: xmalloc.c:91
#, c-format
msgid "%s: cannot allocate %lu bytes (%lu bytes allocated)"
msgstr "%s: impossível alocar %lu bytes (%lu bytes alocados)"
-#: xmalloc.c:95
+#: xmalloc.c:93
#, c-format
msgid "%s: cannot allocate %lu bytes"
msgstr "%s: impossível alocar %lu bytes"
-#: xmalloc.c:165
+#: xmalloc.c:163
#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
msgstr "%s: %s:%d: impossível alocar %lu bytes (%lu bytes alocados)"
-#: xmalloc.c:167
+#: xmalloc.c:165
#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes"
msgstr "%s: %s:%d: impossível alocar %lu bytes"
@@ -2193,13 +2144,8 @@ msgid "unalias [-a] name [name ...]"
msgstr "unalias [-a] nome [nome ...]"
#: builtins.c:53
-msgid ""
-"bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-"
-"x keyseq:shell-command] [keyseq:readline-function or readline-command]"
-msgstr ""
-"bind [-lpsvPSVX] [-m mapa de teclado] [-f ficheiro] [-q nome] [-u nome] [-r "
-"seqtecl] [-x seqtecl:comando-consola] [seqtecl:função-readline ou comando-"
-"readline]"
+msgid "bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-x keyseq:shell-command] [keyseq:readline-function or readline-command]"
+msgstr "bind [-lpsvPSVX] [-m mapa de teclado] [-f ficheiro] [-q nome] [-u nome] [-r seqtecl] [-x seqtecl:comando-consola] [seqtecl:função-readline ou comando-readline]"
#: builtins.c:56
msgid "break [n]"
@@ -2263,8 +2209,7 @@ msgstr "getopts optstring name [arg]"
#: builtins.c:98
msgid "exec [-cl] [-a name] [command [arguments ...]] [redirection ...]"
-msgstr ""
-"exec [-cl] [-a nome] [comando [argumentos ...]] [redireccionamento ...]"
+msgstr "exec [-cl] [-a nome] [comando [argumentos ...]] [redireccionamento ...]"
#: builtins.c:100
msgid "exit [n]"
@@ -2295,12 +2240,8 @@ msgid "help [-dms] [pattern ...]"
msgstr "help [-dms] [padrão ...]"
#: builtins.c:123
-msgid ""
-"history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg "
-"[arg...]"
-msgstr ""
-"history [-c] [-d desvio] [n], history -anrw [ficheiro] ou history -ps arg "
-"[arg...]"
+msgid "history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]"
+msgstr "history [-c] [-d desvio] [n], history -anrw [ficheiro] ou history -ps arg [arg...]"
#: builtins.c:127
msgid "jobs [-lnprs] [jobspec ...] or jobs -x command [args]"
@@ -2311,24 +2252,16 @@ msgid "disown [-h] [-ar] [jobspec ... | pid ...]"
msgstr "disown [-h] [-ar] [tarefaspec ... | pid ...]"
#: builtins.c:134
-msgid ""
-"kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l "
-"[sigspec]"
-msgstr ""
-"kill [-s sigspec | -n signum | -sigspec] pid | tarefaspec ... ou kill -l "
-"[sigspec]"
+msgid "kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]"
+msgstr "kill [-s sigspec | -n signum | -sigspec] pid | tarefaspec ... ou kill -l [sigspec]"
#: builtins.c:136
msgid "let arg [arg ...]"
msgstr "let arg [arg ...]"
#: builtins.c:138
-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] [-N ncars] [-p "
-"prompt] [-t inacção] [-u fd] [nome ...]"
+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] [-N ncars] [-p prompt] [-t inacção] [-u fd] [nome ...]"
#: builtins.c:140
msgid "return [n]"
@@ -2391,8 +2324,7 @@ msgid "umask [-p] [-S] [mode]"
msgstr "umask [-p] [-S] [modo]"
#: builtins.c:177
-#, fuzzy
-msgid "wait [-fn] [id ...]"
+msgid "wait [-n] [id ...]"
msgstr "wait [-n] [id ...]"
#: builtins.c:181
@@ -2420,12 +2352,8 @@ msgid "case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac"
msgstr "case PALAVRA in [PADRÃO [| PADRÃO]...) COMANDOS ;;]... esac"
#: builtins.c:194
-msgid ""
-"if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else "
-"COMMANDS; ] fi"
-msgstr ""
-"if COMANDOS; then COMANDOS; [ elif COMANDOS; then COMANDOS; ]... [ else "
-"COMANDOS; ] fi"
+msgid "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMMANDS; ] fi"
+msgstr "if COMANDOS; then COMANDOS; [ elif COMANDOS; then COMANDOS; ]... [ else COMANDOS; ] fi"
#: builtins.c:196
msgid "while COMMANDS; do COMMANDS; done"
@@ -2484,43 +2412,24 @@ msgid "printf [-v var] format [arguments]"
msgstr "printf [-v var] formato [argumentos]"
#: builtins.c:231
-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 opção] [-A acção] [-G padrglob] [-W "
-"listpal] [-F função] [-C comando] [-X padrfiltro] [-P prefixo] [-S sufixo] "
-"[nome ...]"
+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 opção] [-A acção] [-G padrglob] [-W listpal] [-F função] [-C comando] [-X padrfiltro] [-P prefixo] [-S sufixo] [nome ...]"
#: builtins.c:235
-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 opção] [-A acção] [-G padrglob] [-W listpal] [-"
-"F função] [-C comando] [-X padrfiltro] [-P prefixo] [-S sufixo] [palavra]"
+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 opção] [-A acção] [-G padrglob] [-W listpal] [-F função] [-C comando] [-X padrfiltro] [-P prefixo] [-S sufixo] [palavra]"
#: builtins.c:239
msgid "compopt [-o|+o option] [-DE] [name ...]"
msgstr "compopt [-o|+o opção] [-DE] [nome ...]"
#: builtins.c:242
-msgid ""
-"mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
-msgstr ""
-"mapfile [-d delim] [-n total] [-O origem] [-s total] [-t] [-u fd] [-C "
-"callback] [-c quantia] [matriz]"
+msgid "mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
+msgstr "mapfile [-d delim] [-n total] [-O origem] [-s total] [-t] [-u fd] [-C callback] [-c quantia] [matriz]"
#: builtins.c:244
-#, fuzzy
-msgid ""
-"readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
-msgstr ""
-"readarray [-n total] [-O origem] [-s total] [-t] [-u fd] [-C callback] [-c "
-"quantia] [matriz]"
+msgid "readarray [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
+msgstr "readarray [-n total] [-O origem] [-s total] [-t] [-u fd] [-C callback] [-c quantia] [matriz]"
#: builtins.c:256
msgid ""
@@ -2537,8 +2446,7 @@ msgid ""
" -p\tprint all defined aliases in a reusable format\n"
" \n"
" Exit Status:\n"
-" alias returns true unless a NAME is supplied for which no alias has "
-"been\n"
+" alias returns true unless a NAME is supplied for which no alias has been\n"
" defined."
msgstr ""
"Definir ou mostrar aliás.\n"
@@ -2554,8 +2462,7 @@ msgstr ""
" -p\timprimir todos os aliás definidos em formato reutilizável\n"
" \n"
" Estado de saída:\n"
-" alias devolve verdadeiro a não ser que seja fornecido um NOME para o "
-"qual\n"
+" alias devolve verdadeiro a não ser que seja fornecido um NOME para o qual\n"
"ainda não haja um aliás."
#: builtins.c:278
@@ -2586,30 +2493,25 @@ msgid ""
" Options:\n"
" -m keymap Use KEYMAP as the keymap for the duration of this\n"
" command. Acceptable keymap names are emacs,\n"
-" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-"
-"move,\n"
+" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,\n"
" vi-command, and vi-insert.\n"
" -l List names of functions.\n"
" -P List function names and bindings.\n"
" -p List functions and bindings in a form that can be\n"
" reused as input.\n"
-" -S List key sequences that invoke macros and their "
-"values\n"
-" -s List key sequences that invoke macros and their "
-"values\n"
+" -S List key sequences that invoke macros and their values\n"
+" -s List key sequences that invoke macros and their values\n"
" in a form that can be reused as input.\n"
" -V List variable names and values\n"
" -v List variable names and values in a form that can\n"
" be reused as input.\n"
" -q function-name Query about which keys invoke the named function.\n"
-" -u function-name Unbind all keys which are bound to the named "
-"function.\n"
+" -u function-name Unbind all keys which are bound to the named function.\n"
" -r keyseq Remove the binding for KEYSEQ.\n"
" -f filename Read key bindings from FILENAME.\n"
" -x keyseq:shell-command\tCause SHELL-COMMAND to be executed when\n"
" \t\t\t\tKEYSEQ is entered.\n"
-" -X List key sequences bound with -x and associated "
-"commands\n"
+" -X List key sequences bound with -x and associated commands\n"
" in a form that can be reused as input.\n"
" \n"
" Exit Status:\n"
@@ -2618,53 +2520,36 @@ msgstr ""
"Definir associações de teclas e variáveis para Readline.\n"
" \n"
" Associar uma sequência de teclas a uma função ou macro Readline, ou\n"
-" defina uma variável Readline. A sintaxe de argumento não-opção é "
-"equivalente\n"
-" à encontrada em ~/.inputrc, mas tem de ser passada como argumento "
-"único:\n"
+" defina uma variável Readline. A sintaxe de argumento não-opção é equivalente\n"
+" à encontrada em ~/.inputrc, mas tem de ser passada como argumento único:\n"
" e.g., bind \"\"\\C-x\\C-r\": re-read-init-file\".\n"
" \n"
" Opções:\n"
-" -m maptecl Use MAPTECL como mapa de teclado para a "
-"duração deste\n"
-" comando. Nomes de mapas aceitáveis são "
-"emacs,\n"
-" emacs-standard, emacs-meta, emacs-ctlx, vi, "
-"vi-move,\n"
+" -m maptecl Use MAPTECL como mapa de teclado para a duração deste\n"
+" comando. Nomes de mapas aceitáveis são emacs,\n"
+" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,\n"
" vi-command, e vi-insert.\n"
" -l Listar nomes de funções.\n"
" -P Listar nomes de funções e associações.\n"
-" -p Listar funções funçãos e associações de "
-"forma a que possam\n"
+" -p Listar funções funçãos e associações de forma a que possam\n"
" ser reutilizados como entrada.\n"
-" -S Listar sequências de teclas que chamem "
-"macros e seus valores\n"
-" -s Listar sequências de teclas que chamem "
-"macros e seus valores\n"
-" de forma a que possam ser reutilizados como "
-"entrada.\n"
+" -S Listar sequências de teclas que chamem macros e seus valores\n"
+" -s Listar sequências de teclas que chamem macros e seus valores\n"
+" de forma a que possam ser reutilizados como entrada.\n"
" -V Listar nomes de variáveis e seus valores\n"
-" -v Listar nomes de variáveis e seus valores de "
-"forma a que possam\n"
+" -v Listar nomes de variáveis e seus valores de forma a que possam\n"
" ser reutilizados como entrada.\n"
-" -q nome-função Consultar que teclas chamaram a função em "
-"causa.\n"
-" -u nome-função Unbind all keys which are bound to the named "
-"função.\n"
+" -q nome-função Consultar que teclas chamaram a função em causa.\n"
+" -u nome-função Unbind all keys which are bound to the named função.\n"
" -r seqtecl Remover associação de SEQTECL.\n"
-" -f nomefich Ler associações de teclas a partir de "
-"NOMEFICH.\n"
-" -x seqtecl:comando-consola\tCausa a execuçaõ de COMANDO-SHELL "
-"quando\n"
+" -f nomefich Ler associações de teclas a partir de NOMEFICH.\n"
+" -x seqtecl:comando-consola\tCausa a execuçaõ de COMANDO-SHELL quando\n"
" \t\t\t\tSEQTECL for inserido.\n"
-" -X Listarsequências de teclas associadas a -x e "
-"comandos ligados\n"
-" de forma a que possam ser reutilizados como "
-"entrada.\n"
+" -X Listarsequências de teclas associadas a -x e comandos ligados\n"
+" de forma a que possam ser reutilizados como entrada.\n"
" \n"
" Estado de saída:\n"
-" bind devolve 0 a não ser que seja dada uma opção desconhecida ou ocorra "
-"um erro."
+" bind devolve 0 a não ser que seja dada uma opção desconhecida ou ocorra um erro."
#: builtins.c:330
msgid ""
@@ -2678,8 +2563,7 @@ msgid ""
msgstr ""
"Sair de ciclos for, while, ou until.\n"
" \n"
-" Sai de um ciclo FOR, WHILE ou UNTIL. Se N for especificado, quebrar N "
-"ciclos\n"
+" Sai de um ciclo FOR, WHILE ou UNTIL. Se N for especificado, quebrar N ciclos\n"
" envolventes.\n"
" \n"
" Estado de saída:\n"
@@ -2709,8 +2593,7 @@ msgid ""
" \n"
" Execute SHELL-BUILTIN with arguments ARGs without performing command\n"
" lookup. This is useful when you wish to reimplement a shell builtin\n"
-" as a shell function, but need to execute the builtin within the "
-"function.\n"
+" as a shell function, but need to execute the builtin within the function.\n"
" \n"
" Exit Status:\n"
" Returns the exit status of SHELL-BUILTIN, or false if SHELL-BUILTIN is\n"
@@ -2718,15 +2601,12 @@ msgid ""
msgstr ""
"Executa comandos internos da consola.\n"
" \n"
-" Executar SHELL-INTERNO com argumentos ARGs sem realizar procura do "
-"comando.\n"
+" Executar SHELL-INTERNO com argumentos ARGs sem realizar procura do comando.\n"
" Útil quando deseja re-implementar um comando interno da consola como\n"
-" função da consola, mas tem de executar o comando interno dentro da "
-"função.\n"
+" função da consola, mas tem de executar o comando interno dentro da função.\n"
" \n"
" Estado de saída:\n"
-" Devolve o estado de saída de SHELL-INTERNO ou falso se SHELL-INTERNO "
-"não\n"
+" Devolve o estado de saída de SHELL-INTERNO ou falso se SHELL-INTERNO não\n"
" for um comando interno da consola."
#: builtins.c:369
@@ -2754,30 +2634,23 @@ msgstr ""
" actual; a chamada superior é a chamada 0.\n"
" \n"
" Estado de saída:\n"
-" Devolve 0 a não ser que a consola não esteja a executar uma função ou "
-"EXPR\n"
+" Devolve 0 a não ser que a consola não esteja a executar uma função ou EXPR\n"
" seja inválida."
#: builtins.c:387
msgid ""
"Change the shell working directory.\n"
" \n"
-" Change the current directory to DIR. The default DIR is the value of "
-"the\n"
+" Change the current directory to DIR. The default DIR is the value of the\n"
" HOME shell variable.\n"
" \n"
-" The variable CDPATH defines the search path for the directory "
-"containing\n"
-" DIR. Alternative directory names in CDPATH are separated by a colon "
-"(:).\n"
-" A null directory name is the same as the current directory. If DIR "
-"begins\n"
+" The variable CDPATH defines the search path for the directory containing\n"
+" DIR. Alternative directory names in CDPATH are separated by a colon (:).\n"
+" A null directory name is the same as the current directory. If DIR begins\n"
" with a slash (/), then CDPATH is not used.\n"
" \n"
-" If the directory is not found, and the shell option `cdable_vars' is "
-"set,\n"
-" the word is assumed to be a variable name. If that variable has a "
-"value,\n"
+" If the directory is not found, and the shell option `cdable_vars' is set,\n"
+" the word is assumed to be a variable name. If that variable has a value,\n"
" its value is used for DIR.\n"
" \n"
" Options:\n"
@@ -2793,32 +2666,25 @@ msgid ""
" \t\tattributes as a directory containing the file attributes\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
-" `..' is processed by removing the immediately previous pathname "
-"component\n"
+" `..' is processed by removing the immediately previous pathname component\n"
" back to a slash or the beginning of DIR.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed, and if $PWD is set successfully "
-"when\n"
+" Returns 0 if the directory is changed, and if $PWD is set successfully when\n"
" -P is used; non-zero otherwise."
msgstr ""
"Alterar a pasta de trabalho da consola.\n"
" \n"
-" Altera a pasta actual para PASTA. A PASTA predefinida é o valor da "
-"variável\n"
+" Altera a pasta actual para PASTA. A PASTA predefinida é o valor da variável\n"
" HOME.\n"
" \n"
" A variável CDPATH define o caminho de procura para a pasta que contém\n"
-" PASTA. Nomes de pasta alternativos em CDPATH são separados por \":"
-"\" (:).\n"
-" Um nome de pasta nulo é equivalente à pasta actual. Se PASTA começar "
-"com\n"
+" PASTA. Nomes de pasta alternativos em CDPATH são separados por \":\" (:).\n"
+" Um nome de pasta nulo é equivalente à pasta actual. Se PASTA começar com\n"
" uma barra (/), CDPATH não é usada.\n"
" \n"
-" Se a pasta não for encontrada e a opção de consola \"cdable_vars\" "
-"estiver definida,\n"
-" a palavra é assumida como nome de variável. Se essa variável tiver um "
-"valor,\n"
+" Se a pasta não for encontrada e a opção de consola \"cdable_vars\" estiver definida,\n"
+" a palavra é assumida como nome de variável. Se essa variável tiver um valor,\n"
" será usado como PASTA.\n"
" \n"
" Opções:\n"
@@ -2830,19 +2696,15 @@ msgstr ""
" -e\tse a opção -P for usada e a pasta de trabalho actual não puder\n"
" \t\tser determinada com sucesso, sair com\n"
" \t\testado não-zero\n"
-" -@\tem sistemas que o suportam, apresentar um ficheiro com "
-"atributos\n"
+" -@\tem sistemas que o suportam, apresentar um ficheiro com atributos\n"
" \t\testendidos como uma pasta contendo os atributos do ficheiro.\n"
" \n"
-" A predefinição é seguir ligações simbólicas, como se \"-L\" fosse "
-"especificada.\n"
-" \"..\" é processado colocando o componente de caminho imediatamente "
-"anterior\n"
+" A predefinição é seguir ligações simbólicas, como se \"-L\" fosse especificada.\n"
+" \"..\" é processado colocando o componente de caminho imediatamente anterior\n"
" como barra ou o começo de PASTA.\n"
" \n"
" Estado de saída:\n"
-" Devolve 0 se a pasta for alterada e se $PWD for definida com sucesso "
-"quando\n"
+" Devolve 0 se a pasta for alterada e se $PWD for definida com sucesso quando\n"
" -P é usada; caso contrário, não-zero."
#: builtins.c:425
@@ -2867,12 +2729,10 @@ msgstr ""
" \t\ttrabalho\n"
" -P\timprimir a pasta física, sem quaisquer ligações simbólicas\n"
" \n"
-" Por predefinição, \"pwd\" comporta-se como se \"-L\" fosse "
-"especificada.\n"
+" Por predefinição, \"pwd\" comporta-se como se \"-L\" fosse especificada.\n"
" \n"
" Estado de saída:\n"
-" Devolve 0 a não ser que seja indicada uma opçãoinválida ou a pasta "
-"actual\n"
+" Devolve 0 a não ser que seja indicada uma opçãoinválida ou a pasta actual\n"
" não possa ser lida."
#: builtins.c:442
@@ -2920,8 +2780,7 @@ msgid ""
"Execute a simple command or display information about commands.\n"
" \n"
" Runs COMMAND with ARGS suppressing shell function lookup, or display\n"
-" information about the specified COMMANDs. Can be used to invoke "
-"commands\n"
+" information about the specified COMMANDs. Can be used to invoke commands\n"
" on disk when a function with the same name exists.\n"
" \n"
" Options:\n"
@@ -2935,26 +2794,20 @@ msgid ""
msgstr ""
"Executar um comando simples ou mostrar informação sobre comandos.\n"
" \n"
-" Executa COMANDO com ARGS suprimindo procura de funções da consola ou "
-"mostra\n"
-" informação acerca dos COMANDOs especificados. Pode ser usado para "
-"chamar comandos\n"
+" Executa COMANDO com ARGS suprimindo procura de funções da consola ou mostra\n"
+" informação acerca dos COMANDOs especificados. Pode ser usado para chamar comandos\n"
" em disco quando existe uma função com o mesmo nome.\n"
" \n"
" Opções:\n"
-" -p usar valor predefinido para CAMINHO que garanta que se "
-"encontram\n"
+" -p usar valor predefinido para CAMINHO que garanta que se encontram\n"
" todos os utilitários padrão\n"
-" -v imprimir uma descrição de COMANDO similar ao interno \"type"
-"\"\n"
+" -v imprimir uma descrição de COMANDO similar ao interno \"type\"\n"
" -V imprimir uma descrição mais detalhada de COMANDO\n"
" \n"
" Estado de saída:\n"
-" Devolve o estado de saída de COMANDO ou falha se COMANDO não for "
-"encontrado."
+" Devolve o estado de saída de COMANDO ou falha se COMANDO não for encontrado."
#: builtins.c:490
-#, fuzzy
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2973,11 +2826,11 @@ msgid ""
" -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 the value of each NAME to lower case on assignment\n"
+" -l\tto convert NAMEs to lower case on assignment\n"
" -n\tmake NAME a reference to the variable named by its value\n"
" -r\tto make NAMEs readonly\n"
" -t\tto make NAMEs have the `trace' attribute\n"
-" -u\tto convert the value of each NAME to upper case on assignment\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"
@@ -2985,8 +2838,7 @@ msgid ""
" Variables with the integer attribute have arithmetic evaluation (see\n"
" the `let' command) performed when the variable is assigned a value.\n"
" \n"
-" When used in a function, `declare' makes NAMEs local, as with the "
-"`local'\n"
+" When used in a function, `declare' makes NAMEs local, as with the `local'\n"
" command. The `-g' option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
@@ -3002,8 +2854,7 @@ msgstr ""
" -f\trea cadeiair acção ou exibição a nomes e definições de função\n"
" -F\trea cadeiair exibição só a nomes de função (mais nº de linha e\n"
" \t\tficheiro fonte ao depurar)\n"
-" -g\tcriar variáveis globais quando usadas numa função da shel; "
-"senão\n"
+" -g\tcriar variáveis globais quando usadas numa função da shel; senão\n"
" \t\té ignorada\n"
" -p\tmostrar atributos e valores de cada NOME\n"
" \n"
@@ -3023,13 +2874,11 @@ msgstr ""
" Variáveis com o atributo integer têm avaliação aritmética (veja o\n"
" comando \"let\") realizada quando lhe é atribuído um valor.\n"
" \n"
-" Quando usado numa função, \"declare\" torna NOMEs locais, como o "
-"comando\n"
+" Quando usado numa função, \"declare\" torna NOMEs locais, como o comando\n"
" \"local\". A opção \"-g\" suprime este comportamento.\n"
" \n"
" Estado de saída:\n"
-" Devolve sucesso a não ser que seja indicada uma opção inválida ou "
-"ocorra um\n"
+" Devolve sucesso a não ser que seja indicada uma opção inválida ou ocorra um\n"
" erro de atribuição da variável."
#: builtins.c:530
@@ -3061,21 +2910,18 @@ msgstr ""
" Cria uma variável local chamada NOME e dá-lhe VALOR. OPÇÃO pode\n"
" ser qualquer opção aceite por \"declare\".\n"
" \n"
-" Variáveis locais só podem ser usadas dentro de uma função; só são "
-"visíveis\n"
+" Variáveis locais só podem ser usadas dentro de uma função; só são visíveis\n"
" para a função onde foram definidas e para os seus filhos.\n"
" \n"
" Estado de saída:\n"
-" Devolve sucesso a não ser que uma opção inválida seja fornecida, "
-"ocorra \n"
+" Devolve sucesso a não ser que uma opção inválida seja fornecida, ocorra \n"
" um erro de atribuição ou a consola não esteja a executar uma função."
#: builtins.c:555
msgid ""
"Write arguments to the standard output.\n"
" \n"
-" Display the ARGs, separated by a single space character and followed by "
-"a\n"
+" Display the ARGs, separated by a single space character and followed by a\n"
" newline, on the standard output.\n"
" \n"
" Options:\n"
@@ -3111,11 +2957,9 @@ msgstr ""
" Opções:\n"
" -n\tnaõ acrescentar nova linha\n"
" -e\tpermitir interpretação dos escapes seguintes com barra esquerda\n"
-" -E\tsuprimir explicitamente interpretação de escapes com barra "
-"esquerda\n"
+" -E\tsuprimir explicitamente interpretação de escapes com barra esquerda\n"
" \n"
-" \"echo\" interpreta os seguintes caracteres de escapes com barra "
-"esquerda:\n"
+" \"echo\" interpreta os seguintes caracteres de escapes com barra esquerda:\n"
" \\a\talerta (bell)\n"
" \\b\tbackspace\n"
" \\c\tsuprimir mais saídas\n"
@@ -3191,8 +3035,7 @@ msgstr ""
" \n"
" Opções:\n"
" -a\timprimir lista de internos mostrando se estão ou não activos\n"
-" -n\tdesactivar cada NOME ou mostrar uma lista de internos "
-"desactivados\n"
+" -n\tdesactivar cada NOME ou mostrar uma lista de internos desactivados\n"
" -p\timprimir a lista de internos em formato reutilizável\n"
" -s\timprimir só os nomes de internos \"especiais\" Posix\n"
" \n"
@@ -3206,15 +3049,13 @@ msgstr ""
" insira \"enable -n test\".\n"
" \n"
" Estado de saída:\n"
-" Devolve sucesso a não ser que NOME não seja um interno da consola ou "
-"ocorra um erro."
+" Devolve sucesso a não ser que NOME não seja um interno da consola ou ocorra um erro."
#: builtins.c:634
msgid ""
"Execute arguments as a shell command.\n"
" \n"
-" Combine ARGs into a single string, use the result as input to the "
-"shell,\n"
+" Combine ARGs into a single string, use the result as input to the shell,\n"
" and execute the resulting commands.\n"
" \n"
" Exit Status:\n"
@@ -3222,8 +3063,7 @@ msgid ""
msgstr ""
"Executa argumentos como comando da consola.\n"
" \n"
-" Combina ARGs numa única cadeia, usa o resultado como entrada da "
-"consola,\n"
+" Combina ARGs numa única cadeia, usa o resultado como entrada da consola,\n"
" e executa os comandos resultantes.\n"
" \n"
" Estado de saída:\n"
@@ -3271,8 +3111,7 @@ msgid ""
msgstr ""
"Analisa argumentos da opção.\n"
" \n"
-" Getopts é usado pelos procedimentos da consola para analisar parâmetros "
-"posicionais\n"
+" Getopts é usado pelos procedimentos da consola para analisar parâmetros posicionais\n"
" como opções.\n"
" \n"
" CADEIAOPÇÕES contém as letras de opção a reconhecer; se uma letra\n"
@@ -3293,8 +3132,7 @@ msgstr ""
" Se não houver um argumento requerido, o getopts põe um \":\" no NOME e\n"
" define OPTARG como o carácter de opção encontrado. Se o getopts não\n"
" estiver em modo silêncio e for vista uma opção inválida, o getopts\n"
-" põe \"?\" no NOME e limpa OPTARG. Se não houver um argumento "
-"requeriso,\n"
+" põe \"?\" no NOME e limpa OPTARG. Se não houver um argumento requeriso,\n"
" é posto \"?\" no NOME, OPTARG é limpoe é imprimida uma mensagem de\n"
" diagnóstico.\n"
" \n"
@@ -3302,8 +3140,7 @@ msgstr ""
" impressão de mensagens de erro, mesmo que o 1º carácter de\n"
" CADEIAOPÇÕES não seja \":\". OPTERR tem o valor 1 predefinido.\n"
" \n"
-" O getopts normalmente analisa os parâmetros posicionais ($0 - $9), mas "
-"se\n"
+" O getopts normalmente analisa os parâmetros posicionais ($0 - $9), mas se\n"
" receber mais argumentos, são eles que são analisados.\n"
" \n"
" Estado de saída:\n"
@@ -3315,8 +3152,7 @@ msgid ""
"Replace the shell with the given command.\n"
" \n"
" Execute COMMAND, replacing this shell with the specified program.\n"
-" ARGUMENTS become the arguments to COMMAND. If COMMAND is not "
-"specified,\n"
+" ARGUMENTS become the arguments to COMMAND. If COMMAND is not specified,\n"
" any redirections take effect in the current shell.\n"
" \n"
" Options:\n"
@@ -3324,20 +3160,16 @@ msgid ""
" -c\texecute COMMAND with an empty environment\n"
" -l\tplace a dash in the zeroth argument to COMMAND\n"
" \n"
-" If the command cannot be executed, a non-interactive shell exits, "
-"unless\n"
+" If the command cannot be executed, a non-interactive shell exits, unless\n"
" the shell option `execfail' is set.\n"
" \n"
" Exit Status:\n"
-" Returns success unless COMMAND is not found or a redirection error "
-"occurs."
+" Returns success unless COMMAND is not found or a redirection error occurs."
msgstr ""
"Substitui a consola com o comando indicado.\n"
" \n"
-" Executar COMANDO, substituindo esta consola pelo programa "
-"especificado.\n"
-" ARGUMENTOS tornam-se os argumentos de COMANDO. Se COMANDO não for "
-"especificado,\n"
+" Executar COMANDO, substituindo esta consola pelo programa especificado.\n"
+" ARGUMENTOS tornam-se os argumentos de COMANDO. Se COMANDO não for especificado,\n"
" quaisquer redireccionamentos têm efeito na consola actual.\n"
" \n"
" Opções:\n"
@@ -3345,13 +3177,11 @@ msgstr ""
" -c\texecuta COMANDO com um ambiente vazio\n"
" -l\tpõe uma barra no argumento 0 de COMANDO\n"
" \n"
-" Se o comando não puder ser executado, uma consola não interactiva sai, "
-"a não ser que\n"
+" Se o comando não puder ser executado, uma consola não interactiva sai, a não ser que\n"
" a opção de consola \"execfail\" esteja definida.\n"
" \n"
" Estado de saída:\n"
-" Devolve sucesso a não ser que COMANDO não seja encontrado ou ocorra um "
-"erro de redireccionamento."
+" Devolve sucesso a não ser que COMANDO não seja encontrado ou ocorra um erro de redireccionamento."
#: builtins.c:709
msgid ""
@@ -3369,29 +3199,25 @@ msgstr ""
msgid ""
"Exit a login shell.\n"
" \n"
-" Exits a login shell with exit status N. Returns an error if not "
-"executed\n"
+" Exits a login shell with exit status N. Returns an error if not executed\n"
" in a login shell."
msgstr ""
"Sai de uma consola com sessão.\n"
" \n"
-" Sai de uma consola com sessão com estado de saída N. Devolve um erro "
-"se não for\n"
+" Sai de uma consola com sessão com estado de saída N. Devolve um erro se não for\n"
" executado numa consola com sessão."
#: builtins.c:728
msgid ""
"Display or execute commands from the history list.\n"
" \n"
-" fc is used to list or edit and re-execute commands from the history "
-"list.\n"
+" fc is used to list or edit and re-execute commands from the history list.\n"
" FIRST and LAST can be numbers specifying the range, or FIRST can be a\n"
" string, which means the most recent command beginning with that\n"
" string.\n"
" \n"
" Options:\n"
-" -e ENAME\tselect which editor to use. Default is FCEDIT, then "
-"EDITOR,\n"
+" -e ENAME\tselect which editor to use. Default is FCEDIT, then EDITOR,\n"
" \t\tthen vi\n"
" -l \tlist lines instead of editing\n"
" -n\tomit line numbers when listing\n"
@@ -3405,21 +3231,17 @@ msgid ""
" the last command.\n"
" \n"
" Exit Status:\n"
-" Returns success or status of executed command; non-zero if an error "
-"occurs."
+" Returns success or status of executed command; non-zero if an error occurs."
msgstr ""
"Mostra ou executa comandos da lista do histórico.\n"
" \n"
-" fc é usado para listar ou editar e re-executar comandos da lsiat do "
-"histórico.\n"
-" PRIMEIRO e ÚLTIMO podem ser números especificando o intervalo, ou "
-"PRIMEIRO pode ser\n"
+" fc é usado para listar ou editar e re-executar comandos da lsiat do histórico.\n"
+" PRIMEIRO e ÚLTIMO podem ser números especificando o intervalo, ou PRIMEIRO pode ser\n"
" cadeia, que significa o comando mais recente começado por essa\n"
" cadeia.\n"
" \n"
" Opções:\n"
-" -e NOMEED\tseleciona o editor a usar. A predefinição é FCEDIT, "
-"depois EDITOR,\n"
+" -e NOMEED\tseleciona o editor a usar. A predefinição é FCEDIT, depois EDITOR,\n"
" \t\tdepois vi\n"
" -l \tlistar linhas em vez de editar\n"
" -n\tomitir nºs de linha ao ouvir\n"
@@ -3429,13 +3251,11 @@ msgstr ""
" re-executado após a substituição VELHO=NOVO ser realizada.\n"
" \n"
" Um aliás útil a usar aqui é r=\"fc -s\", para que inserir \"r cc\"\n"
-" executa o último comando começado por \"cc\" e inserir \"r\" re-"
-"executa\n"
+" executa o último comando começado por \"cc\" e inserir \"r\" re-executa\n"
" o último comando.\n"
" \n"
" Estado de saída:\n"
-" Devolve sucesso ou estado do comando executado; não-zero se ocorrer um "
-"erro."
+" Devolve sucesso ou estado do comando executado; não-zero se ocorrer um erro."
#: builtins.c:758
msgid ""
@@ -3461,10 +3281,8 @@ msgstr ""
msgid ""
"Move jobs to the background.\n"
" \n"
-" Place the jobs identified by each JOB_SPEC in the background, as if "
-"they\n"
-" had been started with `&'. If JOB_SPEC is not present, the shell's "
-"notion\n"
+" Place the jobs identified by each JOB_SPEC in the background, as if they\n"
+" had been started with `&'. If JOB_SPEC is not present, the shell's notion\n"
" of the current job is used.\n"
" \n"
" Exit Status:\n"
@@ -3472,23 +3290,19 @@ msgid ""
msgstr ""
"Move a tarefa para 2º plano.\n"
" \n"
-" Coloca a tarefa identificada com cada JOB_SPEC em 2º plano, como se "
-"tivessem\n"
-" sido iniciados com \"&\". Se JOB_SPEC não existir, é usada a noção da "
-"consola de\n"
+" Coloca a tarefa identificada com cada JOB_SPEC em 2º plano, como se tivessem\n"
+" sido iniciados com \"&\". Se JOB_SPEC não existir, é usada a noção da consola de\n"
" tarefa actual.\n"
" \n"
" Estado de saída:\n"
-" Devolve sucesso a não ser que o controlo de tarefas esteja inactivo ou "
-"ocorra um erro."
+" Devolve sucesso a não ser que o controlo de tarefas esteja inactivo ou ocorra um erro."
#: builtins.c:787
msgid ""
"Remember or display program locations.\n"
" \n"
" Determine and remember the full pathname of each command NAME. If\n"
-" no arguments are given, information about remembered commands is "
-"displayed.\n"
+" no arguments are given, information about remembered commands is displayed.\n"
" \n"
" Options:\n"
" -d\tforget the remembered location of each NAME\n"
@@ -3523,11 +3337,9 @@ msgstr ""
" \t\tde comandos lembrados.\n"
" \n"
" Estado de saída:\n"
-" Devolve sucesso a não ser que NOME não seja encontrado ou indique uma "
-"opção inválida."
+" Devolve sucesso a não ser que NOME não seja encontrado ou indique uma opção inválida."
#: builtins.c:812
-#, fuzzy
msgid ""
"Display information about builtin commands.\n"
" \n"
@@ -3542,17 +3354,15 @@ msgid ""
" \t\tPATTERN\n"
" \n"
" Arguments:\n"
-" PATTERN\tPattern specifying a help topic\n"
+" PATTERN\tPattern specifiying a help topic\n"
" \n"
" Exit Status:\n"
-" Returns success unless PATTERN is not found or an invalid option is "
-"given."
+" Returns success unless PATTERN is not found or an invalid option is given."
msgstr ""
"Mostra informação sobre comandos internos.\n"
" \n"
" Mostra breves resumos de comandos internos. Se PADRÃO for\n"
-" especificado, dá ajuda detalhada em todos os comandos que cumpram "
-"PADRÃO,\n"
+" especificado, dá ajuda detalhada em todos os comandos que cumpram PADRÃO,\n"
" senão imprime a lista de tópicos de ajuda.\n"
" \n"
" Opções:\n"
@@ -3565,11 +3375,9 @@ msgstr ""
" PADRÃO\tPadrão que especifica um tópico de ajuda\n"
" \n"
" Estado de saída:\n"
-" Devolve sucesso a não ser que PADRÃO não seja encontrado ou indique uma "
-"opção inválida."
+" Devolve sucesso a não ser que PADRÃO não seja encontrado ou indique uma opção inválida."
#: builtins.c:836
-#, fuzzy
msgid ""
"Display or manipulate the history list.\n"
" \n"
@@ -3578,8 +3386,7 @@ msgid ""
" \n"
" Options:\n"
" -c\tclear the history list by deleting all of the entries\n"
-" -d offset\tdelete the history entry at position OFFSET. Negative\n"
-" \t\toffsets count back from the end of the history list\n"
+" -d offset\tdelete the history entry at position 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"
@@ -3597,8 +3404,7 @@ msgid ""
" \n"
" If the HISTTIMEFORMAT variable is set and not null, its value is used\n"
" as a format string for strftime(3) to print the time stamp associated\n"
-" with each displayed history entry. No time stamps are printed "
-"otherwise.\n"
+" with each displayed history entry. No time stamps are printed otherwise.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or an error occurs."
@@ -3606,43 +3412,34 @@ msgstr ""
"Mostra ou manipula a lista do histórico.\n"
" \n"
" Mostra a lista do histórico com nºs de linha, prefixando cada entrada\n"
-" modificada com um \"*\". Um argumento de N lista só as últimas N "
-"entradas.\n"
+" modificada com um \"*\". Um argumento de N lista só as últimas N entradas.\n"
" \n"
" Opções:\n"
" -c\tlimpa a lista eliminado todas as entradas\n"
" -d desvio\telimina a entrada do histórico na posição DESVIO.\n"
" \n"
-" -a\tacrescentar linhas de histórico desta sessão ao ficheiro de "
-"histórico\n"
-" -n\tler todas as linhas de histórico ainda não lidas do ficheiro de "
-"histórico\n"
+" -a\tacrescentar linhas de histórico desta sessão ao ficheiro de histórico\n"
+" -n\tler todas as linhas de histórico ainda não lidas do ficheiro de histórico\n"
" \t\te acrescentá-las à lista de histórico\n"
" -r\tler o ficheiro de histórico e acrescentar o conteúdo à lista de\n"
" \t\thistórico\n"
" -w\tescrever o histórico actual no ficheiro de histórico\n"
" \n"
-" -p\trealizar expansão do histórico em cada ARG e mostrar o "
-"resultado\n"
+" -p\trealizar expansão do histórico em cada ARG e mostrar o resultado\n"
" \t\tsem gravar na lista de histórico\n"
" -s\tacrescentar ARGs à lista de histórico como entrada única\n"
" \n"
" Se NOMEFICH for dado, é usado como ficheiro de histórico. Senão,\n"
-" se FICHHIST tiver um valor, será usado, caso contrário ~/."
-"bash_history.\n"
+" se FICHHIST tiver um valor, será usado, caso contrário ~/.bash_history.\n"
" \n"
-" Se a variável HISTTIMEFORMAT estiver definida e não for nula, o valor é "
-"usado\n"
-" como cadeia de formato para strftime(3) para imprimir o carimbo "
-"associado\n"
-" a cada entrad de histórico mostrada. Senão não são imprimidos quaisquer "
-"carimbos.\n"
+" Se a variável HISTTIMEFORMAT estiver definida e não for nula, o valor é usado\n"
+" como cadeia de formato para strftime(3) para imprimir o carimbo associado\n"
+" a cada entrad de histórico mostrada. Senão não são imprimidos quaisquer carimbos.\n"
" \n"
" Estado de saída:\n"
-" Devolve sucesso a não ser que indique uma opção inválida ou ocorra um "
-"erro."
+" Devolve sucesso a não ser que indique uma opção inválida ou ocorra um erro."
-#: builtins.c:873
+#: builtins.c:872
msgid ""
"Display status of jobs.\n"
" \n"
@@ -3678,18 +3475,15 @@ msgstr ""
" -r\trea cadeiae saída a tarefas em execução\n"
" -s\trea cadeiae saída a tarefas paradas\n"
" \n"
-" Se -x for usado, COMANDO é executado após todas as especificações de "
-"tarefas\n"
-" que aparecem em ARGS terem sido substituídas pela ID de processo do "
-"líder de\n"
+" Se -x for usado, COMANDO é executado após todas as especificações de tarefas\n"
+" que aparecem em ARGS terem sido substituídas pela ID de processo do líder de\n"
" grupo do processo dessat tarefa.\n"
" \n"
" Estado de saída:\n"
-" Devolve sucesso a não ser que indique uma opção inválida ou ocorra um "
-"erro.\n"
+" Devolve sucesso a não ser que indique uma opção inválida ou ocorra um erro.\n"
" Se -x for usado, devolve o estado de saída de COMANDO."
-#: builtins.c:900
+#: builtins.c:899
msgid ""
"Remove jobs from current shell.\n"
" \n"
@@ -3712,16 +3506,14 @@ msgstr ""
" \n"
" Opções:\n"
" -a\tremove todas as tarefas se JOBSPEC não for indicado\n"
-" -h\tmarcar cada JOBSPEC para que SIGHUP não seja enviado para a "
-"tarefa\n"
+" -h\tmarcar cada JOBSPEC para que SIGHUP não seja enviado para a tarefa\n"
" \t\tse a consola receber um SIGHUP\n"
" -r\tremove só tarefas em execução\n"
" \n"
" Estado de saída:\n"
-" Devolve sucesso a não ser que uma opção inválida ou JOBSPEC seja "
-"indicada."
+" Devolve sucesso a não ser que uma opção inválida ou JOBSPEC seja indicada."
-#: builtins.c:919
+#: builtins.c:918
msgid ""
"Send a signal to a job.\n"
" \n"
@@ -3756,24 +3548,21 @@ msgstr ""
" \t\tassumidos como nºs de sinal para listar os nomes\n"
" -L\tsinónimo de -l\n"
" \n"
-" Mata um interno da consola por dois motivos: permite usar as IDs de "
-"tarefa\n"
+" Mata um interno da consola por dois motivos: permite usar as IDs de tarefa\n"
" em vez de IDs de processo e permite matar processos se o limite de\n"
" processos que pode criar for atingido.\n"
" \n"
" Estado de saída:\n"
-" Devolve sucesso a não ser que indique uma opção inválida ou ocorra um "
-"erro."
+" Devolve sucesso a não ser que indique uma opção inválida ou ocorra um erro."
-#: builtins.c:943
+#: builtins.c:942
msgid ""
"Evaluate arithmetic expressions.\n"
" \n"
" Evaluate each ARG as an arithmetic expression. Evaluation is done in\n"
" fixed-width integers with no check for overflow, though division by 0\n"
" is trapped and flagged as an error. The following list of operators is\n"
-" grouped into levels of equal-precedence operators. The levels are "
-"listed\n"
+" grouped into levels of equal-precedence operators. The levels are listed\n"
" in order of decreasing precedence.\n"
" \n"
" \tid++, id--\tvariable post-increment, post-decrement\n"
@@ -3812,10 +3601,8 @@ msgstr ""
"Avalia as expressões aritméticas.\n"
" \n"
" Avalia cada ARG como uma expressão aritmética. A avaliação é feita em\n"
-" inteiros de largura fixa sem verificação de transporte, embora a "
-"divisão\n"
-" por 0 seja sinalizada como erro. A seguinte lista de operadores é "
-"agrupada\n"
+" inteiros de largura fixa sem verificação de transporte, embora a divisão\n"
+" por 0 seja sinalizada como erro. A seguinte lista de operadores é agrupada\n"
" em níveis de igual prioridade. Os níveis estão listados\n"
" por ordem de precedência decrescente.\n"
" \n"
@@ -3840,10 +3627,8 @@ msgstr ""
" \t+=, -=, <<=, >>=,\n"
" \t&=, ^=, |=\tatribuição\n"
" \n"
-" As variáveis de consola são permitidas como operandos. O nome da "
-"variável\n"
-" é substituído pelo seu valor (convertido em inteiro de largura fixa) "
-"dentro\n"
+" As variáveis de consola são permitidas como operandos. O nome da variável\n"
+" é substituído pelo seu valor (convertido em inteiro de largura fixa) dentro\n"
" de uma expressão. A variável não tem de ter o seu atributo inteiro\n"
" activado para ser usado numa expressão.\n"
" \n"
@@ -3854,35 +3639,30 @@ msgstr ""
" Estado de saída:\n"
" Se o último ARG for avaliado como 0, let devolve 1; senão let devolve 0."
-#: builtins.c:988
-#, fuzzy
+#: builtins.c:987
msgid ""
"Read a line from the standard input and split it into fields.\n"
" \n"
" Reads a single line from the standard input, or from file descriptor FD\n"
-" if the -u option is supplied. The line is split into fields as with "
-"word\n"
+" if the -u option is supplied. The line is split into fields as with word\n"
" splitting, and the first word is assigned to the first NAME, the second\n"
" word to the second NAME, and so on, with any leftover words assigned to\n"
-" the last NAME. Only the characters found in $IFS are recognized as "
-"word\n"
+" the last NAME. Only the characters found in $IFS are recognized as word\n"
" delimiters.\n"
" \n"
-" If no NAMEs are supplied, the line read is stored in the REPLY "
-"variable.\n"
+" If no NAMEs are supplied, the line read is stored in the REPLY variable.\n"
" \n"
" Options:\n"
" -a array\tassign the words read to sequential indices of the array\n"
" \t\tvariable ARRAY, starting at zero\n"
" -d delim\tcontinue until the first character of DELIM is read, rather\n"
" \t\tthan newline\n"
-" -e\tuse Readline to obtain the line\n"
+" -e\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\n"
" \t\tNCHARS characters are read before the delimiter\n"
-" -N nchars\treturn only after reading exactly NCHARS characters, "
-"unless\n"
+" -N nchars\treturn only after reading exactly NCHARS characters, unless\n"
" \t\tEOF is encountered or read times out, ignoring any\n"
" \t\tdelimiter\n"
" -p prompt\toutput the string PROMPT without a trailing newline before\n"
@@ -3900,39 +3680,32 @@ msgid ""
" -u fd\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"
-" (in which case it's greater than 128), a variable assignment error "
-"occurs,\n"
+" The return code is zero, unless end-of-file is encountered, read times out\n"
+" (in which case it's greater than 128), a variable assignment error occurs,\n"
" or an invalid file descriptor is supplied as the argument to -u."
msgstr ""
"Lê uma linha da entrada padrão e divide-a em campos.\n"
" \n"
" Lê uma linha da entrada padrão ou do descritor de ficheiro FD\n"
" se a opção -u for usada. A linha é dividida em campos como na divisão\n"
-" de palavras e a primeira palavra é atribuída ao primeiro NOME, a "
-"segunda\n"
+" de palavras e a primeira palavra é atribuída ao primeiro NOME, a segunda\n"
" ao segundo NOME, e assim em diante, com quaisquer palavras que sobrem \n"
-" atribuídas ao último NOME. Só caracteres encontrados em $IFS são "
-"reconhecidos\n"
+" atribuídas ao último NOME. Só caracteres encontrados em $IFS são reconhecidos\n"
" como delimitadores de palavras.\n"
" \n"
" Se não indicar NOMEs, a linha é armazenada na variável RESPONDER.\n"
" \n"
" Opções:\n"
-" -a matriz\tatribui as palavras lidas a índices sequenciais da "
-"MATRIZ\n"
+" -a matriz\tatribui as palavras lidas a índices sequenciais da MATRIZ\n"
" \t\tcomeçando em zero\n"
-" -d delim\tcontinua até que o primeiro carácter de DELIM seja lido, "
-"em vez da\n"
+" -d delim\tcontinua até que o primeiro carácter de DELIM seja lido, em vez da\n"
" \t\tnova linha\n"
" -e\tuse Readline para obter a linha numa consola interactiva\n"
" -i texto\tuse TEXTO como texto inicial para Readline\n"
" -n ncars\tvoltar após ler NCARS caracteres em vez de esperar\n"
" \t\tpor nova linha, mas respeita um delimitador se estiver\n"
" \t\tantes de NCARS caracteres\n"
-" -N ncars\tvoltar após ler exactamente NCARS caracteres, a não ser "
-"que\n"
+" -N ncars\tvoltar após ler exactamente NCARS caracteres, a não ser que\n"
" \t\tEOF seja encontrado ou a leitura esteja inactiva, ignorando\n"
" \t\tqualquer delimitador\n"
" -p prompt\timprime PROMPT na saída sem nova linha final antes de\n"
@@ -3950,13 +3723,11 @@ msgstr ""
" -u fd\tler do descritor de ficheiro FD em vez da entrada padrão\n"
" \n"
" Estado de saída:\n"
-" O código devolvido é zero, a não ser que end-of-file seja encontrado, "
-"haja\n"
-" inacção (caso em que é maior que 128), ocorra um erro de atribuição de "
-"variável,\n"
+" O código devolvido é zero, a não ser que end-of-file seja encontrado, haja\n"
+" inacção (caso em que é maior que 128), ocorra um erro de atribuição de variável,\n"
" ou seja indicado um descritor de ficheiro inválido como argumento de -u."
-#: builtins.c:1035
+#: builtins.c:1034
msgid ""
"Return from a shell function.\n"
" \n"
@@ -3974,10 +3745,9 @@ msgstr ""
" executado dentro da função ou script.\n"
" \n"
" Estado de saída:\n"
-" Devolve N, ou falha se a consola não estiver a executar uma função ou "
-"script."
+" Devolve N, ou falha se a consola não estiver a executar uma função ou script."
-#: builtins.c:1048
+#: builtins.c:1047
msgid ""
"Set or unset values of shell options and positional parameters.\n"
" \n"
@@ -4020,8 +3790,7 @@ msgid ""
" physical same as -P\n"
" pipefail the return value of a pipeline is the status of\n"
" the last command to exit with a non-zero status,\n"
-" or zero if no command exited with a non-zero "
-"status\n"
+" or zero if no command exited with a non-zero status\n"
" posix change the behavior of bash where the default\n"
" operation differs from the Posix standard to\n"
" match the standard\n"
@@ -4045,8 +3814,7 @@ msgid ""
" by default when the shell is interactive.\n"
" -P If set, do not resolve symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
-" -T If set, the DEBUG and RETURN traps are inherited by shell "
-"functions.\n"
+" -T If set, the DEBUG and RETURN traps are 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"
@@ -4070,12 +3838,10 @@ msgstr ""
" Opções:\n"
" -a Marca variáveis modificadas ou criadas para exportação.\n"
" -b Notifica o fim da tarefa imediatamente.\n"
-" -e Sai imediatamente se um comando sair com estado diferente de "
-"zero.\n"
+" -e Sai imediatamente se um comando sair com estado diferente de zero.\n"
" -f Desactiva geração de nome de ficheiro (globbing).\n"
" -h Recordar localização de comandos à medida que são procurados.\n"
-" -k Todos os argumentos de atribuição são colocados no ambiente para "
-"um\n"
+" -k Todos os argumentos de atribuição são colocados no ambiente para um\n"
" comando, não só os que precedem o nome do comando.\n"
" -m Activa o controlo de tarefas.\n"
" -n Lê comandos, mas não os executa.\n"
@@ -4092,8 +3858,7 @@ msgstr ""
" history activa histórico de comandos\n"
" ignoreeof a consola não sai após ler EOF\n"
" interactive-comments\n"
-" permite que comentários apareçam em "
-"comandos interactivos\n"
+" permite que comentários apareçam em comandos interactivos\n"
" keyword igual a -k\n"
" monitor igual a -m\n"
" noclobber igual a -C\n"
@@ -4104,16 +3869,11 @@ msgstr ""
" nounset igual a -u\n"
" onecmd igual a -t\n"
" physical igual a -P\n"
-" pipefail o valor devolvido de um pipeline é o estado "
-"do\n"
-" último comando a sair com estado não-"
-"zero,\n"
-" ou zero se nenhum saiu com estado não-"
-"zero\n"
-" posix altera o comportamento do bash onde a "
-"operação\n"
-" predefinida diferir da norma Posix para "
-"cumprir\n"
+" pipefail o valor devolvido de um pipeline é o estado do\n"
+" último comando a sair com estado não-zero,\n"
+" ou zero se nenhum saiu com estado não-zero\n"
+" posix altera o comportamento do bash onde a operação\n"
+" predefinida diferir da norma Posix para cumprir\n"
" a norma\n"
" privileged igual a -p\n"
" verbose igual a -v\n"
@@ -4122,28 +3882,24 @@ msgstr ""
" -p Activado sempre que as ID de utilizador reais e efectivas não\n"
" coincidam. Desactiva o processamento do ficheiro $ ENV e a \n"
" importação de funções da consola. Desligar esta opção faz com\n"
-" que os uid e gid efectivos sejam definidos para os uid e gid "
-"reais.\n"
+" que os uid e gid efectivos sejam definidos para os uid e gid reais.\n"
" -t Sair depois de ler e executar um comando.\n"
" -u Trata as variáveis ​​não definidas como erro ao substituir.\n"
" -v Imprime as linhas de entrada da consola à medida que são lidas.\n"
" -x Imprime comandos e seus argumentos à medida que são executados.\n"
" -B a consola realizará expansão de suporte\n"
-" -C Se definido, não permitir que ficheiros normais existentes "
-"sejam\n"
+" -C Se definido, não permitir que ficheiros normais existentes sejam\n"
" sobrescritos pelo redireccionamento da saída.\n"
" -E se definido, ERR é herdada pelas funções de consola.\n"
" -H Activa estilo ! de substituição do histórico. Esta bandeira\n"
" está activada por predefinição, em consolas interativas.\n"
" -P Se definido, não resolve ligações simbólicas ao executar\n"
" comandos como \"cd\" que altera a pasta actual.\n"
-" -T Se definido, DEBUG e RETURN são herdadas por funções de "
-"consola.\n"
+" -T Se definido, DEBUG e RETURN são herdadas por funções de consola.\n"
" -- Atribui quaisquer outros argumentos aos parâmetros posicionais.\n"
" Se não houver mais argumentos, os parâmetros posicionais\n"
" são limpos.\n"
-" - Atribui quaisquer outros argumentos aos parâmetros "
-"posicionais.\n"
+" - Atribui quaisquer outros argumentos aos parâmetros posicionais.\n"
" As opções -x e -v são desactivadas.\n"
" \n"
" Usar + em vez de - faz com que as bandeiras sejam desactivadas. As\n"
@@ -4155,7 +3911,7 @@ msgstr ""
" Estado de saída:\n"
" Devolve sucesso a não ser que indique uma opção inválida."
-#: builtins.c:1133
+#: builtins.c:1132
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \n"
@@ -4167,8 +3923,7 @@ msgid ""
" -n\ttreat each NAME as a name reference and unset the variable itself\n"
" \t\trather than the variable it references\n"
" \n"
-" Without options, unset first tries to unset a variable, and if that "
-"fails,\n"
+" Without options, unset first tries to unset a variable, and if that fails,\n"
" tries to unset a function.\n"
" \n"
" Some variables cannot be unset; also see `readonly'.\n"
@@ -4192,16 +3947,14 @@ msgstr ""
" Algumas variáveis não podem ser limpas; veja também \"readonly\".\n"
" \n"
" Estado de saída:\n"
-" Devolve sucesso a não ser que indique uma opção inválida ou NOME seja "
-"só de leitura."
+" Devolve sucesso a não ser que indique uma opção inválida ou NOME seja só de leitura."
-#: builtins.c:1155
+#: builtins.c:1154
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"
+" executed commands. If VALUE is supplied, assign VALUE before exporting.\n"
" \n"
" Options:\n"
" -f\trefer to shell functions\n"
@@ -4216,8 +3969,7 @@ msgstr ""
"Define o atributo de exportação em variáveis de consola.\n"
" \n"
" Marca cada NOME para exportação automática para o ambiente de futuros\n"
-" comandos executados. Se VALOR for fornecido, atribui VALOR antes de "
-"exportar.\n"
+" comandos executados. Se VALOR for fornecido, atribui VALOR antes de exportar.\n"
" \n"
" Opções:\n"
" -f\trefere funções de consola\n"
@@ -4227,10 +3979,9 @@ msgstr ""
" Um argumento \"--\" desactiva futuro processamento da opção.\n"
" \n"
" Estado de saída:\n"
-" Devolve sucesso a não ser que indique uma opção inválida ou NOME seja "
-"inválido."
+" Devolve sucesso a não ser que indique uma opção inválida ou NOME seja inválido."
-#: builtins.c:1174
+#: builtins.c:1173
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
@@ -4260,17 +4011,15 @@ msgstr ""
" -a\trefere a variáveis de matriz indexadas\n"
" -A\trefere a variáveis de matriz associativas\n"
" -f\trefere a funções de consola\n"
-" -p\tmostra uma lista de todas as variáveis ou funções só de "
-"leitura,\n"
+" -p\tmostra uma lista de todas as variáveis ou funções só de leitura,\n"
" \t\tdependendo ou não se a opção -f é indicada\n"
" \n"
" Um argumento \"--\" desactiva futuro processamento da opção.\n"
" \n"
" Estado de saída:\n"
-" Devolve sucesso a não ser que indique uma opção inválida ou NOME seja "
-"inválido."
+" Devolve sucesso a não ser que indique uma opção inválida ou NOME seja inválido."
-#: builtins.c:1196
+#: builtins.c:1195
msgid ""
"Shift positional parameters.\n"
" \n"
@@ -4288,7 +4037,7 @@ msgstr ""
" Estado de saída:\n"
" Devolve sucesso a não ser que N seja negativo ou maior que $#."
-#: builtins.c:1208 builtins.c:1223
+#: builtins.c:1207 builtins.c:1222
msgid ""
"Execute commands from a file in the current shell.\n"
" \n"
@@ -4312,7 +4061,7 @@ msgstr ""
" Devolve o estado do último comando executado em NOMEFICH; falha se\n"
" NOMEFICH não pode ser lido."
-#: builtins.c:1239
+#: builtins.c:1238
msgid ""
"Suspend shell execution.\n"
" \n"
@@ -4334,10 +4083,9 @@ msgstr ""
" -f\tforçar a suspensão, mesmo que seja uma consola com sessão\n"
" \n"
" Estado de saída:\n"
-" Devolve sucesso a não ser que o controlo de tarefa esteja inactivo ou "
-"ocorra um erro."
+" Devolve sucesso a não ser que o controlo de tarefa esteja inactivo ou ocorra um erro."
-#: builtins.c:1255
+#: builtins.c:1254
msgid ""
"Evaluate conditional expression.\n"
" \n"
@@ -4371,8 +4119,7 @@ msgid ""
" -x FILE True if the file is executable by you.\n"
" -O FILE True if the file is effectively owned by you.\n"
" -G FILE True if the file is effectively owned by your group.\n"
-" -N FILE True if the file has been modified since it was last "
-"read.\n"
+" -N FILE True if the file has been modified since it was last read.\n"
" \n"
" FILE1 -nt FILE2 True if file1 is newer than file2 (according to\n"
" modification date).\n"
@@ -4393,8 +4140,7 @@ msgid ""
" STRING1 != STRING2\n"
" True if the strings are not equal.\n"
" STRING1 < STRING2\n"
-" True if STRING1 sorts before STRING2 "
-"lexicographically.\n"
+" True if STRING1 sorts before STRING2 lexicographically.\n"
" STRING1 > STRING2\n"
" True if STRING1 sorts after STRING2 lexicographically.\n"
" \n"
@@ -4422,10 +4168,8 @@ msgstr ""
"Avalia a expressão condicional.\n"
" \n"
" Sai com estado 0 (verdadeiro) ou 1 (falso) dependendo da\n"
-" avaliação de EXPR. As expressões podem ser unárias ou binárias. "
-"Expressões\n"
-" uinárias são frequentemente usadas para examinar o estado de um "
-"ficheiro. Há\n"
+" avaliação de EXPR. As expressões podem ser unárias ou binárias. Expressões\n"
+" uinárias são frequentemente usadas para examinar o estado de um ficheiro. Há\n"
" também operadores de cadeias e operadores de comparação numérica.\n"
" \n"
" O comportamento do teste depende do número de argumentos. Leia a\n"
@@ -4435,17 +4179,14 @@ msgstr ""
" \n"
" -a FICHEIRO Verdadeiro se o ficheiro existir.\n"
" -b FICHEIRO Verdadeiro se o ficheiro for bloqueio especial.\n"
-" -c FICHEIRO Verdadeiro se o ficheiro for especial de "
-"caracteres.\n"
+" -c FICHEIRO Verdadeiro se o ficheiro for especial de caracteres.\n"
" -d FICHEIRO Verdadeiro se o ficheiro for uma pasta.\n"
" -e FICHEIRO Verdadeiro se o ficheiro existir.\n"
-" -f FICHEIRO Verdadeiro se o ficheiro existe e é um ficheiro "
-"normal.\n"
+" -f FICHEIRO Verdadeiro se o ficheiro existe e é um ficheiro normal.\n"
" -g FICHEIRO Verdadeiro se o ficheiro for set-group-id.\n"
" -h FICHEIRO Verdadeiro se o ficheiro for uma ligação simbólica.\n"
" -L FICHEIRO Verdadeiro se o ficheiro for uma ligação simbólica.\n"
-" -k FICHEIRO Verdadeiro se o ficheiro tiver o bit \"sticky\" "
-"definido.\n"
+" -k FICHEIRO Verdadeiro se o ficheiro tiver o bit \"sticky\" definido.\n"
" -p FICHEIRO Verdadeiro se o ficheiro for um pipe com nome.\n"
" -r FICHEIRO Verdadeiro se o ficheiro for legível.\n"
" -s FICHEIRO Verdadeiro se o ficheiro existe e não está vazio.\n"
@@ -4454,23 +4195,16 @@ msgstr ""
" -u FICHEIRO Verdadeiro se o ficheiro for set-user-id.\n"
" -w FICHEIRO Verdadeiro se o ficheiro for gravável por si.\n"
" -x FICHEIRO Verdadeiro se o ficheiro for executável por si.\n"
-" -O FICHEIRO Verdadeiro se o ficheiro for efectivamente sua "
-"propriedade.\n"
-" -G FICHEIRO Verdadeiro se o ficheiro for efectivamente "
-"propriedade do seu grupo.\n"
-" -N FICHEIRO Verdadeiro se o ficheiro foi modificado desde a "
-"última vez que foi lido.\n"
+" -O FICHEIRO Verdadeiro se o ficheiro for efectivamente sua propriedade.\n"
+" -G FICHEIRO Verdadeiro se o ficheiro for efectivamente propriedade do seu grupo.\n"
+" -N FICHEIRO Verdadeiro se o ficheiro foi modificado desde a última vez que foi lido.\n"
" \n"
-" FICHEIRO1 -nt FICHEIRO2 Verdadeiro se o ficheiro1 for mais novo "
-"que\n"
-" o ficheiro2 (de acordo com a data "
-"de modificação).\n"
+" FICHEIRO1 -nt FICHEIRO2 Verdadeiro se o ficheiro1 for mais novo que\n"
+" o ficheiro2 (de acordo com a data de modificação).\n"
" \n"
-" FICHEIRO1 -ot FICHEIRO2 Verdadeiro se ficheiro1 for mais antigo que "
-"o ficheiro2.\n"
+" FICHEIRO1 -ot FICHEIRO2 Verdadeiro se ficheiro1 for mais antigo que o ficheiro2.\n"
" \n"
-" FICHEIRO1 -ef FICHEIRO2 Verdadeiro se ficheiro1 for uma ligação "
-"rígida a file2.\n"
+" FICHEIRO1 -ef FICHEIRO2 Verdadeiro se ficheiro1 for uma ligação rígida a file2.\n"
" \n"
" Operadores de cadeias:\n"
" \n"
@@ -4484,20 +4218,15 @@ msgstr ""
" CADEIA1 != CADEIA2\n"
" Verdadeiro se as cadeias não são iguais.\n"
" CADEIA1 < CADEIA2\n"
-" Verdadeiro se CADEIA1 ficar antes de CADEIA2 "
-"lexicamente.\n"
+" Verdadeiro se CADEIA1 ficar antes de CADEIA2 lexicamente.\n"
" CADEIA1 > CADEIA2\n"
-" Verdadeiro se CADEIA1 ficar após CADEIA2 "
-"lexicamente.\n"
+" Verdadeiro se CADEIA1 ficar após CADEIA2 lexicamente.\n"
" \n"
" Outros operadores:\n"
" \n"
-" -o OPÇÃO Verdadeiro se a opção de consola OPÇÃO está "
-"activada.\n"
-" -v VAR Verdadeiro se a variável de consola VAR estiver "
-"definida.\n"
-" -R VAR Verdadeiro se a variável de consola VAR estiver "
-"definida e for um nome\n"
+" -o OPÇÃO Verdadeiro se a opção de consola OPÇÃO está activada.\n"
+" -v VAR Verdadeiro se a variável de consola VAR estiver definida.\n"
+" -R VAR Verdadeiro se a variável de consola VAR estiver definida e for um nome\n"
" referência.\n"
" ! EXPR Verdadeiro se EXPR for falso.\n"
" EXPR1 -a EXPR2 Verdadeiro se EXPR1 e EXPR2 forem verdadeiros.\n"
@@ -4506,17 +4235,15 @@ msgstr ""
" arg1 OP arg2 Testes aritméticos. OP é um de -eq, -ne,\n"
"  -lt, -le, -gt, ou -ge.\n"
" \n"
-" Operadores binários aritméticos devolvem verdadeiro se ARG1 for igual, "
-"não\n"
+" Operadores binários aritméticos devolvem verdadeiro se ARG1 for igual, não\n"
" igual, menor que, menor ou igual que, maior que ou maior ou igual que\n"
" ARG2.\n"
" \n"
" Estado de saída:\n"
-" Devolve sucesso se EXPR for avaliada como verdadeiro; falha se EXPR "
-"for\n"
+" Devolve sucesso se EXPR for avaliada como verdadeiro; falha se EXPR for\n"
" avaliado como falso ou for indicado um argumento inválido."
-#: builtins.c:1337
+#: builtins.c:1336
msgid ""
"Evaluate conditional expression.\n"
" \n"
@@ -4528,12 +4255,11 @@ msgstr ""
" Este é um sinónimo para o interno \"test\", mas o último argumento tem\n"
" de ser um \"]\" literal, para fechar o \"[\" aberto."
-#: builtins.c:1346
+#: builtins.c:1345
msgid ""
"Display process times.\n"
" \n"
-" Prints the accumulated user and system times for the shell and all of "
-"its\n"
+" Prints the accumulated user and system times for the shell and all of its\n"
" child processes.\n"
" \n"
" Exit Status:\n"
@@ -4541,19 +4267,17 @@ msgid ""
msgstr ""
"Mostrar tempos de processo.\n"
" \n"
-" Imprime os tempos acumulados de utilizador e sistema para a consola e "
-"todos\n"
+" Imprime os tempos acumulados de utilizador e sistema para a consola e todos\n"
" os seus processos-filho.\n"
" \n"
" Estado de saída:\n"
" Sempre com sucesso."
-#: builtins.c:1358
+#: builtins.c:1357
msgid ""
"Trap signals and other events.\n"
" \n"
-" Defines and activates handlers to be run when the shell receives "
-"signals\n"
+" Defines and activates handlers to be run when the shell receives signals\n"
" or other conditions.\n"
" \n"
" ARG is a command to be read and executed when the shell receives the\n"
@@ -4562,34 +4286,26 @@ msgid ""
" 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"
+" 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"
+" If no arguments are supplied, trap prints the list of commands associated\n"
" with each signal.\n"
" \n"
" Options:\n"
" -l\tprint a list of signal names and their corresponding numbers\n"
" -p\tdisplay the trap commands associated with each SIGNAL_SPEC\n"
" \n"
-" Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal "
-"number.\n"
+" Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal number.\n"
" Signal names are case insensitive and the SIG prefix is optional. A\n"
" signal may be sent to the shell with \"kill -signal $$\".\n"
" \n"
" Exit Status:\n"
-" Returns success unless a SIGSPEC is invalid or an invalid option is "
-"given."
+" Returns success unless a SIGSPEC is invalid or an invalid option is given."
msgstr ""
"Capturar sinais e outros eventos.\n"
" \n"
@@ -4598,40 +4314,32 @@ msgstr ""
" \n"
" ARG é um comando a ser lido e executado quando a consola recebe o(s)\n"
" sinal(is) SIGNAL_SPEC. Se ARG estiver ausente (e um único SIGNAL_SPEC\n"
-" for fornecido) ou \"-\", cada sinal especificado é reposto no seu "
-"valor\n"
+" for fornecido) ou \"-\", cada sinal especificado é reposto no seu valor\n"
" original. Se ARG for a cadeia nula, cada SIGNAL_SPEC será ignorado\n"
" pela consola e pelos comandos que chama.\n"
" \n"
" Se um SIGNAL_SPEC for EXIT (0) ARG é executado na saída da consola. Se\n"
" SIGNAL_SPEC é DEBUG, ARG é executado antes de cada comando simples. Se\n"
-" SIGNAL_SPEC é RETURN, ARG é executado cada vez que uma função de "
-"consola\n"
-" ou um script executado pelo . ou os internos terminam a execução. "
-"SIGNAL_SPEC\n"
-" de ERR significa executar ARG cada vez que uma falha do comando faça "
-"com\n"
+" SIGNAL_SPEC é RETURN, ARG é executado cada vez que uma função de consola\n"
+" ou um script executado pelo . ou os internos terminam a execução. SIGNAL_SPEC\n"
+" de ERR significa executar ARG cada vez que uma falha do comando faça com\n"
" que a consola sair quando a opção -e está activa.\n"
" \n"
" Se nenhum argumento for fornecido, trap imprime a lista de comandos \n"
" associados a cada sinal.\n"
" \n"
" Opções:\n"
-" -l imprime uma lista de nomes de sinais e seus números "
-"correspondentes\n"
+" -l imprime uma lista de nomes de sinais e seus números correspondentes\n"
" -p mostra os comandos trap associados a cada SIGNAL_SPEC\n"
" \n"
-" Cada SIGNAL_SPEC é um nome de sinal em <signal.h> ou um número de "
-"sinal.\n"
-" Os nomes dos sinais são insensíveis a maiúsculas e o prefixo SIG é "
-"opcional.\n"
+" Cada SIGNAL_SPEC é um nome de sinal em <signal.h> ou um número de sinal.\n"
+" Os nomes dos sinais são insensíveis a maiúsculas e o prefixo SIG é opcional.\n"
" Um sinal pode ser enviado para a consola com \"kill -signal $$\".\n"
" \n"
" Estado de saída:\n"
-" Devolve sucesso a não ser que SIGSPEC seja inválido ou indique uma "
-"opção inválida."
+" Devolve sucesso a não ser que SIGSPEC seja inválido ou indique uma opção inválida."
-#: builtins.c:1394
+#: builtins.c:1393
msgid ""
"Display information about command type.\n"
" \n"
@@ -4657,8 +4365,7 @@ msgid ""
" 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."
+" Returns success if all of the NAMEs are found; fails if any are not found."
msgstr ""
"Mostra informações sobre o tipo de comando.\n"
" \n"
@@ -4675,10 +4382,8 @@ msgstr ""
" \t\tque seria executado\n"
" -p\tdevolve o nome do ficheiro em disco que seria executado,\n"
" \t\tou nada se \"type -t NOME\" não devolver \"file\"\n"
-" -t\tdevolve uma só palavra de entre \"alias\", \"keyword\", "
-"\"function\"\n"
-" \t\t\"builtin\", \"file\" ou \"\", se NOME for um aliás, palavra "
-"reservada\n"
+" -t\tdevolve uma só palavra de entre \"alias\", \"keyword\", \"function\"\n"
+" \t\t\"builtin\", \"file\" ou \"\", se NOME for um aliás, palavra reservada\n"
" \t\tda consola, função de consola, interno da consola, ficheiro em\n"
" \t\tdisco, ou não encontrados, respectivamente\n"
" \n"
@@ -4686,15 +4391,13 @@ msgstr ""
" Nome do comando NOME a interpretar.\n"
" \n"
" Estado de saída:\n"
-" Devolve sucesso se todos os NOMEs forem encontrados; falha se algum não "
-"for."
+" Devolve sucesso se todos os NOMEs forem encontrados; falha se algum não for."
-#: builtins.c:1425
+#: builtins.c:1424
msgid ""
"Modify shell resource limits.\n"
" \n"
-" Provides control over the resources available to the shell and "
-"processes\n"
+" Provides control over the resources available to the shell and processes\n"
" it creates, on systems that allow such control.\n"
" \n"
" Options:\n"
@@ -4739,8 +4442,7 @@ msgid ""
msgstr ""
"Modifica os limites de recursos da consola.\n"
" \n"
-" Fornece controlo sobre os recursos disponíveis para consola e "
-"processos\n"
+" Fornece controlo sobre os recursos disponíveis para consola e processos\n"
" que cria, em sistemas que permitem esse controlo.\n"
" \n"
" Opções:\n"
@@ -4751,8 +4453,7 @@ msgstr ""
" -c\to tamanho máximo dos ficheiros núcleo criados\n"
" -d\to tamanho máximo do segmento de dados de um processo\n"
" -e\ta prioridade máxima de agendamento (\"nice\")\n"
-" -f\to tamanho máximo dos ficheiros escritos pela consola e seus "
-"filhos\n"
+" -f\to tamanho máximo dos ficheiros escritos pela consola e seus filhos\n"
" -i\to número máximo de sinais pendentes\n"
" -k\to número máximo de kqueues alocados para este processo\n"
" -l\to tamanho máximo que um processo pode bloquear na memória\n"
@@ -4773,22 +4474,18 @@ msgstr ""
" \n"
" Se LIMIT for indicada, é o novo valor do recurso especificado; Os\n"
" valores LIMIT especiais \"soft\", \"hard\" e \"unlimited\" representam\n"
-" olimite flexível actual, o limite rígido actual e nenhum limite, "
-"respectivamente.\n"
+" olimite flexível actual, o limite rígido actual e nenhum limite, respectivamente.\n"
" Caso contrário, é imprimido o valor actual do recurso especificado. Se\n"
" nenhuma opção for indicada, então -f é assumido.\n"
" \n"
-" Os valores estão em incrementos de 1024 bytes, exceto para -t, que é em "
-"segundos,\n"
-" -p, que é em incrementos de 512 bytes e -u, que é um número de "
-"processos\n"
+" Os valores estão em incrementos de 1024 bytes, exceto para -t, que é em segundos,\n"
+" -p, que é em incrementos de 512 bytes e -u, que é um número de processos\n"
" sem escala.\n"
" \n"
" Estado de saída:\n"
-" Devolve sucesso a não ser que seja indicada uma opção inválida ou "
-"ocorra um erro."
+" Devolve sucesso a não ser que seja indicada uma opção inválida ou ocorra um erro."
-#: builtins.c:1475
+#: builtins.c:1474
msgid ""
"Display or set file mode mask.\n"
" \n"
@@ -4807,94 +4504,74 @@ msgid ""
msgstr ""
"Mostrar ou definir a máscara do modo de ficheiro.\n"
" \n"
-" Define a máscara do utilizador de criação de ficheiro para MODO. Se "
-"MODO\n"
+" Define a máscara do utilizador de criação de ficheiro para MODO. Se MODO\n"
" for omitido, imprime o valor actual da máscara.\n"
" \n"
" Se MODO começa com um dígito, é interpretado como um número octal;\n"
-" caso contrário, é uma cadeia de modo simbólico como a aceite por chmod"
-"(1).\n"
+" caso contrário, é uma cadeia de modo simbólico como a aceite por chmod(1).\n"
" \n"
" Opções:\n"
-" -p\tse MODO for omitido, saída de forma a que possa ser reutilizado "
-"como entrada\n"
-" -S\ttorna a saída simbólica; caso contrário, a saída é um número "
-"octal\n"
+" -p\tse MODO for omitido, saída de forma a que possa ser reutilizado como entrada\n"
+" -S\ttorna a saída simbólica; caso contrário, a saída é um número octal\n"
" \n"
" Estado de saída:\n"
-" Devolve sucesso a não ser que MODO seja inválido ou indique uma opção "
-"inválida."
+" Devolve sucesso a não ser que MODO seja inválido ou indique uma opção inválida."
-#: builtins.c:1495
-#, fuzzy
+#: builtins.c:1494
msgid ""
"Wait for job completion and return exit status.\n"
" \n"
-" Waits for each process identified by an ID, which may be a process ID or "
-"a\n"
+" Waits for each process identified by an 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 job specification, waits for all processes\n"
+" status is zero. If ID is a a job specification, waits for all processes\n"
" in that job's pipeline.\n"
" \n"
" If the -n option is supplied, waits for the next job to terminate and\n"
" returns its exit status.\n"
" \n"
-" If the -f option is supplied, and job control is enabled, waits for the\n"
-" specified ID to terminate, instead of waiting for it to change status.\n"
-" \n"
" Exit Status:\n"
" Returns the status of the last ID; fails if ID is invalid or an invalid\n"
" option is given."
msgstr ""
"Aguarda a conclusão da tarefa e devolve o estado de saída.\n"
" \n"
-" Espera por cada processo identificado por uma ID, que pode ser uma ID "
-"de\n"
-" processo ou uma especificação de tarefa e reporta o estado final. Se "
-"não\n"
-" for dada uma ID, aguarda por todos os processos-filho actualmente "
-"activos e o\n"
-" estado de saída é zero. Se ID for uma especificação de tarefa, espera "
-"por\n"
+" Espera por cada processo identificado por uma ID, que pode ser uma ID de\n"
+" processo ou uma especificação de tarefa e reporta o estado final. Se não\n"
+" for dada uma ID, aguarda por todos os processos-filho actualmente activos e o\n"
+" estado de saída é zero. Se ID for uma especificação de tarefa, espera por\n"
" todos os processos no pipeline da tarefa.\n"
" \n"
" Se a opção -n for fornecida, espera que a próxima tarefa termine e\n"
" devolve seu estado de saída.\n"
" \n"
" Estado de saída:\n"
-" Devolve o estado da última ID; falha se a ID for inválido ou for "
-"indicada\n"
+" Devolve o estado da última ID; falha se a ID for inválido ou for indicada\n"
" uma opção inválida."
-#: builtins.c:1519
+#: builtins.c:1515
msgid ""
"Wait for process completion and return exit status.\n"
" \n"
-" Waits for each process specified by a PID and reports its termination "
-"status.\n"
+" Waits for each process specified by a PID and reports its termination status.\n"
" If PID is not given, waits for all currently active child processes,\n"
" and the return status is zero. PID must be a process ID.\n"
" \n"
" Exit Status:\n"
-" Returns the status of the last PID; fails if PID is invalid or an "
-"invalid\n"
+" Returns the status of the last PID; fails if PID is invalid or an invalid\n"
" option is given."
msgstr ""
"Aguarda a conclusão do processo e devolve o estado de saída.\n"
" \n"
-" Espera por cada processo especificado por uma PID e reporta o estado "
-"final.\n"
-" Se PID não for dada, aguarda por todos os processos-filho actualmente "
-"activos,\n"
+" Espera por cada processo especificado por uma PID e reporta o estado final.\n"
+" Se PID não for dada, aguarda por todos os processos-filho actualmente activos,\n"
" e o estado devolvido é zero. A PID tem de ser uma ID de processo.\n"
" \n"
" Estado de saída:\n"
-" Devolve o estado da última PID; falha se PID for inválido ou for "
-"indicada\n"
+" Devolve o estado da última PID; falha se PID for inválido ou for indicada\n"
" uma opção inválida."
-#: builtins.c:1534
+#: builtins.c:1530
msgid ""
"Execute commands for each member in a list.\n"
" \n"
@@ -4908,18 +4585,15 @@ msgid ""
msgstr ""
"Executa comandos para cada membro numa lista.\n"
" \n"
-" O ciclo \"for\" executa uma seqüência de comandos para cada membro "
-"numa\n"
-" lista de itens. Se \"in PALAVRAS ...;\" não estiver presente, \" in \"$@"
-"\" \" é\n"
-" assumido. Para cada elemento em PALAVRAS, NOME está definido para "
-"esseelemento,\n"
+" O ciclo \"for\" executa uma seqüência de comandos para cada membro numa\n"
+" lista de itens. Se \"in PALAVRAS ...;\" não estiver presente, \" in \"$@\" \" é\n"
+" assumido. Para cada elemento em PALAVRAS, NOME está definido para esseelemento,\n"
" e os COMANDOS são executados.\n"
" \n"
" Estado de saída:\n"
" Devolve o estado do último comando executado."
-#: builtins.c:1548
+#: builtins.c:1544
msgid ""
"Arithmetic for loop.\n"
" \n"
@@ -4943,14 +4617,13 @@ msgstr ""
" \t\tCOMANDOS\n"
" \t\t(( EXP3 ))\n"
" \tdone\n"
-" EXP1, EXP2 e EXP3 são expressões aritméicas. Se alguma delas for "
-"omitida\n"
+" EXP1, EXP2 e EXP3 são expressões aritméicas. Se alguma delas for omitida\n"
" comporta-se como se fosse avaliada como 1.\n"
" \n"
" Estado de saída:\n"
" Devolve o estado do último comando executado."
-#: builtins.c:1566
+#: builtins.c:1562
msgid ""
"Select words from a list and execute commands.\n"
" \n"
@@ -4986,7 +4659,7 @@ msgstr ""
" Estado de saída:\n"
" Devolve o estado do último comando executado."
-#: builtins.c:1587
+#: builtins.c:1583
msgid ""
"Report time consumed by pipeline's execution.\n"
" \n"
@@ -5004,8 +4677,7 @@ msgstr ""
"Reporta o tempo consumido pela execução do pipeline.\n"
" \n"
" Executa PIPELINE e imprime um resumo do tempo real, tempo de CPU do,\n"
-" utilizador e tempo de CPU do sistema na execução de PIPELINE quando "
-"terminar.\n"
+" utilizador e tempo de CPU do sistema na execução de PIPELINE quando terminar.\n"
" \n"
" Opções:\n"
" -p\timprime o resumo do tempo no formato portátil Posix\n"
@@ -5015,7 +4687,7 @@ msgstr ""
" Estado de saída:\n"
" O estado devolvido é o estado de PIPELINE."
-#: builtins.c:1604
+#: builtins.c:1600
msgid ""
"Execute commands based on pattern matching.\n"
" \n"
@@ -5033,21 +4705,16 @@ msgstr ""
" Estado de saída:\n"
" Devolve o estado do último comando executado."
-#: builtins.c:1616
+#: builtins.c:1612
msgid ""
"Execute commands based on conditional.\n"
" \n"
-" The `if COMMANDS' list is executed. If its exit status is zero, then "
-"the\n"
-" `then COMMANDS' list is executed. Otherwise, each `elif COMMANDS' list "
-"is\n"
+" The `if COMMANDS' list is executed. If its exit status is zero, then the\n"
+" `then COMMANDS' list is executed. Otherwise, each `elif COMMANDS' list is\n"
" executed in turn, and if its exit status is zero, the corresponding\n"
-" `then COMMANDS' list is executed and the if command completes. "
-"Otherwise,\n"
-" the `else COMMANDS' list is executed, if present. The exit status of "
-"the\n"
-" entire construct is the exit status of the last command executed, or "
-"zero\n"
+" `then COMMANDS' list is executed and the if command completes. Otherwise,\n"
+" the `else COMMANDS' list is executed, if present. The exit status of the\n"
+" entire construct is the exit status of the last command executed, or zero\n"
" if no condition tested true.\n"
" \n"
" Exit Status:\n"
@@ -5056,22 +4723,17 @@ msgstr ""
"Executa comandos com base em condicional.\n"
" \n"
" A lista \"if COMANDOS\" é executada. Se o estado de saída for zero, é\n"
-" executada a lista \"then COMANDOS\". Caso contrário, cada lista \"elif "
-"COMANDOS\"\n"
-" é executado por sua vez e se o estado de saída for zero, a "
-"correspondente\n"
-" lista \"then COMANDOS\" é executada e o comando if é concluído. De "
-"outra forma,\n"
-" a lista \"else COMANDOS\" é executada, se presente. O estado de saída "
-"da\n"
-" construção inteira é o estado de saída do último comando executado, ou "
-"zero\n"
+" executada a lista \"then COMANDOS\". Caso contrário, cada lista \"elif COMANDOS\"\n"
+" é executado por sua vez e se o estado de saída for zero, a correspondente\n"
+" lista \"then COMANDOS\" é executada e o comando if é concluído. De outra forma,\n"
+" a lista \"else COMANDOS\" é executada, se presente. O estado de saída da\n"
+" construção inteira é o estado de saída do último comando executado, ou zero\n"
" se nenhuma condição for verdadeira.\n"
" \n"
" Estado de saída:\n"
" Devolve o estado do último comando executado."
-#: builtins.c:1633
+#: builtins.c:1629
msgid ""
"Execute commands as long as a test succeeds.\n"
" \n"
@@ -5089,7 +4751,7 @@ msgstr ""
" Estado de saída:\n"
" Devolve o estado do último comando executado."
-#: builtins.c:1645
+#: builtins.c:1641
msgid ""
"Execute commands as long as a test does not succeed.\n"
" \n"
@@ -5107,7 +4769,7 @@ msgstr ""
" Estado de saída:\n"
" Devolve o estado do último comando executado."
-#: builtins.c:1657
+#: builtins.c:1653
msgid ""
"Create a coprocess named NAME.\n"
" \n"
@@ -5121,8 +4783,7 @@ msgid ""
msgstr ""
"Cria um co-processo chamado NOME.\n"
" \n"
-" Executa COMANDO assincronamente, com a saída e a entrada padrão "
-"ligadas\n"
+" Executa COMANDO assincronamente, com a saída e a entrada padrão ligadas\n"
" via pipe a descritores de ficheiro atribuídos a índices 0 e 1 de uma \n"
" variável de matriz NOME na consola em execução.\n"
" O NOME predefinido é \"COPROC\".\n"
@@ -5130,13 +4791,12 @@ msgstr ""
" Estado de saída:\n"
" O comando coproc devolve um estado de saída 0."
-#: builtins.c:1671
+#: builtins.c:1667
msgid ""
"Define shell function.\n"
" \n"
" Create a shell function named NAME. When invoked as a simple command,\n"
-" NAME runs COMMANDs in the calling shell's context. When NAME is "
-"invoked,\n"
+" NAME runs COMMANDs in the calling shell's context. When NAME is invoked,\n"
" the arguments are passed to the function as $1...$n, and the function's\n"
" name is in $FUNCNAME.\n"
" \n"
@@ -5153,7 +4813,7 @@ msgstr ""
" Estado de saída:\n"
" Devolve sucesso a não ser que NOME seja só de leitura."
-#: builtins.c:1685
+#: builtins.c:1681
msgid ""
"Group commands as a unit.\n"
" \n"
@@ -5171,7 +4831,7 @@ msgstr ""
" Estado de saída:\n"
" Devolve o estado do último comando executado."
-#: builtins.c:1697
+#: builtins.c:1693
msgid ""
"Resume job in foreground.\n"
" \n"
@@ -5195,7 +4855,7 @@ msgstr ""
" Estado de saída:\n"
" Devolve o estado da tarefa retomada."
-#: builtins.c:1712
+#: builtins.c:1708
msgid ""
"Evaluate arithmetic expression.\n"
" \n"
@@ -5213,16 +4873,13 @@ msgstr ""
" Estado de saída:\n"
" Devolve 1 se EXPRESSÃO avaliar como 0; senão, devolve 0."
-#: builtins.c:1724
+#: builtins.c:1720
msgid ""
"Execute conditional command.\n"
" \n"
-" Returns a status of 0 or 1 depending on the evaluation of the "
-"conditional\n"
-" expression EXPRESSION. Expressions are composed of the same primaries "
-"used\n"
-" by the `test' builtin, and may be combined using the following "
-"operators:\n"
+" Returns a status of 0 or 1 depending on the evaluation of the conditional\n"
+" expression EXPRESSION. Expressions are composed of the same primaries used\n"
+" by the `test' builtin, and may be combined using the following operators:\n"
" \n"
" ( EXPRESSION )\tReturns the value of EXPRESSION\n"
" ! EXPRESSION\t\tTrue if EXPRESSION is false; else false\n"
@@ -5243,29 +4900,22 @@ msgstr ""
"Executa o comando condicional.\n"
" \n"
" Devolve um estado de 0 ou 1, dependendo da avaliação da expressão\n"
-" condicional EXPRESSÃO. As expressões são compostas pelas mesmas "
-"primárias\n"
-" usadas pelo interno \"test\" e pode ser combinado com os seguintes "
-"operadores:\n"
+" condicional EXPRESSÃO. As expressões são compostas pelas mesmas primárias\n"
+" usadas pelo interno \"test\" e pode ser combinado com os seguintes operadores:\n"
" \n"
" ( EXPRESSÃO )\tDevolve o valor de EXPRESSÃO\n"
" ! EXPRESSÃO\t\tVerdadeiro se EXPRESSÃO for falsa; senão falso\n"
-" EXPR1 && EXPR2\tVerdadeiro se EXPR1 e EXPR2 forem verdadeiras; senão "
-"falso\n"
-" EXPR1 || EXPR2\tVerdadeiro se EXPR1 ou EXPR2 forem verdadeiras; "
-"senão falso\n"
-" \n"
-" Quando os operadores \"==\" e \"! =\" são usados, a cadeia à direita do "
-"operador\n"
-" é usada como padrão e é feita a comparação de padrões. Quando o "
-"operador \"= ~\"\n"
-" é usado, a cadeia à direita do operador é comparada como expressão "
-"regular.\n"
+" EXPR1 && EXPR2\tVerdadeiro se EXPR1 e EXPR2 forem verdadeiras; senão falso\n"
+" EXPR1 || EXPR2\tVerdadeiro se EXPR1 ou EXPR2 forem verdadeiras; senão falso\n"
+" \n"
+" Quando os operadores \"==\" e \"! =\" são usados, a cadeia à direita do operador\n"
+" é usada como padrão e é feita a comparação de padrões. Quando o operador \"= ~\"\n"
+" é usado, a cadeia à direita do operador é comparada como expressão regular.\n"
" \n"
" Os operadores && e || não avaliam EXPR2 se EXPR1 for suficiente para\n"
" determinar o valor da expressão."
-#: builtins.c:1750
+#: builtins.c:1746
msgid ""
"Common shell variable names and usage.\n"
" \n"
@@ -5323,11 +4973,9 @@ msgstr ""
" BASH_VERSION\tInformações de versão para esta bash.\n"
" CDPATH\tUma lista de pastas separadas por \":\" para procurar\n"
" \t\tpor pastas dadas como argumentos a \"cd\".\n"
-" GLOBIGNORE\tUma lista de padrões separada por \":\" que descreve nomes "
-"de\n"
+" GLOBIGNORE\tUma lista de padrões separada por \":\" que descreve nomes de\n"
" ficheiro a ignorar pela expansão do nome do caminho.\n"
-" HISTFILE\tNome de ficheiro onde o seu histórico de comandos é "
-"armazenado.\n"
+" HISTFILE\tNome de ficheiro onde o seu histórico de comandos é armazenado.\n"
" HISTFILESIZE\tNúmero máximo de linhas que este ficheiro pode conter.\n"
" HISTSIZE\tNúmero máximo de linhas de histórico a que uma consola em \n"
" \t\texecução pode aceder.\n"
@@ -5340,8 +4988,7 @@ msgstr ""
" \t\tvazia antes que a consola saia (predefinição 10).\n"
" \t\tQuando não definido, EOF significa o fim da entrada.\n"
" MACHTYPE\tDescrição do sistema actual em que a bash está em execução.\n"
-" MAILCHECK\tFrequência, em segundos, com que a bash procura novo "
-"correio.\n"
+" MAILCHECK\tFrequência, em segundos, com que a bash procura novo correio.\n"
" MAILPATH\tLista de ficheiros separados por \":\" onde a bash procura\n"
" \t\tnovas mensagens.\n"
" OSTYPE\tVersão Unix em que esta versão da bash está em execução.\n"
@@ -5364,17 +5011,15 @@ msgstr ""
" \t\t\"substring\" significa que a palavra de comando deve ser igual\n"
" \t\ta uma sub-cadeia da tarefa. Qualquer outro valor significa que\n"
" \t\to comando deve ser um prefixo de uma tarefa interrompida.\n"
-" histchars\tCaracteres que controlam a expansão do histórico e "
-"substituições\n"
+" histchars\tCaracteres que controlam a expansão do histórico e substituições\n"
" \t\trápidas. O primeiro carácter é o carácter de subtituição do\n"
" \t\thistórico, normalmente \"!\". O 2º é o de substituição rápida,\n"
" \t\thabitualmente \"^\". O terceiro é o comentário do histórico,\n"
" \t\tnormalmente \"#\".\n"
-" HISTIGNORE\tLista de padrões separada por \":\" usados para decidir "
-"quais\n"
+" HISTIGNORE\tLista de padrões separada por \":\" usados para decidir quais\n"
" \t\tos comandos que devem ser gravados na lista de histórico.\n"
-#: builtins.c:1807
+#: builtins.c:1803
msgid ""
"Add directories to stack.\n"
" \n"
@@ -5432,7 +5077,7 @@ msgstr ""
" Devolve sucesso a não ser que indique um argumento inválido ou a\n"
" troca de pastas falhe."
-#: builtins.c:1841
+#: builtins.c:1837
msgid ""
"Remove directories from stack.\n"
" \n"
@@ -5482,7 +5127,7 @@ msgstr ""
" Devolve sucesso a não ser que indique um argumento inválido ou a troca\n"
" de pastas falhe."
-#: builtins.c:1871
+#: builtins.c:1867
msgid ""
"Display directory stack.\n"
" \n"
@@ -5534,17 +5179,15 @@ msgstr ""
" \t\tpor zero.\n"
" \n"
" Estado de saída:\n"
-" Devolve sucesso a não ser que indique uma opção inválida ou ocorra um "
-"erro"
+" Devolve sucesso a não ser que indique uma opção inválida ou ocorra um erro"
-#: builtins.c:1902
-#, fuzzy
+#: builtins.c:1898
msgid ""
"Set and unset shell options.\n"
" \n"
" Change the setting of each shell option OPTNAME. Without any option\n"
-" arguments, list each supplied OPTNAME, or all shell options if no\n"
-" OPTNAMEs are given, with an indication of whether or not each is set.\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"
@@ -5574,7 +5217,7 @@ msgstr ""
" Devolve sucesso se OPTNOME estiver activado; falha se indicar uma opção\n"
" inválida ou OPTNOME esteja desactivada."
-#: builtins.c:1923
+#: builtins.c:1919
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
" \n"
@@ -5582,34 +5225,27 @@ msgid ""
" -v var\tassign the output to shell variable VAR rather than\n"
" \t\tdisplay it on the standard output\n"
" \n"
-" FORMAT is a character string which contains three types of objects: "
-"plain\n"
-" characters, which are simply copied to standard output; character "
-"escape\n"
+" FORMAT is a character string which contains three types of objects: plain\n"
+" characters, which are simply copied to standard output; character escape\n"
" sequences, which are converted and copied to the standard output; and\n"
-" format specifications, each of which causes printing of the next "
-"successive\n"
+" format specifications, each of which causes printing of the next successive\n"
" argument.\n"
" \n"
-" In addition to the standard format specifications described in printf"
-"(1),\n"
+" In addition to the standard format specifications described in printf(1),\n"
" 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\toutput the date-time string resulting from using FMT as a "
-"format\n"
+" %(fmt)T\toutput the date-time string resulting from using FMT as a format\n"
" \t string for strftime(3)\n"
" \n"
" The format is re-used as necessary to consume all of the arguments. If\n"
" there are fewer arguments than the format requires, extra format\n"
-" specifications behave as if a zero value or null string, as "
-"appropriate,\n"
+" specifications behave as if a zero value or null string, as appropriate,\n"
" had been supplied.\n"
" \n"
" Exit Status:\n"
-" Returns success unless an invalid option is given or a write or "
-"assignment\n"
+" Returns success unless an invalid option is given or a write or assignment\n"
" error occurs."
msgstr ""
"Formata e imprime ARGUMENTOS sob controlo do FORMATO.\n"
@@ -5620,43 +5256,33 @@ msgstr ""
" \n"
" FORMATO é uma cadeia de caracteres que contém três tipos de objectos: \n"
" caracteres simples, que são simplesmente copiados para a saída padrão;\n"
-" sequências de escape, que são convertidas e copiadas para a saída "
-"padrão; e\n"
-" especificações de formato, cada uma das quais causa a impressão do "
-"argumento\n"
+" sequências de escape, que são convertidas e copiadas para a saída padrão; e\n"
+" especificações de formato, cada uma das quais causa a impressão do argumento\n"
" sucessivo seguinte.\n"
" \n"
" Além das especificações de formato padrão descritas em printf (1),\n"
" printf interpreta:\n"
" \n"
" %b\texpande sequências de escape para o argumento correspondente\n"
-" %q\tcita o argumento de forma a ser reutilizado como entrada de "
-"consola\n"
-" %(fmt)T\timprime a cadeia de data-hora resultante da utilização do "
-"FMT\n"
+" %q\tcita o argumento de forma a ser reutilizado como entrada de consola\n"
+" %(fmt)T\timprime a cadeia de data-hora resultante da utilização do FMT\n"
" \t\tcomo formato para strftime(3)\n"
" \n"
-" O formato é reutilizado conforme necessário para consumir todos os "
-"argumentos.\n"
-" E se há menos argumentos do que o formato requer, especificações de "
-"formato\n"
-" extra comportam-se como um valor zero ou uma cadeia nula, conforme "
-"apropriado,\n"
+" O formato é reutilizado conforme necessário para consumir todos os argumentos.\n"
+" E se há menos argumentos do que o formato requer, especificações de formato\n"
+" extra comportam-se como um valor zero ou uma cadeia nula, conforme apropriado,\n"
" tenha sido fornecido.\n"
" \n"
" Estado de saída:\n"
-" Devolve sucesso a não ser que indique uma opção inválida ou ocorra um "
-"erro de\n"
+" Devolve sucesso a não ser que indique uma opção inválida ou ocorra um erro de\n"
" escrita ou atribuição."
-#: builtins.c:1957
+#: builtins.c:1953
msgid ""
"Specify how arguments are to be completed by Readline.\n"
" \n"
-" For each NAME, specify how arguments are to be completed. If no "
-"options\n"
-" are supplied, existing completion specifications are printed in a way "
-"that\n"
+" For each NAME, specify how arguments are to be completed. If no options\n"
+" are supplied, existing completion specifications are printed in a way that\n"
" allows them to be reused as input.\n"
" \n"
" Options:\n"
@@ -5677,15 +5303,12 @@ msgid ""
msgstr ""
"Especifica como os argumentos devem ser concluídos por Readline.\n"
" \n"
-" Para cada NOME, especifica como os argumentos devem ser concluídos. Se "
-"não \n"
-" fornecer opções, as especificações de conclusão existentes são "
-"imprimidas\n"
+" Para cada NOME, especifica como os argumentos devem ser concluídos. Se não \n"
+" fornecer opções, as especificações de conclusão existentes são imprimidas\n"
" de forma a permitir que sejam reutilizados como entrada.\n"
" \n"
" Opções:\n"
-" -p\timprime especificações de conclusão existentes em formato "
-"reutilizável\n"
+" -p\timprime especificações de conclusão existentes em formato reutilizável\n"
" -r\tremove uma especificação de conclusão para cada NOME, ou, se não\n"
" \t\tforneceu NOMEs, todas as especificações de conclusão\n"
" -D\taplicar as conclusões e acções como predefinição para comandos\n"
@@ -5697,13 +5320,12 @@ msgstr ""
" as opções de letras maiúsculas estão listadas acima. A opção -D toma\n"
" precedência sobre -E."
-#: builtins.c:1985
+#: builtins.c:1981
msgid ""
"Display possible completions depending on the options.\n"
" \n"
" Intended to be used from within a shell function generating possible\n"
-" completions. If the optional WORD argument is supplied, matches "
-"against\n"
+" completions. If the optional WORD argument is supplied, matches against\n"
" WORD are generated.\n"
" \n"
" Exit Status:\n"
@@ -5716,19 +5338,15 @@ msgstr ""
" são geradas comparações com PALAVRA.\n"
" \n"
" Estado de saída:\n"
-" Devolve sucesso a não ser que indique uma opção inválida ou ocorra um "
-"erro."
+" Devolve sucesso a não ser que indique uma opção inválida ou ocorra um erro."
-#: builtins.c:2000
+#: builtins.c:1996
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"
+" 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"
@@ -5751,12 +5369,9 @@ msgid ""
msgstr ""
"Modifica ou mostra as opções de conclusão.\n"
" \n"
-" Modifica as opções de conclusão para cada NOME, ou, se não fornecer "
-"NOME,\n"
-" a conclusão actualmente em execução. Se nenhuma OPÇÃO for fornecida, "
-"imprime\n"
-" as opções de conclusão para cada NOME ou a especificação de conclusão "
-"actual.\n"
+" Modifica as opções de conclusão para cada NOME, ou, se não fornecer NOME,\n"
+" a conclusão actualmente em execução. Se nenhuma OPÇÃO for fornecida, imprime\n"
+" as opções de conclusão para cada NOME ou a especificação de conclusão actual.\n"
" \n"
" Opções:\n"
" \t-o opção\tDefinir opção de conclusão OPÇÃO para cada NOME\n"
@@ -5767,40 +5382,31 @@ msgstr ""
" \n"
" Argumentos:\n"
" \n"
-" Cada NOME refere-se a um comando para o qual uma especificação de "
-"conclusão\n"
-" deve ter sido anteriormente definida usando o interno \"complete\". Se "
-"não\n"
+" Cada NOME refere-se a um comando para o qual uma especificação de conclusão\n"
+" deve ter sido anteriormente definida usando o interno \"complete\". Se não\n"
" forneceu NOMEs, compopt tem de ser chamado por uma função actualmente a\n"
-" gerar conclusões e as opções para esse gerador de conclusões "
-"actualmente\n"
+" gerar conclusões e as opções para esse gerador de conclusões actualmente\n"
" em execução são modificadas.\n"
" \n"
" Estado de saída:\n"
-" Devolve sucesso a não ser que indique uma opção inválida ou NOME não "
-"tenha\n"
+" Devolve sucesso a não ser que indique uma opção inválida ou NOME não tenha\n"
" uma especificação de conclusão definida."
-#: builtins.c:2030
+#: builtins.c:2026
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"
+" 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"
" -d delim\tUse DELIM to terminate lines, instead of newline\n"
-" -n count\tCopy at most COUNT lines. If COUNT is 0, all lines are "
-"copied\n"
-" -O origin\tBegin assigning to ARRAY at index ORIGIN. The default "
-"index is 0\n"
+" -n count\tCopy at most COUNT lines. If COUNT is 0, all lines are copied\n"
+" -O origin\tBegin assigning to ARRAY at index ORIGIN. The default index is 0\n"
" -s count\tDiscard the first COUNT lines read\n"
" -t\tRemove a trailing DELIM from each line read (default newline)\n"
-" -u fd\tRead lines from file descriptor FD instead of the standard "
-"input\n"
+" -u fd\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\n"
" \t\t\tCALLBACK\n"
@@ -5813,31 +5419,25 @@ msgid ""
" 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"
+" 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"
+" Returns success unless an invalid option is given or ARRAY is readonly or\n"
" not an indexed array."
msgstr ""
"Lê linhas da entrada padrão para uma variável de matriz indexada.\n"
" \n"
-" Lê linhas da entrada padrão para a variável de matriz indexada MATRIZ, "
-"ou\n"
-" do descritor de ficheiro FD se a opção -u for fornecida. A variável "
-"MAPFILE\n"
+" Lê linhas da entrada padrão para a variável de matriz indexada MATRIZ, ou\n"
+" do descritor de ficheiro FD se a opção -u for fornecida. A variável MAPFILE\n"
" é a MATRIZ predefinida.\n"
" \n"
" Opções:\n"
" -d delim\tUsa DELIM para terminar as linhas, em vez de nova linha\n"
" -n total\tCopia no máximo TOTAL linhas. Se TOTAL for 0, copia todas\n"
-" -O origem\tComeça a atribuir a MATRIZ no índice ORIGEM. A predefinição "
-"é 0\n"
+" -O origem\tComeça a atribuir a MATRIZ no índice ORIGEM. A predefinição é 0\n"
" -s total\tDescarta as primeiras TOTAL linhas lidas\n"
-" -t\tRemove um DELIM inicial de cada linha lida (predefinição é nova "
-"linha)\n"
+" -t\tRemove um DELIM inicial de cada linha lida (predefinição é nova linha)\n"
" -u fd\tLê linhas do descritor de ficheiro FD em vez da entrada padrão\n"
" -C retorno\tAvalia RETORNO cada vez que QUANTUM linhas são lidas\n"
" -c quantum\tEspecifica o número de linhas lidas entre cada chamada a\n"
@@ -5851,16 +5451,14 @@ msgstr ""
" matriz a ser atribuído e a linha a ser atribuída a esse elemento\n"
" como argumentos adicionais.\n"
" \n"
-" Se não for fornecido com uma origem explícita, mapfile limpa MATRIZ "
-"antes\n"
+" Se não for fornecido com uma origem explícita, mapfile limpa MATRIZ antes\n"
" de lhe fazer atribuições.\n"
" \n"
" Estado de saída:\n"
-" Devolve sucesso a não ser que indique uma opção inválida, MATRIZ seja "
-"só\n"
+" Devolve sucesso a não ser que indique uma opção inválida, MATRIZ seja só\n"
" de leitura ou não seja uma matriz indexada."
-#: builtins.c:2066
+#: builtins.c:2062
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 2457fb95..3f4e799b 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -7,133 +7,131 @@ msgid ""
msgstr ""
"Project-Id-Version: bash 4.4\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-04-27 14:15-0400\n"
+"POT-Creation-Date: 2016-09-10 12:42-0400\n"
"PO-Revision-Date: 2016-10-04 06:47-0200\n"
"Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n"
-"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
-"net>\n"
+"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge.net>\n"
+"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: pt_BR\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Virtaal 0.7.1\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
-#: arrayfunc.c:58
+#: arrayfunc.c:54
msgid "bad array subscript"
msgstr "subscrito de array incorreto"
-#: arrayfunc.c:373 builtins/declare.def:618 variables.c:2188 variables.c:2214
-#: variables.c:2922
+#: arrayfunc.c:368 builtins/declare.def:574 variables.c:2092 variables.c:2118
+#: variables.c:2730
#, c-format
msgid "%s: removing nameref attribute"
msgstr "%s: removendo o atributo nameref"
-#: arrayfunc.c:398 builtins/declare.def:831
+#: arrayfunc.c:393 builtins/declare.def:780
#, c-format
msgid "%s: cannot convert indexed to associative array"
msgstr "%s: impossível converter array indexado para associativo"
-#: arrayfunc.c:582
+#: arrayfunc.c:578
#, c-format
msgid "%s: invalid associative array key"
msgstr "%s: chave de array associativo inválida"
-#: arrayfunc.c:584
+#: arrayfunc.c:580
#, c-format
msgid "%s: cannot assign to non-numeric index"
msgstr "%s: impossível atribuir a índice não numérico"
-#: arrayfunc.c:629
+#: arrayfunc.c:625
#, c-format
msgid "%s: %s: must use subscript when assigning associative array"
msgstr "%s: %s: deve usar subscrito ao atribuir um array associativo"
-#: bashhist.c:436
+#: bashhist.c:421
#, c-format
msgid "%s: cannot create: %s"
msgstr "%s: impossível criar: %s"
-#: bashline.c:4111
+#: bashline.c:4091
msgid "bash_execute_unix_command: cannot find keymap for command"
-msgstr ""
-"bash_execute_unix_command: impossível localizar mapa de teclas para comando"
+msgstr "bash_execute_unix_command: impossível localizar mapa de teclas para comando"
-#: bashline.c:4221
+#: bashline.c:4189
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
msgstr "%s: primeiro caractere não-espaço em branco não é `\"'"
-#: bashline.c:4250
+#: bashline.c:4218
#, c-format
msgid "no closing `%c' in %s"
msgstr "sem `%c' de fechamento em %s"
-#: bashline.c:4284
+#: bashline.c:4252
#, c-format
msgid "%s: missing colon separator"
msgstr "%s faltando separador dois-pontos"
-#: braces.c:331
+#: braces.c:329
#, c-format
msgid "brace expansion: cannot allocate memory for %s"
msgstr "expansão de chaves: impossível alocar memória para %s"
-#: braces.c:429
-#, fuzzy, c-format
-msgid "brace expansion: failed to allocate memory for %u elements"
+#: braces.c:427
+#, c-format
+msgid "brace expansion: failed to allocate memory for %d elements"
msgstr "expansão de chaves: falha ao alocar memória para %d elementos"
-#: braces.c:473
+#: braces.c:471
#, c-format
msgid "brace expansion: failed to allocate memory for `%s'"
msgstr "expansão de chaves: falha ao alocar memória para `%s'"
-#: builtins/alias.def:131
+#: builtins/alias.def:133
#, c-format
msgid "`%s': invalid alias name"
msgstr "`%s': nome de apelido (alias) inválido"
-#: builtins/bind.def:122 builtins/bind.def:125
+#: builtins/bind.def:123 builtins/bind.def:126
msgid "line editing not enabled"
msgstr "edição de linha não habilitada"
-#: builtins/bind.def:212
+#: builtins/bind.def:213
#, c-format
msgid "`%s': invalid keymap name"
msgstr "`%s': nome de mapa de teclas inválido"
-#: builtins/bind.def:252
+#: builtins/bind.def:253
#, c-format
msgid "%s: cannot read: %s"
msgstr "%s: impossível ler: %s"
-#: builtins/bind.def:304 builtins/bind.def:334
+#: builtins/bind.def:270
+#, c-format
+msgid "`%s': cannot unbind"
+msgstr "`%s': impossível desassociar (unbind)"
+
+#: builtins/bind.def:308 builtins/bind.def:338
#, c-format
msgid "`%s': unknown function name"
msgstr "`%s': nome de função desconhecida"
-#: builtins/bind.def:312
+#: builtins/bind.def:316
#, c-format
msgid "%s is not bound to any keys.\n"
msgstr "%s não está associada a qualquer tecla.\n"
-#: builtins/bind.def:316
+#: builtins/bind.def:320
#, c-format
msgid "%s can be invoked via "
msgstr "%s pode ser chamado via "
-#: builtins/bind.def:353 builtins/bind.def:368
-#, c-format
-msgid "`%s': cannot unbind"
-msgstr "`%s': impossível desassociar (unbind)"
-
-#: builtins/break.def:77 builtins/break.def:119
+#: builtins/break.def:79 builtins/break.def:121
msgid "loop count"
msgstr "número de loops"
-#: builtins/break.def:139
+#: builtins/break.def:141
msgid "only meaningful in a `for', `while', or `until' loop"
msgstr "significativo apenas em um loop de `for', `while' ou `until'"
@@ -147,164 +145,162 @@ msgstr ""
" \n"
" Sem EXPR, retorna "
-#: builtins/cd.def:319
+#: builtins/cd.def:321
msgid "HOME not set"
msgstr "HOME não definida"
-#: builtins/cd.def:327 builtins/common.c:161 test.c:889
+#: builtins/cd.def:329 builtins/common.c:167 test.c:885
msgid "too many arguments"
msgstr "número excessivo de argumentos"
-#: builtins/cd.def:334
+#: builtins/cd.def:336
msgid "null directory"
msgstr "diretório nulo"
-#: builtins/cd.def:345
+#: builtins/cd.def:347
msgid "OLDPWD not set"
msgstr "OLDPWD não definida"
-#: builtins/common.c:96
+#: builtins/common.c:102
#, c-format
msgid "line %d: "
msgstr "linha %d: "
-#: builtins/common.c:134 error.c:264
+#: builtins/common.c:140 error.c:265
#, c-format
msgid "warning: "
msgstr "aviso: "
-#: builtins/common.c:148
+#: builtins/common.c:154
#, c-format
msgid "%s: usage: "
msgstr "%s: uso: "
-#: builtins/common.c:193 shell.c:510 shell.c:838
+#: builtins/common.c:199 shell.c:514 shell.c:825
#, c-format
msgid "%s: option requires an argument"
msgstr "%s: a opção requer um argumento"
-#: builtins/common.c:200
+#: builtins/common.c:206
#, c-format
msgid "%s: numeric argument required"
msgstr "%s: requer argumento numérico"
-#: builtins/common.c:207
+#: builtins/common.c:213
#, c-format
msgid "%s: not found"
msgstr "%s: não encontrado"
-#: builtins/common.c:216 shell.c:851
+#: builtins/common.c:222 shell.c:838
#, c-format
msgid "%s: invalid option"
msgstr "%s: opção inválida"
-#: builtins/common.c:223
+#: builtins/common.c:229
#, c-format
msgid "%s: invalid option name"
msgstr "%s: nome de opção inválido"
-#: builtins/common.c:230 execute_cmd.c:2342 general.c:294 general.c:299
+#: builtins/common.c:236 general.c:293 general.c:298
#, c-format
msgid "`%s': not a valid identifier"
msgstr "`%s': não é um identificador válido"
-#: builtins/common.c:240
+#: builtins/common.c:246
msgid "invalid octal number"
msgstr "número octal inválido"
-#: builtins/common.c:242
+#: builtins/common.c:248
msgid "invalid hex number"
msgstr "número do hexa inválido"
-#: builtins/common.c:244 expr.c:1538
+#: builtins/common.c:250 expr.c:1473
msgid "invalid number"
msgstr "número inválido"
-#: builtins/common.c:252
+#: builtins/common.c:258
#, c-format
msgid "%s: invalid signal specification"
msgstr "%s: especificação de sinal inválida"
-#: builtins/common.c:259
+#: builtins/common.c:265
#, c-format
msgid "`%s': not a pid or valid job spec"
-msgstr ""
-"`%s': não é um identificador de processo (pid) nem é uma especificação de "
-"trabalho válida"
+msgstr "`%s': não é um identificador de processo (pid) nem é uma especificação de trabalho válida"
-#: builtins/common.c:266 error.c:510
+#: builtins/common.c:272 error.c:511
#, c-format
msgid "%s: readonly variable"
msgstr "%s: a variável permite somente leitura"
-#: builtins/common.c:274
+#: builtins/common.c:280
#, c-format
msgid "%s: %s out of range"
msgstr "%s: %s fora dos limites"
-#: builtins/common.c:274 builtins/common.c:276
+#: builtins/common.c:280 builtins/common.c:282
msgid "argument"
msgstr "argumento"
-#: builtins/common.c:276
+#: builtins/common.c:282
#, c-format
msgid "%s out of range"
msgstr "%s fora dos limites"
-#: builtins/common.c:284
+#: builtins/common.c:290
#, c-format
msgid "%s: no such job"
msgstr "%s: trabalho não existe"
-#: builtins/common.c:292
+#: builtins/common.c:298
#, c-format
msgid "%s: no job control"
msgstr "%s: nenhum controle de trabalho"
-#: builtins/common.c:294
+#: builtins/common.c:300
msgid "no job control"
msgstr "nenhum controle de trabalho"
-#: builtins/common.c:304
+#: builtins/common.c:310
#, c-format
msgid "%s: restricted"
msgstr "%s: restrição"
-#: builtins/common.c:306
+#: builtins/common.c:312
msgid "restricted"
msgstr "restrição"
-#: builtins/common.c:314
+#: builtins/common.c:320
#, c-format
msgid "%s: not a shell builtin"
msgstr "%s: não é um comando interno do shell"
-#: builtins/common.c:323
+#: builtins/common.c:329
#, c-format
msgid "write error: %s"
msgstr "erro de escrita: %s"
-#: builtins/common.c:331
+#: builtins/common.c:337
#, c-format
msgid "error setting terminal attributes: %s"
msgstr "erro ao definir atributos do terminal: %s"
-#: builtins/common.c:333
+#: builtins/common.c:339
#, c-format
msgid "error getting terminal attributes: %s"
msgstr "erro ao obter atributos do terminal: %s"
-#: builtins/common.c:579
+#: builtins/common.c:585
#, c-format
msgid "%s: error retrieving current directory: %s: %s\n"
msgstr "%s: erro ao obter o diretório atual: %s: %s\n"
-#: builtins/common.c:645 builtins/common.c:647
+#: builtins/common.c:651 builtins/common.c:653
#, c-format
msgid "%s: ambiguous job spec"
msgstr "%s: especificação de trabalho ambígua"
-#: builtins/common.c:908
+#: builtins/common.c:918
msgid "help not available in this version"
msgstr "ajuda não disponível nesta versão"
@@ -313,69 +309,69 @@ msgstr "ajuda não disponível nesta versão"
msgid "%s: invalid action name"
msgstr "%s: nome de ação inválido"
-#: builtins/complete.def:452 builtins/complete.def:653
-#: builtins/complete.def:874
+#: builtins/complete.def:452 builtins/complete.def:647
+#: builtins/complete.def:858
#, c-format
msgid "%s: no completion specification"
msgstr "%s: nenhuma especificação de completação"
-#: builtins/complete.def:707
+#: builtins/complete.def:699
msgid "warning: -F option may not work as you expect"
msgstr "aviso: a opção -F pode não funcionar como esperado"
-#: builtins/complete.def:709
+#: builtins/complete.def:701
msgid "warning: -C option may not work as you expect"
msgstr "aviso: a opção -C pode não funcionar como esperado"
-#: builtins/complete.def:847
+#: builtins/complete.def:831
msgid "not currently executing completion function"
msgstr "não se está executando atualmente função de completação"
-#: builtins/declare.def:132
+#: builtins/declare.def:127
msgid "can only be used in a function"
msgstr "somente pode ser usado em uma função"
-#: builtins/declare.def:369 builtins/declare.def:736
+#: builtins/declare.def:332 builtins/declare.def:685
#, c-format
msgid "%s: reference variable cannot be an array"
msgstr "%s: variável de referência não pode ser um array"
-#: builtins/declare.def:380 variables.c:3161
+#: builtins/declare.def:343 variables.c:2959
#, c-format
msgid "%s: nameref variable self references not allowed"
msgstr "%s: referência a si próprio da variável nameref não é permitido"
-#: builtins/declare.def:385 variables.c:2018 variables.c:3083 variables.c:3095
-#: variables.c:3158
+#: builtins/declare.def:348 variables.c:1928 variables.c:2877 variables.c:2889
+#: variables.c:2956
#, c-format
msgid "%s: circular name reference"
msgstr "%s referência circular de nome"
-#: builtins/declare.def:390 builtins/declare.def:742 builtins/declare.def:753
+#: builtins/declare.def:353 builtins/declare.def:691 builtins/declare.def:702
#, c-format
msgid "`%s': invalid variable name for name reference"
msgstr "\"%s\": nome de variável inválido para referência de nome"
-#: builtins/declare.def:500
+#: builtins/declare.def:463
msgid "cannot use `-f' to make functions"
msgstr "impossível usar `-f' para criar funções"
-#: builtins/declare.def:512 execute_cmd.c:5797
+#: builtins/declare.def:475 execute_cmd.c:5632
#, c-format
msgid "%s: readonly function"
msgstr "%s: função somente para leitura"
-#: builtins/declare.def:804
+#: builtins/declare.def:753
#, c-format
msgid "%s: quoted compound array assignment deprecated"
msgstr "%s: atribuição de array composto com aspas está obsoleto"
-#: builtins/declare.def:818
+#: builtins/declare.def:767
#, c-format
msgid "%s: cannot destroy array variables in this way"
msgstr "%s: impossível destruir variáveis de array desta maneira"
-#: builtins/declare.def:825 builtins/read.def:784
+#: builtins/declare.def:774 builtins/read.def:751
#, c-format
msgid "%s: cannot convert associative to indexed array"
msgstr "%s: impossível converter array associativo para indexado"
@@ -409,68 +405,68 @@ msgstr "%s: não foi carregado dinamicamente"
msgid "%s: cannot delete: %s"
msgstr "%s: impossível excluir: %s"
-#: builtins/evalfile.c:138 builtins/hash.def:184 execute_cmd.c:5629
+#: builtins/evalfile.c:144 builtins/hash.def:172 execute_cmd.c:5472
#, c-format
msgid "%s: is a directory"
msgstr "%s: é um diretório"
-#: builtins/evalfile.c:144
+#: builtins/evalfile.c:150
#, c-format
msgid "%s: not a regular file"
msgstr "%s: não é um arquivo irregular"
-#: builtins/evalfile.c:153
+#: builtins/evalfile.c:159
#, c-format
msgid "%s: file is too large"
msgstr "%s: arquivo é muito grande"
-#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1623
+#: builtins/evalfile.c:194 builtins/evalfile.c:212 shell.c:1578
#, c-format
msgid "%s: cannot execute binary file"
msgstr "%s: impossível executar o arquivo binário"
-#: builtins/exec.def:155 builtins/exec.def:157 builtins/exec.def:237
+#: builtins/exec.def:156 builtins/exec.def:158 builtins/exec.def:235
#, c-format
msgid "%s: cannot execute: %s"
msgstr "%s: impossível executar: %s"
-#: builtins/exit.def:64
+#: builtins/exit.def:67
#, c-format
msgid "logout\n"
msgstr "sair\n"
-#: builtins/exit.def:89
+#: builtins/exit.def:92
msgid "not login shell: use `exit'"
msgstr "não é um shell de login: use `exit'"
-#: builtins/exit.def:121
+#: builtins/exit.def:124
#, c-format
msgid "There are stopped jobs.\n"
msgstr "Há trabalhos parados.\n"
-#: builtins/exit.def:123
+#: builtins/exit.def:126
#, c-format
msgid "There are running jobs.\n"
msgstr "Há trabalhos em execução.\n"
-#: builtins/fc.def:265
+#: builtins/fc.def:269
msgid "no command found"
msgstr "nenhum comando encontrado"
-#: builtins/fc.def:323 builtins/fc.def:372
+#: builtins/fc.def:327 builtins/fc.def:376
msgid "history specification"
msgstr "especificação do histórico"
-#: builtins/fc.def:393
+#: builtins/fc.def:397
#, c-format
msgid "%s: cannot open temp file: %s"
msgstr "%s: impossível abrir arquivo temporário: %s"
-#: builtins/fg_bg.def:152 builtins/jobs.def:284
+#: builtins/fg_bg.def:153 builtins/jobs.def:284
msgid "current"
msgstr "atual"
-#: builtins/fg_bg.def:161
+#: builtins/fg_bg.def:162
#, c-format
msgid "job %d started without job control"
msgstr "o trabalho %d iniciou sem controle de trabalho"
@@ -485,40 +481,38 @@ msgstr "%s: opção ilegal -- %c\n"
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: a opção requer um argumento: -- %c\n"
-#: builtins/hash.def:91
+#: builtins/hash.def:92
msgid "hashing disabled"
msgstr "hashing está desabilitado"
-#: builtins/hash.def:138
+#: builtins/hash.def:139
#, c-format
msgid "%s: hash table empty\n"
msgstr "%s: tabela de hash está vazia\n"
-#: builtins/hash.def:266
+#: builtins/hash.def:254
#, c-format
msgid "hits\tcommand\n"
msgstr "número\tcomando\n"
-#: builtins/help.def:133
+#: builtins/help.def:135
+#, c-format
msgid "Shell commands matching keyword `"
msgid_plural "Shell commands matching keywords `"
msgstr[0] "Comandos shell correspondendo à palavra-chave `"
msgstr[1] "Comandos shell correspondendo às palavras-chave `"
-#: builtins/help.def:185
+#: builtins/help.def:187
#, c-format
-msgid ""
-"no help topics match `%s'. Try `help help' or `man -k %s' or `info %s'."
-msgstr ""
-"nenhum tópico de ajuda corresponde a `%s'. Tente `help help' ou `man -k %s' "
-"ou `info %s'."
+msgid "no help topics match `%s'. Try `help help' or `man -k %s' or `info %s'."
+msgstr "nenhum tópico de ajuda corresponde a `%s'. Tente `help help' ou `man -k %s' ou `info %s'."
-#: builtins/help.def:224
+#: builtins/help.def:226
#, c-format
msgid "%s: cannot open: %s"
msgstr "%s: impossível abrir: %s"
-#: builtins/help.def:524
+#: builtins/help.def:526
#, c-format
msgid ""
"These shell commands are defined internally. Type `help' to see this list.\n"
@@ -529,32 +523,29 @@ msgid ""
"A star (*) next to a name means that the command is disabled.\n"
"\n"
msgstr ""
-"Esses comandos shell são definidos internamente. Digite `help' para ver "
-"essa\n"
+"Esses comandos shell são definidos internamente. Digite `help' para ver essa\n"
"lista. Digite `help NOME' para descobrir mais sobre a função `NOME'.\n"
"Use `info bash' para descobrir mais sobre o shell em geral.\n"
-"Use `man -k' ou `info' para descobrir mais sobre comandos que não estão "
-"nesta\n"
+"Use `man -k' ou `info' para descobrir mais sobre comandos que não estão nesta\n"
"lista.\n"
"\n"
"Um asterisco (*) próximo ao nome significa que o comando está desabilitado.\n"
"\n"
-#: builtins/history.def:154
+#: builtins/history.def:155
msgid "cannot use more than one of -anrw"
msgstr "impossível usar mais de um dentre -anrw"
-#: builtins/history.def:187 builtins/history.def:197 builtins/history.def:212
-#: builtins/history.def:229 builtins/history.def:241 builtins/history.def:248
+#: builtins/history.def:187
msgid "history position"
msgstr "posição no histórico"
-#: builtins/history.def:331
+#: builtins/history.def:264
#, c-format
msgid "%s: invalid timestamp"
msgstr "%s: marca de tempo inválida"
-#: builtins/history.def:442
+#: builtins/history.def:375
#, c-format
msgid "%s: history expansion failed"
msgstr "%s: expansão do histórico falhou"
@@ -568,16 +559,16 @@ msgstr "%s: inlib falhou"
msgid "no other options allowed with `-x'"
msgstr "nenhuma outra opção permitida com `-x'"
-#: builtins/kill.def:200
+#: builtins/kill.def:202
#, c-format
msgid "%s: arguments must be process or job IDs"
msgstr "%s: argumentos devem ser IDs de trabalhos ou processo"
-#: builtins/kill.def:263
+#: builtins/kill.def:265
msgid "Unknown error"
msgstr "Erro desconhecido"
-#: builtins/let.def:97 builtins/let.def:122 expr.c:614 expr.c:632
+#: builtins/let.def:97 builtins/let.def:122 expr.c:583 expr.c:598
msgid "expression expected"
msgstr "esperava uma expressão"
@@ -586,69 +577,69 @@ msgstr "esperava uma expressão"
msgid "%s: not an indexed array"
msgstr "%s: não é um array indexado"
-#: builtins/mapfile.def:271 builtins/read.def:305
+#: builtins/mapfile.def:272 builtins/read.def:306
#, c-format
msgid "%s: invalid file descriptor specification"
msgstr "%s: especificação de descritor de arquivo inválida"
-#: builtins/mapfile.def:279 builtins/read.def:312
+#: builtins/mapfile.def:280 builtins/read.def:313
#, c-format
msgid "%d: invalid file descriptor: %s"
msgstr "%d: descritor de arquivo inválido: %s"
-#: builtins/mapfile.def:288 builtins/mapfile.def:326
+#: builtins/mapfile.def:289 builtins/mapfile.def:327
#, c-format
msgid "%s: invalid line count"
msgstr "%s: número de linhas inválido"
-#: builtins/mapfile.def:299
+#: builtins/mapfile.def:300
#, c-format
msgid "%s: invalid array origin"
msgstr "%s: origem do array inválido"
-#: builtins/mapfile.def:316
+#: builtins/mapfile.def:317
#, c-format
msgid "%s: invalid callback quantum"
msgstr "%s: quantidade de chamadas inválida"
-#: builtins/mapfile.def:349
+#: builtins/mapfile.def:350
msgid "empty array variable name"
msgstr "nome de variável array vazio"
-#: builtins/mapfile.def:370
+#: builtins/mapfile.def:371
msgid "array variable support required"
msgstr "requer suporte a variável de array"
-#: builtins/printf.def:416
+#: builtins/printf.def:412
#, c-format
msgid "`%s': missing format character"
msgstr "`%s': faltando caractere de formato"
-#: builtins/printf.def:471
+#: builtins/printf.def:467
#, c-format
msgid "`%c': invalid time format specification"
msgstr "`%c': especificação de formato de tempo inválida"
-#: builtins/printf.def:673
+#: builtins/printf.def:669
#, c-format
msgid "`%c': invalid format character"
msgstr "`%c': caractere de formato inválido"
-#: builtins/printf.def:699
+#: builtins/printf.def:695
#, c-format
msgid "warning: %s: %s"
msgstr "aviso: %s: %s"
-#: builtins/printf.def:785
+#: builtins/printf.def:781
#, c-format
msgid "format parsing problem: %s"
msgstr "problema ao analisar formato: %s"
-#: builtins/printf.def:882
+#: builtins/printf.def:878
msgid "missing hex digit for \\x"
msgstr "faltando dígito hexa para \\x"
-#: builtins/printf.def:897
+#: builtins/printf.def:893
#, c-format
msgid "missing unicode digit for \\%c"
msgstr "faltando dígito unicode para \\%c"
@@ -662,19 +653,19 @@ msgstr "nenhum outro diretório"
msgid "%s: invalid argument"
msgstr "%s argumento inválido"
-#: builtins/pushd.def:480
+#: builtins/pushd.def:475
msgid "<no current directory>"
msgstr "<nenhum diretório atual>"
-#: builtins/pushd.def:524
+#: builtins/pushd.def:519
msgid "directory stack empty"
msgstr "pilha de diretórios está vazia"
-#: builtins/pushd.def:526
+#: builtins/pushd.def:521
msgid "directory stack index"
msgstr "índice de pilha de diretórios"
-#: builtins/pushd.def:701
+#: builtins/pushd.def:696
msgid ""
"Display the list of currently remembered directories. Directories\n"
" find their way onto the list with the `pushd' command; you can get\n"
@@ -689,12 +680,10 @@ msgid ""
" \twith its position in the stack\n"
" \n"
" Arguments:\n"
-" +N\tDisplays the Nth entry counting from the left of the list shown "
-"by\n"
+" +N\tDisplays the Nth entry counting from the left of the list shown by\n"
" \tdirs when invoked without options, starting with zero.\n"
" \n"
-" -N\tDisplays the Nth entry counting from the right of the list shown "
-"by\n"
+" -N\tDisplays the Nth entry counting from the right of the list shown by\n"
"\tdirs when invoked without options, starting with zero."
msgstr ""
"Exibe a lista de diretórios atualmente memorizados. Diretórios são\n"
@@ -716,7 +705,7 @@ msgstr ""
" -N\tExibe a n-ésima entrada a partir da esquerda da linha\n"
" \t\tmostrada por `dirs' chamado sem opções, iniciando com zero."
-#: builtins/pushd.def:723
+#: builtins/pushd.def:718
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"
@@ -763,7 +752,7 @@ msgstr ""
" \n"
" O comando interno `dirs' exibe a pilha de diretórios."
-#: builtins/pushd.def:748
+#: builtins/pushd.def:743
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"
@@ -801,48 +790,45 @@ msgstr ""
" \n"
" O comando interno `dirs' exibe a pilha de diretório."
-#: builtins/read.def:277
+#: builtins/read.def:279
#, c-format
msgid "%s: invalid timeout specification"
msgstr "%s: especificação de tempo limite inválida"
-#: builtins/read.def:729
+#: builtins/read.def:696
#, c-format
msgid "read error: %d: %s"
msgstr "erro de leitura: %d: %s"
-#: builtins/return.def:68
+#: builtins/return.def:71
msgid "can only `return' from a function or sourced script"
-msgstr ""
-"possível retornar (`return') apenas de uma função ou script carregado (com "
-"`source')"
+msgstr "possível retornar (`return') apenas de uma função ou script carregado (com `source')"
-#: builtins/set.def:834
+#: builtins/set.def:841
msgid "cannot simultaneously unset a function and a variable"
-msgstr ""
-"impossível simultaneamente remover definição de uma função e uma variável"
+msgstr "impossível simultaneamente remover definição de uma função e uma variável"
-#: builtins/set.def:881
+#: builtins/set.def:888
#, c-format
msgid "%s: cannot unset"
msgstr "%s: impossível remover definição"
-#: builtins/set.def:902 variables.c:3597
+#: builtins/set.def:909 variables.c:3389
#, c-format
msgid "%s: cannot unset: readonly %s"
msgstr "%s: impossível remover definição: %s somente-leitura"
-#: builtins/set.def:915
+#: builtins/set.def:922
#, c-format
msgid "%s: not an array variable"
msgstr "%s: não é uma variável array"
-#: builtins/setattr.def:189
+#: builtins/setattr.def:191
#, c-format
msgid "%s: not a function"
msgstr "%s: não é uma função"
-#: builtins/setattr.def:194
+#: builtins/setattr.def:196
#, c-format
msgid "%s: cannot export"
msgstr "%s: impossível exportar"
@@ -851,21 +837,20 @@ msgstr "%s: impossível exportar"
msgid "shift count"
msgstr "número de shift"
-#: builtins/shopt.def:301
+#: builtins/shopt.def:289
msgid "cannot set and unset shell options simultaneously"
-msgstr ""
-"impossível simultaneamente definir e remover definição de opções do shell"
+msgstr "impossível simultaneamente definir e remover definição de opções do shell"
-#: builtins/shopt.def:403
+#: builtins/shopt.def:391
#, c-format
msgid "%s: invalid shell option name"
msgstr "%s: nome de opção de shell inválido"
-#: builtins/source.def:128
+#: builtins/source.def:131
msgid "filename argument required"
msgstr "requer argumento arquivo"
-#: builtins/source.def:154
+#: builtins/source.def:157
#, c-format
msgid "%s: file not found"
msgstr "%s: arquivo não encontrado"
@@ -878,61 +863,61 @@ msgstr "impossível suspender"
msgid "cannot suspend a login shell"
msgstr "impossível suspender um shell de login."
-#: builtins/type.def:235
+#: builtins/type.def:236
#, c-format
msgid "%s is aliased to `%s'\n"
msgstr "%s está apelidada para `%s'\n"
-#: builtins/type.def:256
+#: builtins/type.def:257
#, c-format
msgid "%s is a shell keyword\n"
msgstr "%s é uma palavra-chave do shell\n"
-#: builtins/type.def:275
+#: builtins/type.def:276
#, c-format
msgid "%s is a function\n"
msgstr "%s é uma função\n"
-#: builtins/type.def:299
+#: builtins/type.def:300
#, c-format
msgid "%s is a special shell builtin\n"
msgstr "%s é um comando interno especial do shell\n"
-#: builtins/type.def:301
+#: builtins/type.def:302
#, c-format
msgid "%s is a shell builtin\n"
msgstr "%s é um comando interno do shell\n"
-#: builtins/type.def:323 builtins/type.def:408
+#: builtins/type.def:324 builtins/type.def:409
#, c-format
msgid "%s is %s\n"
msgstr "%s é %s\n"
-#: builtins/type.def:343
+#: builtins/type.def:344
#, c-format
msgid "%s is hashed (%s)\n"
msgstr "%s está na tabela hash (%s)\n"
-#: builtins/ulimit.def:396
+#: builtins/ulimit.def:398
#, c-format
msgid "%s: invalid limit argument"
msgstr "%s: argumento limite inválido"
-#: builtins/ulimit.def:422
+#: builtins/ulimit.def:424
#, c-format
msgid "`%c': bad command"
msgstr "`%c': comando incorreto"
-#: builtins/ulimit.def:451
+#: builtins/ulimit.def:453
#, c-format
msgid "%s: cannot get limit: %s"
msgstr "%s: impossível obter limite: %s"
-#: builtins/ulimit.def:477
+#: builtins/ulimit.def:479
msgid "limit"
msgstr "limite"
-#: builtins/ulimit.def:489 builtins/ulimit.def:789
+#: builtins/ulimit.def:491 builtins/ulimit.def:791
#, c-format
msgid "%s: cannot modify limit: %s"
msgstr "%s: impossível modificar limite: %s"
@@ -951,375 +936,357 @@ msgstr "`%c': operador de modo simbólico inválido"
msgid "`%c': invalid symbolic mode character"
msgstr "`%c': caractere de modo simbólico inválido"
-#: error.c:89 error.c:347 error.c:349 error.c:351
+#: error.c:90 error.c:348 error.c:350 error.c:352
msgid " line "
msgstr " linha "
-#: error.c:164
+#: error.c:165
#, c-format
msgid "last command: %s\n"
msgstr "último comando: %s\n"
-#: error.c:172
+#: error.c:173
#, c-format
msgid "Aborting..."
msgstr "Abortando..."
#. TRANSLATORS: this is a prefix for informational messages.
-#: error.c:287
+#: error.c:288
#, c-format
msgid "INFORM: "
msgstr "INFORM: "
-#: error.c:462
+#: error.c:463
msgid "unknown command error"
msgstr "erro de comando desconhecido"
-#: error.c:463
+#: error.c:464
msgid "bad command type"
msgstr "tipo de comando incorreto"
-#: error.c:464
+#: error.c:465
msgid "bad connector"
msgstr "conector incorreto"
-#: error.c:465
+#: error.c:466
msgid "bad jump"
msgstr "desvio incorreto"
-#: error.c:503
+#: error.c:504
#, c-format
msgid "%s: unbound variable"
msgstr "%s: variável não associada"
-#: eval.c:242
+#: eval.c:209
#, c-format
msgid "\atimed out waiting for input: auto-logout\n"
-msgstr ""
-"\atempo limite de espera excedido aguardando entrada: fim automático da "
-"sessão\n"
+msgstr "\atempo limite de espera excedido aguardando entrada: fim automático da sessão\n"
-#: execute_cmd.c:536
+#: execute_cmd.c:527
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
msgstr "impossível redirecionar a entrada padrão para /dev/null: %s"
-#: execute_cmd.c:1294
+#: execute_cmd.c:1275
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr "TIMEFORMAT: `%c': caractere de formato inválido"
-#: execute_cmd.c:2330
+#: execute_cmd.c:2273
#, c-format
msgid "execute_coproc: coproc [%d:%s] still exists"
msgstr "execute_coproc: coproc [%d:%s] ainda existe"
-#: execute_cmd.c:2456
+#: execute_cmd.c:2377
msgid "pipe error"
msgstr "erro de `pipe'"
-#: execute_cmd.c:4624
+#: execute_cmd.c:4496
#, c-format
msgid "eval: maximum eval nesting level exceeded (%d)"
msgstr "eval: excedido o nível máximo de aninhamento de `eval' (%d)"
-#: execute_cmd.c:4636
+#: execute_cmd.c:4508
#, c-format
msgid "%s: maximum source nesting level exceeded (%d)"
msgstr "%s: excedido o nível máximo de aninhamento de `function' (%d)"
-#: execute_cmd.c:4742
+#: execute_cmd.c:4616
#, c-format
msgid "%s: maximum function nesting level exceeded (%d)"
msgstr "%s: excedido o nível máximo de aninhamento de avaliação (%d)"
-#: execute_cmd.c:5285
+#: execute_cmd.c:5144
#, 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:5383
+#: execute_cmd.c:5232
#, c-format
msgid "%s: command not found"
msgstr "%s: comando não encontrado"
-#: execute_cmd.c:5627
+#: execute_cmd.c:5470
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: execute_cmd.c:5665
+#: execute_cmd.c:5508
#, c-format
msgid "%s: %s: bad interpreter"
msgstr "%s: %s: interpretador incorreto"
-#: execute_cmd.c:5702
+#: execute_cmd.c:5545
#, c-format
msgid "%s: cannot execute binary file: %s"
msgstr "%s: impossível executar o arquivo binário: %s"
-#: execute_cmd.c:5788
+#: execute_cmd.c:5623
#, c-format
msgid "`%s': is a special builtin"
msgstr "`%s': é um comando interno especial"
-#: execute_cmd.c:5840
+#: execute_cmd.c:5675
#, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr "impossível duplicar fd (descritor de arquivo) %d para fd %d"
-#: expr.c:263
+#: expr.c:259
msgid "expression recursion level exceeded"
msgstr "excedido o nível de recursividade da expressão"
-#: expr.c:291
+#: expr.c:283
msgid "recursion stack underflow"
msgstr "esvaziamento de pilha de recursão"
-#: expr.c:453
+#: expr.c:431
msgid "syntax error in expression"
msgstr "erro de sintaxe na expressão"
-#: expr.c:497
+#: expr.c:475
msgid "attempted assignment to non-variable"
msgstr "tentativa de atribuição para algo que não é uma variável"
-#: expr.c:506
-#, fuzzy
-msgid "syntax error in variable assignment"
-msgstr "erro de sintaxe na expressão"
-
-#: expr.c:520 expr.c:886
+#: expr.c:495 expr.c:858
msgid "division by 0"
msgstr "divisão por 0"
-#: expr.c:567
+#: expr.c:542
msgid "bug: bad expassign token"
msgstr "erro de programação: token incorreto passado para expassign()"
-#: expr.c:621
+#: expr.c:595
msgid "`:' expected for conditional expression"
msgstr "esperava `:' para expressão condicional"
-#: expr.c:947
+#: expr.c:919
msgid "exponent less than 0"
msgstr "exponente menor que 0"
-#: expr.c:1004
+#: expr.c:976
msgid "identifier expected after pre-increment or pre-decrement"
msgstr "esperava identificador após pré-acréscimo ou pré-decréscimo"
-#: expr.c:1030
+#: expr.c:1002
msgid "missing `)'"
msgstr "faltando `)'"
-#: expr.c:1081 expr.c:1458
+#: expr.c:1053 expr.c:1393
msgid "syntax error: operand expected"
msgstr "erro de sintaxe: esperava operando"
-#: expr.c:1460
+#: expr.c:1395
msgid "syntax error: invalid arithmetic operator"
msgstr "erro de sintaxe: operador aritmético inválido"
-#: expr.c:1484
+#: expr.c:1419
#, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
msgstr "%s%s%s: %s (token de erro é \"%s\")"
-#: expr.c:1542
+#: expr.c:1477
msgid "invalid arithmetic base"
msgstr "base aritmética inválida"
-#: expr.c:1562
+#: expr.c:1497
msgid "value too great for base"
msgstr "valor muito grande para esta base de numeração"
-#: expr.c:1611
+#: expr.c:1546
#, c-format
msgid "%s: expression error\n"
msgstr "%s: erro de expressão\n"
-#: general.c:69
+#: general.c:68
msgid "getcwd: cannot access parent directories"
msgstr "getcwd: impossível acessar os diretórios pais (anteriores)"
-#: input.c:99 subst.c:5858
+#: input.c:102 subst.c:5858
#, c-format
msgid "cannot reset nodelay mode for fd %d"
-msgstr ""
-"impossível redefinir modo `nodelay' para o descritor de arquivo (fd) %d"
+msgstr "impossível redefinir modo `nodelay' para o descritor de arquivo (fd) %d"
-#: input.c:266
+#: input.c:271
#, 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 do `bash' a "
-"partir do fd %d"
+msgstr "impossível alocar novo descritor de arquivo (fd) para a entrada do `bash' a partir do fd %d"
-#: input.c:274
+#: input.c:279
#, c-format
msgid "save_bash_input: buffer already exists for new fd %d"
-msgstr ""
-"save_bash_input: buffer já existe para o novo descritor de arquivo (fd) %d"
+msgstr "save_bash_input: buffer já existe para o novo descritor de arquivo (fd) %d"
#: jobs.c:527
msgid "start_pipeline: pgrp pipe"
msgstr "start_pipeline: `pipe' de pgrp"
-#: jobs.c:1080
+#: jobs.c:1035
#, c-format
msgid "forked pid %d appears in running job %d"
-msgstr ""
-"identificador de processo (pid) %d bifurcado (fork) aparece no trabalho em "
-"execução %d"
+msgstr "identificador de processo (pid) %d bifurcado (fork) aparece no trabalho em execução %d"
-#: jobs.c:1199
+#: jobs.c:1154
#, c-format
msgid "deleting stopped job %d with process group %ld"
msgstr "excluindo trabalho parado %d com grupo de processo %ld"
-#: jobs.c:1303
+#: jobs.c:1258
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
msgstr "add_process: processo %5ld (%s) em the_pipeline"
-#: jobs.c:1306
+#: jobs.c:1261
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
msgstr "add_process: pid %5ld (%s) marcado como ainda vivo"
-#: jobs.c:1635
+#: jobs.c:1590
#, c-format
msgid "describe_pid: %ld: no such pid"
msgstr "describe_pid: %ld: o identificador do processo (pid) não existe"
-#: jobs.c:1650
+#: jobs.c:1605
#, c-format
msgid "Signal %d"
msgstr "Sinal %d"
-#: jobs.c:1664 jobs.c:1690
+#: jobs.c:1619 jobs.c:1645
msgid "Done"
msgstr "Concluído"
-#: jobs.c:1669 siglist.c:123
+#: jobs.c:1624 siglist.c:123
msgid "Stopped"
msgstr "Parado"
-#: jobs.c:1673
+#: jobs.c:1628
#, c-format
msgid "Stopped(%s)"
msgstr "Parado(%s)"
-#: jobs.c:1677
+#: jobs.c:1632
msgid "Running"
msgstr "Executando"
-#: jobs.c:1694
+#: jobs.c:1649
#, c-format
msgid "Done(%d)"
msgstr "Concluído(%d)"
-#: jobs.c:1696
+#: jobs.c:1651
#, c-format
msgid "Exit %d"
msgstr "Fim da execução com status %d"
-#: jobs.c:1699
+#: jobs.c:1654
msgid "Unknown status"
msgstr "Status desconhecido"
-#: jobs.c:1786
+#: jobs.c:1741
#, c-format
msgid "(core dumped) "
msgstr "(imagem do núcleo gravada)"
-#: jobs.c:1805
+#: jobs.c:1760
#, c-format
msgid " (wd: %s)"
msgstr " (wd: %s)"
-#: jobs.c:2033
+#: jobs.c:1985
#, c-format
msgid "child setpgid (%ld to %ld)"
msgstr "`setpgid' filho (%ld para %ld)"
-#: jobs.c:2395 nojobs.c:657
+#: jobs.c:2347 nojobs.c:654
#, c-format
msgid "wait: pid %ld is not a child of this shell"
msgstr "wait: o pid %ld não é um processo filho deste shell"
-#: jobs.c:2687
+#: jobs.c:2602
#, c-format
msgid "wait_for: No record of process %ld"
msgstr "wait_for: Sem registro do processo %ld"
-#: jobs.c:3048
+#: jobs.c:2929
#, c-format
msgid "wait_for_job: job %d is stopped"
msgstr "wait_for_job: trabalho %d está parado"
-#: jobs.c:3355
+#: jobs.c:3221
#, c-format
msgid "%s: job has terminated"
msgstr "%s: o trabalho terminou"
-#: jobs.c:3364
+#: jobs.c:3230
#, c-format
msgid "%s: job %d already in background"
msgstr "%s: o trabalho %d já está em plano de fundo"
-#: jobs.c:3590
+#: jobs.c:3455
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
msgstr "waitchld: ativando WNOHANG para evitar bloqueio indefinido"
-#: jobs.c:4114
+#: jobs.c:3970
#, c-format
msgid "%s: line %d: "
msgstr "%s, linha %d: "
-#: jobs.c:4128 nojobs.c:900
+#: jobs.c:3984 nojobs.c:897
#, c-format
msgid " (core dumped)"
msgstr " (imagem do núcleo gravada)"
-#: jobs.c:4140 jobs.c:4153
+#: jobs.c:3996 jobs.c:4009
#, c-format
msgid "(wd now: %s)\n"
msgstr "(wd agora: %s)\n"
-#: jobs.c:4185
+#: jobs.c:4041
msgid "initialize_job_control: getpgrp failed"
msgstr "initialize_job_control: getpgrp falhou"
-#: jobs.c:4241
-#, fuzzy
-msgid "initialize_job_control: no job control in background"
-msgstr "initialize_job_control: disciplina da linha"
-
-#: jobs.c:4257
+#: jobs.c:4104
msgid "initialize_job_control: line discipline"
msgstr "initialize_job_control: disciplina da linha"
-#: jobs.c:4267
+#: jobs.c:4114
msgid "initialize_job_control: setpgid"
msgstr "initialize_job_control: setpgid"
-#: jobs.c:4288 jobs.c:4297
+#: jobs.c:4135 jobs.c:4144
#, c-format
msgid "cannot set terminal process group (%d)"
msgstr "impossível definir grupo do processo do terminal (%d)"
-#: jobs.c:4302
+#: jobs.c:4149
msgid "no job control in this shell"
msgstr "nenhum controle de trabalho neste shell"
-#: lib/malloc/malloc.c:306
+#: lib/malloc/malloc.c:296
#, c-format
msgid "malloc: failed assertion: %s\n"
msgstr "malloc: asserção falhou: %s\n"
-#: lib/malloc/malloc.c:322
+#: lib/malloc/malloc.c:312
#, c-format
msgid ""
"\r\n"
@@ -1328,39 +1295,39 @@ msgstr ""
"\r\n"
"malloc: %s:%d: asserção remendada\r\n"
-#: lib/malloc/malloc.c:323
+#: lib/malloc/malloc.c:313
msgid "unknown"
msgstr "desconhecido"
-#: lib/malloc/malloc.c:811
+#: lib/malloc/malloc.c:801
msgid "malloc: block on free list clobbered"
msgstr "malloc: bloco socado em lista livre"
-#: lib/malloc/malloc.c:888
+#: lib/malloc/malloc.c:878
msgid "free: called with already freed block argument"
msgstr "free: chamado com argumento de bloco já liberado"
-#: lib/malloc/malloc.c:891
+#: lib/malloc/malloc.c:881
msgid "free: called with unallocated block argument"
msgstr "free: chamado com argumento de bloco não alocado"
-#: lib/malloc/malloc.c:910
+#: lib/malloc/malloc.c:900
msgid "free: underflow detected; mh_nbytes out of range"
msgstr "free: esvaziamento de pilha detectado; mh_nbytes fora do limite"
-#: lib/malloc/malloc.c:916
+#: lib/malloc/malloc.c:906
msgid "free: start and end chunk sizes differ"
msgstr "free: tamanhos de porções do início e do fim são diferentes"
-#: lib/malloc/malloc.c:1015
+#: lib/malloc/malloc.c:1005
msgid "realloc: called with unallocated block argument"
msgstr "realloc: chamado com argumento de bloco não alocado"
-#: lib/malloc/malloc.c:1030
+#: lib/malloc/malloc.c:1020
msgid "realloc: underflow detected; mh_nbytes out of range"
msgstr "realloc: esvaziamento de pilha detectado; mh_nbytes fora do limite"
-#: lib/malloc/malloc.c:1036
+#: lib/malloc/malloc.c:1026
msgid "realloc: start and end chunk sizes differ"
msgstr "realloc: tamanhos de porções do início e do fim são diferentes"
@@ -1402,22 +1369,22 @@ msgstr "%s: especificação de caminho de rede inválida"
msgid "network operations not supported"
msgstr "sem suporte a operações de rede"
-#: locale.c:205
+#: locale.c:200
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s)"
msgstr "setlocale: LC_ALL: impossível alterar locale (%s)"
-#: locale.c:207
+#: locale.c:202
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
msgstr "setlocale: LC_ALL: impossível alterar locale (%s): %s"
-#: locale.c:272
+#: locale.c:259
#, c-format
msgid "setlocale: %s: cannot change locale (%s)"
msgstr "setlocale: %s: impossível alterar locale (%s)"
-#: locale.c:274
+#: locale.c:261
#, c-format
msgid "setlocale: %s: cannot change locale (%s): %s"
msgstr "setlocale: %s: impossível alterar locale (%s): %s"
@@ -1435,149 +1402,145 @@ msgstr "Você tem mensagem nova de correio em $_"
msgid "The mail in %s has been read\n"
msgstr "As mensagens de correio em %s foram lidas\n"
-#: make_cmd.c:317
+#: make_cmd.c:329
msgid "syntax error: arithmetic expression required"
msgstr "erro de sintaxe: requer expressão aritmética"
-#: make_cmd.c:319
+#: make_cmd.c:331
msgid "syntax error: `;' unexpected"
msgstr "erro de sintaxe: `;' inesperado"
-#: make_cmd.c:320
+#: make_cmd.c:332
#, c-format
msgid "syntax error: `((%s))'"
msgstr "erro de sintaxe: `((%s))'"
-#: make_cmd.c:572
+#: make_cmd.c:584
#, c-format
msgid "make_here_document: bad instruction type %d"
msgstr "make_here_document: tipo da instrução incorreto %d"
-#: make_cmd.c:657
+#: make_cmd.c:669
#, c-format
msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
-msgstr ""
-"here-document na linha %d delimitado pelo fim do arquivo (desejava `%s')"
+msgstr "here-document na linha %d delimitado pelo fim do arquivo (desejava `%s')"
-#: make_cmd.c:756
+#: make_cmd.c:768
#, c-format
msgid "make_redirection: redirection instruction `%d' out of range"
msgstr "make_redirection: instrução de redirecionamento `%d' fora do limite"
-#: parse.y:2369
+#: parse.y:2324
#, c-format
-msgid ""
-"shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line "
-"truncated"
-msgstr ""
-"shell_getc: shell_input_line_size (%zu) excede SIZE_MAX (%lu): linha truncada"
+msgid "shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line truncated"
+msgstr "shell_getc: shell_input_line_size (%zu) excede SIZE_MAX (%lu): linha truncada"
-#: parse.y:2772
+#: parse.y:2700
msgid "maximum here-document count exceeded"
msgstr "excedido o número máximo de here-document"
-#: parse.y:3511 parse.y:3881
+#: parse.y:3390 parse.y:3748
#, c-format
msgid "unexpected EOF while looking for matching `%c'"
msgstr "encontrado EOF inesperado enquanto procurava por `%c' correspondente"
-#: parse.y:4581
+#: parse.y:4410
msgid "unexpected EOF while looking for `]]'"
msgstr "encontrado EOF inesperado enquanto procurava por `]]'"
-#: parse.y:4586
+#: parse.y:4415
#, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
msgstr "erro de sintaxe na expressão condicional: token inesperado `%s'"
-#: parse.y:4590
+#: parse.y:4419
msgid "syntax error in conditional expression"
msgstr "erro de sintaxe na expressão condicional"
-#: parse.y:4668
+#: parse.y:4497
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr "token inesperado `%s', esperava`)'"
-#: parse.y:4672
+#: parse.y:4501
msgid "expected `)'"
msgstr "esperava `)'"
-#: parse.y:4700
+#: parse.y:4529
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr "argumento inesperado `%s' para operador unário condicional"
-#: parse.y:4704
+#: parse.y:4533
msgid "unexpected argument to conditional unary operator"
msgstr "argumento inesperado para operador unário condicional"
-#: parse.y:4750
+#: parse.y:4579
#, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr "token inesperado `%s', esperava operador binário condicional"
-#: parse.y:4754
+#: parse.y:4583
msgid "conditional binary operator expected"
msgstr "esperava operador binário condicional"
-#: parse.y:4776
+#: parse.y:4605
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr "argumento inesperado `%s' para operador binário condicional"
-#: parse.y:4780
+#: parse.y:4609
msgid "unexpected argument to conditional binary operator"
msgstr "argumento inesperado para operador binário condicional"
-#: parse.y:4791
+#: parse.y:4620
#, c-format
msgid "unexpected token `%c' in conditional command"
msgstr "token inesperado `%c' em comando condicional"
-#: parse.y:4794
+#: parse.y:4623
#, c-format
msgid "unexpected token `%s' in conditional command"
msgstr "token inesperado `%s' em comando condicional"
-#: parse.y:4798
+#: parse.y:4627
#, c-format
msgid "unexpected token %d in conditional command"
msgstr "token inesperado %d em comando condicional"
-#: parse.y:6220
+#: parse.y:5996
#, c-format
msgid "syntax error near unexpected token `%s'"
msgstr "erro de sintaxe próximo ao token inesperado `%s'"
-#: parse.y:6238
+#: parse.y:6014
#, c-format
msgid "syntax error near `%s'"
msgstr "erro de sintaxe próximo a `%s'"
-#: parse.y:6248
+#: parse.y:6024
msgid "syntax error: unexpected end of file"
msgstr "erro de sintaxe: fim prematuro do arquivo"
-#: parse.y:6248
+#: parse.y:6024
msgid "syntax error"
msgstr "erro de sintaxe"
-#: parse.y:6310
+#: parse.y:6086
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr "Use \"%s\" para sair do shell.\n"
-#: parse.y:6472
+#: parse.y:6248
msgid "unexpected EOF while looking for matching `)'"
msgstr "encontrado EOF inesperado enquanto procurava por `)' correspondente"
-#: pcomplete.c:1132
+#: pcomplete.c:1126
#, c-format
msgid "completion: function `%s' not found"
msgstr "completion: função `%s' não encontrada"
-#: pcomplete.c:1722
+#: pcomplete.c:1646
#, c-format
msgid "programmable_completion: %s: possible retry loop"
msgstr "programmable_completion: %s: possível loop de nova tentativa"
@@ -1588,113 +1551,109 @@ msgstr "programmable_completion: %s: possível loop de nova tentativa"
msgid "progcomp_insert: %s: NULL COMPSPEC"
msgstr "progcomp_insert: %s: COMPSPEC NULO"
-#: print_cmd.c:300
+#: print_cmd.c:302
#, c-format
msgid "print_command: bad connector `%d'"
msgstr "print_command: conector incorreto `%d'"
-#: print_cmd.c:373
+#: print_cmd.c:375
#, c-format
msgid "xtrace_set: %d: invalid file descriptor"
msgstr "xtrace_set: %d: descritor de arquivo inválido"
-#: print_cmd.c:378
+#: print_cmd.c:380
msgid "xtrace_set: NULL file pointer"
msgstr "xtrace_set: ponteiro de arquivo NULO"
-#: print_cmd.c:382
+#: print_cmd.c:384
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
msgstr "xtrace fd (%d) != fileno xtrace fp (%d)"
-#: print_cmd.c:1538
+#: print_cmd.c:1534
#, c-format
msgid "cprintf: `%c': invalid format character"
msgstr "cprintf: `%c': caractere de formato inválido"
-#: redir.c:121 redir.c:167
+#: redir.c:124 redir.c:171
msgid "file descriptor out of range"
msgstr "descritor de arquivo fora dos limites"
-#: redir.c:174
+#: redir.c:178
#, c-format
msgid "%s: ambiguous redirect"
msgstr "%s: redirecionamento ambíguo"
-#: redir.c:178
+#: redir.c:182
#, c-format
msgid "%s: cannot overwrite existing file"
msgstr "%s: impossível sobrescrever arquivo existente"
-#: redir.c:183
+#: redir.c:187
#, c-format
msgid "%s: restricted: cannot redirect output"
msgstr "%s: restrição: impossível redirecionar saída"
-#: redir.c:188
+#: redir.c:192
#, c-format
msgid "cannot create temp file for here-document: %s"
msgstr "impossível criar arquivo temporário para here-document: %s"
-#: redir.c:192
+#: redir.c:196
#, c-format
msgid "%s: cannot assign fd to variable"
msgstr "%s: impossível atribuir fd a variável"
-#: redir.c:588
+#: redir.c:586
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr "sem suporte a /dev/(tcp|udp)/máquina/porta sem rede"
-#: redir.c:870 redir.c:985 redir.c:1046 redir.c:1211
+#: redir.c:868 redir.c:983 redir.c:1044 redir.c:1209
msgid "redirection error: cannot duplicate fd"
msgstr "erro de redirecionamento: impossível duplicar fd"
-#: shell.c:343
+#: shell.c:347
msgid "could not find /tmp, please create!"
msgstr "impossível localizar /tmp, por favor crie!"
-#: shell.c:347
+#: shell.c:351
msgid "/tmp must be a valid directory name"
msgstr "/tmp deve ser um nome de diretório válido"
-#: shell.c:798
-msgid "pretty-printing mode ignored in interactive shells"
-msgstr ""
-
-#: shell.c:940
+#: shell.c:927
#, c-format
msgid "%c%c: invalid option"
msgstr "%c%c: opção inválida"
-#: shell.c:1299
+#: shell.c:1282
#, c-format
msgid "cannot set uid to %d: effective uid %d"
msgstr "impossível definir uid para %d: uid efetivo %d"
-#: shell.c:1306
+#: shell.c:1289
#, c-format
msgid "cannot set gid to %d: effective gid %d"
msgstr "impossível definir gid para %d: gid efetivo %d"
-#: shell.c:1494
+#: shell.c:1458
msgid "cannot start debugger; debugging mode disabled"
msgstr "possível iniciar o depurador; modo de depuração desabilitado"
-#: shell.c:1608
+#: shell.c:1566
#, c-format
msgid "%s: Is a directory"
msgstr "%s: É um diretório"
-#: shell.c:1826
+#: shell.c:1777
msgid "I have no name!"
msgstr "Eu não tenho nome!"
-#: shell.c:1980
+#: shell.c:1930
#, c-format
msgid "GNU bash, version %s-(%s)\n"
msgstr "GNU bash, versão %s-(%s)\n"
-#: shell.c:1981
+#: shell.c:1931
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
@@ -1703,52 +1662,49 @@ 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:1983
+#: shell.c:1933
msgid "GNU long options:\n"
msgstr "opções-longas-GNU:\n"
-#: shell.c:1987
+#: shell.c:1937
msgid "Shell options:\n"
msgstr "Opções do shell:\n"
-#: shell.c:1988
+#: shell.c:1938
msgid "\t-ilrsD or -c command or -O shopt_option\t\t(invocation only)\n"
msgstr "\t-ilrsD or -c comando ou -O opção-shopt\t\t(somente para chamada)\n"
-#: shell.c:2003
+#: shell.c:1953
#, c-format
msgid "\t-%s or -o option\n"
msgstr "\t-%s ou -o opção\n"
-#: shell.c:2009
+#: shell.c:1959
#, 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 do shell.\n"
+msgstr "Digite `%s -c \"help set\"' para mais informações sobre as opções do shell.\n"
-#: shell.c:2010
+#: shell.c:1960
#, 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"
+msgstr "Digite `%s -c help' para mais informações sobre os comandos internos do shell.\n"
-#: shell.c:2011
+#: shell.c:1961
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
msgstr "Uso o comando `bashbug' para relatar erros.\n"
-#: shell.c:2013
+#: shell.c:1963
#, c-format
msgid "bash home page: <http://www.gnu.org/software/bash>\n"
msgstr "página do bash: <http://www.gnu.org/software/bash>\n"
-#: shell.c:2014
+#: shell.c:1964
#, c-format
msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
msgstr "Ajuda geral sobre uso de software GNU: <http://www.gnu.org/gethelp/>\n"
-#: sig.c:695
+#: sig.c:707
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr "sigprocmask: %d: operação inválida"
@@ -1922,21 +1878,21 @@ msgstr "Sinal desconhecido #"
msgid "Unknown Signal #%d"
msgstr "Sinal desconhecido #%d"
-#: subst.c:1450 subst.c:1641
+#: subst.c:1445 subst.c:1608
#, c-format
msgid "bad substitution: no closing `%s' in %s"
msgstr "substituição incorreta: sem `%s' de fechamento em %s"
-#: subst.c:3209
+#: subst.c:3154
#, c-format
msgid "%s: cannot assign list to array member"
msgstr "%s: impossível atribuir uma lista a um membro de um array"
-#: subst.c:5734 subst.c:5750
+#: subst.c:5740 subst.c:5756
msgid "cannot make pipe for process substitution"
msgstr "impossível criar `pipe' para a substituição do processo"
-#: subst.c:5796
+#: subst.c:5798
msgid "cannot make child for process substitution"
msgstr "impossível criar um processo filho para a substituição do processo"
@@ -1955,77 +1911,67 @@ msgstr "impossível abrir `pipe' %s para escrita"
msgid "cannot duplicate named pipe %s as fd %d"
msgstr "impossível duplicar `pipe' %s como descritor de arquivo (fd) %d"
-#: subst.c:5990
+#: subst.c:5959
msgid "command substitution: ignored null byte in input"
msgstr "substituição de comando: byte nulo ignorado na entrada"
-#: subst.c:6121
+#: subst.c:6083
msgid "cannot make pipe for command substitution"
msgstr "impossível criar um `pipe' para substituição do comando"
-#: subst.c:6164
+#: subst.c:6127
msgid "cannot make child for command substitution"
msgstr "impossível criar um processo filho para substituição do comando"
-#: subst.c:6190
+#: subst.c:6153
msgid "command_substitute: cannot duplicate pipe as fd 1"
-msgstr ""
-"command_substitute: impossível duplicar o `pipe' como descritor de arquivo "
-"(fd) 1"
+msgstr "command_substitute: impossível duplicar o `pipe' como descritor de arquivo (fd) 1"
-#: subst.c:6641 subst.c:9483
+#: subst.c:6580 subst.c:8939
#, c-format
msgid "%s: invalid variable name for name reference"
msgstr "%s: nome de variável inválido para referência de nome"
-#: subst.c:6737 subst.c:6755 subst.c:6903
+#: subst.c:6666 subst.c:8351 subst.c:8371
+#, c-format
+msgid "%s: bad substitution"
+msgstr "%s: substituição incorreta"
+
+#: subst.c:6800
#, c-format
msgid "%s: invalid indirect expansion"
msgstr "%s: expansão indireta inválida"
-#: subst.c:6771 subst.c:6910
+#: subst.c:6807
#, c-format
msgid "%s: invalid variable name"
msgstr "%s: nome de variável inválido"
-#: subst.c:6962
-#, fuzzy, c-format
-msgid "%s: parameter not set"
-msgstr "%s: parâmetro nulo ou não inicializado"
-
-#: subst.c:6964
+#: subst.c:6854
#, c-format
msgid "%s: parameter null or not set"
msgstr "%s: parâmetro nulo ou não inicializado"
-#: subst.c:7201 subst.c:7216
+#: subst.c:7089 subst.c:7104
#, c-format
msgid "%s: substring expression < 0"
msgstr "%s: expressão de substring < 0"
-#: subst.c:8839 subst.c:8860
-#, c-format
-msgid "%s: bad substitution"
-msgstr "%s: substituição incorreta"
-
-#: subst.c:8948
+#: subst.c:8450
#, c-format
msgid "$%s: cannot assign in this way"
msgstr "$%s: impossível atribuir desta maneira"
-#: subst.c:9346
-msgid ""
-"future versions of the shell will force evaluation as an arithmetic "
-"substitution"
-msgstr ""
-"versões futuras do shell vão forçar avaliação como um substituto aritmético"
+#: subst.c:8802
+msgid "future versions of the shell will force evaluation as an arithmetic substitution"
+msgstr "versões futuras do shell vão forçar avaliação como um substituto aritmético"
-#: subst.c:9903
+#: subst.c:9349
#, c-format
msgid "bad substitution: no closing \"`\" in %s"
msgstr "substituição incorreta: sem \"`\" de fechamento em %s"
-#: subst.c:10907
+#: subst.c:10298
#, c-format
msgid "no match: %s"
msgstr "sem correspondência: %s"
@@ -2048,111 +1994,107 @@ msgstr "esperava `)'"
msgid "`)' expected, found %s"
msgstr "esperava `)', encontrado %s"
-#: test.c:282 test.c:748 test.c:751
+#: test.c:282 test.c:744 test.c:747
#, c-format
msgid "%s: unary operator expected"
msgstr "%s: esperava operador unário"
-#: test.c:469 test.c:791
+#: test.c:469 test.c:787
#, c-format
msgid "%s: binary operator expected"
msgstr "%s: esperava operador binário"
-#: test.c:873
+#: test.c:869
msgid "missing `]'"
msgstr "faltando `]'"
-#: trap.c:216
+#: trap.c:224
msgid "invalid signal number"
msgstr "número de sinal inválido"
-#: trap.c:379
+#: trap.c:387
#, c-format
msgid "run_pending_traps: bad value in trap_list[%d]: %p"
msgstr "run_pending_traps: valor incorreto em trap_list[%d]: %p"
-#: trap.c:383
+#: trap.c:391
#, c-format
-msgid ""
-"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
-msgstr ""
-"run_pending_traps: manipulador de sinal é SIG_DFL, enviando novamente %d (%"
-"s) para mim mesmo"
+msgid "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
+msgstr "run_pending_traps: manipulador de sinal é SIG_DFL, enviando novamente %d (%s) para mim mesmo"
-#: trap.c:439
+#: trap.c:447
#, c-format
msgid "trap_handler: bad signal %d"
msgstr "trap_handler: sinal incorreto %d"
-#: variables.c:399
+#: variables.c:409
#, c-format
msgid "error importing function definition for `%s'"
msgstr "erro ao importar a definição da função para `%s'"
-#: variables.c:801
+#: variables.c:814
#, c-format
msgid "shell level (%d) too high, resetting to 1"
msgstr "nível do shell (%d) muito grande, redefinindo para 1"
-#: variables.c:2512
+#: variables.c:2413
msgid "make_local_variable: no function context at current scope"
msgstr "make_local_variable: nenhum contexto de função no atual escopo"
-#: variables.c:2531
+#: variables.c:2432
#, c-format
msgid "%s: variable may not be assigned value"
msgstr "%s: a variável pode não ter um valor atribuído"
-#: variables.c:3246
+#: variables.c:3043
#, c-format
msgid "%s: assigning integer to name reference"
msgstr "%s: atribuindo inteiro para referência de nome"
-#: variables.c:4149
+#: variables.c:3940
msgid "all_local_variables: no function context at current scope"
msgstr "all_local_variables: nenhum contexto de função no escopo atual"
-#: variables.c:4437
+#: variables.c:4218
#, c-format
msgid "%s has null exportstr"
msgstr "%s possui a string de exportação nula"
# exportstr é uma variável no código fonte do bash (arquivo variiables.c)
-#: variables.c:4442 variables.c:4451
+#: variables.c:4223 variables.c:4232
#, c-format
msgid "invalid character %d in exportstr for %s"
msgstr "caractere inválido na %d na exportstr para %s"
# exportstr é uma variável no código fonte do bash (arquivo variiables.c)
-#: variables.c:4457
+#: variables.c:4238
#, c-format
msgid "no `=' in exportstr for %s"
msgstr "Sem `=' na exportstr para %s"
-#: variables.c:4911
+#: variables.c:4684
msgid "pop_var_context: head of shell_variables not a function context"
msgstr "pop_var_context: cabeça de shell_variables não é um contexto de função"
-#: variables.c:4924
+#: variables.c:4697
msgid "pop_var_context: no global_variables context"
msgstr "pop_var_context: nenhum contexto em no global_variables"
-#: variables.c:4999
+#: variables.c:4772
msgid "pop_scope: head of shell_variables not a temporary environment scope"
-msgstr ""
-"pop_scope: cabeça de shell_variables não é um escopo de ambiente temporário"
+msgstr "pop_scope: cabeça de shell_variables não é um escopo de ambiente temporário"
-#: variables.c:5862
+#: variables.c:5619
#, c-format
msgid "%s: %s: cannot open as FILE"
msgstr "%s: %s: impossível abrir como ARQUIVO"
-#: variables.c:5867
+#: variables.c:5624
#, c-format
msgid "%s: %s: invalid value for trace file descriptor"
msgstr "%s: %s: valor inválido para rastrear descritor de arquivo"
-#: variables.c:5912
+#: variables.c:5669
#, c-format
msgid "%s: %s: compatibility value out of range"
msgstr "%s: %s: valor de compatibilidade fora dos limites"
@@ -2162,12 +2104,8 @@ msgid "Copyright (C) 2016 Free Software Foundation, Inc."
msgstr "Copyright (C) 2016 Free Software Foundation, Inc."
#: version.c:47 version2.c:47
-msgid ""
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>\n"
-msgstr ""
-"Licença GPLv3+: GNU GPL versão 3 ou posterior <http://gnu.org/licenses/gpl."
-"html>.\n"
+msgid "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+msgstr "Licença GPLv3+: GNU GPL versão 3 ou posterior <http://gnu.org/licenses/gpl.html>.\n"
#: version.c:86 version2.c:86
#, c-format
@@ -2182,22 +2120,22 @@ msgstr "Este é um software livre; você é livre para alterar e redistribuí-lo
msgid "There is NO WARRANTY, to the extent permitted by law."
msgstr "Há NENHUMA GARANTIA, na extensão permitida pela lei."
-#: xmalloc.c:93
+#: xmalloc.c:91
#, c-format
msgid "%s: cannot allocate %lu bytes (%lu bytes allocated)"
msgstr "%s: impossível alocar %lu bytes (%lu bytes alocados)"
-#: xmalloc.c:95
+#: xmalloc.c:93
#, c-format
msgid "%s: cannot allocate %lu bytes"
msgstr "%s: impossível alocar %lu bytes"
-#: xmalloc.c:165
+#: xmalloc.c:163
#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
msgstr "%s: %s:%d: impossível alocar %lu bytes (%lu bytes alocados)"
-#: xmalloc.c:167
+#: xmalloc.c:165
#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes"
msgstr "%s: %s:%d: impossível alocar %lu bytes"
@@ -2211,13 +2149,8 @@ msgid "unalias [-a] name [name ...]"
msgstr "unalias [-a] NOME [NOME ...]"
#: builtins.c:53
-msgid ""
-"bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-"
-"x keyseq:shell-command] [keyseq:readline-function or readline-command]"
-msgstr ""
-"bind [-lpsvPSVX] [-m MAPA-TECLAS] [-f ARQUIVO] [-q NOME] [-u NOME] [-r SEQ-"
-"TECLAS] [-x SEQ-TECLAS:COMANDO-SHELL] [SEQ-TECLAS:FUNÇÃO-DE-LINHA ou "
-"COMANDO-DE-LINHA]"
+msgid "bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-x keyseq:shell-command] [keyseq:readline-function or readline-command]"
+msgstr "bind [-lpsvPSVX] [-m MAPA-TECLAS] [-f ARQUIVO] [-q NOME] [-u NOME] [-r SEQ-TECLAS] [-x SEQ-TECLAS:COMANDO-SHELL] [SEQ-TECLAS:FUNÇÃO-DE-LINHA ou COMANDO-DE-LINHA]"
#: builtins.c:56
msgid "break [n]"
@@ -2293,8 +2226,7 @@ msgstr "logout [n]"
#: builtins.c:105
msgid "fc [-e ename] [-lnr] [first] [last] or fc -s [pat=rep] [command]"
-msgstr ""
-"fc [-e EDITOR] [-lnr] [PRIMEIRO] [ÚLTIMO] ou fc -s [ANTIGO=NOVO] [COMANDO]"
+msgstr "fc [-e EDITOR] [-lnr] [PRIMEIRO] [ÚLTIMO] ou fc -s [ANTIGO=NOVO] [COMANDO]"
#: builtins.c:109
msgid "fg [job_spec]"
@@ -2313,12 +2245,8 @@ msgid "help [-dms] [pattern ...]"
msgstr "help [-dms] [PADRÃO ...]"
#: builtins.c:123
-msgid ""
-"history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg "
-"[arg...]"
-msgstr ""
-"history [-c] [-d POSIÇÃO] [n] ou history -anrw [ARQUIVO] ou history -ps ARG "
-"[ARG...]"
+msgid "history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]"
+msgstr "history [-c] [-d POSIÇÃO] [n] ou history -anrw [ARQUIVO] ou history -ps ARG [ARG...]"
#: builtins.c:127
msgid "jobs [-lnprs] [jobspec ...] or jobs -x command [args]"
@@ -2329,24 +2257,16 @@ msgid "disown [-h] [-ar] [jobspec ... | pid ...]"
msgstr "disown [-h] [-ar] [ESPEC-JOB ... | pid ...]"
#: builtins.c:134
-msgid ""
-"kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l "
-"[sigspec]"
-msgstr ""
-"kill [-s SIGSPEC | -n SIGNUM | -SIGSPEC] PID | ESPEC-JOB ... ou kill -l "
-"[SIGSPEC]"
+msgid "kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]"
+msgstr "kill [-s SIGSPEC | -n SIGNUM | -SIGSPEC] PID | ESPEC-JOB ... ou kill -l [SIGSPEC]"
#: builtins.c:136
msgid "let arg [arg ...]"
msgstr "let ARG [ARG ...]"
#: builtins.c:138
-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 TEXTO] [-n NCHARS] [-N NCHARS] [-p "
-"CONFIRMAR ] [-t TEMPO] [-u FD] [NOME ...]"
+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 TEXTO] [-n NCHARS] [-N NCHARS] [-p CONFIRMAR ] [-t TEMPO] [-u FD] [NOME ...]"
#: builtins.c:140
msgid "return [n]"
@@ -2409,8 +2329,7 @@ msgid "umask [-p] [-S] [mode]"
msgstr "umask [-p] [-S] [MODO]"
#: builtins.c:177
-#, fuzzy
-msgid "wait [-fn] [id ...]"
+msgid "wait [-n] [id ...]"
msgstr "wait [-n] [ID ...]"
#: builtins.c:181
@@ -2438,12 +2357,8 @@ msgid "case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac"
msgstr "case PALAVRA in [PADRÃO [| PADRÃO]...) COMANDOS ;;]... esac"
#: builtins.c:194
-msgid ""
-"if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else "
-"COMMANDS; ] fi"
-msgstr ""
-"if COMANDOS; then COMANDOS; [ elif COMANDOS; then COMANDOS; ]... [ else "
-"COMANDOS; ] fi"
+msgid "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMMANDS; ] fi"
+msgstr "if COMANDOS; then COMANDOS; [ elif COMANDOS; then COMANDOS; ]... [ else COMANDOS; ] fi"
#: builtins.c:196
msgid "while COMMANDS; do COMMANDS; done"
@@ -2503,44 +2418,24 @@ msgid "printf [-v var] format [arguments]"
msgstr "printf [-v VAR] FORMATO [ARGUMENTOS]"
#: builtins.c:231
-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 OPÇÃO] [-A AÇÃO] [-G GLOBAL] [-W "
-"LISTA-PALAVRAS] [-F FUNÇÃO] [-C COMANDO] [-X FILTRO] [-P PREFIXO] [-S "
-"SUFIXO] [NOME ...]"
+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 OPÇÃO] [-A AÇÃO] [-G GLOBAL] [-W LISTA-PALAVRAS] [-F FUNÇÃO] [-C COMANDO] [-X FILTRO] [-P PREFIXO] [-S SUFIXO] [NOME ...]"
#: builtins.c:235
-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 OPÇÃO] [-A AÇÃO] [-G GLOBAL] [-W LISTA-"
-"PALAVRAS] [-F FUNÇÃO] [-C COMANDO] [-X FILTRO] [-P PREFIXO] [-S SUFIXO] "
-"[PALAVRA]"
+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 OPÇÃO] [-A AÇÃO] [-G GLOBAL] [-W LISTA-PALAVRAS] [-F FUNÇÃO] [-C COMANDO] [-X FILTRO] [-P PREFIXO] [-S SUFIXO] [PALAVRA]"
#: builtins.c:239
msgid "compopt [-o|+o option] [-DE] [name ...]"
msgstr "compopt [-o|+o OPÇÃO] [-DE] [NOME ...]"
#: builtins.c:242
-msgid ""
-"mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
-msgstr ""
-"mapfile [-d DELIM] [-n NÚMERO] [-O ORIGEM] [-s NÚMERO] [-t] [-u FD] [-C "
-"CHAMADA] [-c QUANTIDADE] [ARRAY]"
+msgid "mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
+msgstr "mapfile [-d DELIM] [-n NÚMERO] [-O ORIGEM] [-s NÚMERO] [-t] [-u FD] [-C CHAMADA] [-c QUANTIDADE] [ARRAY]"
#: builtins.c:244
-#, fuzzy
-msgid ""
-"readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
-msgstr ""
-"readarray [-n NÚMERO] [-O ORIGEM] [-s NÚMERO] [-t] [-u FD] [-C CHAMADA] [-c "
-"QUANTIDADE] [ARRAY]"
+msgid "readarray [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
+msgstr "readarray [-n NÚMERO] [-O ORIGEM] [-s NÚMERO] [-t] [-u FD] [-C CHAMADA] [-c QUANTIDADE] [ARRAY]"
# help alias
#: builtins.c:256
@@ -2558,8 +2453,7 @@ msgid ""
" -p\tprint all defined aliases in a reusable format\n"
" \n"
" Exit Status:\n"
-" alias returns true unless a NAME is supplied for which no alias has "
-"been\n"
+" alias returns true unless a NAME is supplied for which no alias has been\n"
" defined."
msgstr ""
"Define ou exibe apelidos (aliases).\n"
@@ -2608,30 +2502,25 @@ msgid ""
" Options:\n"
" -m keymap Use KEYMAP as the keymap for the duration of this\n"
" command. Acceptable keymap names are emacs,\n"
-" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-"
-"move,\n"
+" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,\n"
" vi-command, and vi-insert.\n"
" -l List names of functions.\n"
" -P List function names and bindings.\n"
" -p List functions and bindings in a form that can be\n"
" reused as input.\n"
-" -S List key sequences that invoke macros and their "
-"values\n"
-" -s List key sequences that invoke macros and their "
-"values\n"
+" -S List key sequences that invoke macros and their values\n"
+" -s List key sequences that invoke macros and their values\n"
" in a form that can be reused as input.\n"
" -V List variable names and values\n"
" -v List variable names and values in a form that can\n"
" be reused as input.\n"
" -q function-name Query about which keys invoke the named function.\n"
-" -u function-name Unbind all keys which are bound to the named "
-"function.\n"
+" -u function-name Unbind all keys which are bound to the named function.\n"
" -r keyseq Remove the binding for KEYSEQ.\n"
" -f filename Read key bindings from FILENAME.\n"
" -x keyseq:shell-command\tCause SHELL-COMMAND to be executed when\n"
" \t\t\t\tKEYSEQ is entered.\n"
-" -X List key sequences bound with -x and associated "
-"commands\n"
+" -X List key sequences bound with -x and associated commands\n"
" in a form that can be reused as input.\n"
" \n"
" Exit Status:\n"
@@ -2651,33 +2540,24 @@ msgstr ""
" vi, vi-move, vi-command e vi-insert.\n"
" -l Lista nomes de funções.\n"
" -P Lista nomes e associações de função.\n"
-" -p Lista funções e associações em uma forma que pode "
-"ser\n"
+" -p Lista funções e associações em uma forma que pode ser\n"
" usada como entrada.\n"
-" -S Lista sequências de teclas que chamam macros e "
-"seus\n"
+" -S Lista sequências de teclas que chamam macros e seus\n"
" valores\n"
-" -s Lista sequências de teclas que chamam macros e "
-"seus\n"
-" valores em uma forma que pode ser usada como "
-"entrada.\n"
+" -s Lista sequências de teclas que chamam macros e seus\n"
+" valores em uma forma que pode ser usada como entrada.\n"
" -V Lista nomes e valores de variáveis\n"
-" -v Lista nomes e valores de variáveis em uma forma "
-"que\n"
+" -v Lista nomes e valores de variáveis em uma forma que\n"
" pode ser usada como entrada.\n"
-" -q NOME Consulta sobre quais teclas chamam a função "
-"informada.\n"
-" -u NOME Desassocia todas teclas que estão associadas à "
-"função\n"
+" -q NOME Consulta sobre quais teclas chamam a função informada.\n"
+" -u NOME Desassocia todas teclas que estão associadas à função\n"
" informada.\n"
" -r SEQ-TECLAS Remove a associação para SEQ-TECLAS.\n"
" -f ARQUIVO Lê associações de tecla de ARQUIVO.\n"
" -x SEQ-TECLAS:COMANDO-SHELL\n"
-" Faz com que COMANDO-SHELL seja executado ao "
-"inserir\n"
+" Faz com que COMANDO-SHELL seja executado ao inserir\n"
" SEQ-TECLAS.\n"
-" -X Lista sequência de teclas associadas com -x e "
-"comandos\n"
+" -X Lista sequência de teclas associadas com -x e comandos\n"
" associados em uma forma que pode ser usada como\n"
" entrada.\n"
" \n"
@@ -2731,8 +2611,7 @@ msgid ""
" \n"
" Execute SHELL-BUILTIN with arguments ARGs without performing command\n"
" lookup. This is useful when you wish to reimplement a shell builtin\n"
-" as a shell function, but need to execute the builtin within the "
-"function.\n"
+" as a shell function, but need to execute the builtin within the function.\n"
" \n"
" Exit Status:\n"
" Returns the exit status of SHELL-BUILTIN, or false if SHELL-BUILTIN is\n"
@@ -2768,8 +2647,7 @@ msgstr ""
"Retorna o contexto da chamada de sub-rotina atual.\n"
" \n"
" Sem EXPR, retorna \"$linha $arquivo\". Com EXPR, retorna\n"
-" \"$linha $sub-rotina $arquivo\"; essa informação extra pode ser usada "
-"para\n"
+" \"$linha $sub-rotina $arquivo\"; essa informação extra pode ser usada para\n"
" fornecer um rastro da pilha.\n"
" \n"
" O valor de EXPR indica quantos quadros de chamada deve voltar antes do\n"
@@ -2784,22 +2662,16 @@ msgstr ""
msgid ""
"Change the shell working directory.\n"
" \n"
-" Change the current directory to DIR. The default DIR is the value of "
-"the\n"
+" Change the current directory to DIR. The default DIR is the value of the\n"
" HOME shell variable.\n"
" \n"
-" The variable CDPATH defines the search path for the directory "
-"containing\n"
-" DIR. Alternative directory names in CDPATH are separated by a colon "
-"(:).\n"
-" A null directory name is the same as the current directory. If DIR "
-"begins\n"
+" The variable CDPATH defines the search path for the directory containing\n"
+" DIR. Alternative directory names in CDPATH are separated by a colon (:).\n"
+" A null directory name is the same as the current directory. If DIR begins\n"
" with a slash (/), then CDPATH is not used.\n"
" \n"
-" If the directory is not found, and the shell option `cdable_vars' is "
-"set,\n"
-" the word is assumed to be a variable name. If that variable has a "
-"value,\n"
+" If the directory is not found, and the shell option `cdable_vars' is set,\n"
+" the word is assumed to be a variable name. If that variable has a value,\n"
" its value is used for DIR.\n"
" \n"
" Options:\n"
@@ -2815,13 +2687,11 @@ msgid ""
" \t\tattributes as a directory containing the file attributes\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
-" `..' is processed by removing the immediately previous pathname "
-"component\n"
+" `..' is processed by removing the immediately previous pathname component\n"
" back to a slash or the beginning of DIR.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed, and if $PWD is set successfully "
-"when\n"
+" Returns 0 if the directory is changed, and if $PWD is set successfully when\n"
" -P is used; non-zero otherwise."
msgstr ""
"Altera o diretório de trabalho do shell.\n"
@@ -2829,20 +2699,17 @@ msgstr ""
" Altera o diretório atual para DIR, sendo o padrão de DIR o mesmo valor\n"
" da variável HOME.\n"
" \n"
-" A variável CDPATH define o caminho de pesquisa para o diretório "
-"contendo\n"
+" A variável CDPATH define o caminho de pesquisa para o diretório contendo\n"
" DIR. Nomes de diretórios alternativos em CDPATH são separados por\n"
" dois-pontos (:). Um nome de diretório nulo é o mesmo que o diretório\n"
" atual. Se DIR inicia com uma barra (/), então CDPATH não é usada.\n"
" \n"
-" Se o diretório não for encontrado e a opção `cdable_vars` estiver "
-"definida\n"
+" Se o diretório não for encontrado e a opção `cdable_vars` estiver definida\n"
" no shell, a palavra é presumida como sendo o nome de uma variável. Se\n"
" tal variável possuir um valor, este valor é usado para DIR.\n"
" \n"
" Opções:\n"
-" -L\tforça links simbólicos a serem seguidos: resolver links "
-"simbólicos\n"
+" -L\tforça links simbólicos a serem seguidos: resolver links simbólicos\n"
" \t\tem DIR após processar instâncias de `..'\n"
" -P\tusa a estrutura do diretório físico sem seguir links\n"
" \t\tsimbólicos: resolve links simbólicos em DIR antes de processar\n"
@@ -2853,15 +2720,12 @@ msgstr ""
" \t\tatributos estendidos como um diretório contendo os atributos de\n"
" \t\tarquivo\n"
" \n"
-" O padrão é seguir links simbólicos, como se `-L' tivesse sido "
-"especificada.\n"
-" `..' é processada removendo o componente de caminho imediatamente "
-"anterior\n"
+" O padrão é seguir links simbólicos, como se `-L' tivesse sido especificada.\n"
+" `..' é processada removendo o componente de caminho imediatamente anterior\n"
" de volta para uma barra ou para o início de DIR.\n"
" \n"
" Status de saída:\n"
-" Retorna 0, se o diretório tiver sido alterado e se $PWD está definida "
-"com\n"
+" Retorna 0, se o diretório tiver sido alterado e se $PWD está definida com\n"
" sucesso quando a opção -P for usada; do contrário, retorna não-zero."
# help pwd
@@ -2942,8 +2806,7 @@ msgid ""
"Execute a simple command or display information about commands.\n"
" \n"
" Runs COMMAND with ARGS suppressing shell function lookup, or display\n"
-" information about the specified COMMANDs. Can be used to invoke "
-"commands\n"
+" information about the specified COMMANDs. Can be used to invoke commands\n"
" on disk when a function with the same name exists.\n"
" \n"
" Options:\n"
@@ -2973,7 +2836,6 @@ msgstr ""
# help declare
#: builtins.c:490
-#, fuzzy
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2992,11 +2854,11 @@ msgid ""
" -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 the value of each NAME to lower case on assignment\n"
+" -l\tto convert NAMEs to lower case on assignment\n"
" -n\tmake NAME a reference to the variable named by its value\n"
" -r\tto make NAMEs readonly\n"
" -t\tto make NAMEs have the `trace' attribute\n"
-" -u\tto convert the value of each NAME to upper case on assignment\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"
@@ -3004,8 +2866,7 @@ msgid ""
" Variables with the integer attribute have arithmetic evaluation (see\n"
" the `let' command) performed when the variable is assigned a value.\n"
" \n"
-" When used in a function, `declare' makes NAMEs local, as with the "
-"`local'\n"
+" When used in a function, `declare' makes NAMEs local, as with the `local'\n"
" command. The `-g' option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
@@ -3014,8 +2875,7 @@ msgid ""
msgstr ""
"Define valores e atributos de variável.\n"
" \n"
-" Declara variáveis e a elas fornece atributos. Se nenhum NOME for "
-"fornecido,\n"
+" Declara variáveis e a elas fornece atributos. Se nenhum NOME for fornecido,\n"
" exibe os atributos e valores de todas as variáveis.\n"
" \n"
" Opções:\n"
@@ -3079,8 +2939,7 @@ msgstr ""
" Cria uma variável local chamada NOME e lhe dá VALOR. OPÇÃO pode ser\n"
" qualquer opção aceita pelo `declare'.\n"
" \n"
-" Variáveis locais podem ser usadas apenas em uma função; elas são "
-"visíveis\n"
+" Variáveis locais podem ser usadas apenas em uma função; elas são visíveis\n"
" apenas para a função na qual elas foram definidas, bem como para seus\n"
" filhos.\n"
" \n"
@@ -3094,8 +2953,7 @@ msgstr ""
msgid ""
"Write arguments to the standard output.\n"
" \n"
-" Display the ARGs, separated by a single space character and followed by "
-"a\n"
+" Display the ARGs, separated by a single space character and followed by a\n"
" newline, on the standard output.\n"
" \n"
" Options:\n"
@@ -3235,8 +3093,7 @@ msgstr ""
msgid ""
"Execute arguments as a shell command.\n"
" \n"
-" Combine ARGs into a single string, use the result as input to the "
-"shell,\n"
+" Combine ARGs into a single string, use the result as input to the shell,\n"
" and execute the resulting commands.\n"
" \n"
" Exit Status:\n"
@@ -3317,8 +3174,7 @@ msgstr ""
" caractere de opção encontrada. Se getopts não estiver no modo\n"
" silencioso, uma opção inválida é vista, getopts coloca um '?' em\n"
" NOME e remove definição de OPTARG. Se um argumento obrigatório não for\n"
-" encontrado, um '?' é colocado em NOME, OPTARG tem sua definição "
-"removida\n"
+" encontrado, um '?' é colocado em NOME, OPTARG tem sua definição removida\n"
" e uma mensagem de diagnóstico é mostrada.\n"
" \n"
" Se a variável shell OPTERR possuir o valor 0, getopts desabilita a\n"
@@ -3338,8 +3194,7 @@ msgid ""
"Replace the shell with the given command.\n"
" \n"
" Execute COMMAND, replacing this shell with the specified program.\n"
-" ARGUMENTS become the arguments to COMMAND. If COMMAND is not "
-"specified,\n"
+" ARGUMENTS become the arguments to COMMAND. If COMMAND is not specified,\n"
" any redirections take effect in the current shell.\n"
" \n"
" Options:\n"
@@ -3347,13 +3202,11 @@ msgid ""
" -c\texecute COMMAND with an empty environment\n"
" -l\tplace a dash in the zeroth argument to COMMAND\n"
" \n"
-" If the command cannot be executed, a non-interactive shell exits, "
-"unless\n"
+" If the command cannot be executed, a non-interactive shell exits, unless\n"
" the shell option `execfail' is set.\n"
" \n"
" Exit Status:\n"
-" Returns success unless COMMAND is not found or a redirection error "
-"occurs."
+" Returns success unless COMMAND is not found or a redirection error occurs."
msgstr ""
"Substitui o shell com o comando fornecido.\n"
" \n"
@@ -3392,8 +3245,7 @@ msgstr ""
msgid ""
"Exit a login shell.\n"
" \n"
-" Exits a login shell with exit status N. Returns an error if not "
-"executed\n"
+" Exits a login shell with exit status N. Returns an error if not executed\n"
" in a login shell."
msgstr ""
"Sai de um shell de login.\n"
@@ -3406,15 +3258,13 @@ msgstr ""
msgid ""
"Display or execute commands from the history list.\n"
" \n"
-" fc is used to list or edit and re-execute commands from the history "
-"list.\n"
+" fc is used to list or edit and re-execute commands from the history list.\n"
" FIRST and LAST can be numbers specifying the range, or FIRST can be a\n"
" string, which means the most recent command beginning with that\n"
" string.\n"
" \n"
" Options:\n"
-" -e ENAME\tselect which editor to use. Default is FCEDIT, then "
-"EDITOR,\n"
+" -e ENAME\tselect which editor to use. Default is FCEDIT, then EDITOR,\n"
" \t\tthen vi\n"
" -l \tlist lines instead of editing\n"
" -n\tomit line numbers when listing\n"
@@ -3428,14 +3278,12 @@ msgid ""
" the last command.\n"
" \n"
" Exit Status:\n"
-" Returns success or status of executed command; non-zero if an error "
-"occurs."
+" Returns success or status of executed command; non-zero if an error occurs."
msgstr ""
"Exibe ou executa comandos da lista do histórico.\n"
" \n"
" fc é usado para listar ou editar e re-executar comandos da lista de\n"
-" histórico. PRIMEIRO e ÚLTIMO podem ser números especificando o "
-"intervalo\n"
+" histórico. PRIMEIRO e ÚLTIMO podem ser números especificando o intervalo\n"
" ou PRIMEIRO pode ser uma string, o que significa o comando mais recente\n"
" iniciando com aquela string.\n"
" \n"
@@ -3476,18 +3324,15 @@ msgstr ""
" a noção do shell de trabalho atual é usada.\n"
" \n"
" Status de saída:\n"
-" Status do comando colocado em primeiro plano ou falha, se ocorrer um "
-"erro."
+" Status do comando colocado em primeiro plano ou falha, se ocorrer um erro."
# help bg
#: builtins.c:773
msgid ""
"Move jobs to the background.\n"
" \n"
-" Place the jobs identified by each JOB_SPEC in the background, as if "
-"they\n"
-" had been started with `&'. If JOB_SPEC is not present, the shell's "
-"notion\n"
+" Place the jobs identified by each JOB_SPEC in the background, as if they\n"
+" had been started with `&'. If JOB_SPEC is not present, the shell's notion\n"
" of the current job is used.\n"
" \n"
" Exit Status:\n"
@@ -3509,8 +3354,7 @@ msgid ""
"Remember or display program locations.\n"
" \n"
" Determine and remember the full pathname of each command NAME. If\n"
-" no arguments are given, information about remembered commands is "
-"displayed.\n"
+" no arguments are given, information about remembered commands is displayed.\n"
" \n"
" Options:\n"
" -d\tforget the remembered location of each NAME\n"
@@ -3529,8 +3373,7 @@ msgid ""
msgstr ""
"Memoriza ou exibe localizações de programas.\n"
" \n"
-" Determina e memoriza do caminho completo de cada comando NOME. Se "
-"nenhum\n"
+" Determina e memoriza do caminho completo de cada comando NOME. Se nenhum\n"
" argumento for fornecido, exibe informação sobre comandos memorizados.\n"
" \n"
" Opções:\n"
@@ -3551,7 +3394,6 @@ msgstr ""
# help help
#: builtins.c:812
-#, fuzzy
msgid ""
"Display information about builtin commands.\n"
" \n"
@@ -3566,11 +3408,10 @@ msgid ""
" \t\tPATTERN\n"
" \n"
" Arguments:\n"
-" PATTERN\tPattern specifying a help topic\n"
+" PATTERN\tPattern specifiying a help topic\n"
" \n"
" Exit Status:\n"
-" Returns success unless PATTERN is not found or an invalid option is "
-"given."
+" Returns success unless PATTERN is not found or an invalid option is given."
msgstr ""
"Exibe informação sobre comandos internos (builtin).\n"
" \n"
@@ -3592,7 +3433,6 @@ msgstr ""
" inválida seja fornecida."
#: builtins.c:836
-#, fuzzy
msgid ""
"Display or manipulate the history list.\n"
" \n"
@@ -3601,8 +3441,7 @@ msgid ""
" \n"
" Options:\n"
" -c\tclear the history list by deleting all of the entries\n"
-" -d offset\tdelete the history entry at position OFFSET. Negative\n"
-" \t\toffsets count back from the end of the history list\n"
+" -d offset\tdelete the history entry at position 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"
@@ -3620,8 +3459,7 @@ msgid ""
" \n"
" If the HISTTIMEFORMAT variable is set and not null, its value is used\n"
" as a format string for strftime(3) to print the time stamp associated\n"
-" with each displayed history entry. No time stamps are printed "
-"otherwise.\n"
+" with each displayed history entry. No time stamps are printed otherwise.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or an error occurs."
@@ -3659,7 +3497,7 @@ msgstr ""
" ocorra um erro."
# help jobs
-#: builtins.c:873
+#: builtins.c:872
msgid ""
"Display status of jobs.\n"
" \n"
@@ -3705,7 +3543,7 @@ msgstr ""
" ocorra um erro. Se -x for usado, retorna o status de saída do COMANDO."
# help disown
-#: builtins.c:900
+#: builtins.c:899
msgid ""
"Remove jobs from current shell.\n"
" \n"
@@ -3737,7 +3575,7 @@ msgstr ""
" sejam fornecidos."
# help kill
-#: builtins.c:919
+#: builtins.c:918
msgid ""
"Send a signal to a job.\n"
" \n"
@@ -3783,15 +3621,14 @@ msgstr ""
" ocorra um erro."
# help let
-#: builtins.c:943
+#: builtins.c:942
msgid ""
"Evaluate arithmetic expressions.\n"
" \n"
" Evaluate each ARG as an arithmetic expression. Evaluation is done in\n"
" fixed-width integers with no check for overflow, though division by 0\n"
" is trapped and flagged as an error. The following list of operators is\n"
-" grouped into levels of equal-precedence operators. The levels are "
-"listed\n"
+" grouped into levels of equal-precedence operators. The levels are listed\n"
" in order of decreasing precedence.\n"
" \n"
" \tid++, id--\tvariable post-increment, post-decrement\n"
@@ -3869,35 +3706,30 @@ msgstr ""
" let retorna 0."
# help read
-#: builtins.c:988
-#, fuzzy
+#: builtins.c:987
msgid ""
"Read a line from the standard input and split it into fields.\n"
" \n"
" Reads a single line from the standard input, or from file descriptor FD\n"
-" if the -u option is supplied. The line is split into fields as with "
-"word\n"
+" if the -u option is supplied. The line is split into fields as with word\n"
" splitting, and the first word is assigned to the first NAME, the second\n"
" word to the second NAME, and so on, with any leftover words assigned to\n"
-" the last NAME. Only the characters found in $IFS are recognized as "
-"word\n"
+" the last NAME. Only the characters found in $IFS are recognized as word\n"
" delimiters.\n"
" \n"
-" If no NAMEs are supplied, the line read is stored in the REPLY "
-"variable.\n"
+" If no NAMEs are supplied, the line read is stored in the REPLY variable.\n"
" \n"
" Options:\n"
" -a array\tassign the words read to sequential indices of the array\n"
" \t\tvariable ARRAY, starting at zero\n"
" -d delim\tcontinue until the first character of DELIM is read, rather\n"
" \t\tthan newline\n"
-" -e\tuse Readline to obtain the line\n"
+" -e\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\n"
" \t\tNCHARS characters are read before the delimiter\n"
-" -N nchars\treturn only after reading exactly NCHARS characters, "
-"unless\n"
+" -N nchars\treturn only after reading exactly NCHARS characters, unless\n"
" \t\tEOF is encountered or read times out, ignoring any\n"
" \t\tdelimiter\n"
" -p prompt\toutput the string PROMPT without a trailing newline before\n"
@@ -3915,19 +3747,15 @@ msgid ""
" -u fd\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"
-" (in which case it's greater than 128), a variable assignment error "
-"occurs,\n"
+" The return code is zero, unless end-of-file is encountered, read times out\n"
+" (in which case it's greater than 128), a variable assignment error occurs,\n"
" or an invalid file descriptor is supplied as the argument to -u."
msgstr ""
"Lê uma linha da entrada padrão e separa em campos.\n"
"\n"
" Lê uma linha da entrada padrão ou do descritor de arquivo FD, caso a\n"
-" opção -u seja fornecida. A linha é separada em campos, na mesma forma "
-"de\n"
-" separação de palavras, e a primeira palavra é atribuída ao primeiro "
-"NOME,\n"
+" opção -u seja fornecida. A linha é separada em campos, na mesma forma de\n"
+" separação de palavras, e a primeira palavra é atribuída ao primeiro NOME,\n"
" o segundo ao segundo NOME e por aí vai, com qualquer palavras restantes\n"
" atribuídas para o último NOME. Apenas os caracteres encontrados em $IFS\n"
" são reconhecidos como delimitadores de palavras.\n"
@@ -3943,13 +3771,11 @@ msgstr ""
" -e usa Readline para obter a linha em um shell interativo\n"
" -i TEXTO usa TEXTO como o texto inicial para Readline\n"
" -n NCHARS retorna após ler NCHARS caracteres, ao invés de esperar\n"
-" por uma nova linha, mas respeita um delimitador se "
-"número\n"
+" por uma nova linha, mas respeita um delimitador se número\n"
" de caracteres menor que NCHARS sejam lidos antes do\n"
" delimitador\n"
" -N NCHARS retorna apenas após ler exatamente NCHARS caracteres, a\n"
-" menos que EOF (fim do arquivo) seja encontrado ou "
-"`read'\n"
+" menos que EOF (fim do arquivo) seja encontrado ou `read'\n"
" esgote o tempo limite, ignorando qualquer delimitador\n"
" -p CONFIRMAR mostra a string PROMPT sem remover nova linha antes de\n"
" tentar ler\n"
@@ -3958,26 +3784,21 @@ msgstr ""
" -s não ecoa entrada vindo de um terminal\n"
" -t TEMPO esgota-se o tempo limite e retorna falha, caso uma toda\n"
" uma linha não seja lida em TEMPO segundos. O valor da\n"
-" variável TMOUT é o tempo limite padrão. TEMPO pode ser "
-"um\n"
-" número fracionado. SE TEMPO for 0, `read' retorna "
-"sucesso\n"
+" variável TMOUT é o tempo limite padrão. TEMPO pode ser um\n"
+" número fracionado. SE TEMPO for 0, `read' retorna sucesso\n"
" apenas se a entrada estiver disponível no descritor de\n"
-" arquivo especificado. O status de saída é maior que "
-"128,\n"
+" arquivo especificado. O status de saída é maior que 128,\n"
" se o tempo limite for excedido\n"
-" -u FD lê do descritor de arquivo FD, ao invés da entrada "
-"padrão\n"
+" -u FD lê do descritor de arquivo FD, ao invés da entrada padrão\n"
" \n"
" Status de saída:\n"
" O código de retorno é zero, a menos que o EOF (fim do arquivo) seja\n"
-" encontrado, `read' esgote o tempo limite (caso em que o código de "
-"retorno\n"
+" encontrado, `read' esgote o tempo limite (caso em que o código de retorno\n"
" será 128), ocorra erro de atribuição de uma variável ou um descritor de\n"
" arquivo inválido seja fornecido como argumento para -u."
# help return
-#: builtins.c:1035
+#: builtins.c:1034
msgid ""
"Return from a shell function.\n"
" \n"
@@ -3999,7 +3820,7 @@ msgstr ""
" script."
# help set
-#: builtins.c:1048
+#: builtins.c:1047
msgid ""
"Set or unset values of shell options and positional parameters.\n"
" \n"
@@ -4042,8 +3863,7 @@ msgid ""
" physical same as -P\n"
" pipefail the return value of a pipeline is the status of\n"
" the last command to exit with a non-zero status,\n"
-" or zero if no command exited with a non-zero "
-"status\n"
+" or zero if no command exited with a non-zero status\n"
" posix change the behavior of bash where the default\n"
" operation differs from the Posix standard to\n"
" match the standard\n"
@@ -4067,8 +3887,7 @@ msgid ""
" by default when the shell is interactive.\n"
" -P If set, do not resolve symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
-" -T If set, the DEBUG and RETURN traps are inherited by shell "
-"functions.\n"
+" -T If set, the DEBUG and RETURN traps are 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"
@@ -4084,21 +3903,18 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is given."
msgstr ""
-"Define ou remove definição de valores das opções e dos parâmetros "
-"posicionais\n"
+"Define ou remove definição de valores das opções e dos parâmetros posicionais\n"
"do shell:\n"
" \n"
" Altera o valor de opções e de parâmetros posicionais do shell ou mostra\n"
" os nomes ou valores de variáveis shell.\n"
" \n"
" Opções:\n"
-" -a Marca variáveis, que foram modificadas ou criadas, para "
-"exportação.\n"
+" -a Marca variáveis, que foram modificadas ou criadas, para exportação.\n"
" -b Notifica sobre terminação de trabalho imediatamente.\n"
" -e Sai imediatamente se um comando sai com um status não-zero.\n"
" -f Desabilita a geração de nome de arquivo (\"globbing\").\n"
-" -h Memoriza a localização de comandos à medida em que são "
-"procurados.\n"
+" -h Memoriza a localização de comandos à medida em que são procurados.\n"
" -k Todos argumentos de atribuição são colocados no ambiente para um\n"
" comando, e não apenas aqueles que precedem o nome do comando.\n"
" -m Controle de trabalho está habilitado.\n"
@@ -4116,8 +3932,7 @@ msgstr ""
" history habilita histórico de comandos\n"
" ignoreeof shell não vai sair após leitura de EOF\n"
" interactive-comments\n"
-" permite mostrar comentários em comandos "
-"interativos\n"
+" permite mostrar comentários em comandos interativos\n"
" keyword mesmo que -k\n"
" monitor mesmo que -m\n"
" noclobber mesmo que -C\n"
@@ -4129,10 +3944,8 @@ msgstr ""
" onecmd mesmo que -t\n"
" physical mesmo que -P\n"
" pipefail o valor de retorno de uma linha de comandos é o\n"
-" status do último comando a sair com status não-"
-"zero,\n"
-" ou zero se nenhum comando saiu com status não "
-"zero\n"
+" status do último comando a sair com status não-zero,\n"
+" ou zero se nenhum comando saiu com status não zero\n"
" posix altera o comportamento do bash, onde a operação\n"
" padrão diverge dos padrões do Posix para\n"
" corresponder a estes padrões\n"
@@ -4140,44 +3953,33 @@ msgstr ""
" verbose mesmo que -v\n"
" vi usa interface de edição de linha estilo vi\n"
" xtrace mesmo que -x\n"
-" -p Ligado sempre que IDs de usuário real e efetivo não "
-"corresponderem.\n"
-" Desabilita processamento do arquivo $ENV e importação de funções "
-"da\n"
+" -p Ligado sempre que IDs de usuário real e efetivo não corresponderem.\n"
+" Desabilita processamento do arquivo $ENV e importação de funções da\n"
" shell. Ao desligar essa opção, causa o uid e o gid efetivo serem\n"
" os uid e gid reais.\n"
" -t Sai após a leitura e execução de um comando.\n"
-" -u Trata limpeza (unset) de variáveis como um erro quando "
-"substituindo.\n"
+" -u Trata limpeza (unset) de variáveis como um erro quando substituindo.\n"
" -v Mostra linhas de entrada do shell na medida em que forem lidas.\n"
-" -x Mostra comandos e seus argumentos na medida em que forme "
-"executados.\n"
+" -x Mostra comandos e seus argumentos na medida em que forme executados.\n"
" -B o shell vai realizar expansão de chaves\n"
" -C Se definido, não permite arquivos normais existentes serem\n"
" sobrescritos por redirecionamento da saída.\n"
" -E Se definido, a armadilha ERR é herdada por funções do shell.\n"
-" -H Habilita substituição de histórico estilo \"!\". Essa sinalização "
-"está\n"
+" -H Habilita substituição de histórico estilo \"!\". Essa sinalização está\n"
" habilitada por padrão quando shell é interativa.\n"
-" -P Se definida, não resolve links simbólicos ao sair de comandos, "
-"tais\n"
+" -P Se definida, não resolve links simbólicos ao sair de comandos, tais\n"
" como `cd' (que altera o diretório atual).\n"
-" -T Se definido, a armadilha DEBUG e RETURN são herdadas por funções "
-"do shell.\n"
-" -- Atribui quaisquer argumentos restantes aos parâmetros "
-"posicionais.\n"
+" -T Se definido, a armadilha DEBUG e RETURN são herdadas por funções do shell.\n"
+" -- Atribui quaisquer argumentos restantes aos parâmetros posicionais.\n"
" Se não houver argumentos restantes, os parâmetros posicionais são\n"
" limpos (unset).\n"
-" - Atribui quaisquer argumentos restantes aos parâmetros "
-"posicionais.\n"
+" - Atribui quaisquer argumentos restantes aos parâmetros posicionais.\n"
" As opções -x e -v são desligadas.\n"
" \n"
" Usar +, ao invés de -, causa essas sinalizações serem desligadas. As\n"
" sinalizações também podem ser usadas por meio de chamada do shell. As\n"
-" sinalizações atualmente definidas podem ser encontradas em $-. Os n "
-"ARGs\n"
-" restantes são parâmetros posicionais e são atribuídos, em ordem, a $1, "
-"$2,\n"
+" sinalizações atualmente definidas podem ser encontradas em $-. Os n ARGs\n"
+" restantes são parâmetros posicionais e são atribuídos, em ordem, a $1, $2,\n"
" .. $n. Se nenhuma ARG for fornecido, todas as variáveis shell são\n"
" mostradas.\n"
" \n"
@@ -4185,7 +3987,7 @@ msgstr ""
" Retorna sucesso, a menos que uma opção inválida seja fornecida."
# help unset
-#: builtins.c:1133
+#: builtins.c:1132
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \n"
@@ -4197,8 +3999,7 @@ msgid ""
" -n\ttreat each NAME as a name reference and unset the variable itself\n"
" \t\trather than the variable it references\n"
" \n"
-" Without options, unset first tries to unset a variable, and if that "
-"fails,\n"
+" Without options, unset first tries to unset a variable, and if that fails,\n"
" tries to unset a function.\n"
" \n"
" Some variables cannot be unset; also see `readonly'.\n"
@@ -4226,13 +4027,12 @@ msgstr ""
" um NOME seja somente-leitura."
# help export
-#: builtins.c:1155
+#: builtins.c:1154
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"
+" executed commands. If VALUE is supplied, assign VALUE before exporting.\n"
" \n"
" Options:\n"
" -f\trefer to shell functions\n"
@@ -4247,8 +4047,7 @@ msgstr ""
"Define atributo de exportação para variáveis shell.\n"
" \n"
" Marca cada NOME para exportação automática para o ambiente dos comandos\n"
-" executados subsequentemente. Se VALOR for fornecido, atribui VALOR "
-"antes\n"
+" executados subsequentemente. Se VALOR for fornecido, atribui VALOR antes\n"
" de exportar.\n"
" \n"
" Opções:\n"
@@ -4263,7 +4062,7 @@ msgstr ""
" NOME seja inválido."
# help readonly
-#: builtins.c:1174
+#: builtins.c:1173
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
@@ -4303,7 +4102,7 @@ msgstr ""
" NOME seja inválido."
# help shift
-#: builtins.c:1196
+#: builtins.c:1195
msgid ""
"Shift positional parameters.\n"
" \n"
@@ -4315,15 +4114,14 @@ msgid ""
msgstr ""
"Desloca parâmetros posicionais.\n"
" \n"
-" Renomeia os parâmetros posicionais $N+1,$N+2 ... até $1,$2 ... Se N "
-"não\n"
+" Renomeia os parâmetros posicionais $N+1,$N+2 ... até $1,$2 ... Se N não\n"
" for fornecido, presume-se que ele seja 1.\n"
" \n"
" Status de saída:\n"
" Retorna sucesso, a menos que N seja negativo ou maior que $#."
# help source
-#: builtins.c:1208 builtins.c:1223
+#: builtins.c:1207 builtins.c:1222
msgid ""
"Execute commands from a file in the current shell.\n"
" \n"
@@ -4348,7 +4146,7 @@ msgstr ""
" ARQUIVO não puder ser lido."
# help suspend
-#: builtins.c:1239
+#: builtins.c:1238
msgid ""
"Suspend shell execution.\n"
" \n"
@@ -4374,7 +4172,7 @@ msgstr ""
" ou ocorra um erro."
# help test
-#: builtins.c:1255
+#: builtins.c:1254
msgid ""
"Evaluate conditional expression.\n"
" \n"
@@ -4408,8 +4206,7 @@ msgid ""
" -x FILE True if the file is executable by you.\n"
" -O FILE True if the file is effectively owned by you.\n"
" -G FILE True if the file is effectively owned by your group.\n"
-" -N FILE True if the file has been modified since it was last "
-"read.\n"
+" -N FILE True if the file has been modified since it was last read.\n"
" \n"
" FILE1 -nt FILE2 True if file1 is newer than file2 (according to\n"
" modification date).\n"
@@ -4430,8 +4227,7 @@ msgid ""
" STRING1 != STRING2\n"
" True if the strings are not equal.\n"
" STRING1 < STRING2\n"
-" True if STRING1 sorts before STRING2 "
-"lexicographically.\n"
+" True if STRING1 sorts before STRING2 lexicographically.\n"
" STRING1 > STRING2\n"
" True if STRING1 sorts after STRING2 lexicographically.\n"
" \n"
@@ -4458,10 +4254,8 @@ msgid ""
msgstr ""
"Avalia expressão condicional.\n"
" \n"
-" Sai com um status de 0 (verdadeiro) ou 1 (falso) dependendo da "
-"avaliação\n"
-" de EXPR. As expressões podem ser unárias ou binárias. Expressões "
-"unárias\n"
+" Sai com um status de 0 (verdadeiro) ou 1 (falso) dependendo da avaliação\n"
+" de EXPR. As expressões podem ser unárias ou binárias. Expressões unárias\n"
" são normalmente usadas para examinar o status de um arquivo. Há\n"
" operadores de strings e também há operadores de comparação numérica.\n"
" \n"
@@ -4475,8 +4269,7 @@ msgstr ""
" -c ARQUIVO Verdadeiro, se arquivo for um caractere especial.\n"
" -d ARQUIVO Verdadeiro, se arquivo for um diretório.\n"
" -e ARQUIVO Verdadeiro, se arquivo existir.\n"
-" -f ARQUIVO Verdadeiro, se arquivo existir e for um arquivo "
-"normal.\n"
+" -f ARQUIVO Verdadeiro, se arquivo existir e for um arquivo normal.\n"
" -g ARQUIVO Verdadeiro, se arquivo for set-group-id.\n"
" -h ARQUIVO Verdadeiro, se arquivo for um link simbólico.\n"
" -L ARQUIVO Verdadeiro, se arquivo for um link simbólico.\n"
@@ -4527,24 +4320,20 @@ msgstr ""
" e for uma referência de nome.\n"
" ! EXPR Verdadeiro, se a expressão EXPR for falsa.\n"
" EXPR1 -a EXPR2 Verdadeiro, se ambas EXPR1 e EXPR2 forem verdadeiras.\n"
-" EXPR1 -o EXPR2 Verdadeiro, se ao menos uma das expressões for "
-"verdadeira.\n"
+" EXPR1 -o EXPR2 Verdadeiro, se ao menos uma das expressões for verdadeira.\n"
" \n"
-" arg1 OP arg2 Testes aritméticos. OP é um dentre -eq, -ne, -lt, -"
-"le,\n"
+" arg1 OP arg2 Testes aritméticos. OP é um dentre -eq, -ne, -lt, -le,\n"
" -gt, or -ge.\n"
" \n"
-" Operadores binários de aritmética retornam verdadeiro se ARG1 for "
-"igual,\n"
+" Operadores binários de aritmética retornam verdadeiro se ARG1 for igual,\n"
" não-igual, menor-que, menor-ou-igual-a ou maior-ou-igual-a ARG2.\n"
" \n"
" Status de saída:\n"
-" Retorna sucesso, se EXPR for avaliada como verdadeira; falha, se EXPR "
-"for\n"
+" Retorna sucesso, se EXPR for avaliada como verdadeira; falha, se EXPR for\n"
" avaliada como falsa ou um argumento inválido for informado."
# help [
-#: builtins.c:1337
+#: builtins.c:1336
msgid ""
"Evaluate conditional expression.\n"
" \n"
@@ -4557,12 +4346,11 @@ msgstr ""
" argumento deve ser um `]' literal, para corresponder ao `[' que abriu."
# help times
-#: builtins.c:1346
+#: builtins.c:1345
msgid ""
"Display process times.\n"
" \n"
-" Prints the accumulated user and system times for the shell and all of "
-"its\n"
+" Prints the accumulated user and system times for the shell and all of its\n"
" child processes.\n"
" \n"
" Exit Status:\n"
@@ -4577,12 +4365,11 @@ msgstr ""
" Sempre com sucesso."
# help trap
-#: builtins.c:1358
+#: builtins.c:1357
msgid ""
"Trap signals and other events.\n"
" \n"
-" Defines and activates handlers to be run when the shell receives "
-"signals\n"
+" Defines and activates handlers to be run when the shell receives signals\n"
" or other conditions.\n"
" \n"
" ARG is a command to be read and executed when the shell receives the\n"
@@ -4591,34 +4378,26 @@ msgid ""
" 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"
+" 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"
+" If no arguments are supplied, trap prints the list of commands associated\n"
" with each signal.\n"
" \n"
" Options:\n"
" -l\tprint a list of signal names and their corresponding numbers\n"
" -p\tdisplay the trap commands associated with each SIGNAL_SPEC\n"
" \n"
-" Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal "
-"number.\n"
+" Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal number.\n"
" Signal names are case insensitive and the SIG prefix is optional. A\n"
" signal may be sent to the shell with \"kill -signal $$\".\n"
" \n"
" Exit Status:\n"
-" Returns success unless a SIGSPEC is invalid or an invalid option is "
-"given."
+" Returns success unless a SIGSPEC is invalid or an invalid option is given."
msgstr ""
"Tratamento de sinais e outros eventos.\n"
" \n"
@@ -4658,7 +4437,7 @@ msgstr ""
" uma opção inválida seja fornecida."
# help type
-#: builtins.c:1394
+#: builtins.c:1393
msgid ""
"Display information about command type.\n"
" \n"
@@ -4684,8 +4463,7 @@ msgid ""
" 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."
+" Returns success if all of the NAMEs are found; fails if any are not found."
msgstr ""
"Exibe informação sobre o tipo de comando.\n"
" \n"
@@ -4715,12 +4493,11 @@ msgstr ""
" deles não for encontrado."
# help ulimit
-#: builtins.c:1425
+#: builtins.c:1424
msgid ""
"Modify shell resource limits.\n"
" \n"
-" Provides control over the resources available to the shell and "
-"processes\n"
+" Provides control over the resources available to the shell and processes\n"
" it creates, on systems that allow such control.\n"
" \n"
" Options:\n"
@@ -4810,7 +4587,7 @@ msgstr ""
" ocorra um erro."
# help umask
-#: builtins.c:1475
+#: builtins.c:1474
msgid ""
"Display or set file mode mask.\n"
" \n"
@@ -4846,24 +4623,19 @@ msgstr ""
" inválida seja fornecida."
# help wait
-#: builtins.c:1495
-#, fuzzy
+#: builtins.c:1494
msgid ""
"Wait for job completion and return exit status.\n"
" \n"
-" Waits for each process identified by an ID, which may be a process ID or "
-"a\n"
+" Waits for each process identified by an 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 job specification, waits for all processes\n"
+" status is zero. If ID is a a job specification, waits for all processes\n"
" in that job's pipeline.\n"
" \n"
" If the -n option is supplied, waits for the next job to terminate and\n"
" returns its exit status.\n"
" \n"
-" If the -f option is supplied, and job control is enabled, waits for the\n"
-" specified ID to terminate, instead of waiting for it to change status.\n"
-" \n"
" Exit Status:\n"
" Returns the status of the last ID; fails if ID is invalid or an invalid\n"
" option is given."
@@ -4885,18 +4657,16 @@ msgstr ""
" inválida for fornecida."
# help wait
-#: builtins.c:1519
+#: builtins.c:1515
msgid ""
"Wait for process completion and return exit status.\n"
" \n"
-" Waits for each process specified by a PID and reports its termination "
-"status.\n"
+" Waits for each process specified by a PID and reports its termination status.\n"
" If PID is not given, waits for all currently active child processes,\n"
" and the return status is zero. PID must be a process ID.\n"
" \n"
" Exit Status:\n"
-" Returns the status of the last PID; fails if PID is invalid or an "
-"invalid\n"
+" Returns the status of the last PID; fails if PID is invalid or an invalid\n"
" option is given."
msgstr ""
"Espera por conclusão de processo e retorna o status de saída.\n"
@@ -4911,7 +4681,7 @@ msgstr ""
" inválida for fornecida."
# help for
-#: builtins.c:1534
+#: builtins.c:1530
msgid ""
"Execute commands for each member in a list.\n"
" \n"
@@ -4927,15 +4697,14 @@ msgstr ""
" \n"
" O loop `for' executa uma sequência de comandos para cada membro em\n"
" uma lista de itens. Se `in PALAVRAS ...;' não estiver presente, então\n"
-" `in \"$@\"' é presumido. Para cada elemento em PALAVRAS, NOME é "
-"definido\n"
+" `in \"$@\"' é presumido. Para cada elemento em PALAVRAS, NOME é definido\n"
" com aquele elemento e os COMANDOS são executados.\n"
" \n"
" Status de saída:\n"
" Retorna o status do último comando executado."
# help for (( (?)
-#: builtins.c:1548
+#: builtins.c:1544
msgid ""
"Arithmetic for loop.\n"
" \n"
@@ -4966,7 +4735,7 @@ msgstr ""
" Retorna o status do último comando executado."
# help select
-#: builtins.c:1566
+#: builtins.c:1562
msgid ""
"Select words from a list and execute commands.\n"
" \n"
@@ -5004,7 +4773,7 @@ msgstr ""
" Retorna o status do último comando executado."
# help time
-#: builtins.c:1587
+#: builtins.c:1583
msgid ""
"Report time consumed by pipeline's execution.\n"
" \n"
@@ -5034,7 +4803,7 @@ msgstr ""
" O status de retorno é o status retornado por LINHA-COMANDOS."
# help case
-#: builtins.c:1604
+#: builtins.c:1600
msgid ""
"Execute commands based on pattern matching.\n"
" \n"
@@ -5053,21 +4822,16 @@ msgstr ""
" Retorna o status do último comando executado."
# help if
-#: builtins.c:1616
+#: builtins.c:1612
msgid ""
"Execute commands based on conditional.\n"
" \n"
-" The `if COMMANDS' list is executed. If its exit status is zero, then "
-"the\n"
-" `then COMMANDS' list is executed. Otherwise, each `elif COMMANDS' list "
-"is\n"
+" The `if COMMANDS' list is executed. If its exit status is zero, then the\n"
+" `then COMMANDS' list is executed. Otherwise, each `elif COMMANDS' list is\n"
" executed in turn, and if its exit status is zero, the corresponding\n"
-" `then COMMANDS' list is executed and the if command completes. "
-"Otherwise,\n"
-" the `else COMMANDS' list is executed, if present. The exit status of "
-"the\n"
-" entire construct is the exit status of the last command executed, or "
-"zero\n"
+" `then COMMANDS' list is executed and the if command completes. Otherwise,\n"
+" the `else COMMANDS' list is executed, if present. The exit status of the\n"
+" entire construct is the exit status of the last command executed, or zero\n"
" if no condition tested true.\n"
" \n"
" Exit Status:\n"
@@ -5088,7 +4852,7 @@ msgstr ""
" Retorna o status do último comando executado."
# help while
-#: builtins.c:1633
+#: builtins.c:1629
msgid ""
"Execute commands as long as a test succeeds.\n"
" \n"
@@ -5107,7 +4871,7 @@ msgstr ""
" Retorna o status do último comando executado."
# help until
-#: builtins.c:1645
+#: builtins.c:1641
msgid ""
"Execute commands as long as a test does not succeed.\n"
" \n"
@@ -5126,7 +4890,7 @@ msgstr ""
" Status de saída:\n"
" Retorna o status do último comando executado."
-#: builtins.c:1657
+#: builtins.c:1653
msgid ""
"Create a coprocess named NAME.\n"
" \n"
@@ -5149,13 +4913,12 @@ msgstr ""
" O comando coproc retorna um status de saída de 0."
# help function
-#: builtins.c:1671
+#: builtins.c:1667
msgid ""
"Define shell function.\n"
" \n"
" Create a shell function named NAME. When invoked as a simple command,\n"
-" NAME runs COMMANDs in the calling shell's context. When NAME is "
-"invoked,\n"
+" NAME runs COMMANDs in the calling shell's context. When NAME is invoked,\n"
" the arguments are passed to the function as $1...$n, and the function's\n"
" name is in $FUNCNAME.\n"
" \n"
@@ -5173,7 +4936,7 @@ msgstr ""
" Retorna sucesso, a menos que NOME seja somente-leitura."
# help -m {
-#: builtins.c:1685
+#: builtins.c:1681
msgid ""
"Group commands as a unit.\n"
" \n"
@@ -5191,7 +4954,7 @@ msgstr ""
" Status de saída:\n"
" Retorna o status do último comando executado."
-#: builtins.c:1697
+#: builtins.c:1693
msgid ""
"Resume job in foreground.\n"
" \n"
@@ -5217,7 +4980,7 @@ msgstr ""
" Retorna o status de um trabalho resumido."
# help '(('
-#: builtins.c:1712
+#: builtins.c:1708
msgid ""
"Evaluate arithmetic expression.\n"
" \n"
@@ -5236,16 +4999,13 @@ msgstr ""
" Retorna 1, se EXPRESSÃO for avaliada como 0; do contrário, retorna 0."
# help '['
-#: builtins.c:1724
+#: builtins.c:1720
msgid ""
"Execute conditional command.\n"
" \n"
-" Returns a status of 0 or 1 depending on the evaluation of the "
-"conditional\n"
-" expression EXPRESSION. Expressions are composed of the same primaries "
-"used\n"
-" by the `test' builtin, and may be combined using the following "
-"operators:\n"
+" Returns a status of 0 or 1 depending on the evaluation of the conditional\n"
+" expression EXPRESSION. Expressions are composed of the same primaries used\n"
+" by the `test' builtin, and may be combined using the following operators:\n"
" \n"
" ( EXPRESSION )\tReturns the value of EXPRESSION\n"
" ! EXPRESSION\t\tTrue if EXPRESSION is false; else false\n"
@@ -5289,7 +5049,7 @@ msgstr ""
" 0 ou 1 dependendo do valor de EXPRESSÃO."
# help variables
-#: builtins.c:1750
+#: builtins.c:1746
msgid ""
"Common shell variable names and usage.\n"
" \n"
@@ -5373,8 +5133,7 @@ msgstr ""
" OSTYPE\t\t\tA versão do Unix no qual Bash está sendo executado.\n"
" PATH\t\t\tUma lista separada por dois-pontos de diretórios para\n"
" \t\t\tpesquisar ao se procurar por comandos.\n"
-" PROMPT_COMMAND\tUm comando a ser executado antes de imprimir cada "
-"prompt\n"
+" PROMPT_COMMAND\tUm comando a ser executado antes de imprimir cada prompt\n"
" \t\t\tprimário.\n"
" PS1\t\t\t\tA string de prompt primário.\n"
" PS2\t\t\t\tA string de prompt secundária.\n"
@@ -5405,7 +5164,7 @@ msgstr ""
" \t\t\t\thistórico.\n"
# help pushd
-#: builtins.c:1807
+#: builtins.c:1803
msgid ""
"Add directories to stack.\n"
" \n"
@@ -5465,7 +5224,7 @@ msgstr ""
" a alteração de diretório falhar."
# help popd
-#: builtins.c:1841
+#: builtins.c:1837
msgid ""
"Remove directories from stack.\n"
" \n"
@@ -5516,7 +5275,7 @@ msgstr ""
" a alteração de diretório falhar."
# help dirs
-#: builtins.c:1871
+#: builtins.c:1867
msgid ""
"Display directory stack.\n"
" \n"
@@ -5570,14 +5329,13 @@ msgstr ""
" ocorrer um erro."
# help shopt
-#: builtins.c:1902
-#, fuzzy
+#: builtins.c:1898
msgid ""
"Set and unset shell options.\n"
" \n"
" Change the setting of each shell option OPTNAME. Without any option\n"
-" arguments, list each supplied OPTNAME, or all shell options if no\n"
-" OPTNAMEs are given, with an indication of whether or not each is set.\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"
@@ -5608,7 +5366,7 @@ msgstr ""
" opção inválida for fornecida ou NOME-OPÇÃO estiver desabilitado."
# help printf
-#: builtins.c:1923
+#: builtins.c:1919
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
" \n"
@@ -5616,34 +5374,27 @@ msgid ""
" -v var\tassign the output to shell variable VAR rather than\n"
" \t\tdisplay it on the standard output\n"
" \n"
-" FORMAT is a character string which contains three types of objects: "
-"plain\n"
-" characters, which are simply copied to standard output; character "
-"escape\n"
+" FORMAT is a character string which contains three types of objects: plain\n"
+" characters, which are simply copied to standard output; character escape\n"
" sequences, which are converted and copied to the standard output; and\n"
-" format specifications, each of which causes printing of the next "
-"successive\n"
+" format specifications, each of which causes printing of the next successive\n"
" argument.\n"
" \n"
-" In addition to the standard format specifications described in printf"
-"(1),\n"
+" In addition to the standard format specifications described in printf(1),\n"
" 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\toutput the date-time string resulting from using FMT as a "
-"format\n"
+" %(fmt)T\toutput the date-time string resulting from using FMT as a format\n"
" \t string for strftime(3)\n"
" \n"
" The format is re-used as necessary to consume all of the arguments. If\n"
" there are fewer arguments than the format requires, extra format\n"
-" specifications behave as if a zero value or null string, as "
-"appropriate,\n"
+" specifications behave as if a zero value or null string, as appropriate,\n"
" had been supplied.\n"
" \n"
" Exit Status:\n"
-" Returns success unless an invalid option is given or a write or "
-"assignment\n"
+" Returns success unless an invalid option is given or a write or assignment\n"
" error occurs."
msgstr ""
"Formata e imprime ARGUMENTOS sob controle de FORMATO.\n"
@@ -5678,14 +5429,12 @@ msgstr ""
" ocorra um erro de escrita ou atribuição."
# help complete
-#: builtins.c:1957
+#: builtins.c:1953
msgid ""
"Specify how arguments are to be completed by Readline.\n"
" \n"
-" For each NAME, specify how arguments are to be completed. If no "
-"options\n"
-" are supplied, existing completion specifications are printed in a way "
-"that\n"
+" For each NAME, specify how arguments are to be completed. If no options\n"
+" are supplied, existing completion specifications are printed in a way that\n"
" allows them to be reused as input.\n"
" \n"
" Options:\n"
@@ -5711,10 +5460,8 @@ msgstr ""
" impressas em uma forma que permite-as serem usadas como entrada.\n"
" \n"
" Opções:\n"
-" -p\timprime especificações existentes de completar em um formato "
-"usável\n"
-" -r\tremove uma especificação de completar para cada NOME ou, se "
-"nenhum\n"
+" -p\timprime especificações existentes de completar em um formato usável\n"
+" -r\tremove uma especificação de completar para cada NOME ou, se nenhum\n"
" \t\tNOME for fornecido, todas as especificações de completar\n"
" -D\taplica as completações e ações como sendo o padrão para comandos\n"
" \t\tsem qualquer especificação definida\n"
@@ -5730,13 +5477,12 @@ msgstr ""
" ocorra um erro."
# help compgen
-#: builtins.c:1985
+#: builtins.c:1981
msgid ""
"Display possible completions depending on the options.\n"
" \n"
" Intended to be used from within a shell function generating possible\n"
-" completions. If the optional WORD argument is supplied, matches "
-"against\n"
+" completions. If the optional WORD argument is supplied, matches against\n"
" WORD are generated.\n"
" \n"
" Exit Status:\n"
@@ -5753,16 +5499,13 @@ msgstr ""
" ocorra um erro."
# help compopt
-#: builtins.c:2000
+#: builtins.c:1996
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"
+" 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"
@@ -5811,26 +5554,21 @@ msgstr ""
" NOME não tem uma especificação de completação definida."
# help mapfile
-#: builtins.c:2030
+#: builtins.c:2026
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"
+" 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"
" -d delim\tUse DELIM to terminate lines, instead of newline\n"
-" -n count\tCopy at most COUNT lines. If COUNT is 0, all lines are "
-"copied\n"
-" -O origin\tBegin assigning to ARRAY at index ORIGIN. The default "
-"index is 0\n"
+" -n count\tCopy at most COUNT lines. If COUNT is 0, all lines are copied\n"
+" -O origin\tBegin assigning to ARRAY at index ORIGIN. The default index is 0\n"
" -s count\tDiscard the first COUNT lines read\n"
" -t\tRemove a trailing DELIM from each line read (default newline)\n"
-" -u fd\tRead lines from file descriptor FD instead of the standard "
-"input\n"
+" -u fd\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\n"
" \t\t\tCALLBACK\n"
@@ -5843,13 +5581,11 @@ msgid ""
" 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"
+" 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"
+" Returns success unless an invalid option is given or ARRAY is readonly or\n"
" not an indexed array."
msgstr ""
"Lê linhas da entrada padrão para uma variável array indexado.\n"
@@ -5860,28 +5596,23 @@ msgstr ""
" \n"
" Opções:\n"
" -d DELIM Usa DELIM para terminar linhas, ao invés de nova linha\n"
-" -n NÚMERO Copia no máximo NÚMERO linhas. Se NÚMERO for 0, todas "
-"as\n"
+" -n NÚMERO Copia no máximo NÚMERO linhas. Se NÚMERO for 0, todas as\n"
" linhas são copiadas\n"
" -O ORIGEM Inicia atribuição de ARRAY no índice ORIGEM. O índice\n"
" padrão é 0\n"
" -s NÚMERO Descarta as primeiras NÚMERO linhas lidas\n"
" -t Remove uma DELIM ao final para cada linha lida\n"
" (padrão: nova linha)\n"
-" -u FD Lê linhas do descritor de arquivos FD, ao invés da "
-"entrada\n"
+" -u FD Lê linhas do descritor de arquivos FD, ao invés da entrada\n"
" padrão\n"
-" -C CHAMADA Avalia CHAMADA a cada vez que QUANTIDADE linhas foram "
-"lidas\n"
-" -c QUANTIDADE Especifica o número de linhas lidas entre cada chamada "
-"para\n"
+" -C CHAMADA Avalia CHAMADA a cada vez que QUANTIDADE linhas foram lidas\n"
+" -c QUANTIDADE Especifica o número de linhas lidas entre cada chamada para\n"
" CHAMADA\n"
" \n"
" Argumentos:\n"
" ARRAY Nome da variável array para usar para arquivos de dados\n"
" \n"
-" Se -C for fornecido sem -c, a quantidade padrão é 5000. Quando CHAMADA "
-"é\n"
+" Se -C for fornecido sem -c, a quantidade padrão é 5000. Quando CHAMADA é\n"
" avaliada, é fornecido o índice para o próximo elemento da array ser\n"
" atribuído e a linha para ser atribuída àquele elemento como argumentos\n"
" adicionais\n"
@@ -5894,7 +5625,7 @@ msgstr ""
" somente leitura ou não for um array indexado."
# help readarray
-#: builtins.c:2066
+#: builtins.c:2062
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
@@ -5963,12 +5694,9 @@ msgstr ""
#~ " 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"
+#~ " 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."
@@ -5994,16 +5722,12 @@ msgstr ""
#~ " -s\t\t\tanexa os ARGs à lista de histórico como uma única entrada\n"
#~ " \n"
#~ " Se ARQUIVO for fornecido, ele é usado como o arquivo de histórico.\n"
-#~ " Do contrário, se a variável HISTFILE tiver um valor, este será "
-#~ "usado;\n"
+#~ " Do contrário, se a variável HISTFILE tiver um valor, este será usado;\n"
#~ " senão, usa de ~/.bash_history.\n"
#~ " \n"
-#~ " Se a variável HISTTIMEFORMAT for definida e não for nula, seu valor "
-#~ "é\n"
-#~ " usado como uma string de formato para strftime(3) para mostrar a "
-#~ "marca\n"
-#~ " de tempo associada com cada entrada de histórico exibida. Do "
-#~ "contrário,\n"
+#~ " Se a variável HISTTIMEFORMAT for definida e não for nula, seu valor é\n"
+#~ " usado como uma string de formato para strftime(3) para mostrar a marca\n"
+#~ " de tempo associada com cada entrada de histórico exibida. Do contrário,\n"
#~ " nenhuma marca de tempo é mostrada.\n"
#~ " \n"
#~ " Status de saída:\n"
@@ -6024,10 +5748,8 @@ msgstr ""
#~ " -l\tlist the signal names; if arguments follow `-l' they are\n"
#~ " \t\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"
+#~ " 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"
@@ -6085,8 +5807,7 @@ msgstr ""
#~ " 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"
+#~ " allow comments to appear in interactive commands\n"
#~ " keyword same as -k\n"
#~ " monitor same as -m\n"
#~ " noclobber same as -C\n"
@@ -6097,12 +5818,9 @@ msgstr ""
#~ " 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"
+#~ " 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"
@@ -6110,11 +5828,9 @@ msgstr ""
#~ " 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"
+#~ " -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"
+#~ " 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"
@@ -6137,32 +5853,26 @@ msgstr ""
#~ " \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"
+#~ " 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 ""
-#~ "Define ou remove definição de valores das opções e dos parâmetros "
-#~ "posicionais\n"
+#~ "Define ou remove definição de valores das opções e dos parâmetros posicionais\n"
#~ "do shell:\n"
#~ " \n"
-#~ " Altera o valor de opções e de parâmetros posicionais do shell ou "
-#~ "mostra\n"
+#~ " Altera o valor de opções e de parâmetros posicionais do shell ou mostra\n"
#~ " os nomes ou valores de variáveis shell.\n"
#~ " \n"
#~ " Opções:\n"
-#~ " -a Marca variáveis, que foram modificadas ou criadas, para "
-#~ "exportação.\n"
+#~ " -a Marca variáveis, que foram modificadas ou criadas, para exportação.\n"
#~ " -b Notifica sobre terminação de trabalho imediatamente.\n"
#~ " -e Sai imediatamente se um comando sai com um status não-zero.\n"
#~ " -f Desabilita a geração de nome de arquivo (\"globbing\").\n"
-#~ " -h Memoriza a localização de comandos à medida em que são "
-#~ "procurados.\n"
-#~ " -k Todos argumentos de atribuição são colocados no ambiente para "
-#~ "um\n"
+#~ " -h Memoriza a localização de comandos à medida em que são procurados.\n"
+#~ " -k Todos argumentos de atribuição são colocados no ambiente para um\n"
#~ " comando, e não apenas aqueles que precedem o nome do comando.\n"
#~ " -m Controle de trabalho está habilitado.\n"
#~ " -n Lê comandos, mas não os executa.\n"
@@ -6179,8 +5889,7 @@ msgstr ""
#~ " history habilita histórico de comandos\n"
#~ " ignoreeof shell não vai sair após leitura de EOF\n"
#~ " interactive-comments\n"
-#~ " permite mostrar comentários em comandos "
-#~ "interativos\n"
+#~ " permite mostrar comentários em comandos interativos\n"
#~ " keyword mesmo que -k\n"
#~ " monitor mesmo que -m\n"
#~ " noclobber mesmo que -C\n"
@@ -6191,61 +5900,43 @@ msgstr ""
#~ " nounset mesmo que -u\n"
#~ " onecmd mesmo que -t\n"
#~ " physical mesmo que -P\n"
-#~ " pipefail o valor de retorno de uma linha de comandos é "
-#~ "o\n"
-#~ " status do último comando a sair com status não-"
-#~ "zero,\n"
-#~ " ou zero se nenhum comando saiu com status não "
-#~ "zero\n"
-#~ " posix altera o comportamento do bash, onde a "
-#~ "operação\n"
+#~ " pipefail o valor de retorno de uma linha de comandos é o\n"
+#~ " status do último comando a sair com status não-zero,\n"
+#~ " ou zero se nenhum comando saiu com status não zero\n"
+#~ " posix altera o comportamento do bash, onde a operação\n"
#~ " padrão diverge dos padrões do Posix para\n"
#~ " corresponder a estes padrões\n"
#~ " privileged mesmo que -p\n"
#~ " verbose mesmo que -v\n"
#~ " vi usa interface de edição de linha estilo vi\n"
#~ " xtrace mesmo que -x\n"
-#~ " -p Ligado sempre que IDs de usuário real e efetivo não "
-#~ "corresponderem.\n"
-#~ " Desabilita processamento do arquivo $ENV e importação de "
-#~ "funções da\n"
-#~ " shell. Ao desligar essa opção, causa o uid e o gid efetivo "
-#~ "serem\n"
+#~ " -p Ligado sempre que IDs de usuário real e efetivo não corresponderem.\n"
+#~ " Desabilita processamento do arquivo $ENV e importação de funções da\n"
+#~ " shell. Ao desligar essa opção, causa o uid e o gid efetivo serem\n"
#~ " os uid e gid reais.\n"
#~ " -t Sai após a leitura e execução de um comando.\n"
-#~ " -u Trata limpeza (unset) de variáveis como um erro quando "
-#~ "substituindo.\n"
-#~ " -v Mostra linhas de entrada do shell na medida em que forem "
-#~ "lidas.\n"
-#~ " -x Mostra comandos e seus argumentos na medida em que forme "
-#~ "executados.\n"
+#~ " -u Trata limpeza (unset) de variáveis como um erro quando substituindo.\n"
+#~ " -v Mostra linhas de entrada do shell na medida em que forem lidas.\n"
+#~ " -x Mostra comandos e seus argumentos na medida em que forme executados.\n"
#~ " -B o shell vai realizar expansão de chaves\n"
#~ " -C Se definido, não permite arquivos normais existentes serem\n"
#~ " sobrescritos por redirecionamento da saída.\n"
#~ " -E Se definido, a armadilha ERR é herdada por funções do shell.\n"
-#~ " -H Habilita substituição de histórico estilo \"!\". Essa "
-#~ "sinalização está\n"
+#~ " -H Habilita substituição de histórico estilo \"!\". Essa sinalização está\n"
#~ " habilitada por padrão quando shell é interativa.\n"
-#~ " -P Se definida, não resolve links simbólicos ao sair de comandos, "
-#~ "tais\n"
+#~ " -P Se definida, não resolve links simbólicos ao sair de comandos, tais\n"
#~ " como `cd' (que altera o diretório atual).\n"
#~ " -T Se definido, a armadilha DEBUG é herdada por funções do shell.\n"
-#~ " -- Atribui quaisquer argumentos restantes aos parâmetros "
-#~ "posicionais.\n"
-#~ " Se não houver argumentos restantes, os parâmetros posicionais "
-#~ "são\n"
+#~ " -- Atribui quaisquer argumentos restantes aos parâmetros posicionais.\n"
+#~ " Se não houver argumentos restantes, os parâmetros posicionais são\n"
#~ " limpos (unset).\n"
-#~ " - Atribui quaisquer argumentos restantes aos parâmetros "
-#~ "posicionais.\n"
+#~ " - Atribui quaisquer argumentos restantes aos parâmetros posicionais.\n"
#~ " As opções -x e -v são desligadas.\n"
#~ " \n"
#~ " Usar +, ao invés de -, causa essas sinalizações serem desligadas. As\n"
-#~ " sinalizações também podem ser usadas por meio de chamada do shell. "
-#~ "As\n"
-#~ " sinalizações atualmente definidas podem ser encontradas em $-. Os n "
-#~ "ARGs\n"
-#~ " restantes são parâmetros posicionais e são atribuídos, em ordem, a "
-#~ "$1, $2,\n"
+#~ " sinalizações também podem ser usadas por meio de chamada do shell. As\n"
+#~ " sinalizações atualmente definidas podem ser encontradas em $-. Os n ARGs\n"
+#~ " restantes são parâmetros posicionais e são atribuídos, em ordem, a $1, $2,\n"
#~ " .. $n. Se nenhuma ARG for fornecido, todas as variáveis shell são\n"
#~ " mostradas.\n"
#~ " \n"
@@ -6256,10 +5947,8 @@ msgstr ""
#~ 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"
+#~ " 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"
@@ -6269,8 +5958,7 @@ msgstr ""
#~ "Cria um coprocesso chamado NOME.\n"
#~ " \n"
#~ " Executa COMANDO assincronamente, com a saída padrão e entrada padrão\n"
-#~ " do comando conectados via um `pipe' (redirecionamento) para "
-#~ "descritores\n"
+#~ " do comando conectados via um `pipe' (redirecionamento) para descritores\n"
#~ " de arquivo atribuídos para índices 0 e 1 de uma variável array NOME\n"
#~ " no shell em execução. O NOME padrão é \"COPROC\".\n"
#~ " \n"
@@ -6393,8 +6081,7 @@ msgstr ""
#~ msgstr "substituição de comando"
#~ msgid "Can't reopen pipe to command substitution (fd %d): %s"
-#~ msgstr ""
-#~ "Impossível reabrir o `pipe' para substituição de comando (fd %d): %s"
+#~ msgstr "Impossível reabrir o `pipe' para substituição de comando (fd %d): %s"
#~ msgid "$%c: unbound variable"
#~ msgstr "$%c: variável não associada"
@@ -6478,8 +6165,7 @@ msgstr ""
#~ msgstr "de aliases na forma `alias NOME=VALOR' na saída padrão."
#~ msgid "Otherwise, an alias is defined for each NAME whose VALUE is given."
-#~ msgstr ""
-#~ "Ou então, um alias é definido para cada NOME cujo VALOR for fornecido."
+#~ msgstr "Ou então, um alias é definido para cada NOME cujo VALOR for fornecido."
#~ msgid "A trailing space in VALUE causes the next word to be checked for"
#~ msgstr "Um espaço após VALOR faz a próxima palavra ser verificada para"
@@ -6488,45 +6174,34 @@ msgstr ""
#~ msgstr "substituição do alias quando o alias é expandido. Alias retorna"
#~ msgid "true unless a NAME is given for which no alias has been defined."
-#~ msgstr ""
-#~ "verdadeiro, a não ser que seja fornecido um NOME sem alias definido."
+#~ msgstr "verdadeiro, a não ser que seja fornecido um NOME sem alias definido."
-#~ msgid ""
-#~ "Remove NAMEs from the list of defined aliases. If the -a option is given,"
-#~ msgstr ""
-#~ "Remove NOMEs da lista de aliases definidos. Se a opção -a for fornecida,"
+#~ msgid "Remove NAMEs from the list of defined aliases. If the -a option is given,"
+#~ msgstr "Remove NOMEs da lista de aliases definidos. Se a opção -a for fornecida,"
#~ msgid "then remove all alias definitions."
#~ msgstr "então todas as definições de alias são removidas."
#~ msgid "Bind a key sequence to a Readline function, or to a macro. The"
-#~ msgstr ""
-#~ "Víncula uma seqüência de teclas a uma função de leitura de linha, ou a uma"
+#~ msgstr "Víncula uma seqüência de teclas a uma função de leitura de linha, ou a uma"
#~ msgid "syntax is equivalent to that found in ~/.inputrc, but must be"
-#~ msgstr ""
-#~ "macro. A sintaxe é equivalente à encontrada em ~/.inputrc, mas deve ser"
+#~ msgstr "macro. A sintaxe é equivalente à encontrada em ~/.inputrc, mas deve ser"
-#~ msgid ""
-#~ "passed as a single argument: bind '\"\\C-x\\C-r\": re-read-init-file'."
-#~ msgstr ""
-#~ "passada como um único argumento: bind '\"\\C-x\\C-r\": re-read-init-file'."
+#~ msgid "passed as a single argument: bind '\"\\C-x\\C-r\": re-read-init-file'."
+#~ msgstr "passada como um único argumento: bind '\"\\C-x\\C-r\": re-read-init-file'."
#~ msgid "Arguments we accept:"
#~ msgstr "Argumentos permitidos:"
-#~ msgid ""
-#~ " -m keymap Use `keymap' as the keymap for the duration of this"
-#~ msgstr ""
-#~ " -m MAPA-TECLAS Usar `MAPA-TECLAS' como mapa das teclas pela duração"
+#~ msgid " -m keymap Use `keymap' as the keymap for the duration of this"
+#~ msgstr " -m MAPA-TECLAS Usar `MAPA-TECLAS' como mapa das teclas pela duração"
#~ msgid " command. Acceptable keymap names are emacs,"
#~ msgstr " deste comando. Os nomes aceitos são emacs,"
-#~ msgid ""
-#~ " emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,"
-#~ msgstr ""
-#~ " emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,"
+#~ 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-command, and vi-insert."
@@ -6537,10 +6212,8 @@ msgstr ""
#~ msgid " -P List function names and bindings."
#~ msgstr " -P Listar nomes e associações das funções."
-#~ msgid ""
-#~ " -p List functions and bindings in a form that can be"
-#~ msgstr ""
-#~ " -p Listar nomes e associações das funções de uma forma"
+#~ msgid " -p List functions and bindings in a form that can be"
+#~ msgstr " -p Listar nomes e associações das funções de uma forma"
#~ msgid " reused as input."
#~ msgstr " que pode ser reutilizada como entrada."
@@ -6551,31 +6224,24 @@ msgstr ""
#~ msgid " -f filename Read key bindings from FILENAME."
#~ msgstr " -f ARQUIVO Ler os vínculos das teclas em ARQUIVO."
-#~ msgid ""
-#~ " -q function-name Query about which keys invoke the named function."
+#~ msgid " -q function-name Query about which keys invoke the named function."
#~ msgstr " -q NOME-FUNÇÃO Consultar quais teclas chamam esta função."
#~ msgid " -V List variable names and values"
#~ msgstr " -V Listar os nomes e os valores das variáveis."
-#~ msgid ""
-#~ " -v List variable names and values in a form that can"
-#~ msgstr ""
-#~ " -v Listar os nomes e os valores das variáveis de uma"
+#~ msgid " -v List variable names and values in a form that can"
+#~ msgstr " -v Listar os nomes e os valores das variáveis de uma"
#~ msgid " be reused as input."
#~ msgstr " forma que pode ser reutilizada como entrada."
-#~ msgid ""
-#~ " -S List key sequences that invoke macros and their "
-#~ "values"
+#~ msgid " -S List key sequences that invoke macros and their values"
#~ msgstr ""
#~ " -S Listar as seqüências de teclas que chamam macros\n"
#~ " e seus valores."
-#~ msgid ""
-#~ " -s List key sequences that invoke macros and their "
-#~ "values in"
+#~ msgid " -s List key sequences that invoke macros and their values in"
#~ msgstr " -s Listar seqüências de teclas que chamam macros"
#~ msgid " a form that can be reused as input."
@@ -6596,8 +6262,7 @@ msgstr ""
#~ msgstr "Se N for especificado, prossegue no N-ésimo laço envolvente."
#~ msgid "Run a shell builtin. This is useful when you wish to rename a"
-#~ msgstr ""
-#~ "Executa um comando interno do shell. Útil quando desejamos substituir"
+#~ msgstr "Executa um comando interno do shell. Útil quando desejamos substituir"
#~ msgid "shell builtin to be a function, but need the functionality of the"
#~ msgstr "um comando interno do shell por uma função, mas necessitamos da"
@@ -6612,12 +6277,10 @@ msgstr ""
#~ msgstr "para DIR. A variável $CDPATH define o caminho de procura para"
#~ msgid "the directory containing DIR. Alternative directory names in CDPATH"
-#~ msgstr ""
-#~ "o diretório que contém DIR. Nomes de diretórios alternativos em CDPATH"
+#~ msgstr "o diretório que contém DIR. Nomes de diretórios alternativos em CDPATH"
#~ msgid "are separated by a colon (:). A null directory name is the same as"
-#~ msgstr ""
-#~ "são separados por dois pontos (:). Um nome de diretório nulo é o mesmo"
+#~ msgstr "são separados por dois pontos (:). Um nome de diretório nulo é o mesmo"
#~ msgid "the current directory, i.e. `.'. If DIR begins with a slash (/),"
#~ msgstr "que o diretório atual, i.e. `.'. Se DIR inicia com uma barra (/),"
@@ -6626,20 +6289,15 @@ msgstr ""
#~ msgstr "então $CDPATH não é usado. Se o diretório não for encontrado, e a"
#~ msgid "shell option `cdable_vars' is set, then try the word as a variable"
-#~ msgstr ""
-#~ "opção `cdable_vars' estiver definida, tentar usar DIR como um nome de"
+#~ msgstr "opção `cdable_vars' estiver definida, tentar usar DIR como um nome de"
#~ msgid "name. If that variable has a value, then cd to the value of that"
-#~ msgstr ""
-#~ "variável. Se esta variável tiver valor, então `cd' para o valor desta"
+#~ msgstr "variável. Se esta variável tiver valor, então `cd' para o valor desta"
-#~ msgid ""
-#~ "variable. The -P option says to use the physical directory structure"
-#~ msgstr ""
-#~ "variável. A opção -P indica para usar a estrutura física do diretório"
+#~ msgid "variable. The -P option says to use the physical directory structure"
+#~ msgstr "variável. A opção -P indica para usar a estrutura física do diretório"
-#~ msgid ""
-#~ "instead of following symbolic links; the -L option forces symbolic links"
+#~ msgid "instead of following symbolic links; the -L option forces symbolic links"
#~ msgstr "em vez de seguir os vínculos simbólicos; a opção -L força seguir os"
#~ msgid "to be followed."
@@ -6654,27 +6312,19 @@ msgstr ""
#~ msgid "makes pwd follow symbolic links."
#~ msgstr "com que `pwd' siga os vínculos simbólicos."
-#~ msgid ""
-#~ "Runs COMMAND with ARGS ignoring shell functions. If you have a shell"
-#~ msgstr ""
-#~ "Executa COMANDO com ARGs ignorando as funções da shell. Ex: Havendo"
+#~ msgid "Runs COMMAND with ARGS ignoring shell functions. If you have a shell"
+#~ msgstr "Executa COMANDO com ARGs ignorando as funções da shell. Ex: Havendo"
#~ msgid "function called `ls', and you wish to call the command `ls', you can"
-#~ msgstr ""
-#~ "uma função `ls', e se for necessário executar o comando `ls', executa-se"
+#~ msgstr "uma função `ls', e se for necessário executar o comando `ls', executa-se"
-#~ msgid ""
-#~ "say \"command ls\". If the -p option is given, a default value is used"
-#~ msgstr ""
-#~ "\"command ls\". Se a opção -p for fornecida, o valor padrão é utilizado"
+#~ msgid "say \"command ls\". If the -p option is given, a default value is used"
+#~ msgstr "\"command ls\". Se a opção -p for fornecida, o valor padrão é utilizado"
-#~ msgid ""
-#~ "for PATH that is guaranteed to find all of the standard utilities. If"
-#~ msgstr ""
-#~ "para PATH, garantindo-se o encontro de todos os utilitários padrão. Se"
+#~ msgid "for PATH that is guaranteed to find all of the standard utilities. If"
+#~ msgstr "para PATH, garantindo-se o encontro de todos os utilitários padrão. Se"
-#~ msgid ""
-#~ "the -V or -v option is given, a string is printed describing COMMAND."
+#~ msgid "the -V or -v option is given, a string is printed describing COMMAND."
#~ msgstr "a opção -V ou -v for fornecida, é exibida a descrição do COMANDO."
#~ msgid "The -V option produces a more verbose description."
@@ -6725,8 +6375,7 @@ msgstr ""
#~ msgid "name only."
#~ msgstr "somente."
-#~ msgid ""
-#~ "Using `+' instead of `-' turns off the given attribute instead. When"
+#~ msgid "Using `+' instead of `-' turns off the given attribute instead. When"
#~ msgstr "Usando `+' em vez de `-' faz o atributo ser desabilitado. Quando"
#~ msgid "used in a function, makes NAMEs local, as with the `local' command."
@@ -6745,8 +6394,7 @@ msgstr ""
#~ msgstr "Exibe ARGs. Se -n for fornecido, o caracter final de nova linha é"
#~ msgid "suppressed. If the -e option is given, interpretation of the"
-#~ msgstr ""
-#~ "suprimido. Se a opção -e for fornecida, a interpretação dos seguintes"
+#~ msgstr "suprimido. Se a opção -e for fornecida, a interpretação dos seguintes"
#~ msgid "following backslash-escaped characters is turned on:"
#~ msgstr "caracteres após a contrabarra é ativada:"
@@ -6784,74 +6432,56 @@ msgstr ""
#~ msgid "\t\\num\tthe character whose ASCII code is NUM (octal)."
#~ msgstr "\t\\num\to caracter com código ASCII igual a NUM (octal)."
-#~ msgid ""
-#~ "You can explicitly turn off the interpretation of the above characters"
-#~ msgstr ""
-#~ "Pode-se explicitamente desabilitar a interpretação dos caracteres acima"
+#~ msgid "You can explicitly turn off the interpretation of the above characters"
+#~ msgstr "Pode-se explicitamente desabilitar a interpretação dos caracteres acima"
#~ msgid "with the -E option."
#~ msgstr "através da opção -E."
-#~ msgid ""
-#~ "Output the ARGs. If -n is specified, the trailing newline is suppressed."
-#~ msgstr ""
-#~ "Exibe ARGS. Se -n for fornecido, o caracter final de nova linha é "
-#~ "suprimido."
+#~ msgid "Output the ARGs. If -n is specified, the trailing newline is suppressed."
+#~ msgstr "Exibe ARGS. Se -n for fornecido, o caracter final de nova linha é suprimido."
#~ msgid "Enable and disable builtin shell commands. This allows"
-#~ msgstr ""
-#~ "Habilita e desabilita os comandos internos do shell, permitindo usar"
+#~ msgstr "Habilita e desabilita os comandos internos do shell, permitindo usar"
#~ msgid "you to use a disk command which has the same name as a shell"
-#~ msgstr ""
-#~ "um comando de disco que tenha o mesmo nome do comando interno do shell."
+#~ msgstr "um comando de disco que tenha o mesmo nome do comando interno do shell."
#~ msgid "builtin. If -n is used, the NAMEs become disabled; otherwise"
-#~ msgstr ""
-#~ "Se -n for especificado, os NOMEs são desabilitados, senão os nomes são"
+#~ msgstr "Se -n for especificado, os NOMEs são desabilitados, senão os nomes são"
#~ msgid "NAMEs are enabled. For example, to use the `test' found on your"
-#~ msgstr ""
-#~ "habilitados. Por exemplo, para usar `test' encontrado pelo PATH em vez"
+#~ msgstr "habilitados. Por exemplo, para usar `test' encontrado pelo PATH em vez"
#~ msgid "path instead of the shell builtin version, type `enable -n test'."
-#~ msgstr ""
-#~ "da versão interna do comando, digite `enable -n test'. Em sistemas que"
+#~ msgstr "da versão interna do comando, digite `enable -n test'. Em sistemas que"
#~ msgid "On systems supporting dynamic loading, the -f option may be used"
-#~ msgstr ""
-#~ "suportam carregamento dinâmico, pode-se usar a opção -f para carregar"
+#~ msgstr "suportam carregamento dinâmico, pode-se usar a opção -f para carregar"
#~ msgid "to load new builtins from the shared object FILENAME. The -d"
-#~ msgstr ""
-#~ "novos comandos internos do objeto compartilhado ARQUIVO. A opção -d"
+#~ msgstr "novos comandos internos do objeto compartilhado ARQUIVO. A opção -d"
#~ msgid "option will delete a builtin previously loaded with -f. If no"
-#~ msgstr ""
-#~ "elimina os comandos internos previamente carregados com -f. Se nenhum"
+#~ msgstr "elimina os comandos internos previamente carregados com -f. Se nenhum"
#~ msgid "non-option names are given, or the -p option is supplied, a list"
-#~ msgstr ""
-#~ "nome for fornecido, ou se a opção -p for fornecida, uma lista de comandos"
+#~ msgstr "nome for fornecido, ou se a opção -p for fornecida, uma lista de comandos"
#~ msgid "of builtins is printed. The -a option means to print every builtin"
-#~ msgstr ""
-#~ "internos é exibida. A opção -a faz com que todos os comandos internos"
+#~ msgstr "internos é exibida. A opção -a faz com que todos os comandos internos"
#~ msgid "with an indication of whether or not it is enabled. The -s option"
#~ msgstr "sejam exibidos indicando se estão habilitados ou não. A opção -s"
#~ msgid "restricts the output to the Posix.2 `special' builtins. The -n"
-#~ msgstr ""
-#~ "restringe a saída aos comandos internos `especiais' Posix.2. A opção"
+#~ msgstr "restringe a saída aos comandos internos `especiais' Posix.2. A opção"
#~ msgid "option displays a list of all disabled builtins."
#~ msgstr "-n exibe a lista de todos os comandos internos desabilitados."
-#~ msgid ""
-#~ "Read ARGs as input to the shell and execute the resulting command(s)."
-#~ msgstr ""
-#~ "Ler ARGs como entrada do shell e executar o(s) comando(s) resultante(s)."
+#~ msgid "Read ARGs as input to the shell and execute the resulting command(s)."
+#~ msgstr "Ler ARGs como entrada do shell e executar o(s) comando(s) resultante(s)."
#~ msgid "Getopts is used by shell procedures to parse positional parameters."
#~ msgstr ""
@@ -6880,15 +6510,13 @@ msgstr ""
#~ msgstr "shell OPTIND. OPTIND é inicializado com 1 cada vez que o script"
#~ msgid "a shell script is invoked. When an option requires an argument,"
-#~ msgstr ""
-#~ "do shell é chamado. Quando uma opção requer um argumento, `getopts'"
+#~ msgstr "do shell é chamado. Quando uma opção requer um argumento, `getopts'"
#~ msgid "getopts places that argument into the shell variable OPTARG."
#~ msgstr "coloca este argumento dentro da variável do shell OPTARG."
#~ msgid "getopts reports errors in one of two ways. If the first character"
-#~ msgstr ""
-#~ "`getopts' informa os erros de duas maneiras. Se o primeiro caracter de"
+#~ msgstr "`getopts' informa os erros de duas maneiras. Se o primeiro caracter de"
#~ msgid "of OPTSTRING is a colon, getopts uses silent error reporting. In"
#~ msgstr "OPÇÕES for dois pontos, `getopts' usa o modo silencioso. Neste"
@@ -6900,24 +6528,19 @@ msgstr ""
#~ msgstr "encontrada, `getopts' coloca o caracter da opção em OPTARG. Se um"
#~ msgid "required argument is not found, getopts places a ':' into NAME and"
-#~ msgstr ""
-#~ "argumento requerido não for encontrado, `getopts' coloca ':' em NOME e"
+#~ msgstr "argumento requerido não for encontrado, `getopts' coloca ':' em NOME e"
#~ msgid "sets OPTARG to the option character found. If getopts is not in"
-#~ msgstr ""
-#~ "atribui a OPTARG o caracter de opção encontrado. Se `getopts' não está em"
+#~ msgstr "atribui a OPTARG o caracter de opção encontrado. Se `getopts' não está em"
#~ msgid "silent mode, and an illegal option is seen, getopts places '?' into"
-#~ msgstr ""
-#~ "modo silencioso, e uma opção ilegal é encontrada, `getopts' coloca '?' em"
+#~ msgstr "modo silencioso, e uma opção ilegal é encontrada, `getopts' coloca '?' em"
#~ msgid "NAME and unsets OPTARG. If a required option is not found, a '?'"
-#~ msgstr ""
-#~ "NOME e desativa OPTARG. Se uma opção requerida não é encontrada, uma '?'"
+#~ msgstr "NOME e desativa OPTARG. Se uma opção requerida não é encontrada, uma '?'"
#~ msgid "is placed in NAME, OPTARG is unset, and a diagnostic message is"
-#~ msgstr ""
-#~ "é colocada em NOME, OPTARG é desativado, e uma mensagem de diagnóstico é"
+#~ msgstr "é colocada em NOME, OPTARG é desativado, e uma mensagem de diagnóstico é"
#~ msgid "printed."
#~ msgstr "exibida."
@@ -6932,19 +6555,16 @@ msgstr ""
#~ msgstr "OPTSTRING não seja dois pontos. OPTERR tem o valor 1 por padrão."
#~ msgid "Getopts normally parses the positional parameters ($0 - $9), but if"
-#~ msgstr ""
-#~ "`getopts' normalmente faz a leitura dos parãmetros posicionais ($0 - $9),"
+#~ msgstr "`getopts' normalmente faz a leitura dos parãmetros posicionais ($0 - $9),"
#~ msgid "more arguments are given, they are parsed instead."
#~ msgstr "mas, se mais argumentos forem fornecidos, então estes são lidos."
#~ msgid "Exec FILE, replacing this shell with the specified program."
-#~ msgstr ""
-#~ "Executa ARQUIVO, substituindo esta shell pelo programa especificado."
+#~ msgstr "Executa ARQUIVO, substituindo esta shell pelo programa especificado."
#~ msgid "If FILE is not specified, the redirections take effect in this"
-#~ msgstr ""
-#~ "Se ARQUIVO não for especificado, os redirecionamentos são efetivados"
+#~ msgstr "Se ARQUIVO não for especificado, os redirecionamentos são efetivados"
#~ msgid "shell. If the first argument is `-l', then place a dash in the"
#~ msgstr "neste shell. Se o primeiro argumento for `-l', coloca um hífen no"
@@ -6962,8 +6582,7 @@ msgstr ""
#~ msgstr "Se o arquivo não puder ser executado e o shell não for interativa,"
#~ msgid "then the shell exits, unless the variable \"no_exit_on_failed_exec\""
-#~ msgstr ""
-#~ "então o shell termina, a menos que a variável \"no_exit_on_failed_exec\""
+#~ msgstr "então o shell termina, a menos que a variável \"no_exit_on_failed_exec\""
#~ msgid "is set."
#~ msgstr "esteja inicializada."
@@ -6971,8 +6590,7 @@ msgstr ""
#~ msgid "is that of the last command executed."
#~ msgstr "de saída é igual ao do último comando executado."
-#~ msgid ""
-#~ "FIRST and LAST can be numbers specifying the range, or FIRST can be a"
+#~ msgid "FIRST and LAST can be numbers specifying the range, or FIRST can be a"
#~ msgstr "PRIMEIRO e ÚLTIMO podem ser números especificando o intervalo, ou"
#~ msgid "string, which means the most recent command beginning with that"
@@ -6981,16 +6599,11 @@ msgstr ""
#~ msgid "string."
#~ msgstr "mais recente começado por estes caracteres."
-#~ msgid ""
-#~ " -e ENAME selects which editor to use. Default is FCEDIT, then EDITOR,"
-#~ msgstr ""
-#~ " -e EDITOR seleciona qual editor usar. O padrão é FCEDIT, depois "
-#~ "EDITOR,"
+#~ msgid " -e ENAME selects which editor to use. Default is FCEDIT, then EDITOR,"
+#~ msgstr " -e EDITOR seleciona qual editor usar. O padrão é FCEDIT, depois EDITOR,"
-#~ msgid ""
-#~ " then the editor which corresponds to the current readline editing"
-#~ msgstr ""
-#~ " depois o editor correspondente ao modo de edição atual da leitura"
+#~ msgid " then the editor which corresponds to the current readline editing"
+#~ msgstr " depois o editor correspondente ao modo de edição atual da leitura"
#~ msgid " mode, then vi."
#~ msgstr " de linha, e depois o vi."
@@ -7001,40 +6614,32 @@ msgstr ""
#~ msgid " -n means no line numbers listed."
#~ msgstr " -n indica para não listar os números das linhas."
-#~ msgid ""
-#~ " -r means reverse the order of the lines (making it newest listed "
-#~ "first)."
-#~ msgstr ""
-#~ " -r faz reverter a ordem das linhas (a última torna-se a primeira)."
+#~ msgid " -r means reverse the order of the lines (making it newest listed first)."
+#~ msgstr " -r faz reverter a ordem das linhas (a última torna-se a primeira)."
#~ msgid "With the `fc -s [pat=rep ...] [command]' format, the command is"
-#~ msgstr ""
-#~ "No formato `fc -s [ANTIGO=NOVO ...] [COMANDO]', o comando é executado"
+#~ msgstr "No formato `fc -s [ANTIGO=NOVO ...] [COMANDO]', o comando é executado"
#~ msgid "re-executed after the substitution OLD=NEW is performed."
#~ msgstr "novamente após a substituição de ANTIGO por NOVO ser realizada."
#~ msgid "A useful alias to use with this is r='fc -s', so that typing `r cc'"
-#~ msgstr ""
-#~ "Um alias útil a ser usado é r='fc -s' para que, ao se digitar `r cc',"
+#~ msgstr "Um alias útil a ser usado é r='fc -s' para que, ao se digitar `r cc',"
#~ msgid "runs the last command beginning with `cc' and typing `r' re-executes"
#~ msgstr "seja executado o último comando começado por `cc' e, ao se digitar"
#~ msgid "Place JOB_SPEC in the foreground, and make it the current job. If"
-#~ msgstr ""
-#~ "Colocar JOB-ESPECIFICADO no primeiro plano, e torná-lo o trabalho atual."
+#~ msgstr "Colocar JOB-ESPECIFICADO no primeiro plano, e torná-lo o trabalho atual."
#~ msgid "JOB_SPEC is not present, the shell's notion of the current job is"
-#~ msgstr ""
-#~ "Se JOB-ESPECIFICADO não estiver presente, a noção do shell do trabalho"
+#~ msgstr "Se JOB-ESPECIFICADO não estiver presente, a noção do shell do trabalho"
#~ msgid "used."
#~ msgstr "atual é utilizada."
#~ msgid "Place JOB_SPEC in the background, as if it had been started with"
-#~ msgstr ""
-#~ "Colocar JOB-ESPECIFICADO no segundo plano, como se tivesse sido ativado"
+#~ msgstr "Colocar JOB-ESPECIFICADO no segundo plano, como se tivesse sido ativado"
#~ msgid "`&'. If JOB_SPEC is not present, the shell's notion of the current"
#~ msgstr "com `&'. Se JOB-ESPECIFICADO não estiver presente, a noção do shell"
@@ -7043,22 +6648,18 @@ msgstr ""
#~ msgstr "do trabalho atual é utilizada."
#~ msgid "For each NAME, the full pathname of the command is determined and"
-#~ msgstr ""
-#~ "Para cada NOME, o caminho completo do comando é determinado e lembrado."
+#~ msgstr "Para cada NOME, o caminho completo do comando é determinado e lembrado."
#~ msgid "remembered. If the -p option is supplied, PATHNAME is used as the"
-#~ msgstr ""
-#~ "Se a opção -p for fornecida, CAMINHO é utilizado como o caminho completo"
+#~ msgstr "Se a opção -p for fornecida, CAMINHO é utilizado como o caminho completo"
#~ msgid "full pathname of NAME, and no path search is performed. The -r"
#~ msgstr "para NOME, e nenhuma procura de caminho é realizada. A opção -r"
#~ msgid "option causes the shell to forget all remembered locations. If no"
-#~ msgstr ""
-#~ "faz com que a shell esqueça todas as localizações lembradas. Sem nenhum"
+#~ msgstr "faz com que a shell esqueça todas as localizações lembradas. Sem nenhum"
-#~ msgid ""
-#~ "arguments are given, information about remembered commands is displayed."
+#~ msgid "arguments are given, information about remembered commands is displayed."
#~ msgstr "argumento, as informações sobre os comandos lembrados são exibidas."
#~ msgid "Display helpful information about builtin commands. If PATTERN is"
@@ -7068,12 +6669,10 @@ msgstr ""
#~ msgstr "especificado, fornece ajuda detalhada para todos os comandos que"
#~ msgid "otherwise a list of the builtins is printed."
-#~ msgstr ""
-#~ "correspondem ao PADRÃO, senão a lista dos comandos internos é exibida."
+#~ msgstr "correspondem ao PADRÃO, senão a lista dos comandos internos é exibida."
#~ msgid "Display the history list with line numbers. Lines listed with"
-#~ msgstr ""
-#~ "Exibe a lista histórica com os números das linhas. Linhas contendo um"
+#~ msgstr "Exibe a lista histórica com os números das linhas. Linhas contendo um"
#~ msgid "with a `*' have been modified. Argument of N says to list only"
#~ msgstr "`*' foram modificadas. O argumento N faz listar somente as últimas"
@@ -7081,19 +6680,14 @@ msgstr ""
#~ msgid "the last N lines. The -c option causes the history list to be"
#~ msgstr "N linhas. A opção -c faz com que a lista histórica seja apagada"
-#~ msgid ""
-#~ "cleared by deleting all of the entries. The `-w' option writes out the"
-#~ msgstr ""
-#~ "removendo todas as entradas. A opção `-w' escreve o histórico atual no"
+#~ msgid "cleared by deleting all of the entries. The `-w' option writes out the"
+#~ msgstr "removendo todas as entradas. A opção `-w' escreve o histórico atual no"
-#~ msgid ""
-#~ "current history to the history file; `-r' means to read the file and"
-#~ msgstr ""
-#~ "arquivo de histórico; A opção `-r' significa ler o arquivo e apensar seu"
+#~ msgid "current history to the history file; `-r' means to read the file and"
+#~ msgstr "arquivo de histórico; A opção `-r' significa ler o arquivo e apensar seu"
#~ msgid "append the contents to the history list instead. `-a' means"
-#~ msgstr ""
-#~ "conteúdo à lista histórica. A opção `-a' significa apensar as linhas de"
+#~ msgstr "conteúdo à lista histórica. A opção `-a' significa apensar as linhas de"
#~ msgid "to append history lines from this session to the history file."
#~ msgstr "histórico desta sessão ao arquivo de histórico."
@@ -7102,113 +6696,82 @@ msgstr ""
#~ msgstr "A opção `-n' faz ler todas as linhas de histórico ainda não lidas"
#~ msgid "from the history file and append them to the history list. If"
-#~ msgstr ""
-#~ "do arquivo histórico, e apensá-las à lista de histórico. Se ARQUIVO"
+#~ msgstr "do arquivo histórico, e apensá-las à lista de histórico. Se ARQUIVO"
#~ msgid "FILENAME is given, then that is used as the history file else"
#~ msgstr "for fornecido, então este é usado como arquivo de histórico, senão"
#~ msgid "if $HISTFILE has a value, that is used, else ~/.bash_history."
-#~ msgstr ""
-#~ "se $HISTFILE possui valor, este é usado, senão ~/.bash_history. Se a"
+#~ msgstr "se $HISTFILE possui valor, este é usado, senão ~/.bash_history. Se a"
#~ msgid "If the -s option is supplied, the non-option ARGs are appended to"
-#~ msgstr ""
-#~ "opção -s for fornecida, os ARGs, que não forem opções, são apensados à"
+#~ msgstr "opção -s for fornecida, os ARGs, que não forem opções, são apensados à"
#~ msgid "the history list as a single entry. The -p option means to perform"
-#~ msgstr ""
-#~ "lista histórica como uma única entrada. A opção -p significa realizar a"
+#~ msgstr "lista histórica como uma única entrada. A opção -p significa realizar a"
-#~ msgid ""
-#~ "history expansion on each ARG and display the result, without storing"
-#~ msgstr ""
-#~ "expansão da história em cada ARG e exibir o resultado, sem armazenar"
+#~ msgid "history expansion on each ARG and display the result, without storing"
+#~ msgstr "expansão da história em cada ARG e exibir o resultado, sem armazenar"
#~ msgid "anything in the history list."
#~ msgstr "nada na lista de histórico."
#~ msgid "Lists the active jobs. The -l option lists process id's in addition"
-#~ msgstr ""
-#~ "Lista os trabalhos ativos. A opção -l lista os ID's dos processos além"
+#~ msgstr "Lista os trabalhos ativos. A opção -l lista os ID's dos processos além"
#~ msgid "to the normal information; the -p option lists process id's only."
-#~ msgstr ""
-#~ "das informações usuais; a opção -p lista somente os ID's dos processos."
+#~ msgstr "das informações usuais; a opção -p lista somente os ID's dos processos."
-#~ msgid ""
-#~ "If -n is given, only processes that have changed status since the last"
-#~ msgstr ""
-#~ "Se -n for fornecido, somente os processos que mudaram de status desde a"
+#~ msgid "If -n is given, only processes that have changed status since the last"
+#~ msgstr "Se -n for fornecido, somente os processos que mudaram de status desde a"
-#~ msgid ""
-#~ "notification are printed. JOBSPEC restricts output to that job. The"
-#~ msgstr ""
-#~ "última notificação são exibidos. JOB-ESPECIFICADO restringe a saída a "
-#~ "este"
+#~ msgid "notification are printed. JOBSPEC restricts output to that job. The"
+#~ msgstr "última notificação são exibidos. JOB-ESPECIFICADO restringe a saída a este"
#~ msgid "-r and -s options restrict output to running and stopped jobs only,"
-#~ msgstr ""
-#~ "trabalho. As opções -r e -s restringem a saída apenas aos trabalhos"
+#~ msgstr "trabalho. As opções -r e -s restringem a saída apenas aos trabalhos"
#~ msgid "respectively. Without options, the status of all active jobs is"
-#~ msgstr ""
-#~ "executando e parados, respectivamente. Sem opções, o status de todos os"
+#~ msgstr "executando e parados, respectivamente. Sem opções, o status de todos os"
-#~ msgid ""
-#~ "printed. If -x is given, COMMAND is run after all job specifications"
-#~ msgstr ""
-#~ "trabalhos ativos são exibidos. Se -x for fornecido, COMANDO é executado"
+#~ msgid "printed. If -x is given, COMMAND is run after all job specifications"
+#~ msgstr "trabalhos ativos são exibidos. Se -x for fornecido, COMANDO é executado"
-#~ msgid ""
-#~ "that appear in ARGS have been replaced with the process ID of that job's"
-#~ msgstr ""
-#~ "após todas as especificações de trabalho que aparecem em ARGS terem sido"
+#~ msgid "that appear in ARGS have been replaced with the process ID of that job's"
+#~ msgstr "após todas as especificações de trabalho que aparecem em ARGS terem sido"
#~ msgid "process group leader."
#~ msgstr "substituídas pelo ID do processo líder deste grupo de processos."
#~ msgid "Removes each JOBSPEC argument from the table of active jobs."
-#~ msgstr ""
-#~ "Remove cada argumento JOB-ESPECIFICADO da tabela de trabalhos ativos."
+#~ msgstr "Remove cada argumento JOB-ESPECIFICADO da tabela de trabalhos ativos."
#~ msgid "Send the processes named by PID (or JOB) the signal SIGSPEC. If"
-#~ msgstr ""
-#~ "Envia ao processo identificado pelo PID (ou JOB) o sinal SIGSPEC. Se"
+#~ msgstr "Envia ao processo identificado pelo PID (ou JOB) o sinal SIGSPEC. Se"
-#~ msgid ""
-#~ "SIGSPEC is not present, then SIGTERM is assumed. An argument of `-l'"
-#~ msgstr ""
-#~ "SIGSPEC não estiver presente, então SIGTERM é assumido. A opção `-l'"
+#~ msgid "SIGSPEC is not present, then SIGTERM is assumed. An argument of `-l'"
+#~ msgstr "SIGSPEC não estiver presente, então SIGTERM é assumido. A opção `-l'"
#~ msgid "lists the signal names; if arguments follow `-l' they are assumed to"
-#~ msgstr ""
-#~ "lista os nomes dos sinais; havendo argumentos após `-l', são assumidos"
+#~ msgstr "lista os nomes dos sinais; havendo argumentos após `-l', são assumidos"
#~ msgid "be signal numbers for which names should be listed. Kill is a shell"
-#~ msgstr ""
-#~ "como sendo os números dos sinais cujos nomes devem ser exibidos. Kill"
+#~ msgstr "como sendo os números dos sinais cujos nomes devem ser exibidos. Kill"
#~ msgid "builtin for two reasons: it allows job IDs to be used instead of"
-#~ msgstr ""
-#~ "é um comando interno por duas razões: permite o uso do ID do trabalho em"
+#~ msgstr "é um comando interno por duas razões: permite o uso do ID do trabalho em"
#~ msgid "process IDs, and, if you have reached the limit on processes that"
-#~ msgstr ""
-#~ "vez do ID do processo e, caso tenha sido atingido o limite de processos "
-#~ "que"
+#~ msgstr "vez do ID do processo e, caso tenha sido atingido o limite de processos que"
-#~ msgid ""
-#~ "you can create, you don't have to start a process to kill another one."
-#~ msgstr ""
-#~ "podem ser criados, não é necessário um novo processo para remover outro."
+#~ msgid "you can create, you don't have to start a process to kill another one."
+#~ msgstr "podem ser criados, não é necessário um novo processo para remover outro."
#~ msgid "Each ARG is an arithmetic expression to be evaluated. Evaluation"
#~ msgstr "Cada ARG é uma expressão aritmética a ser avaliada. A avaliação é"
#~ msgid "is done in long integers with no check for overflow, though division"
-#~ msgstr ""
-#~ "feita usando inteiros longos sem verificar estouro, embora a divisão"
+#~ msgstr "feita usando inteiros longos sem verificar estouro, embora a divisão"
#~ msgid "by 0 is trapped and flagged as an error. The following list of"
#~ msgstr "por 0 seja capturada e indicada como erro. A lista abaixo está"
@@ -7280,8 +6843,7 @@ msgstr ""
#~ msgstr "ativo para ser usada em uma expressão."
#~ msgid "Operators are evaluated in order of precedence. Sub-expressions in"
-#~ msgstr ""
-#~ "Os operadores são avaliados em ordem de precedência. Sub-expressões"
+#~ msgstr "Os operadores são avaliados em ordem de precedência. Sub-expressões"
#~ msgid "parentheses are evaluated first and may override the precedence"
#~ msgstr "entre parênteses são avaliadas primeiro e podem prevalecer sobre as"
@@ -7298,76 +6860,53 @@ msgstr ""
#~ msgid "One line is read from the standard input, and the first word is"
#~ msgstr "Uma linha é lida a partir da entrada padrão, e a primeira palavra é"
-#~ msgid ""
-#~ "assigned to the first NAME, the second word to the second NAME, and so"
-#~ msgstr ""
-#~ "atribuída ao primeiro NOME, a segunda ao segundo NOME, e assim por diante,"
+#~ msgid "assigned to the first NAME, the second word to the second NAME, and so"
+#~ msgstr "atribuída ao primeiro NOME, a segunda ao segundo NOME, e assim por diante,"
-#~ msgid ""
-#~ "on, with leftover words assigned to the last NAME. Only the characters"
-#~ msgstr ""
-#~ "com as palavras restantes atribuídas ao último NOME. Somente os "
-#~ "caracteres"
+#~ msgid "on, with leftover words assigned to the last NAME. Only the characters"
+#~ msgstr "com as palavras restantes atribuídas ao último NOME. Somente os caracteres"
#~ msgid "found in $IFS are recognized as word delimiters. The return code is"
-#~ msgstr ""
-#~ "encontrados em $IFS são reconhecidos como delimitadores. O código de "
-#~ "retorno"
+#~ msgstr "encontrados em $IFS são reconhecidos como delimitadores. O código de retorno"
-#~ msgid ""
-#~ "zero, unless end-of-file is encountered. If no NAMEs are supplied, the"
-#~ msgstr ""
-#~ "é zero, a menos que EOF seja encontrado. Se nenhum NOME for fornecido,"
+#~ msgid "zero, unless end-of-file is encountered. If no NAMEs are supplied, the"
+#~ msgstr "é zero, a menos que EOF seja encontrado. Se nenhum NOME for fornecido,"
-#~ msgid ""
-#~ "line read is stored in the REPLY variable. If the -r option is given,"
-#~ msgstr ""
-#~ "a linha lida é armazenada na variável REPLY. Se a opção -r for fornecida,"
+#~ msgid "line read is stored in the REPLY variable. If the -r option is given,"
+#~ msgstr "a linha lida é armazenada na variável REPLY. Se a opção -r for fornecida,"
#~ msgid "this signifies `raw' input, and backslash escaping is disabled. If"
-#~ msgstr ""
-#~ "significa entrada `textual', desabilitando a interpretação da contrabarra."
+#~ msgstr "significa entrada `textual', desabilitando a interpretação da contrabarra."
#~ msgid "the `-p' option is supplied, the string supplied as an argument is"
-#~ msgstr ""
-#~ "Se a opção `-p' for fornecida a MENSAGEM fornecida como argumento é "
-#~ "exibida,"
+#~ msgstr "Se a opção `-p' for fornecida a MENSAGEM fornecida como argumento é exibida,"
-#~ msgid ""
-#~ "output without a trailing newline before attempting to read. If -a is"
-#~ msgstr ""
-#~ "sem o caracter de nova linha, antes de efetuar a leitura. Se a opção -a"
+#~ msgid "output without a trailing newline before attempting to read. If -a is"
+#~ msgstr "sem o caracter de nova linha, antes de efetuar a leitura. Se a opção -a"
-#~ msgid ""
-#~ "supplied, the words read are assigned to sequential indices of ARRAY,"
-#~ msgstr ""
-#~ "for fornecida, as palavras lidas são atribuídas aos índices seqüenciais"
+#~ msgid "supplied, the words read are assigned to sequential indices of ARRAY,"
+#~ msgstr "for fornecida, as palavras lidas são atribuídas aos índices seqüenciais"
#~ msgid "starting at zero. If -e is supplied and the shell is interactive,"
-#~ msgstr ""
-#~ "do ARRAY, começando por zero. Se a opção -e for fornecida, e a shell for"
+#~ msgstr "do ARRAY, começando por zero. Se a opção -e for fornecida, e a shell for"
#~ msgid "readline is used to obtain the line."
#~ msgstr "interativa, `readline' é utilizado para ler a linha."
-#~ msgid ""
-#~ "Causes a function to exit with the return value specified by N. If N"
+#~ msgid "Causes a function to exit with the return value specified by N. If N"
#~ msgstr "Faz a função terminar com o valor de retorno especificado por N."
#~ msgid "is omitted, the return status is that of the last command."
#~ msgstr "Se N for omitido, retorna o status do último comando executado."
#~ msgid " -a Mark variables which are modified or created for export."
-#~ msgstr ""
-#~ " -a Marcar para exportação as variáveis que são criadas ou "
-#~ "modificadas."
+#~ msgstr " -a Marcar para exportação as variáveis que são criadas ou modificadas."
#~ msgid " -b Notify of job termination immediately."
#~ msgstr " -b Notificar imediatamente o término do trabalho."
#~ msgid " -e Exit immediately if a command exits with a non-zero status."
-#~ msgstr ""
-#~ " -e Terminar imediatamente se um comando terminar com status != 0."
+#~ msgstr " -e Terminar imediatamente se um comando terminar com status != 0."
#~ msgid " -f Disable file name generation (globbing)."
#~ msgstr " -f Desabilitar a geração de nome de arquivo (metacaracteres)."
@@ -7375,16 +6914,14 @@ msgstr ""
#~ msgid " -h Remember the location of commands as they are looked up."
#~ msgstr " -h Lembrar da localização dos comandos ao procurá-los."
-#~ msgid ""
-#~ " -i Force the shell to be an \"interactive\" one. Interactive shells"
+#~ msgid " -i Force the shell to be an \"interactive\" one. Interactive shells"
#~ msgstr " -i Forçar a shell ser do tipo \"interativa\". `Shells'"
#~ msgid " always read `~/.bashrc' on startup."
#~ msgstr " interativas sempre lêem `~/.bashrc' ao iniciar."
#~ msgid " -k All assignment arguments are placed in the environment for a"
-#~ msgstr ""
-#~ " -k Todos os argumentos de atribuição são colocados no ambiente,"
+#~ msgstr " -k Todos os argumentos de atribuição são colocados no ambiente,"
#~ msgid " command, not just those that precede the command name."
#~ msgstr " e não somente os que precedem o nome do comando."
@@ -7408,8 +6945,7 @@ msgstr ""
#~ msgstr " braceexpand o mesmo que -B"
#~ msgid " emacs use an emacs-style line editing interface"
-#~ msgstr ""
-#~ " emacs usar interface de edição de linha estilo emacs"
+#~ msgstr " emacs usar interface de edição de linha estilo emacs"
#~ msgid " errexit same as -e"
#~ msgstr " errexit o mesmo que -e"
@@ -7426,10 +6962,8 @@ msgstr ""
#~ msgid " interactive-comments"
#~ msgstr " interactive-comments"
-#~ msgid ""
-#~ " allow comments to appear in interactive commands"
-#~ msgstr ""
-#~ " permite comentários em comandos interativos"
+#~ msgid " allow comments to appear in interactive commands"
+#~ msgstr " permite comentários em comandos interativos"
#~ msgid " keyword same as -k"
#~ msgstr " keyword o mesmo que -k"
@@ -7458,15 +6992,11 @@ msgstr ""
#~ msgid " physical same as -P"
#~ msgstr " physical o mesmo que -P"
-#~ msgid ""
-#~ " posix change the behavior of bash where the default"
-#~ msgstr ""
-#~ " posix mudar o comportamento do `bash' onde o padrão"
+#~ msgid " posix change the behavior of bash where the default"
+#~ msgstr " posix mudar o comportamento do `bash' onde o padrão"
-#~ msgid ""
-#~ " operation differs from the 1003.2 standard to"
-#~ msgstr ""
-#~ " for diferente do padrão 1003.2, para tornar"
+#~ msgid " operation differs from the 1003.2 standard to"
+#~ msgstr " for diferente do padrão 1003.2, para tornar"
#~ msgid " match the standard"
#~ msgstr " igual ao padrão"
@@ -7478,26 +7008,19 @@ msgstr ""
#~ msgstr " verbose o mesmo que -v"
#~ msgid " vi use a vi-style line editing interface"
-#~ msgstr ""
-#~ " vi usar interface de edição de linha estilo vi"
+#~ msgstr " vi usar interface de edição de linha estilo vi"
#~ msgid " xtrace same as -x"
#~ msgstr " xtrace o mesmo que -x"
-#~ msgid ""
-#~ " -p Turned on whenever the real and effective user ids do not match."
-#~ msgstr ""
-#~ " -p Habilitado sempre que o usuário real e efetivo forem diferentes."
+#~ msgid " -p Turned on whenever the real and effective user ids do not match."
+#~ msgstr " -p Habilitado sempre que o usuário real e efetivo forem diferentes."
#~ msgid " Disables processing of the $ENV file and importing of shell"
-#~ msgstr ""
-#~ " Desabilita o processamento do arquivo $ENV e importação das "
-#~ "funções"
+#~ msgstr " Desabilita o processamento do arquivo $ENV e importação das funções"
-#~ msgid ""
-#~ " functions. Turning this option off causes the effective uid and"
-#~ msgstr ""
-#~ " da shell. Desabilitando esta opção faz com que o `uid' e `gid'"
+#~ msgid " functions. Turning this option off causes the effective uid and"
+#~ msgstr " da shell. Desabilitando esta opção faz com que o `uid' e `gid'"
#~ msgid " gid to be set to the real uid and gid."
#~ msgstr " efetivos sejam feitos o mesmo que o `uid' e `gid' reais."
@@ -7506,8 +7029,7 @@ msgstr ""
#~ msgstr " -t Sair após ler e executar um comando."
#~ msgid " -u Treat unset variables as an error when substituting."
-#~ msgstr ""
-#~ " -u Tratar como erro as variáveis não inicializadas na substituição."
+#~ msgstr " -u Tratar como erro as variáveis não inicializadas na substituição."
#~ msgid " -v Print shell input lines as they are read."
#~ msgstr " -v Exibir as linhas de entrada da shell ao lê-las."
@@ -7540,13 +7062,10 @@ msgstr ""
#~ msgstr "Usando + em vez de - faz com que as opções sejam desabilitadas. As"
#~ msgid "flags can also be used upon invocation of the shell. The current"
-#~ msgstr ""
-#~ "opções também podem ser usadas na chamada da shell. O conjunto atual"
+#~ msgstr "opções também podem ser usadas na chamada da shell. O conjunto atual"
-#~ msgid ""
-#~ "set of flags may be found in $-. The remaining n ARGs are positional"
-#~ msgstr ""
-#~ "de opções pode ser encontrado em $-. Os n ARGs restantes são parâmetros"
+#~ msgid "set of flags may be found in $-. The remaining n ARGs are positional"
+#~ msgstr "de opções pode ser encontrado em $-. Os n ARGs restantes são parâmetros"
#~ msgid "parameters and are assigned, in order, to $1, $2, .. $n. If no"
#~ msgstr "posicionais e são atribuídos, em ordem, a $1, $2, .. $n. Se nenhum"
@@ -7555,12 +7074,10 @@ msgstr ""
#~ msgstr "ARG for fornecido, todas as variáveis da shell são exibidas."
#~ msgid "For each NAME, remove the corresponding variable or function. Given"
-#~ msgstr ""
-#~ "Para cada NOME, remove a variável ou a função correspondente. Usando-se a"
+#~ msgstr "Para cada NOME, remove a variável ou a função correspondente. Usando-se a"
#~ msgid "the `-v', unset will only act on variables. Given the `-f' flag,"
-#~ msgstr ""
-#~ "opção `-v', `unset' atua somente nas variáveis. Usando-se a opção `-f'"
+#~ msgstr "opção `-v', `unset' atua somente nas variáveis. Usando-se a opção `-f'"
#~ msgid "unset will only act on functions. With neither flag, unset first"
#~ msgstr "`unset' atua somente nas funções. Sem nenhuma opção, inicialmente"
@@ -7568,32 +7085,26 @@ msgstr ""
#~ msgid "tries to unset a variable, and if that fails, then tries to unset a"
#~ msgstr "`unset' tenta remover uma variável e, se falhar, tenta remover uma"
-#~ msgid ""
-#~ "function. Some variables (such as PATH and IFS) cannot be unset; also"
-#~ msgstr ""
-#~ "função. Algumas variáveis (como PATH e IFS) não podem ser removidas."
+#~ msgid "function. Some variables (such as PATH and IFS) cannot be unset; also"
+#~ msgstr "função. Algumas variáveis (como PATH e IFS) não podem ser removidas."
#~ msgid "see readonly."
#~ msgstr "Veja também o comando `readonly'."
#~ msgid "NAMEs are marked for automatic export to the environment of"
-#~ msgstr ""
-#~ "NOMEs são marcados para serem automaticamente exportados para o ambiente"
+#~ msgstr "NOMEs são marcados para serem automaticamente exportados para o ambiente"
#~ msgid "subsequently executed commands. If the -f option is given,"
#~ msgstr "dos comando executados a seguir. Se a opção -f for fornecida,"
#~ msgid "the NAMEs refer to functions. If no NAMEs are given, or if `-p'"
-#~ msgstr ""
-#~ "os NOMEs se referem a funções. Se nenhum nome for fornecido, ou se `-p'"
+#~ msgstr "os NOMEs se referem a funções. Se nenhum nome for fornecido, ou se `-p'"
#~ msgid "is given, a list of all names that are exported in this shell is"
-#~ msgstr ""
-#~ "for usado, uma lista com todos os nomes que são exportados nesta shell é"
+#~ msgstr "for usado, uma lista com todos os nomes que são exportados nesta shell é"
#~ msgid "printed. An argument of `-n' says to remove the export property"
-#~ msgstr ""
-#~ "exibida. O argumento `-n' faz remover a propriedade de exportação dos"
+#~ msgstr "exibida. O argumento `-n' faz remover a propriedade de exportação dos"
#~ msgid "from subsequent NAMEs. An argument of `--' disables further option"
#~ msgstr "NOMEs subseqüentes. O argumento `--' desabilita o processamento de"
@@ -7601,40 +7112,29 @@ msgstr ""
#~ msgid "processing."
#~ msgstr "opções posteriores."
-#~ msgid ""
-#~ "The given NAMEs are marked readonly and the values of these NAMEs may"
-#~ msgstr ""
-#~ "Os NOMEs são marcados como somente para leitura, e os valores destes"
+#~ msgid "The given NAMEs are marked readonly and the values of these NAMEs may"
+#~ msgstr "Os NOMEs são marcados como somente para leitura, e os valores destes"
#~ msgid "not be changed by subsequent assignment. If the -f option is given,"
-#~ msgstr ""
-#~ "NOMEs não poderão ser alterados por novas atribuições. Se a opção -f for"
+#~ msgstr "NOMEs não poderão ser alterados por novas atribuições. Se a opção -f for"
#~ msgid "then functions corresponding to the NAMEs are so marked. If no"
-#~ msgstr ""
-#~ "fornecida, as funções correspondentes a NOMEs também são marcadas. Sem"
+#~ msgstr "fornecida, as funções correspondentes a NOMEs também são marcadas. Sem"
-#~ msgid ""
-#~ "arguments are given, or if `-p' is given, a list of all readonly names"
-#~ msgstr ""
-#~ "nenhum argumento, ou se `-p' for usado, uma lista com todos os nomes"
+#~ msgid "arguments are given, or if `-p' is given, a list of all readonly names"
+#~ msgstr "nenhum argumento, ou se `-p' for usado, uma lista com todos os nomes"
-#~ msgid ""
-#~ "is printed. An argument of `-n' says to remove the readonly property"
-#~ msgstr ""
-#~ "somente para leitura é exibida. O argumento `-n' remove a propriedade"
+#~ msgid "is printed. An argument of `-n' says to remove the readonly property"
+#~ msgstr "somente para leitura é exibida. O argumento `-n' remove a propriedade"
#~ msgid "from subsequent NAMEs. The `-a' option means to treat each NAME as"
#~ msgstr "somente para leitura. A opção `-a' faz tratar cada NOME como uma"
#~ msgid "an array variable. An argument of `--' disables further option"
-#~ msgstr ""
-#~ "variável tipo array. Um argumento `--' desabilita o processamento de"
+#~ msgstr "variável tipo array. Um argumento `--' desabilita o processamento de"
-#~ msgid ""
-#~ "The positional parameters from $N+1 ... are renamed to $1 ... If N is"
-#~ msgstr ""
-#~ "Os parâmetros posicionais a partir de $N+1 ... são deslocados para $1 ..."
+#~ msgid "The positional parameters from $N+1 ... are renamed to $1 ... If N is"
+#~ msgstr "Os parâmetros posicionais a partir de $N+1 ... são deslocados para $1 ..."
#~ msgid "not given, it is assumed to be 1."
#~ msgstr "Se N não for especificado, o valor 1 é assumido ($2 vira $1 ...)."
@@ -7646,31 +7146,25 @@ msgstr ""
#~ msgstr "$PATH são usados para encontrar o diretório contendo o ARQUIVO."
#~ msgid "Suspend the execution of this shell until it receives a SIGCONT"
-#~ msgstr ""
-#~ "Suspender a execução desta shell até que o sinal SIGCONT seja recebido."
+#~ msgstr "Suspender a execução desta shell até que o sinal SIGCONT seja recebido."
#~ msgid "signal. The `-f' if specified says not to complain about this"
#~ msgstr "Se a opção `-f' for especificada indica para não reclamar sobre ser"
#~ msgid "being a login shell if it is; just suspend anyway."
-#~ msgstr ""
-#~ "uma `shell de login', caso seja; simplesmente suspender de qualquer forma."
+#~ msgstr "uma `shell de login', caso seja; simplesmente suspender de qualquer forma."
#~ msgid "Exits with a status of 0 (trueness) or 1 (falseness) depending on"
-#~ msgstr ""
-#~ "Termina com status 0 (verdadeiro) ou 1 (falso) conforme EXPR for avaliada."
+#~ msgstr "Termina com status 0 (verdadeiro) ou 1 (falso) conforme EXPR for avaliada."
#~ msgid "the evaluation of EXPR. Expressions may be unary or binary. Unary"
-#~ msgstr ""
-#~ "As expressões podem ser unárias ou binárias. As expressões unárias são"
+#~ msgstr "As expressões podem ser unárias ou binárias. As expressões unárias são"
#~ msgid "expressions are often used to examine the status of a file. There"
-#~ msgstr ""
-#~ "muito usadas para examinar o status de um arquivo. Existem, também,"
+#~ msgstr "muito usadas para examinar o status de um arquivo. Existem, também,"
#~ msgid "are string operators as well, and numeric comparison operators."
-#~ msgstr ""
-#~ "operadores para cadeias de caracteres (strings) e comparações numéricas."
+#~ msgstr "operadores para cadeias de caracteres (strings) e comparações numéricas."
#~ msgid "File operators:"
#~ msgstr "Operadores para arquivos:"
@@ -7679,8 +7173,7 @@ msgstr ""
#~ msgstr " -b ARQUIVO Verdade se o arquivo for do tipo especial de bloco."
#~ msgid " -c FILE True if file is character special."
-#~ msgstr ""
-#~ " -c ARQUIVO Verdade se o arquivo for do tipo especial de caracter."
+#~ msgstr " -c ARQUIVO Verdade se o arquivo for do tipo especial de caracter."
#~ msgid " -d FILE True if file is a directory."
#~ msgstr " -d ARQUIVO Verdade se o arquivo for um diretório."
@@ -7692,12 +7185,10 @@ msgstr ""
#~ msgstr " -f ARQUIVO Verdade se o arquivo existir e for do tipo regular."
#~ msgid " -g FILE True if file is set-group-id."
-#~ msgstr ""
-#~ " -g ARQUIVO Verdade se o arquivo tiver o bit \"set-group-id\" ativo."
+#~ msgstr " -g ARQUIVO Verdade se o arquivo tiver o bit \"set-group-id\" ativo."
#~ msgid " -h FILE True if file is a symbolic link. Use \"-L\"."
-#~ msgstr ""
-#~ " -h ARQUIVO Verdade se arquivo for um vínculo simbólico. Usar \"-L\"."
+#~ msgstr " -h ARQUIVO Verdade se arquivo for um vínculo simbólico. Usar \"-L\"."
#~ msgid " -L FILE True if file is a symbolic link."
#~ msgstr " -L ARQUIVO Verdade se o arquivo for um vínculo simbólico."
@@ -7709,8 +7200,7 @@ msgstr ""
#~ msgstr " -p ARQUIVO Verdade se o arquivo for um `named pipe'."
#~ msgid " -r FILE True if file is readable by you."
-#~ msgstr ""
-#~ " -r ARQUIVO Verdade se você tiver autorização para ler o arquivo."
+#~ msgstr " -r ARQUIVO Verdade se você tiver autorização para ler o arquivo."
#~ msgid " -s FILE True if file exists and is not empty."
#~ msgstr " -s ARQUIVO Verdade se o arquivo existir e não estiver vazio."
@@ -7724,26 +7214,19 @@ msgstr ""
#~ " em um terminal."
#~ msgid " -u FILE True if the file is set-user-id."
-#~ msgstr ""
-#~ " -u ARQUIVO Verdade se o arquivo tiver o bit \"set-user-id\" ativo."
+#~ msgstr " -u ARQUIVO Verdade se o arquivo tiver o bit \"set-user-id\" ativo."
#~ msgid " -w FILE True if the file is writable by you."
-#~ msgstr ""
-#~ " -w ARQUIVO Verdade se você tiver autorização para escrever no "
-#~ "arquivo."
+#~ msgstr " -w ARQUIVO Verdade se você tiver autorização para escrever no arquivo."
#~ msgid " -x FILE True if the file is executable by you."
-#~ msgstr ""
-#~ " -x ARQUIVO Verdade se você tiver autorização para executar o arquivo."
+#~ msgstr " -x ARQUIVO Verdade se você tiver autorização para executar o arquivo."
#~ msgid " -O FILE True if the file is effectively owned by you."
-#~ msgstr ""
-#~ " -O ARQUIVO Verdade se o arquivo pertencer ao seu usuário efetivo."
+#~ msgstr " -O ARQUIVO Verdade se o arquivo pertencer ao seu usuário efetivo."
-#~ msgid ""
-#~ " -G FILE True if the file is effectively owned by your group."
-#~ msgstr ""
-#~ " -G ARQUIVO Verdade se o arquivo pertencer ao seu grupo efetivo."
+#~ msgid " -G FILE True if the file is effectively owned by your group."
+#~ msgstr " -G ARQUIVO Verdade se o arquivo pertencer ao seu grupo efetivo."
#~ msgid " FILE1 -nt FILE2 True if file1 is newer than (according to"
#~ msgstr " ARQ1 -nt ARQ2 Verdade se ARQ1 for mais novo (conforme a data"
@@ -7786,18 +7269,14 @@ msgstr ""
#~ msgid " STRING1 < STRING2"
#~ msgstr " STRING1 < STRING2"
-#~ msgid ""
-#~ " True if STRING1 sorts before STRING2 lexicographically"
-#~ msgstr ""
-#~ " Verdade se STRING1 tiver ordenação anterior à STRING2."
+#~ msgid " True if STRING1 sorts before STRING2 lexicographically"
+#~ msgstr " Verdade se STRING1 tiver ordenação anterior à STRING2."
#~ msgid " STRING1 > STRING2"
#~ msgstr " STRING1 > STRING2"
-#~ msgid ""
-#~ " True if STRING1 sorts after STRING2 lexicographically"
-#~ msgstr ""
-#~ " Verdade se STRING1 tiver ordenação posterior à STRING2."
+#~ msgid " True if STRING1 sorts after STRING2 lexicographically"
+#~ msgstr " Verdade se STRING1 tiver ordenação posterior à STRING2."
#~ msgid "Other operators:"
#~ msgstr "Outros operadores:"
@@ -7818,11 +7297,9 @@ msgstr ""
#~ msgstr " -lt, -le, -gt, ou -ge."
#~ msgid "Arithmetic binary operators return true if ARG1 is equal, not-equal,"
-#~ msgstr ""
-#~ "Operadores aritméticos binários retornam verdadeiro se ARG1 for igual,"
+#~ msgstr "Operadores aritméticos binários retornam verdadeiro se ARG1 for igual,"
-#~ msgid ""
-#~ "less-than, less-than-or-equal, greater-than, or greater-than-or-equal"
+#~ msgid "less-than, less-than-or-equal, greater-than, or greater-than-or-equal"
#~ msgstr "diferente, menor, menor ou igual, maior, ou maior ou igual do que"
#~ msgid "than ARG2."
@@ -7835,60 +7312,46 @@ msgstr ""
#~ msgstr "argumento deve ser o literal `]', para fechar o `[' de abertura."
#~ msgid "Print the accumulated user and system times for processes run from"
-#~ msgstr ""
-#~ "Exibe os tempos acumulados do usuário e do sistema para os processos"
+#~ msgstr "Exibe os tempos acumulados do usuário e do sistema para os processos"
#~ msgid "the shell."
#~ msgstr "executados por esta shell."
#~ msgid "The command ARG is to be read and executed when the shell receives"
-#~ msgstr ""
-#~ "O comando em ARG é para ser lido e executado quando a shell receber o(s)"
+#~ msgstr "O comando em ARG é para ser lido e executado quando a shell receber o(s)"
#~ msgid "signal(s) SIGNAL_SPEC. If ARG is absent all specified signals are"
-#~ msgstr ""
-#~ "sinal(is) SINAL-ESPEC. Se ARG for omitido, todos os sinais especificados"
+#~ msgstr "sinal(is) SINAL-ESPEC. Se ARG for omitido, todos os sinais especificados"
#~ msgid "reset to their original values. If ARG is the null string each"
-#~ msgstr ""
-#~ "retornam aos seus valores originais. Se ARG for uma string nula, cada"
+#~ msgstr "retornam aos seus valores originais. Se ARG for uma string nula, cada"
#~ msgid "SIGNAL_SPEC is ignored by the shell and by the commands it invokes."
-#~ msgstr ""
-#~ "SINAL-ESPEC é ignorado pela shell e pelos comandos chamados por ela."
+#~ msgstr "SINAL-ESPEC é ignorado pela shell e pelos comandos chamados por ela."
#~ msgid "If SIGNAL_SPEC is EXIT (0) the command ARG is executed on exit from"
-#~ msgstr ""
-#~ "Se SINAL-ESPEC for EXIT (0) o comando em ARG é executado na saída da"
+#~ msgstr "Se SINAL-ESPEC for EXIT (0) o comando em ARG é executado na saída da"
#~ msgid "the shell. If SIGNAL_SPEC is DEBUG, ARG is executed after every"
-#~ msgstr ""
-#~ "shell. Se SINAL-ESPEC for DEBUG, o comando em ARG é executado após cada"
+#~ msgstr "shell. Se SINAL-ESPEC for DEBUG, o comando em ARG é executado após cada"
#~ msgid "command. If ARG is `-p' then the trap commands associated with"
-#~ msgstr ""
-#~ "comando. Se ARG for `-p' então os comandos de captura associados com cada"
+#~ msgstr "comando. Se ARG for `-p' então os comandos de captura associados com cada"
#~ msgid "each SIGNAL_SPEC are displayed. If no arguments are supplied or if"
#~ msgstr "SINAL-ESPEC são exibidos. Se nenhum argumento for fornecido, ou se"
#~ msgid "only `-p' is given, trap prints the list of commands associated with"
-#~ msgstr ""
-#~ "somente `-p' for fornecido, é exibida a lista dos comandos associados"
+#~ msgstr "somente `-p' for fornecido, é exibida a lista dos comandos associados"
-#~ msgid ""
-#~ "each signal number. SIGNAL_SPEC is either a signal name in <signal.h>"
-#~ msgstr ""
-#~ "com cada número de sinal. SINAL-ESPEC é um nome de sinal em <signal.h> ou"
+#~ msgid "each signal number. SIGNAL_SPEC is either a signal name in <signal.h>"
+#~ msgstr "com cada número de sinal. SINAL-ESPEC é um nome de sinal em <signal.h> ou"
-#~ msgid ""
-#~ "or a signal number. `trap -l' prints a list of signal names and their"
-#~ msgstr ""
-#~ "um número de sinal. `trap -l' exibe a lista de nomes de sinais com seus"
+#~ msgid "or a signal number. `trap -l' prints a list of signal names and their"
+#~ msgstr "um número de sinal. `trap -l' exibe a lista de nomes de sinais com seus"
#~ msgid "corresponding numbers. Note that a signal can be sent to the shell"
-#~ msgstr ""
-#~ "números correspondentes. Note que o sinal pode ser enviado para a shell"
+#~ msgstr "números correspondentes. Note que o sinal pode ser enviado para a shell"
#~ msgid "with \"kill -signal $$\"."
#~ msgstr "através do comando \"kill -SINAL $$\"."
@@ -7897,19 +7360,13 @@ msgstr ""
#~ msgstr "Para cada NOME, indica como este deve ser interpretado caso seja"
#~ msgid "If the -t option is used, returns a single word which is one of"
-#~ msgstr ""
-#~ "Se a opção -t for fornecida, `type' retorna uma única palavra dentre"
+#~ msgstr "Se a opção -t for fornecida, `type' retorna uma única palavra dentre"
-#~ msgid ""
-#~ "`alias', `keyword', `function', `builtin', `file' or `', if NAME is an"
-#~ msgstr ""
-#~ "`alias', `keyword', `function', `builtin', `file' ou `', se NOME for um"
+#~ msgid "`alias', `keyword', `function', `builtin', `file' or `', if NAME is an"
+#~ msgstr "`alias', `keyword', `function', `builtin', `file' ou `', se NOME for um"
-#~ msgid ""
-#~ "alias, shell reserved word, shell function, shell builtin, disk file,"
-#~ msgstr ""
-#~ "alias, uma palavra reservada, função ou comando interno da shell, um "
-#~ "arquivo"
+#~ msgid "alias, shell reserved word, shell function, shell builtin, disk file,"
+#~ msgstr "alias, uma palavra reservada, função ou comando interno da shell, um arquivo"
#~ msgid "or unfound, respectively."
#~ msgstr "em disco, ou não for encontrado, respectivamente."
@@ -7923,10 +7380,8 @@ msgstr ""
#~ msgid "If the -a flag is used, displays all of the places that contain an"
#~ msgstr "Se a opção -a for fornecida, exibe todos os locais que contém um"
-#~ msgid ""
-#~ "executable named `file'. This includes aliases and functions, if and"
-#~ msgstr ""
-#~ "arquivo executável chamado `ARQUIVO', incluindo os aliases e funções,"
+#~ msgid "executable named `file'. This includes aliases and functions, if and"
+#~ msgstr "arquivo executável chamado `ARQUIVO', incluindo os aliases e funções,"
#~ msgid "only if the -p flag is not also used."
#~ msgstr "mas somente se a opção -p não for fornecida conjuntamente."
@@ -7938,12 +7393,10 @@ msgstr ""
#~ msgstr "-a, -p, and -t, respectivamente."
#~ msgid "Ulimit provides control over the resources available to processes"
-#~ msgstr ""
-#~ "Ulimit estabelece controle sobre os recursos disponíveis para os processos"
+#~ msgstr "Ulimit estabelece controle sobre os recursos disponíveis para os processos"
#~ msgid "started by the shell, on systems that allow such control. If an"
-#~ msgstr ""
-#~ "iniciados por esta shell, em sistemas que permitem estes controles. Se uma"
+#~ msgstr "iniciados por esta shell, em sistemas que permitem estes controles. Se uma"
#~ msgid "option is given, it is interpreted as follows:"
#~ msgstr "opção for fornecida, é interpretada como mostrado a seguir:"
@@ -7958,15 +7411,13 @@ msgstr ""
#~ msgstr " -a\ttodos os limites correntes são informados"
#~ msgid " -c\tthe maximum size of core files created"
-#~ msgstr ""
-#~ " -c\to tamanho máximo para os arquivos de imagem do núcleo criados"
+#~ msgstr " -c\to tamanho máximo para os arquivos de imagem do núcleo criados"
#~ msgid " -d\tthe maximum size of a process's data segment"
#~ msgstr " -d\to tamanho máximo do segmento de dados de um processo"
#~ msgid " -m\tthe maximum resident set size"
-#~ msgstr ""
-#~ " -m\to tamanho máximo do conjunto de processos residentes em memória"
+#~ msgstr " -m\to tamanho máximo do conjunto de processos residentes em memória"
#~ msgid " -s\tthe maximum stack size"
#~ msgstr " -s\to tamanho máximo da pilha"
@@ -7990,15 +7441,13 @@ msgstr ""
#~ msgstr " -v\to tamanho da memória virtual"
#~ msgid "If LIMIT is given, it is the new value of the specified resource."
-#~ msgstr ""
-#~ "Se LIMITE for fornecido, torna-se o novo valor do recurso especificado."
+#~ msgstr "Se LIMITE for fornecido, torna-se o novo valor do recurso especificado."
#~ msgid "Otherwise, the current value of the specified resource is printed."
#~ msgstr "Senão, o valor atual do recurso especificado é exibido."
#~ msgid "If no option is given, then -f is assumed. Values are in 1k"
-#~ msgstr ""
-#~ "Se nenhuma opção for fornecida, então -f é assumido. Os valores são em"
+#~ msgstr "Se nenhuma opção for fornecida, então -f é assumido. Os valores são em"
#~ msgid "increments, except for -t, which is in seconds, -p, which is in"
#~ msgstr "incrementos de 1k, exceto para -t, que é em segundos, -p, que é em"
@@ -8009,101 +7458,77 @@ msgstr ""
#~ msgid "processes."
#~ msgstr "processos."
-#~ msgid ""
-#~ "The user file-creation mask is set to MODE. If MODE is omitted, or if"
-#~ msgstr ""
-#~ "MODO é atribuído à máscara de criação de arquivos do usuário. Se omitido,"
+#~ msgid "The user file-creation mask is set to MODE. If MODE is omitted, or if"
+#~ msgstr "MODO é atribuído à máscara de criação de arquivos do usuário. Se omitido,"
-#~ msgid ""
-#~ "`-S' is supplied, the current value of the mask is printed. The `-S'"
-#~ msgstr ""
-#~ "ou se `-S' for especificado, a máscara em uso é exibida. A opção `-S'"
+#~ msgid "`-S' is supplied, the current value of the mask is printed. The `-S'"
+#~ msgstr "ou se `-S' for especificado, a máscara em uso é exibida. A opção `-S'"
-#~ msgid ""
-#~ "option makes the output symbolic; otherwise an octal number is output."
+#~ msgid "option makes the output symbolic; otherwise an octal number is output."
#~ msgstr "exibe símbolos na saída; sem esta opção um número octal é exibido."
#~ msgid "If MODE begins with a digit, it is interpreted as an octal number,"
-#~ msgstr ""
-#~ "Se MODO começar por um dígito, é interpretado como sendo um número octal,"
+#~ msgstr "Se MODO começar por um dígito, é interpretado como sendo um número octal,"
-#~ msgid ""
-#~ "otherwise it is a symbolic mode string like that accepted by chmod(1)."
-#~ msgstr ""
-#~ "senão devem ser caracteres simbólicos, como os aceitos por chmod(1)."
+#~ msgid "otherwise it is a symbolic mode string like that accepted by chmod(1)."
+#~ msgstr "senão devem ser caracteres simbólicos, como os aceitos por chmod(1)."
-#~ msgid ""
-#~ "Wait for the specified process and report its termination status. If"
-#~ msgstr ""
-#~ "Aguardar pelo processo especificado e informar seu status de término. Se N"
+#~ msgid "Wait for the specified process and report its termination status. If"
+#~ msgstr "Aguardar pelo processo especificado e informar seu status de término. Se N"
#~ msgid "N is not given, all currently active child processes are waited for,"
-#~ msgstr ""
-#~ "não for especificado, todos os processos filhos ativos são aguardados,"
+#~ msgstr "não for especificado, todos os processos filhos ativos são aguardados,"
#~ msgid "and the return code is zero. N may be a process ID or a job"
#~ msgstr "e o código de retorno é zero. N pode ser o ID de um processo ou a"
#~ msgid "specification; if a job spec is given, all processes in the job's"
-#~ msgstr ""
-#~ "especificação de um trabalho; Se for a especificação de um trabalho, todos"
+#~ msgstr "especificação de um trabalho; Se for a especificação de um trabalho, todos"
#~ msgid "pipeline are waited for."
#~ msgstr "os processos presentes no `pipeline' do trabalho são aguardados."
#~ msgid "and the return code is zero. N is a process ID; if it is not given,"
-#~ msgstr ""
-#~ "e o código de retorno é zero. N é o ID de um processo; se N não for"
+#~ msgstr "e o código de retorno é zero. N é o ID de um processo; se N não for"
#~ msgid "all child processes of the shell are waited for."
#~ msgstr "especificado, todos os processos filhos da shell são aguardados."
#~ msgid "The `for' loop executes a sequence of commands for each member in a"
-#~ msgstr ""
-#~ "O laço `for' executa a seqüência de comandos para cada membro na lista de"
+#~ msgstr "O laço `for' executa a seqüência de comandos para cada membro na lista de"
-#~ msgid ""
-#~ "list of items. If `in WORDS ...;' is not present, then `in \"$@\"' is"
-#~ msgstr ""
-#~ "items. Se `in PALAVRAS ...;' não estiver presente, então `in \"$@\"'"
+#~ msgid "list of items. If `in WORDS ...;' is not present, then `in \"$@\"' is"
+#~ msgstr "items. Se `in PALAVRAS ...;' não estiver presente, então `in \"$@\"'"
-#~ msgid ""
-#~ "assumed. For each element in WORDS, NAME is set to that element, and"
-#~ msgstr ""
-#~ "(parâmetros posicionais) é assumido. Para cada elemento em PALAVRAS, NOME"
+#~ msgid "assumed. For each element in WORDS, NAME is set to that element, and"
+#~ msgstr "(parâmetros posicionais) é assumido. Para cada elemento em PALAVRAS, NOME"
#~ msgid "the COMMANDS are executed."
#~ msgstr "assume seu valor, e os COMANDOS são executados."
#~ msgid "The WORDS are expanded, generating a list of words. The"
-#~ msgstr ""
-#~ "As palavras são expandidas, gerando uma lista de palavras. O conjunto"
+#~ msgstr "As palavras são expandidas, gerando uma lista de palavras. O conjunto"
#~ msgid "set of expanded words is printed on the standard error, each"
-#~ msgstr ""
-#~ "de palavras expandidas é enviado para a saída de erro padrão, cada uma"
+#~ msgstr "de palavras expandidas é enviado para a saída de erro padrão, cada uma"
#~ msgid "preceded by a number. If `in WORDS' is not present, `in \"$@\"'"
-#~ msgstr ""
-#~ "precedida por um número. Se `in PALAVRAS' for omitido, `in \"$@\"' é"
+#~ msgstr "precedida por um número. Se `in PALAVRAS' for omitido, `in \"$@\"' é"
#~ msgid "is assumed. The PS3 prompt is then displayed and a line read"
#~ msgstr "assumido. Em seguida o prompt PS3 é exibido, e uma linha é lida da"
#~ msgid "from the standard input. If the line consists of the number"
-#~ msgstr ""
-#~ "entrada padrão. Se a linha consistir do número correspondente ao número"
+#~ msgstr "entrada padrão. Se a linha consistir do número correspondente ao número"
#~ msgid "corresponding to one of the displayed words, then NAME is set"
#~ msgstr "de uma das palavras exibidas, então NOME é atribuído para esta"
#~ msgid "to that word. If the line is empty, WORDS and the prompt are"
-#~ msgstr ""
-#~ "PALAVRA. Se a linha estiver vazia, PALAVRAS e o prompt são exibidos"
+#~ msgstr "PALAVRA. Se a linha estiver vazia, PALAVRAS e o prompt são exibidos"
#~ msgid "redisplayed. If EOF is read, the command completes. Any other"
-#~ msgstr ""
-#~ "novamente. Se EOF for lido, o comando termina. Qualquer outro valor"
+#~ msgstr "novamente. Se EOF for lido, o comando termina. Qualquer outro valor"
#~ msgid "value read causes NAME to be set to null. The line read is saved"
#~ msgstr "lido faz com que NOME seja tornado nulo. A linha lida é salva"
@@ -8115,42 +7540,28 @@ msgstr ""
#~ msgstr "até que o comando `break' ou `return' seja executado."
#~ msgid "Selectively execute COMMANDS based upon WORD matching PATTERN. The"
-#~ msgstr ""
-#~ "Executar seletivamente COMANDOS tomando por base a correspondência entre"
+#~ msgstr "Executar seletivamente COMANDOS tomando por base a correspondência entre"
#~ msgid "`|' is used to separate multiple patterns."
-#~ msgstr ""
-#~ "PALAVRA e PADRÃO. O caracter `|' é usado para separar múltiplos padrões."
+#~ msgstr "PALAVRA e PADRÃO. O caracter `|' é usado para separar múltiplos padrões."
-#~ msgid ""
-#~ "The if COMMANDS are executed. If the exit status is zero, then the then"
-#~ msgstr ""
-#~ "Os COMANDOS `if' são executados. Se os status de saída for zero, então os"
+#~ msgid "The if COMMANDS are executed. If the exit status is zero, then the then"
+#~ msgstr "Os COMANDOS `if' são executados. Se os status de saída for zero, então os"
-#~ msgid ""
-#~ "COMMANDS are executed. Otherwise, each of the elif COMMANDS are executed"
-#~ msgstr ""
-#~ "COMANDOS `then' são executados, senão, os COMANDOS `elif' são executados "
-#~ "em"
+#~ msgid "COMMANDS are executed. Otherwise, each of the elif COMMANDS are executed"
+#~ msgstr "COMANDOS `then' são executados, senão, os COMANDOS `elif' são executados em"
-#~ msgid ""
-#~ "in turn, and if the exit status is zero, the corresponding then COMMANDS"
-#~ msgstr ""
-#~ "seqüência e, se o status de saída for zero, os COMANDOS `then' associados"
+#~ msgid "in turn, and if the exit status is zero, the corresponding then COMMANDS"
+#~ msgstr "seqüência e, se o status de saída for zero, os COMANDOS `then' associados"
-#~ msgid ""
-#~ "are executed and the if command completes. Otherwise, the else COMMANDS"
-#~ msgstr ""
-#~ "são executados e o `if' termina. Senão, os COMANDOS da cláusula `else'"
+#~ msgid "are executed and the if command completes. Otherwise, the else COMMANDS"
+#~ msgstr "são executados e o `if' termina. Senão, os COMANDOS da cláusula `else'"
-#~ msgid ""
-#~ "are executed, if present. The exit status is the exit status of the last"
-#~ msgstr ""
-#~ "são executados, se houver. O status de saída é o status de saída do"
+#~ msgid "are executed, if present. The exit status is the exit status of the last"
+#~ msgstr "são executados, se houver. O status de saída é o status de saída do"
#~ msgid "command executed, or zero if no condition tested true."
-#~ msgstr ""
-#~ "último comando executado, ou zero, se nenhuma condição for verdadeira."
+#~ msgstr "último comando executado, ou zero, se nenhuma condição for verdadeira."
#~ msgid "Expand and execute COMMANDS as long as the final command in the"
#~ msgstr "Expande e executa COMANDOS enquanto o comando final nos"
@@ -8177,22 +7588,16 @@ msgstr ""
#~ msgstr "redirecionar todo um conjunto de comandos."
#~ msgid "This is similar to the `fg' command. Resume a stopped or background"
-#~ msgstr ""
-#~ "Semelhante ao comando `fg'. Prossegue a execução de um trabalho parado ou"
+#~ msgstr "Semelhante ao comando `fg'. Prossegue a execução de um trabalho parado ou"
#~ msgid "job. If you specifiy DIGITS, then that job is used. If you specify"
-#~ msgstr ""
-#~ "em segundo plano. Se DÃGITOS for especificado, então este trabalho é "
-#~ "usado."
+#~ msgstr "em segundo plano. Se DÃGITOS for especificado, então este trabalho é usado."
-#~ msgid ""
-#~ "WORD, then the job whose name begins with WORD is used. Following the"
-#~ msgstr ""
-#~ "Se for especificado PALAVRA, o trabalho começado por PALAVRA é usado."
+#~ msgid "WORD, then the job whose name begins with WORD is used. Following the"
+#~ msgstr "Se for especificado PALAVRA, o trabalho começado por PALAVRA é usado."
#~ msgid "job specification with a `&' places the job in the background."
-#~ msgstr ""
-#~ "Seguindo-se a especificação por um `&' põe o trabalho em segundo plano."
+#~ msgstr "Seguindo-se a especificação por um `&' põe o trabalho em segundo plano."
#~ msgid "BASH_VERSION The version numbers of this Bash."
#~ msgstr "BASH_VERSION Os números da versão desta `bash'."
@@ -8206,15 +7611,11 @@ msgstr ""
#~ msgid "\t\tdirectory."
#~ msgstr "\t\tencontrado no diretório atual."
-#~ msgid ""
-#~ "HISTFILE The name of the file where your command history is stored."
-#~ msgstr ""
-#~ "HISTFILE O nome do arquivo onde o histórico de comandos é "
-#~ "armazenado."
+#~ msgid "HISTFILE The name of the file where your command history is stored."
+#~ msgstr "HISTFILE O nome do arquivo onde o histórico de comandos é armazenado."
#~ msgid "HISTFILESIZE The maximum number of lines this file can contain."
-#~ msgstr ""
-#~ "HISTFILESIZE O número máximo de linhas que este arquivo pode conter."
+#~ msgstr "HISTFILESIZE O número máximo de linhas que este arquivo pode conter."
#~ msgid "HISTSIZE The maximum number of history lines that a running"
#~ msgstr "HISTSIZE O número máximo de linhas do histórico que uma"
@@ -8223,16 +7624,12 @@ msgstr ""
#~ msgstr "\t\tshell em execução pode acessar."
#~ msgid "HOME The complete pathname to your login directory."
-#~ msgstr ""
-#~ "HOME O nome completo do caminho do seu diretório de login."
+#~ msgstr "HOME O nome completo do caminho do seu diretório de login."
-#~ msgid ""
-#~ "HOSTTYPE The type of CPU this version of Bash is running under."
-#~ msgstr ""
-#~ "HOSTTYPE O tipo de CPU sob a qual esta `bash' está executando."
+#~ msgid "HOSTTYPE The type of CPU this version of Bash is running under."
+#~ msgstr "HOSTTYPE O tipo de CPU sob a qual esta `bash' está executando."
-#~ msgid ""
-#~ "IGNOREEOF Controls the action of the shell on receipt of an EOF"
+#~ msgid "IGNOREEOF Controls the action of the shell on receipt of an EOF"
#~ msgstr "IGNOREEOF Controla a ação da shell ao receber um caracter"
#~ msgid "\t\tcharacter as the sole input. If set, then the value"
@@ -8245,16 +7642,13 @@ msgstr ""
#~ msgstr "\t\tde forma seguida em uma linha vazia, antes da shell terminar"
#~ msgid "\t\t(default 10). When unset, EOF signifies the end of input."
-#~ msgstr ""
-#~ "\t\t(padrão 10). Caso contrário, EOF significa o fim da entrada de dados."
+#~ msgstr "\t\t(padrão 10). Caso contrário, EOF significa o fim da entrada de dados."
#~ msgid "MAILCHECK\tHow often, in seconds, Bash checks for new mail."
-#~ msgstr ""
-#~ "MAILCHECK\tFreqüência, em segundos, para a `bash' verificar novo e-mail."
+#~ msgstr "MAILCHECK\tFreqüência, em segundos, para a `bash' verificar novo e-mail."
#~ msgid "MAILPATH\tA colon-separated list of filenames which Bash checks"
-#~ msgstr ""
-#~ "MAILPATH\tUma lista, separada por dois pontos, de nomes de arquivos,"
+#~ msgstr "MAILPATH\tUma lista, separada por dois pontos, de nomes de arquivos,"
#~ msgid "\t\tfor new mail."
#~ msgstr "\t\tnos quais a `bash' vai verificar se existe novo e-mail."
@@ -8263,8 +7657,7 @@ msgstr ""
#~ msgstr "OSTYPE\t\tA versão do Unix sob a qual a `bash' está executando."
#~ msgid "PATH A colon-separated list of directories to search when"
-#~ msgstr ""
-#~ "PATH Uma lista, separada por dois pontos, de diretórios a"
+#~ msgstr "PATH Uma lista, separada por dois pontos, de diretórios a"
#~ msgid "\t\tlooking for commands."
#~ msgstr "\t\tserem pesquisados quando os comandos forem procurados."
@@ -8285,20 +7678,16 @@ msgstr ""
#~ msgstr "TERM O nome do tipo de terminal em uso no momento."
#~ msgid "auto_resume Non-null means a command word appearing on a line by"
-#~ msgstr ""
-#~ "auto_resume Não nulo significa que um comando aparecendo sozinho em"
+#~ msgstr "auto_resume Não nulo significa que um comando aparecendo sozinho em"
#~ msgid "\t\titself is first looked for in the list of currently"
-#~ msgstr ""
-#~ "\t\tlinha deve ser procurado primeiro na lista de trabalhos parados."
+#~ msgstr "\t\tlinha deve ser procurado primeiro na lista de trabalhos parados."
#~ msgid "\t\tstopped jobs. If found there, that job is foregrounded."
-#~ msgstr ""
-#~ "\t\tSe for encontrado na lista, o trabalho vai para o primeiro plano."
+#~ msgstr "\t\tSe for encontrado na lista, o trabalho vai para o primeiro plano."
#~ msgid "\t\tA value of `exact' means that the command word must"
-#~ msgstr ""
-#~ "\t\tO valor `exact' significa que a palavra do comando deve corresponder"
+#~ msgstr "\t\tO valor `exact' significa que a palavra do comando deve corresponder"
#~ msgid "\t\texactly match a command in the list of stopped jobs. A"
#~ msgstr "\t\texatamente a um comando da lista de trabalhos parados."
@@ -8310,23 +7699,19 @@ msgstr ""
#~ msgstr "\t\tcorresponder a uma parte do trabalho. Qualquer outro valor"
#~ msgid "\t\tthe command must be a prefix of a stopped job."
-#~ msgstr ""
-#~ "\t\tsignifica que o comando deve ser um prefixo de um trabalho parado."
+#~ msgstr "\t\tsignifica que o comando deve ser um prefixo de um trabalho parado."
#~ msgid "command_oriented_history"
#~ msgstr "command_oriented_history"
-#~ msgid ""
-#~ " Non-null means to save multiple-line commands together on"
-#~ msgstr ""
-#~ " Se não for nulo significa salvar comandos com múltiplas"
+#~ msgid " Non-null means to save multiple-line commands together on"
+#~ msgstr " Se não for nulo significa salvar comandos com múltiplas"
#~ msgid " a single history line."
#~ msgstr " linhas, juntas em uma única linha do histórico."
#~ msgid "histchars Characters controlling history expansion and quick"
-#~ msgstr ""
-#~ "histchars Caracteres que controlam a expansão do histórico e a"
+#~ msgstr "histchars Caracteres que controlam a expansão do histórico e a"
#~ msgid "\t\tsubstitution. The first character is the history"
#~ msgstr "\t\tsubstituição rápida. O primeiro caracter é o de substituição"
@@ -8341,12 +7726,10 @@ msgstr ""
#~ msgstr "\t\té o de comentário do histórico, geralmente o `#'."
#~ msgid "HISTCONTROL\tSet to a value of `ignorespace', it means don't enter"
-#~ msgstr ""
-#~ "HISTCONTROL\tCom valor igual a `ignorespace', significa não introduzir"
+#~ msgstr "HISTCONTROL\tCom valor igual a `ignorespace', significa não introduzir"
#~ msgid "\t\tlines which begin with a space or tab on the history"
-#~ msgstr ""
-#~ "\t\tlinhas que iniciam por espaço ou tabulação na lista de histórico."
+#~ msgstr "\t\tlinhas que iniciam por espaço ou tabulação na lista de histórico."
#~ msgid "\t\tlist. Set to a value of `ignoredups', it means don't"
#~ msgstr "\t\tCom valor igual a `ignoredups', significa não introduzir linhas"
@@ -8358,8 +7741,7 @@ msgstr ""
#~ msgstr "\t\t`ignoreboth' significa combinar as duas opções. Remover,"
#~ msgid "\t\tor set to any other value than those above means to save"
-#~ msgstr ""
-#~ "\t\tou atribuir algum outro valor que não os acima, significa salvar"
+#~ msgstr "\t\tou atribuir algum outro valor que não os acima, significa salvar"
#~ msgid "\t\tall lines on the history list."
#~ msgstr "\t\ttodas as linhas na lista de histórico."
@@ -8368,22 +7750,19 @@ msgstr ""
#~ msgstr "Adiciona o diretório no topo da pilha de diretórios, ou rotaciona a"
#~ msgid "the stack, making the new top of the stack the current working"
-#~ msgstr ""
-#~ "pilha, fazendo o diretório atual de trabalho ficar no topo da pilha."
+#~ msgstr "pilha, fazendo o diretório atual de trabalho ficar no topo da pilha."
#~ msgid "directory. With no arguments, exchanges the top two directories."
#~ msgstr "Sem nenhum argumento, troca os dois diretórios do topo."
#~ msgid "+N\tRotates the stack so that the Nth directory (counting"
-#~ msgstr ""
-#~ "+N\tRotaciona a pilha de tal forma que o n-ésimo diretório (contado a"
+#~ msgstr "+N\tRotaciona a pilha de tal forma que o n-ésimo diretório (contado a"
#~ msgid "\tfrom the left of the list shown by `dirs') is at the top."
#~ msgstr "\tpartir da esquerda da lista exibida por `dirs') fique no topo."
#~ msgid "-N\tRotates the stack so that the Nth directory (counting"
-#~ msgstr ""
-#~ "-N\tRotaciona a pilha de tal forma que o n-ésimo diretório (contado a"
+#~ msgstr "-N\tRotaciona a pilha de tal forma que o n-ésimo diretório (contado a"
#~ msgid "\tfrom the right) is at the top."
#~ msgstr "\tpartir da direita) fique no topo."
@@ -8424,8 +7803,7 @@ msgstr ""
#~ msgid "\tremoves the last directory, `popd -1' the next to last."
#~ msgstr "\tremove o último diretório, `popd -1' o penúltimo."
-#~ msgid ""
-#~ "-n\tsuppress the normal change of directory when removing directories"
+#~ msgid "-n\tsuppress the normal change of directory when removing directories"
#~ msgstr "-n\tsuprime a troca normal de diretório ao remover-se diretórios"
#~ msgid "\tfrom the stack, so only the stack is manipulated."
@@ -8440,57 +7818,44 @@ msgstr ""
#~ msgid "back up through the list with the `popd' command."
#~ msgstr "removidos da lista através do comando `popd'."
-#~ msgid ""
-#~ "The -l flag specifies that `dirs' should not print shorthand versions"
+#~ msgid "The -l flag specifies that `dirs' should not print shorthand versions"
#~ msgstr "A opção -l especifica que `dirs' não deve exibir a versão resumida"
-#~ msgid ""
-#~ "of directories which are relative to your home directory. This means"
-#~ msgstr ""
-#~ "dos diretórios relativos ao seu diretório `home'. Isto significa que"
+#~ msgid "of directories which are relative to your home directory. This means"
+#~ msgstr "dos diretórios relativos ao seu diretório `home'. Isto significa que"
#~ msgid "that `~/bin' might be displayed as `/homes/bfox/bin'. The -v flag"
-#~ msgstr ""
-#~ "`~/bin' deve ser exibido como `/home/você/bin'. A opção -v faz com que"
+#~ msgstr "`~/bin' deve ser exibido como `/home/você/bin'. A opção -v faz com que"
#~ msgid "causes `dirs' to print the directory stack with one entry per line,"
#~ msgstr "`dirs' exiba a pilha de diretórios com uma entrada por linha,"
-#~ msgid ""
-#~ "prepending the directory name with its position in the stack. The -p"
+#~ msgid "prepending the directory name with its position in the stack. The -p"
#~ msgstr "antecedendo o nome do diretório com a sua posição na pilha. A opção"
#~ msgid "flag does the same thing, but the stack position is not prepended."
#~ msgstr "-p faz a mesma coisa, mas a posição na pilha não é exibida. A opção"
-#~ msgid ""
-#~ "The -c flag clears the directory stack by deleting all of the elements."
+#~ msgid "The -c flag clears the directory stack by deleting all of the elements."
#~ msgstr "-c limpa a pilha de diretórios apagando todos os seus elementos."
-#~ msgid ""
-#~ "+N\tdisplays the Nth entry counting from the left of the list shown by"
-#~ msgstr ""
-#~ "+N\texibe a n-ésima entrada contada a partir da esquerda da lista exibida"
+#~ msgid "+N\tdisplays the Nth entry counting from the left of the list shown by"
+#~ msgstr "+N\texibe a n-ésima entrada contada a partir da esquerda da lista exibida"
#~ msgid "\tdirs when invoked without options, starting with zero."
#~ msgstr "\tpor `dirs', quando este é chamado sem opções, começando por zero."
-#~ msgid ""
-#~ "-N\tdisplays the Nth entry counting from the right of the list shown by"
-#~ msgstr ""
-#~ "-N\texibe a n-ésima entrada contada a partir da direita da lista exibida"
+#~ msgid "-N\tdisplays the Nth entry counting from the right of the list shown by"
+#~ msgstr "-N\texibe a n-ésima entrada contada a partir da direita da lista exibida"
#~ msgid "Toggle the values of variables controlling optional behavior."
-#~ msgstr ""
-#~ "Alterna os valores das variáveis controladoras de comportamentos "
-#~ "opcionais."
+#~ msgstr "Alterna os valores das variáveis controladoras de comportamentos opcionais."
#~ msgid "The -s flag means to enable (set) each OPTNAME; the -u flag"
#~ msgstr "A opção -s ativa (set) cada NOME-OPÇÃO; a opção -u desativa cada"
#~ msgid "unsets each OPTNAME. The -q flag suppresses output; the exit"
-#~ msgstr ""
-#~ "NOME-OPÇÃO. A opção -q suprime a saída; o status de término indica se"
+#~ msgstr "NOME-OPÇÃO. A opção -q suprime a saída; o status de término indica se"
#~ msgid "status indicates whether each OPTNAME is set or unset. The -o"
#~ msgstr "cada NOME-OPÇÃO foi ativado ou desativado A opção -o restringe"
@@ -8502,8 +7867,7 @@ msgstr ""
#~ msgstr "Sem nenhuma opção, ou com a opção -p, uma lista com todas as"
#~ msgid "settable options is displayed, with an indication of whether or"
-#~ msgstr ""
-#~ "opções que podem ser ativadas é exibida, com indicação sobre se cada uma"
+#~ msgstr "opções que podem ser ativadas é exibida, com indicação sobre se cada uma"
#~ msgid "not each is set."
#~ msgstr "das opções está ativa ou não."
diff --git a/po/ru.po b/po/ru.po
index e07ed021..d8a68edb 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -8,133 +8,131 @@ msgid ""
msgstr ""
"Project-Id-Version: bash 4.4\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-04-27 14:15-0400\n"
+"POT-Creation-Date: 2016-09-10 12:42-0400\n"
"PO-Revision-Date: 2018-04-17 14:09+0300\n"
"Last-Translator: Pavel Maryanov <acid@jack.kiev.ua>\n"
"Language-Team: Russian <gnu@d07.ru>\n"
+"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: ru\n"
"X-Bugs: Report translation errors to the Language-Team address.\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"
+"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"
"X-Generator: Poedit 2.0.6\n"
-#: arrayfunc.c:58
+#: arrayfunc.c:54
msgid "bad array subscript"
msgstr "неправильный Ð¸Ð½Ð´ÐµÐºÑ Ð¼Ð°ÑÑива"
-#: arrayfunc.c:373 builtins/declare.def:618 variables.c:2188 variables.c:2214
-#: variables.c:2922
+#: arrayfunc.c:368 builtins/declare.def:574 variables.c:2092 variables.c:2118
+#: variables.c:2730
#, c-format
msgid "%s: removing nameref attribute"
msgstr "%s: удалÑетÑÑ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ nameref"
-#: arrayfunc.c:398 builtins/declare.def:831
+#: arrayfunc.c:393 builtins/declare.def:780
#, c-format
msgid "%s: cannot convert indexed to associative array"
msgstr "%s: не удаётÑÑ Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ñ‚ÑŒ Ð¸Ð½Ð´ÐµÐºÑ Ð² аÑÑоциативный маÑÑив"
-#: arrayfunc.c:582
+#: arrayfunc.c:578
#, c-format
msgid "%s: invalid associative array key"
msgstr "%s: недопуÑтимый ключ аÑÑоциативного маÑÑива"
-#: arrayfunc.c:584
+#: arrayfunc.c:580
#, c-format
msgid "%s: cannot assign to non-numeric index"
msgstr "%s: не удаётÑÑ Ð¿Ñ€Ð¸Ñвоить значение нечиÑловому индекÑу"
-#: arrayfunc.c:629
+#: arrayfunc.c:625
#, c-format
msgid "%s: %s: must use subscript when assigning associative array"
-msgstr ""
-"%s: %s: необходимо иÑпользовать Ð¸Ð½Ð´ÐµÐºÑ Ð¿Ñ€Ð¸ назначении аÑÑоциативному маÑÑиву"
+msgstr "%s: %s: необходимо иÑпользовать Ð¸Ð½Ð´ÐµÐºÑ Ð¿Ñ€Ð¸ назначении аÑÑоциативному маÑÑиву"
-#: bashhist.c:436
+#: bashhist.c:421
#, c-format
msgid "%s: cannot create: %s"
msgstr "%s: не удаётÑÑ Ñоздать файл: %s"
-#: bashline.c:4111
+#: bashline.c:4091
msgid "bash_execute_unix_command: cannot find keymap for command"
msgstr "bash_execute_unix_command: не удаётÑÑ Ð½Ð°Ð¹Ñ‚Ð¸ keymap Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹"
-#: bashline.c:4221
+#: bashline.c:4189
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
msgstr "%s: первый непробельный Ñимвол не ÑвлÑетÑÑ Â«\"»"
-#: bashline.c:4250
+#: bashline.c:4218
#, c-format
msgid "no closing `%c' in %s"
msgstr "нет закрывающего «%c» в %s"
-#: bashline.c:4284
+#: bashline.c:4252
#, c-format
msgid "%s: missing colon separator"
msgstr "%s: отÑутÑтвует разделитель-двоеточие"
-#: braces.c:331
+#: braces.c:329
#, c-format
msgid "brace expansion: cannot allocate memory for %s"
msgstr "раÑширение Ñкобки: не удаётÑÑ Ð²Ñ‹Ð´ÐµÐ»Ð¸Ñ‚ÑŒ памÑÑ‚ÑŒ Ð´Ð»Ñ %s"
-#: braces.c:429
-#, fuzzy, c-format
-msgid "brace expansion: failed to allocate memory for %u elements"
+#: braces.c:427
+#, c-format
+msgid "brace expansion: failed to allocate memory for %d elements"
msgstr "раÑширение Ñкобки: не удаётÑÑ Ð²Ñ‹Ð´ÐµÐ»Ð¸Ñ‚ÑŒ памÑÑ‚ÑŒ Ð´Ð»Ñ %d Ñлементов"
-#: braces.c:473
+#: braces.c:471
#, c-format
msgid "brace expansion: failed to allocate memory for `%s'"
msgstr "раÑширение Ñкобки: не удалоÑÑŒ выделить памÑÑ‚ÑŒ Ð´Ð»Ñ Â«%s»"
-#: builtins/alias.def:131
+#: builtins/alias.def:133
#, c-format
msgid "`%s': invalid alias name"
msgstr "«%s»: недопуÑтимый пÑевдоним"
-#: builtins/bind.def:122 builtins/bind.def:125
+#: builtins/bind.def:123 builtins/bind.def:126
msgid "line editing not enabled"
msgstr "редактирование Ñтроки не включено"
-#: builtins/bind.def:212
+#: builtins/bind.def:213
#, c-format
msgid "`%s': invalid keymap name"
msgstr "«%s»: недопуÑтимое название keymap"
-#: builtins/bind.def:252
+#: builtins/bind.def:253
#, c-format
msgid "%s: cannot read: %s"
msgstr "%s: не удаётÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ файл: %s"
-#: builtins/bind.def:304 builtins/bind.def:334
+#: builtins/bind.def:270
+#, c-format
+msgid "`%s': cannot unbind"
+msgstr "«%s»: не удаётÑÑ Ð¾Ñ‚Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ привÑзку"
+
+#: builtins/bind.def:308 builtins/bind.def:338
#, c-format
msgid "`%s': unknown function name"
msgstr "«%s»: неизвеÑтное название функции"
-#: builtins/bind.def:312
+#: builtins/bind.def:316
#, c-format
msgid "%s is not bound to any keys.\n"
msgstr "%s не привÑзан ни к какой клавише.\n"
-#: builtins/bind.def:316
+#: builtins/bind.def:320
#, c-format
msgid "%s can be invoked via "
msgstr "%s можно вызвать через "
-#: builtins/bind.def:353 builtins/bind.def:368
-#, c-format
-msgid "`%s': cannot unbind"
-msgstr "«%s»: не удаётÑÑ Ð¾Ñ‚Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ привÑзку"
-
-#: builtins/break.def:77 builtins/break.def:119
+#: builtins/break.def:79 builtins/break.def:121
msgid "loop count"
msgstr "Ñчётчик циклов"
-#: builtins/break.def:139
+#: builtins/break.def:141
msgid "only meaningful in a `for', `while', or `until' loop"
msgstr "имеет значение только Ð´Ð»Ñ Ñ†Ð¸ÐºÐ»Ð¾Ð² «for», «while» или «until»"
@@ -148,162 +146,162 @@ msgstr ""
" \n"
" Без EXPR выполнÑет возврат "
-#: builtins/cd.def:319
+#: builtins/cd.def:321
msgid "HOME not set"
msgstr "Ðе задана Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ HOME"
-#: builtins/cd.def:327 builtins/common.c:161 test.c:889
+#: builtins/cd.def:329 builtins/common.c:167 test.c:885
msgid "too many arguments"
msgstr "Ñлишком много аргументов"
-#: builtins/cd.def:334
+#: builtins/cd.def:336
msgid "null directory"
msgstr "нулевой каталог"
-#: builtins/cd.def:345
+#: builtins/cd.def:347
msgid "OLDPWD not set"
msgstr "Ðе задана Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ OLDPWD"
-#: builtins/common.c:96
+#: builtins/common.c:102
#, c-format
msgid "line %d: "
msgstr "Ñтрока %d: "
-#: builtins/common.c:134 error.c:264
+#: builtins/common.c:140 error.c:265
#, c-format
msgid "warning: "
msgstr "предупреждение: "
-#: builtins/common.c:148
+#: builtins/common.c:154
#, c-format
msgid "%s: usage: "
msgstr "%s: иÑпользование: "
-#: builtins/common.c:193 shell.c:510 shell.c:838
+#: builtins/common.c:199 shell.c:514 shell.c:825
#, c-format
msgid "%s: option requires an argument"
msgstr "%s: Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° требуетÑÑ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚"
-#: builtins/common.c:200
+#: builtins/common.c:206
#, c-format
msgid "%s: numeric argument required"
msgstr "%s: требуетÑÑ Ñ‡Ð¸Ñловой аргумент"
-#: builtins/common.c:207
+#: builtins/common.c:213
#, c-format
msgid "%s: not found"
msgstr "%s: не найден"
-#: builtins/common.c:216 shell.c:851
+#: builtins/common.c:222 shell.c:838
#, c-format
msgid "%s: invalid option"
msgstr "%s: недопуÑтимый параметр"
-#: builtins/common.c:223
+#: builtins/common.c:229
#, c-format
msgid "%s: invalid option name"
msgstr "%s: недопуÑтимое название параметра"
-#: builtins/common.c:230 execute_cmd.c:2342 general.c:294 general.c:299
+#: builtins/common.c:236 general.c:293 general.c:298
#, c-format
msgid "`%s': not a valid identifier"
msgstr "«%s»: Ñто недопуÑтимый идентификатор"
-#: builtins/common.c:240
+#: builtins/common.c:246
msgid "invalid octal number"
msgstr "недопуÑтимое воÑьмеричное чиÑло"
-#: builtins/common.c:242
+#: builtins/common.c:248
msgid "invalid hex number"
msgstr "недопуÑтимое шеÑтнадцатеричное чиÑло"
-#: builtins/common.c:244 expr.c:1538
+#: builtins/common.c:250 expr.c:1473
msgid "invalid number"
msgstr "недопуÑтимое чиÑло"
-#: builtins/common.c:252
+#: builtins/common.c:258
#, c-format
msgid "%s: invalid signal specification"
msgstr "%s: недопуÑтимое указание Ñигнала"
-#: builtins/common.c:259
+#: builtins/common.c:265
#, c-format
msgid "`%s': not a pid or valid job spec"
msgstr "«%s»: Ñто не идентификатор процеÑÑа и не допуÑтимый указатель заданиÑ"
-#: builtins/common.c:266 error.c:510
+#: builtins/common.c:272 error.c:511
#, c-format
msgid "%s: readonly variable"
msgstr "%s: Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ"
-#: builtins/common.c:274
+#: builtins/common.c:280
#, c-format
msgid "%s: %s out of range"
msgstr "%s: %s за пределами диапазона"
-#: builtins/common.c:274 builtins/common.c:276
+#: builtins/common.c:280 builtins/common.c:282
msgid "argument"
msgstr "аргумент"
-#: builtins/common.c:276
+#: builtins/common.c:282
#, c-format
msgid "%s out of range"
msgstr "%s за пределами диапазона"
-#: builtins/common.c:284
+#: builtins/common.c:290
#, c-format
msgid "%s: no such job"
msgstr "%s: нет такого заданиÑ"
-#: builtins/common.c:292
+#: builtins/common.c:298
#, c-format
msgid "%s: no job control"
msgstr "%s: нет ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð·Ð°Ð´Ð°Ð½Ð¸Ñми"
-#: builtins/common.c:294
+#: builtins/common.c:300
msgid "no job control"
msgstr "нет ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð·Ð°Ð´Ð°Ð½Ð¸Ñми"
-#: builtins/common.c:304
+#: builtins/common.c:310
#, c-format
msgid "%s: restricted"
msgstr "%s: ограниченный режим"
-#: builtins/common.c:306
+#: builtins/common.c:312
msgid "restricted"
msgstr "ограниченный режим"
-#: builtins/common.c:314
+#: builtins/common.c:320
#, c-format
msgid "%s: not a shell builtin"
msgstr "%s: Ñто не не вÑÑ‚Ñ€Ð¾ÐµÐ½Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° bash"
-#: builtins/common.c:323
+#: builtins/common.c:329
#, c-format
msgid "write error: %s"
msgstr "ошибка запиÑи: %s"
-#: builtins/common.c:331
+#: builtins/common.c:337
#, c-format
msgid "error setting terminal attributes: %s"
msgstr "ошибка Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð² терминала: %s"
-#: builtins/common.c:333
+#: builtins/common.c:339
#, c-format
msgid "error getting terminal attributes: %s"
msgstr "ошибка Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð² терминала: %s"
-#: builtins/common.c:579
+#: builtins/common.c:585
#, c-format
msgid "%s: error retrieving current directory: %s: %s\n"
msgstr "%s: ошибка Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ³Ð¾ каталога: %s: %s\n"
-#: builtins/common.c:645 builtins/common.c:647
+#: builtins/common.c:651 builtins/common.c:653
#, c-format
msgid "%s: ambiguous job spec"
msgstr "%s: неоднозначный указатель заданиÑ"
-#: builtins/common.c:908
+#: builtins/common.c:918
msgid "help not available in this version"
msgstr "Ñправка отÑутÑтвует в Ñтой верÑии"
@@ -312,69 +310,69 @@ msgstr "Ñправка отÑутÑтвует в Ñтой верÑии"
msgid "%s: invalid action name"
msgstr "%s: недопуÑтимое название дейÑтвиÑ"
-#: builtins/complete.def:452 builtins/complete.def:653
-#: builtins/complete.def:874
+#: builtins/complete.def:452 builtins/complete.def:647
+#: builtins/complete.def:858
#, c-format
msgid "%s: no completion specification"
msgstr "%s: нет Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ"
-#: builtins/complete.def:707
+#: builtins/complete.def:699
msgid "warning: -F option may not work as you expect"
msgstr "предупреждение: параметр -F может работать не так, как ожидаетÑÑ"
-#: builtins/complete.def:709
+#: builtins/complete.def:701
msgid "warning: -C option may not work as you expect"
msgstr "предупреждение: параметр -C может работать не так, как ожидаетÑÑ"
-#: builtins/complete.def:847
+#: builtins/complete.def:831
msgid "not currently executing completion function"
msgstr "ÑÐµÐ¹Ñ‡Ð°Ñ Ð½Ðµ выполнÑет функцию завершениÑ"
-#: builtins/declare.def:132
+#: builtins/declare.def:127
msgid "can only be used in a function"
msgstr "можно иÑпользовать только внутри функции"
-#: builtins/declare.def:369 builtins/declare.def:736
+#: builtins/declare.def:332 builtins/declare.def:685
#, c-format
msgid "%s: reference variable cannot be an array"
msgstr "%s: ÑÑÑ‹Ð»Ð¾Ñ‡Ð½Ð°Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð½Ðµ может быть маÑÑивом"
-#: builtins/declare.def:380 variables.c:3161
+#: builtins/declare.def:343 variables.c:2959
#, c-format
msgid "%s: nameref variable self references not allowed"
msgstr "%s: переменные nameref, ÑÑылающиеÑÑ Ñами на ÑебÑ, не допуÑкаютÑÑ"
-#: builtins/declare.def:385 variables.c:2018 variables.c:3083 variables.c:3095
-#: variables.c:3158
+#: builtins/declare.def:348 variables.c:1928 variables.c:2877 variables.c:2889
+#: variables.c:2956
#, c-format
msgid "%s: circular name reference"
msgstr "%s: ÐºÑ€ÑƒÐ³Ð¾Ð²Ð°Ñ ÑÑылка на имÑ"
-#: builtins/declare.def:390 builtins/declare.def:742 builtins/declare.def:753
+#: builtins/declare.def:353 builtins/declare.def:691 builtins/declare.def:702
#, c-format
msgid "`%s': invalid variable name for name reference"
msgstr "«%s»: недопуÑтимое название переменной Ð´Ð»Ñ ÑÑылки на имÑ"
-#: builtins/declare.def:500
+#: builtins/declare.def:463
msgid "cannot use `-f' to make functions"
msgstr "«-f» Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¹"
-#: builtins/declare.def:512 execute_cmd.c:5797
+#: builtins/declare.def:475 execute_cmd.c:5632
#, c-format
msgid "%s: readonly function"
msgstr "%s: значение функции можно только Ñчитать"
-#: builtins/declare.def:804
+#: builtins/declare.def:753
#, c-format
msgid "%s: quoted compound array assignment deprecated"
msgstr "%s: приÑвоение ÑоÑтавного маÑÑива в кавычках уÑтарело"
-#: builtins/declare.def:818
+#: builtins/declare.def:767
#, c-format
msgid "%s: cannot destroy array variables in this way"
msgstr "%s: переменные маÑÑива Ð½ÐµÐ»ÑŒÐ·Ñ ÑƒÐ½Ð¸Ñ‡Ñ‚Ð¾Ð¶Ð¸Ñ‚ÑŒ таким образом"
-#: builtins/declare.def:825 builtins/read.def:784
+#: builtins/declare.def:774 builtins/read.def:751
#, c-format
msgid "%s: cannot convert associative to indexed array"
msgstr "%s: не удаётÑÑ Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ñ‚ÑŒ аÑÑоциативный маÑÑив в индекÑированный"
@@ -408,68 +406,68 @@ msgstr "%s: не загружаетÑÑ Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑки"
msgid "%s: cannot delete: %s"
msgstr "%s: не удаётÑÑ ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ: %s"
-#: builtins/evalfile.c:138 builtins/hash.def:184 execute_cmd.c:5629
+#: builtins/evalfile.c:144 builtins/hash.def:172 execute_cmd.c:5472
#, c-format
msgid "%s: is a directory"
msgstr "%s: Ñто каталог"
-#: builtins/evalfile.c:144
+#: builtins/evalfile.c:150
#, c-format
msgid "%s: not a regular file"
msgstr "%s: Ñто не обычный файл"
-#: builtins/evalfile.c:153
+#: builtins/evalfile.c:159
#, c-format
msgid "%s: file is too large"
msgstr "%s: файл Ñлишком велик"
-#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1623
+#: builtins/evalfile.c:194 builtins/evalfile.c:212 shell.c:1578
#, c-format
msgid "%s: cannot execute binary file"
msgstr "%s: не удаётÑÑ Ð·Ð°Ð¿ÑƒÑтить бинарный файл"
-#: builtins/exec.def:155 builtins/exec.def:157 builtins/exec.def:237
+#: builtins/exec.def:156 builtins/exec.def:158 builtins/exec.def:235
#, c-format
msgid "%s: cannot execute: %s"
msgstr "%s: не удаётÑÑ Ð·Ð°Ð¿ÑƒÑтить: %s"
-#: builtins/exit.def:64
+#: builtins/exit.def:67
#, c-format
msgid "logout\n"
msgstr "выход\n"
-#: builtins/exit.def:89
+#: builtins/exit.def:92
msgid "not login shell: use `exit'"
msgstr "не командный процеÑÑор login: иÑпользуйте «exit»"
-#: builtins/exit.def:121
+#: builtins/exit.def:124
#, c-format
msgid "There are stopped jobs.\n"
msgstr "ЕÑÑ‚ÑŒ оÑтановленные заданиÑ.\n"
-#: builtins/exit.def:123
+#: builtins/exit.def:126
#, c-format
msgid "There are running jobs.\n"
msgstr "ЕÑÑ‚ÑŒ выполнÑемые заданиÑ.\n"
-#: builtins/fc.def:265
+#: builtins/fc.def:269
msgid "no command found"
msgstr "команда не найдена"
-#: builtins/fc.def:323 builtins/fc.def:372
+#: builtins/fc.def:327 builtins/fc.def:376
msgid "history specification"
msgstr "указание журнала команд"
-#: builtins/fc.def:393
+#: builtins/fc.def:397
#, c-format
msgid "%s: cannot open temp file: %s"
msgstr "%s: не удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ временный файл: %s"
-#: builtins/fg_bg.def:152 builtins/jobs.def:284
+#: builtins/fg_bg.def:153 builtins/jobs.def:284
msgid "current"
msgstr "текущий"
-#: builtins/fg_bg.def:161
+#: builtins/fg_bg.def:162
#, c-format
msgid "job %d started without job control"
msgstr "задание %d запущено без возможноÑти управлениÑ"
@@ -484,41 +482,39 @@ msgstr "%s: недопуÑтимый параметр — %c\n"
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° требуетÑÑ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Â â€” %c\n"
-#: builtins/hash.def:91
+#: builtins/hash.def:92
msgid "hashing disabled"
msgstr "Ñ…Ñширование отключено"
-#: builtins/hash.def:138
+#: builtins/hash.def:139
#, c-format
msgid "%s: hash table empty\n"
msgstr "%s: таблица Ñ…Ñшей пуÑтаÑ\n"
-#: builtins/hash.def:266
+#: builtins/hash.def:254
#, c-format
msgid "hits\tcommand\n"
msgstr "вызовы\tкоманда\n"
-#: builtins/help.def:133
+#: builtins/help.def:135
+#, c-format
msgid "Shell commands matching keyword `"
msgid_plural "Shell commands matching keywords `"
msgstr[0] "Команды, ÑоответÑтвующие ключевому Ñлову «"
msgstr[1] "Команды, ÑоответÑтвующие ключевым Ñловам «"
msgstr[2] "Команды, ÑоответÑтвующие ключевым Ñловам «"
-#: builtins/help.def:185
+#: builtins/help.def:187
#, 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»."
+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:224
+#: builtins/help.def:226
#, c-format
msgid "%s: cannot open: %s"
msgstr "%s: не удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ файл: %s"
-#: builtins/help.def:524
+#: builtins/help.def:526
#, c-format
msgid ""
"These shell commands are defined internally. Type `help' to see this list.\n"
@@ -529,32 +525,28 @@ msgid ""
"A star (*) next to a name means that the command is disabled.\n"
"\n"
msgstr ""
-"Показанные ниже команды определены внутри командного процеÑÑора. Чтобы "
-"вывеÑти полный ÑпиÑок, введите «help».\n"
+"Показанные ниже команды определены внутри командного процеÑÑора. Чтобы вывеÑти полный ÑпиÑок, введите «help».\n"
"Чтобы вывеÑти Ñправку по функции «name», введите «help name».\n"
"Чтобы вывеÑти Ñправку по командному процеÑÑору, введите «info bash».\n"
-"Чтобы вывеÑти Ñправку по командам, которые отÑутÑтвуют в Ñтом ÑпиÑке, "
-"введите «man -k» или «info».\n"
+"Чтобы вывеÑти Ñправку по командам, которые отÑутÑтвуют в Ñтом ÑпиÑке, введите «man -k» или «info».\n"
"\n"
-"Звёздочка (*) Ñ€Ñдом Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸ÐµÐ¼ команды означает, что Ñта команда "
-"отключена.\n"
+"Звёздочка (*) Ñ€Ñдом Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸ÐµÐ¼ команды означает, что Ñта команда отключена.\n"
"\n"
-#: builtins/history.def:154
+#: builtins/history.def:155
msgid "cannot use more than one of -anrw"
msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать больше одного параметра -anrw"
-#: builtins/history.def:187 builtins/history.def:197 builtins/history.def:212
-#: builtins/history.def:229 builtins/history.def:241 builtins/history.def:248
+#: builtins/history.def:187
msgid "history position"
msgstr "положение журнала команд"
-#: builtins/history.def:331
+#: builtins/history.def:264
#, c-format
msgid "%s: invalid timestamp"
msgstr "%s: недопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð¼ÐµÑ‚ÐºÐ° времени"
-#: builtins/history.def:442
+#: builtins/history.def:375
#, c-format
msgid "%s: history expansion failed"
msgstr "%s: не удалоÑÑŒ раÑширить журнал команд"
@@ -568,16 +560,16 @@ msgstr "%s: ошибка inlib"
msgid "no other options allowed with `-x'"
msgstr "Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ «-x» Ð½ÐµÐ»ÑŒÐ·Ñ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°Ñ‚ÑŒ другие параметры"
-#: builtins/kill.def:200
+#: builtins/kill.def:202
#, c-format
msgid "%s: arguments must be process or job IDs"
msgstr "%s: аргументами должны быть идентификаторы процеÑÑов или заданий"
-#: builtins/kill.def:263
+#: builtins/kill.def:265
msgid "Unknown error"
msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°"
-#: builtins/let.def:97 builtins/let.def:122 expr.c:614 expr.c:632
+#: builtins/let.def:97 builtins/let.def:122 expr.c:583 expr.c:598
msgid "expression expected"
msgstr "ожидаетÑÑ Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ðµ"
@@ -586,69 +578,69 @@ msgstr "ожидаетÑÑ Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ðµ"
msgid "%s: not an indexed array"
msgstr "%s: Ñто не индекÑированный маÑÑив"
-#: builtins/mapfile.def:271 builtins/read.def:305
+#: builtins/mapfile.def:272 builtins/read.def:306
#, c-format
msgid "%s: invalid file descriptor specification"
msgstr "%s: недопуÑтимое указание деÑкриптора файла"
-#: builtins/mapfile.def:279 builtins/read.def:312
+#: builtins/mapfile.def:280 builtins/read.def:313
#, c-format
msgid "%d: invalid file descriptor: %s"
msgstr "%d: invalid недопуÑтимый деÑкриптор файла: %s"
-#: builtins/mapfile.def:288 builtins/mapfile.def:326
+#: builtins/mapfile.def:289 builtins/mapfile.def:327
#, c-format
msgid "%s: invalid line count"
msgstr "%s: недопуÑтимое чиÑло Ñтрок"
-#: builtins/mapfile.def:299
+#: builtins/mapfile.def:300
#, c-format
msgid "%s: invalid array origin"
msgstr "%s: недопуÑтимое начало маÑÑива"
-#: builtins/mapfile.def:316
+#: builtins/mapfile.def:317
#, c-format
msgid "%s: invalid callback quantum"
msgstr "%s: недопуÑтимый квант обратного вызова"
-#: builtins/mapfile.def:349
+#: builtins/mapfile.def:350
msgid "empty array variable name"
msgstr "пуÑтое Ð¸Ð¼Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ маÑÑива"
-#: builtins/mapfile.def:370
+#: builtins/mapfile.def:371
msgid "array variable support required"
msgstr "требуетÑÑ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ° переменных маÑÑива"
-#: builtins/printf.def:416
+#: builtins/printf.def:412
#, c-format
msgid "`%s': missing format character"
msgstr "«%s»: отÑутÑтвует Ñимвол форматированиÑ"
-#: builtins/printf.def:471
+#: builtins/printf.def:467
#, c-format
msgid "`%c': invalid time format specification"
msgstr "«%c»: недопуÑтимое указание формата времени"
-#: builtins/printf.def:673
+#: builtins/printf.def:669
#, c-format
msgid "`%c': invalid format character"
msgstr "«%c»: недопуÑтимый Ñимвол форматированиÑ"
-#: builtins/printf.def:699
+#: builtins/printf.def:695
#, c-format
msgid "warning: %s: %s"
msgstr "предупреждение: %s: %s"
-#: builtins/printf.def:785
+#: builtins/printf.def:781
#, c-format
msgid "format parsing problem: %s"
msgstr "ошибка анализа формата: %s"
-#: builtins/printf.def:882
+#: builtins/printf.def:878
msgid "missing hex digit for \\x"
msgstr "отÑутÑтвует шеÑÑ‚Ð½Ð°Ð´Ñ†Ð°Ñ‚ÐµÑ€Ð¸Ñ‡Ð½Ð°Ñ Ñ†Ð¸Ñ„Ñ€Ð° Ð´Ð»Ñ \\x"
-#: builtins/printf.def:897
+#: builtins/printf.def:893
#, c-format
msgid "missing unicode digit for \\%c"
msgstr "отÑутÑтвует цифра Юникода Ð´Ð»Ñ \\%c"
@@ -662,19 +654,19 @@ msgstr "отÑутÑтвует другой каталог"
msgid "%s: invalid argument"
msgstr "%s: недопуÑтимый аргумент"
-#: builtins/pushd.def:480
+#: builtins/pushd.def:475
msgid "<no current directory>"
msgstr "<отÑутÑтвует текущий каталог>"
-#: builtins/pushd.def:524
+#: builtins/pushd.def:519
msgid "directory stack empty"
msgstr "Ñтек каталогов пуÑÑ‚"
-#: builtins/pushd.def:526
+#: builtins/pushd.def:521
msgid "directory stack index"
msgstr "Ð¸Ð½Ð´ÐµÐºÑ Ñтека каталогов"
-#: builtins/pushd.def:701
+#: builtins/pushd.def:696
msgid ""
"Display the list of currently remembered directories. Directories\n"
" find their way onto the list with the `pushd' command; you can get\n"
@@ -689,12 +681,10 @@ msgid ""
" \twith its position in the stack\n"
" \n"
" Arguments:\n"
-" +N\tDisplays the Nth entry counting from the left of the list shown "
-"by\n"
+" +N\tDisplays the Nth entry counting from the left of the list shown by\n"
" \tdirs when invoked without options, starting with zero.\n"
" \n"
-" -N\tDisplays the Nth entry counting from the right of the list shown "
-"by\n"
+" -N\tDisplays the Nth entry counting from the right of the list shown by\n"
"\tdirs when invoked without options, starting with zero."
msgstr ""
"Выводит ÑпиÑок запомненных на данный момент каталогов. Каталоги\n"
@@ -716,7 +706,7 @@ msgstr ""
" -N\tпоказать N-ÑŽ запиÑÑŒ Ñправа в ÑпиÑке каталогов,\n"
"\tпоказанного при вызове без параметров, Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ Ð½ÑƒÐ»Ñ."
-#: builtins/pushd.def:723
+#: builtins/pushd.def:718
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"
@@ -742,8 +732,7 @@ msgid ""
msgstr ""
"ДобавлÑет каталог в начало Ñтека каталогов или выполнÑет\n"
" ротацию Ñтека, Ð¿Ð¾Ð¼ÐµÑ‰Ð°Ñ Ð² начало Ñтека текущий рабочий\n"
-" каталог. ЕÑли аргументы не указаны, менÑет меÑтами два первых "
-"каталога.\n"
+" каталог. ЕÑли аргументы не указаны, менÑет меÑтами два первых каталога.\n"
" \n"
" Параметры:\n"
" -n\tпредотвращает обычное изменение каталога при добавлении\n"
@@ -763,7 +752,7 @@ msgstr ""
" \n"
" Ð’ÑÑ‚Ñ€Ð¾ÐµÐ½Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° dirs показывает Ñтек каталогов."
-#: builtins/pushd.def:748
+#: builtins/pushd.def:743
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"
@@ -801,45 +790,45 @@ msgstr ""
" \n"
" Ð’ÑÑ‚Ñ€Ð¾ÐµÐ½Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° dirs показывает Ñтек каталогов."
-#: builtins/read.def:277
+#: builtins/read.def:279
#, c-format
msgid "%s: invalid timeout specification"
msgstr "%s: недопуÑтимое указание тайм-аута"
-#: builtins/read.def:729
+#: builtins/read.def:696
#, c-format
msgid "read error: %d: %s"
msgstr "ошибка чтениÑ: %d: %s"
-#: builtins/return.def:68
+#: builtins/return.def:71
msgid "can only `return' from a function or sourced script"
msgstr "возврат можно выполнить только из функции или иÑходного Ñкрипта"
-#: builtins/set.def:834
+#: builtins/set.def:841
msgid "cannot simultaneously unset a function and a variable"
msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¾Ð´Ð½Ð¾Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾ ÑброÑить функцию и переменную"
-#: builtins/set.def:881
+#: builtins/set.def:888
#, c-format
msgid "%s: cannot unset"
msgstr "%s: не удаётÑÑ Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ ÑброÑ"
-#: builtins/set.def:902 variables.c:3597
+#: builtins/set.def:909 variables.c:3389
#, c-format
msgid "%s: cannot unset: readonly %s"
msgstr "%s: не удаётÑÑ Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ ÑброÑ: %s доÑтупен только Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ"
-#: builtins/set.def:915
+#: builtins/set.def:922
#, c-format
msgid "%s: not an array variable"
msgstr "%s: Ñто не Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¼Ð°ÑÑива"
-#: builtins/setattr.def:189
+#: builtins/setattr.def:191
#, c-format
msgid "%s: not a function"
msgstr "%s: Ñто не функциÑ"
-#: builtins/setattr.def:194
+#: builtins/setattr.def:196
#, c-format
msgid "%s: cannot export"
msgstr "%s: не удаётÑÑ ÑкÑпортировать"
@@ -848,20 +837,20 @@ msgstr "%s: не удаётÑÑ ÑкÑпортировать"
msgid "shift count"
msgstr "Ñчётчик Ñмещений"
-#: builtins/shopt.def:301
+#: builtins/shopt.def:289
msgid "cannot set and unset shell options simultaneously"
msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¾Ð´Ð½Ð¾Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾ задать и ÑброÑить параметры командного процеÑÑора"
-#: builtins/shopt.def:403
+#: builtins/shopt.def:391
#, c-format
msgid "%s: invalid shell option name"
msgstr "%s: недопуÑтимое название параметра командного процеÑÑора"
-#: builtins/source.def:128
+#: builtins/source.def:131
msgid "filename argument required"
msgstr "требуетÑÑ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚ Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ файла"
-#: builtins/source.def:154
+#: builtins/source.def:157
#, c-format
msgid "%s: file not found"
msgstr "%s: файл не найден"
@@ -874,61 +863,61 @@ msgstr "не удаётÑÑ Ð¿Ñ€Ð¸Ð¾Ñтановить"
msgid "cannot suspend a login shell"
msgstr "не удаётÑÑ Ð¿Ñ€Ð¸Ð¾Ñтановить командный процеÑÑор login"
-#: builtins/type.def:235
+#: builtins/type.def:236
#, c-format
msgid "%s is aliased to `%s'\n"
msgstr "%s — Ñто пÑевдонимом Ð´Ð»Ñ Â«%s»\n"
-#: builtins/type.def:256
+#: builtins/type.def:257
#, c-format
msgid "%s is a shell keyword\n"
msgstr "%s — Ñто ключевое Ñлово командного процеÑÑора\n"
-#: builtins/type.def:275
+#: builtins/type.def:276
#, c-format
msgid "%s is a function\n"
msgstr "%s — Ñто функциÑ\n"
-#: builtins/type.def:299
+#: builtins/type.def:300
#, c-format
msgid "%s is a special shell builtin\n"
msgstr "%s — Ñто ÑÐ¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ð°Ñ Ð²ÑÑ‚Ñ€Ð¾ÐµÐ½Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° bash\n"
-#: builtins/type.def:301
+#: builtins/type.def:302
#, c-format
msgid "%s is a shell builtin\n"
msgstr "%s — Ñто вÑÑ‚Ñ€Ð¾ÐµÐ½Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° bash\n"
-#: builtins/type.def:323 builtins/type.def:408
+#: builtins/type.def:324 builtins/type.def:409
#, c-format
msgid "%s is %s\n"
msgstr "%s ÑвлÑетÑÑ %s\n"
-#: builtins/type.def:343
+#: builtins/type.def:344
#, c-format
msgid "%s is hashed (%s)\n"
msgstr "Ð´Ð»Ñ %s вычиÑлен Ñ…Ñш (%s)\n"
-#: builtins/ulimit.def:396
+#: builtins/ulimit.def:398
#, c-format
msgid "%s: invalid limit argument"
msgstr "%s: недопуÑтимый аргумент ограничениÑ"
-#: builtins/ulimit.def:422
+#: builtins/ulimit.def:424
#, c-format
msgid "`%c': bad command"
msgstr "«%c»: недопуÑÑ‚Ð¸Ð¼Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°"
-#: builtins/ulimit.def:451
+#: builtins/ulimit.def:453
#, c-format
msgid "%s: cannot get limit: %s"
msgstr "%s: не удаётÑÑ Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒ ограничение: %s"
-#: builtins/ulimit.def:477
+#: builtins/ulimit.def:479
msgid "limit"
msgstr "ограничение"
-#: builtins/ulimit.def:489 builtins/ulimit.def:789
+#: builtins/ulimit.def:491 builtins/ulimit.def:791
#, c-format
msgid "%s: cannot modify limit: %s"
msgstr "%s: не удаётÑÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ ограничение: %s"
@@ -947,211 +936,202 @@ msgstr "«%c»: недопуÑтимый оператор Ñимвольного
msgid "`%c': invalid symbolic mode character"
msgstr "«%c»: недопуÑтимый знак Ñимвольного режима"
-#: error.c:89 error.c:347 error.c:349 error.c:351
+#: error.c:90 error.c:348 error.c:350 error.c:352
msgid " line "
msgstr " Ñтрока "
-#: error.c:164
+#: error.c:165
#, c-format
msgid "last command: %s\n"
msgstr "поÑледнÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°: %s\n"
-#: error.c:172
+#: error.c:173
#, c-format
msgid "Aborting..."
msgstr "Прерывание..."
#. TRANSLATORS: this is a prefix for informational messages.
-#: error.c:287
+#: error.c:288
#, c-format
msgid "INFORM: "
msgstr "ИÐФО: "
-#: error.c:462
+#: error.c:463
msgid "unknown command error"
msgstr "неизвеÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° команды"
-#: error.c:463
+#: error.c:464
msgid "bad command type"
msgstr "неверный тип команды"
-#: error.c:464
+#: error.c:465
msgid "bad connector"
msgstr "неверный Ñоединитель"
-#: error.c:465
+#: error.c:466
msgid "bad jump"
msgstr "ошибка перехода"
-#: error.c:503
+#: error.c:504
#, c-format
msgid "%s: unbound variable"
msgstr "%s: не заданы границы переменной"
-#: eval.c:242
+#: eval.c:209
#, c-format
msgid "\atimed out waiting for input: auto-logout\n"
msgstr "\aпревышено Ð²Ñ€ÐµÐ¼Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð²Ð²Ð¾Ð´Ð°: auto-logout\n"
-#: execute_cmd.c:536
+#: execute_cmd.c:527
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
msgstr "не удаётÑÑ Ð¿ÐµÑ€ÐµÐ½Ð°Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ Ñтандартный ввод из /dev/null: %s"
-#: execute_cmd.c:1294
+#: execute_cmd.c:1275
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr "TIMEFORMAT: «%c»: недопуÑтимый Ñимвол форматированиÑ"
-#: execute_cmd.c:2330
+#: execute_cmd.c:2273
#, c-format
msgid "execute_coproc: coproc [%d:%s] still exists"
msgstr "execute_coproc: coproc [%d:%s] вÑÑ‘ ещё ÑущеÑтвует"
-#: execute_cmd.c:2456
+#: execute_cmd.c:2377
msgid "pipe error"
msgstr "ошибка конвейера"
-#: execute_cmd.c:4624
+#: execute_cmd.c:4496
#, c-format
msgid "eval: maximum eval nesting level exceeded (%d)"
msgstr "eval: доÑтигнут макÑимальный уровень вложенноÑти eval (%d)"
-#: execute_cmd.c:4636
+#: execute_cmd.c:4508
#, c-format
msgid "%s: maximum source nesting level exceeded (%d)"
msgstr "%s: доÑтигнут макÑимальный уровень вложенноÑти source (%d)"
-#: execute_cmd.c:4742
+#: execute_cmd.c:4616
#, c-format
msgid "%s: maximum function nesting level exceeded (%d)"
msgstr "%s: доÑтигнут макÑимальный уровень вложенноÑти функций (%d)"
-#: execute_cmd.c:5285
+#: execute_cmd.c:5144
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
-msgstr ""
-"%s: ограниченный режим: в названиÑÑ… команд Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать коÑую черту «/»"
+msgstr "%s: ограниченный режим: в названиÑÑ… команд Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать коÑую черту «/»"
-#: execute_cmd.c:5383
+#: execute_cmd.c:5232
#, c-format
msgid "%s: command not found"
msgstr "%s: команда не найдена"
-#: execute_cmd.c:5627
+#: execute_cmd.c:5470
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: execute_cmd.c:5665
+#: execute_cmd.c:5508
#, c-format
msgid "%s: %s: bad interpreter"
msgstr "%s: %s: неверный интерпретатор"
-#: execute_cmd.c:5702
+#: execute_cmd.c:5545
#, c-format
msgid "%s: cannot execute binary file: %s"
msgstr "%s: не удаётÑÑ Ð·Ð°Ð¿ÑƒÑтить бинарный файл: %s"
-#: execute_cmd.c:5788
+#: execute_cmd.c:5623
#, c-format
msgid "`%s': is a special builtin"
msgstr "«%s»: Ñто ÑÐ¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ð°Ñ Ð²ÑÑ‚Ñ€Ð¾ÐµÐ½Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°"
-#: execute_cmd.c:5840
+#: execute_cmd.c:5675
#, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr "не удаётÑÑ Ñкопировать файловый деÑкриптор %d в %d"
-#: expr.c:263
+#: expr.c:259
msgid "expression recursion level exceeded"
msgstr "Ñлишком много вложенных выражений"
-#: expr.c:291
+#: expr.c:283
msgid "recursion stack underflow"
msgstr "отрицательное переполнение Ñтека вложенных выражений"
-#: expr.c:453
+#: expr.c:431
msgid "syntax error in expression"
msgstr "ÑинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° в выражении"
-#: expr.c:497
+#: expr.c:475
msgid "attempted assignment to non-variable"
msgstr "значение можно приÑвоить только переменной"
-#: expr.c:506
-#, fuzzy
-msgid "syntax error in variable assignment"
-msgstr "ÑинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° в выражении"
-
-#: expr.c:520 expr.c:886
+#: expr.c:495 expr.c:858
msgid "division by 0"
msgstr "деление на 0"
-#: expr.c:567
+#: expr.c:542
msgid "bug: bad expassign token"
msgstr "ошибка: недопуÑтимый маркер приÑÐ²Ð¾ÐµÐ½Ð¸Ñ Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ"
-#: expr.c:621
+#: expr.c:595
msgid "`:' expected for conditional expression"
msgstr "в уÑловном выражении должен быть Ñимвол «:»"
-#: expr.c:947
+#: expr.c:919
msgid "exponent less than 0"
msgstr "ÑкÑпонента меньше нулÑ"
-#: expr.c:1004
+#: expr.c:976
msgid "identifier expected after pre-increment or pre-decrement"
-msgstr ""
-"поÑле предварительного инкремента или декремента ожидаетÑÑ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€ "
+msgstr "поÑле предварительного инкремента или декремента ожидаетÑÑ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€ "
-#: expr.c:1030
+#: expr.c:1002
msgid "missing `)'"
msgstr "отÑутÑтвует Ñимвол «)»"
-#: expr.c:1081 expr.c:1458
+#: expr.c:1053 expr.c:1393
msgid "syntax error: operand expected"
msgstr "ÑинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°: ожидаетÑÑ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´"
-#: expr.c:1460
+#: expr.c:1395
msgid "syntax error: invalid arithmetic operator"
msgstr "ошибка ÑинтакÑиÑа: недопуÑтимый математичеÑкий оператор"
-#: expr.c:1484
+#: expr.c:1419
#, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
msgstr "%s%s%s: %s (неверный маркер «%s»)"
-#: expr.c:1542
+#: expr.c:1477
msgid "invalid arithmetic base"
msgstr "недопуÑтимое математичеÑкое оÑнование"
-#: expr.c:1562
+#: expr.c:1497
msgid "value too great for base"
msgstr "Ñлишком большое значение Ð´Ð»Ñ Ð¾ÑнованиÑ"
-#: expr.c:1611
+#: expr.c:1546
#, c-format
msgid "%s: expression error\n"
msgstr "%s: ошибка выражениÑ\n"
-#: general.c:69
+#: general.c:68
msgid "getcwd: cannot access parent directories"
msgstr "getcwd: нет доÑтупа к родительÑким каталогам"
-#: input.c:99 subst.c:5858
+#: input.c:102 subst.c:5858
#, c-format
msgid "cannot reset nodelay mode for fd %d"
msgstr "не удаётÑÑ ÑброÑить режим nodelay Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ð³Ð¾ деÑкриптора %d"
-#: input.c:266
+#: input.c:271
#, c-format
msgid "cannot allocate new file descriptor for bash input from fd %d"
-msgstr ""
-"не удаётÑÑ Ð²Ñ‹Ð´ÐµÐ»Ð¸Ñ‚ÑŒ новый деÑкриптор Ð´Ð»Ñ Ð²Ñ…Ð¾Ð´Ð½Ñ‹Ñ… данных bash из файлового "
-"деÑкриптора %d"
+msgstr "не удаётÑÑ Ð²Ñ‹Ð´ÐµÐ»Ð¸Ñ‚ÑŒ новый деÑкриптор Ð´Ð»Ñ Ð²Ñ…Ð¾Ð´Ð½Ñ‹Ñ… данных bash из файлового деÑкриптора %d"
-#: input.c:274
+#: input.c:279
#, c-format
msgid "save_bash_input: buffer already exists for new fd %d"
msgstr "save_bash_input: у нового файлового деÑкриптора %d уже еÑÑ‚ÑŒ буфер"
@@ -1160,162 +1140,153 @@ msgstr "save_bash_input: у нового файлового деÑкриптор
msgid "start_pipeline: pgrp pipe"
msgstr "start_pipeline: pgrp pipe"
-#: jobs.c:1080
+#: jobs.c:1035
#, c-format
msgid "forked pid %d appears in running job %d"
msgstr "идентификатор дочернего процеÑÑа %d принадлежит запущенному заданию %d"
-#: jobs.c:1199
+#: jobs.c:1154
#, c-format
msgid "deleting stopped job %d with process group %ld"
msgstr "удаление оÑтановленного Ð·Ð°Ð´Ð°Ð½Ð¸Ñ %d Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð¾Ð¹ процеÑÑа %ld"
-#: jobs.c:1303
+#: jobs.c:1258
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
msgstr "add_process: процеÑÑ %5ld (%s) в the_pipeline"
-#: jobs.c:1306
+#: jobs.c:1261
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
-msgstr ""
-"add_process: процеÑÑ Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ %5ld (%s) помечен как вÑÑ‘ ещё активный"
+msgstr "add_process: процеÑÑ Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ %5ld (%s) помечен как вÑÑ‘ ещё активный"
-#: jobs.c:1635
+#: jobs.c:1590
#, c-format
msgid "describe_pid: %ld: no such pid"
msgstr "describe_pid: %ld: нет процеÑÑа Ñ Ñ‚Ð°ÐºÐ¸Ð¼ идентификатором"
-#: jobs.c:1650
+#: jobs.c:1605
#, c-format
msgid "Signal %d"
msgstr "Сигнал %d"
-#: jobs.c:1664 jobs.c:1690
+#: jobs.c:1619 jobs.c:1645
msgid "Done"
msgstr "Завершён"
-#: jobs.c:1669 siglist.c:123
+#: jobs.c:1624 siglist.c:123
msgid "Stopped"
msgstr "ОÑтановлен"
-#: jobs.c:1673
+#: jobs.c:1628
#, c-format
msgid "Stopped(%s)"
msgstr "ОÑтановлен (%s)"
-#: jobs.c:1677
+#: jobs.c:1632
msgid "Running"
msgstr "Запущен"
-#: jobs.c:1694
+#: jobs.c:1649
#, c-format
msgid "Done(%d)"
msgstr "Завершён (%d)"
-#: jobs.c:1696
+#: jobs.c:1651
#, c-format
msgid "Exit %d"
msgstr "Выход %d"
-#: jobs.c:1699
+#: jobs.c:1654
msgid "Unknown status"
msgstr "СоÑтоÑние неизвеÑтно"
-#: jobs.c:1786
+#: jobs.c:1741
#, c-format
msgid "(core dumped) "
msgstr "(Ñтек памÑти Ñброшен на диÑк) "
-#: jobs.c:1805
+#: jobs.c:1760
#, c-format
msgid " (wd: %s)"
msgstr " (рабочий каталог: %s)"
-#: jobs.c:2033
+#: jobs.c:1985
#, c-format
msgid "child setpgid (%ld to %ld)"
msgstr "дочерний setpgid (%ld к %ld)"
-#: jobs.c:2395 nojobs.c:657
+#: jobs.c:2347 nojobs.c:654
#, c-format
msgid "wait: pid %ld is not a child of this shell"
-msgstr ""
-"wait: процеÑÑ %ld не ÑвлÑетÑÑ Ð´Ð¾Ñ‡ÐµÑ€Ð½Ð¸Ð¼ процеÑÑом Ñтого командного процеÑÑора"
+msgstr "wait: процеÑÑ %ld не ÑвлÑетÑÑ Ð´Ð¾Ñ‡ÐµÑ€Ð½Ð¸Ð¼ процеÑÑом Ñтого командного процеÑÑора"
-#: jobs.c:2687
+#: jobs.c:2602
#, c-format
msgid "wait_for: No record of process %ld"
msgstr "wait_for: нет запиÑей процеÑÑа %ld"
-#: jobs.c:3048
+#: jobs.c:2929
#, c-format
msgid "wait_for_job: job %d is stopped"
msgstr "wait_for_job: задание %d оÑтановлено"
-#: jobs.c:3355
+#: jobs.c:3221
#, c-format
msgid "%s: job has terminated"
msgstr "%s: выполнение Ð·Ð°Ð´Ð°Ð½Ð¸Ñ Ð¿Ñ€ÐµÑ€Ð²Ð°Ð½Ð¾"
-#: jobs.c:3364
+#: jobs.c:3230
#, c-format
msgid "%s: job %d already in background"
msgstr "%s: задание %d уже выполнÑетÑÑ Ð² фоновом режиме"
-#: jobs.c:3590
+#: jobs.c:3455
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
-msgstr ""
-"waitchld: включаетÑÑ WNOHANG, чтобы предотвратить поÑвление неопределённого "
-"блока"
+msgstr "waitchld: включаетÑÑ WNOHANG, чтобы предотвратить поÑвление неопределённого блока"
-#: jobs.c:4114
+#: jobs.c:3970
#, c-format
msgid "%s: line %d: "
msgstr "%s: Ñтрока %d: "
-#: jobs.c:4128 nojobs.c:900
+#: jobs.c:3984 nojobs.c:897
#, c-format
msgid " (core dumped)"
msgstr " (Ñтек памÑти Ñброшен на диÑк)"
-#: jobs.c:4140 jobs.c:4153
+#: jobs.c:3996 jobs.c:4009
#, c-format
msgid "(wd now: %s)\n"
msgstr "(рабочий каталог: %s)\n"
-#: jobs.c:4185
+#: jobs.c:4041
msgid "initialize_job_control: getpgrp failed"
msgstr "initialize_job_control: ошибка вызова getpgrp "
-#: jobs.c:4241
-#, fuzzy
-msgid "initialize_job_control: no job control in background"
-msgstr "initialize_job_control: диÑциплина Ñтроки"
-
-#: jobs.c:4257
+#: jobs.c:4104
msgid "initialize_job_control: line discipline"
msgstr "initialize_job_control: диÑциплина Ñтроки"
-#: jobs.c:4267
+#: jobs.c:4114
msgid "initialize_job_control: setpgid"
msgstr "initialize_job_control: setpgid"
-#: jobs.c:4288 jobs.c:4297
+#: jobs.c:4135 jobs.c:4144
#, c-format
msgid "cannot set terminal process group (%d)"
msgstr "не удаётÑÑ Ð·Ð°Ð´Ð°Ñ‚ÑŒ группу процеÑÑа терминала (%d)"
-#: jobs.c:4302
+#: jobs.c:4149
msgid "no job control in this shell"
msgstr "Ñтот командный процеÑÑор не может управлÑÑ‚ÑŒ заданиÑми"
-#: lib/malloc/malloc.c:306
+#: lib/malloc/malloc.c:296
#, c-format
msgid "malloc: failed assertion: %s\n"
msgstr "malloc: ошибка утверждениÑ: %s\n"
-#: lib/malloc/malloc.c:322
+#: lib/malloc/malloc.c:312
#, c-format
msgid ""
"\r\n"
@@ -1324,43 +1295,39 @@ msgstr ""
"\\r\n"
"malloc: %s:%d: утверждение не удалоÑÑŒ\\r\n"
-#: lib/malloc/malloc.c:323
+#: lib/malloc/malloc.c:313
msgid "unknown"
msgstr "неизвеÑтно"
-#: lib/malloc/malloc.c:811
+#: lib/malloc/malloc.c:801
msgid "malloc: block on free list clobbered"
msgstr "malloc: блок в ÑпиÑке Ñвободных затёрт"
-#: lib/malloc/malloc.c:888
+#: lib/malloc/malloc.c:878
msgid "free: called with already freed block argument"
msgstr "free: вызван Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð¾Ð¼ уже оÑвобождённого блока"
-#: lib/malloc/malloc.c:891
+#: lib/malloc/malloc.c:881
msgid "free: called with unallocated block argument"
msgstr "free: вызван Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð¾Ð¼ невыделенного блока"
-#: lib/malloc/malloc.c:910
+#: lib/malloc/malloc.c:900
msgid "free: underflow detected; mh_nbytes out of range"
-msgstr ""
-"free: обнаружено отрицательное переполнение; mh_nbytes байт за пределами "
-"диапазона"
+msgstr "free: обнаружено отрицательное переполнение; mh_nbytes байт за пределами диапазона"
-#: lib/malloc/malloc.c:916
+#: lib/malloc/malloc.c:906
msgid "free: start and end chunk sizes differ"
msgstr "free: размеры начального и конечного блока отличаютÑÑ"
-#: lib/malloc/malloc.c:1015
+#: lib/malloc/malloc.c:1005
msgid "realloc: called with unallocated block argument"
msgstr "realloc: вызван Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð¾Ð¼ невыделенного блока"
-#: lib/malloc/malloc.c:1030
+#: lib/malloc/malloc.c:1020
msgid "realloc: underflow detected; mh_nbytes out of range"
-msgstr ""
-"realloc: обнаружено отрицательное переполнение; mh_nbytes байт за пределами "
-"диапазона"
+msgstr "realloc: обнаружено отрицательное переполнение; mh_nbytes байт за пределами диапазона"
-#: lib/malloc/malloc.c:1036
+#: lib/malloc/malloc.c:1026
msgid "realloc: start and end chunk sizes differ"
msgstr "realloc: размеры начального и конечного блока отличаютÑÑ"
@@ -1402,22 +1369,22 @@ msgstr "%s: недопуÑтимое указание Ñетевого пути"
msgid "network operations not supported"
msgstr "Ñетевые операции не поддерживаютÑÑ"
-#: locale.c:205
+#: locale.c:200
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s)"
msgstr "setlocale: LC_ALL: не удаётÑÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ Ñзык (%s)"
-#: locale.c:207
+#: locale.c:202
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
msgstr "setlocale: LC_ALL: не удаётÑÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ Ñзык (%s): %s"
-#: locale.c:272
+#: locale.c:259
#, c-format
msgid "setlocale: %s: cannot change locale (%s)"
msgstr "setlocale: %s: не удаётÑÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ Ñзык (%s)"
-#: locale.c:274
+#: locale.c:261
#, c-format
msgid "setlocale: %s: cannot change locale (%s): %s"
msgstr "setlocale: %s: не удаётÑÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ Ñзык (%s): %s"
@@ -1435,151 +1402,145 @@ msgstr "Ð”Ð»Ñ Ð²Ð°Ñ ÐµÑÑ‚ÑŒ почта в $_"
msgid "The mail in %s has been read\n"
msgstr "Ð¡Ð¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð² %s были прочитаны\n"
-#: make_cmd.c:317
+#: make_cmd.c:329
msgid "syntax error: arithmetic expression required"
msgstr "ÑинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°: требуетÑÑ Ð¼Ð°Ñ‚ÐµÐ¼Ð°Ñ‚Ð¸Ñ‡ÐµÑкое выражение"
-#: make_cmd.c:319
+#: make_cmd.c:331
msgid "syntax error: `;' unexpected"
msgstr "ÑинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°: ожидаетÑÑ Â«;»"
-#: make_cmd.c:320
+#: make_cmd.c:332
#, c-format
msgid "syntax error: `((%s))'"
msgstr "ÑинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°: «((%s))»"
-#: make_cmd.c:572
+#: make_cmd.c:584
#, c-format
msgid "make_here_document: bad instruction type %d"
msgstr "make_here_document: недопуÑтимый тип инÑтрукции %d"
-#: make_cmd.c:657
+#: make_cmd.c:669
#, c-format
msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
-msgstr ""
-"блок here-document в Ñтроке %d разделён знаком конца файла (ожидалÑÑ Â«%s»)"
+msgstr "блок here-document в Ñтроке %d разделён знаком конца файла (ожидалÑÑ Â«%s»)"
-#: make_cmd.c:756
+#: make_cmd.c:768
#, c-format
msgid "make_redirection: redirection instruction `%d' out of range"
-msgstr ""
-"make_redirection: инÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ Ð¿ÐµÑ€ÐµÐ½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Â«%d» вышла за пределы диапазона"
+msgstr "make_redirection: инÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ Ð¿ÐµÑ€ÐµÐ½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Â«%d» вышла за пределы диапазона"
-#: parse.y:2369
+#: parse.y:2324
#, c-format
-msgid ""
-"shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line "
-"truncated"
-msgstr ""
-"shell_getc: shell_input_line_size (%zu) превыÑил SIZE_MAX (%lu): Ñтрока "
-"обрезана"
+msgid "shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line truncated"
+msgstr "shell_getc: shell_input_line_size (%zu) превыÑил SIZE_MAX (%lu): Ñтрока обрезана"
-#: parse.y:2772
+#: parse.y:2700
msgid "maximum here-document count exceeded"
msgstr "доÑтигнуто макÑимальное чиÑло переменных here-document"
-#: parse.y:3511 parse.y:3881
+#: parse.y:3390 parse.y:3748
#, c-format
msgid "unexpected EOF while looking for matching `%c'"
msgstr "неожиданный конец файла во Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ð¸Ñка «%c»"
-#: parse.y:4581
+#: parse.y:4410
msgid "unexpected EOF while looking for `]]'"
msgstr "неожиданный конец файла во Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ð¸Ñка «]]»"
-#: parse.y:4586
+#: parse.y:4415
#, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
msgstr "ÑинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° в уÑловном выражении: неожиданный маркер «%s»"
-#: parse.y:4590
+#: parse.y:4419
msgid "syntax error in conditional expression"
msgstr "ÑинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° в уÑловном выражении"
-#: parse.y:4668
+#: parse.y:4497
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr "неожиданный маркер «%s», ожидалÑÑ Â«)»"
-#: parse.y:4672
+#: parse.y:4501
msgid "expected `)'"
msgstr "ожидаетÑÑ Ñимвол «)»"
-#: parse.y:4700
+#: parse.y:4529
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr "неожиданный аргумент «%s» Ð´Ð»Ñ ÑƒÑловного унарного оператора"
-#: parse.y:4704
+#: parse.y:4533
msgid "unexpected argument to conditional unary operator"
msgstr "неожиданный аргумент Ð´Ð»Ñ ÑƒÑловного унарного оператора"
-#: parse.y:4750
+#: parse.y:4579
#, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr "неожиданный маркер «%s», ожидаетÑÑ ÑƒÑловный бинарный оператор"
-#: parse.y:4754
+#: parse.y:4583
msgid "conditional binary operator expected"
msgstr "ожидаетÑÑ ÑƒÑловный бинарный оператор"
-#: parse.y:4776
+#: parse.y:4605
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr "неожиданный аргумент «%s» Ð´Ð»Ñ ÑƒÑловного бинарного оператора"
-#: parse.y:4780
+#: parse.y:4609
msgid "unexpected argument to conditional binary operator"
msgstr "неожиданный аргумент Ð´Ð»Ñ ÑƒÑловного бинарного оператора"
-#: parse.y:4791
+#: parse.y:4620
#, c-format
msgid "unexpected token `%c' in conditional command"
msgstr "неожиданный маркер «%c» в уÑловной команде"
-#: parse.y:4794
+#: parse.y:4623
#, c-format
msgid "unexpected token `%s' in conditional command"
msgstr "неожиданный маркер «%s» в уÑловной команде"
-#: parse.y:4798
+#: parse.y:4627
#, c-format
msgid "unexpected token %d in conditional command"
msgstr "неожиданный маркер %d в уÑловной команде"
-#: parse.y:6220
+#: parse.y:5996
#, c-format
msgid "syntax error near unexpected token `%s'"
msgstr "ÑинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° Ñ€Ñдом Ñ Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ñ‹Ð¼ маркером «%s»"
-#: parse.y:6238
+#: parse.y:6014
#, c-format
msgid "syntax error near `%s'"
msgstr "ÑинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° Ñ€Ñдом Ñ Â«%s»"
-#: parse.y:6248
+#: parse.y:6024
msgid "syntax error: unexpected end of file"
msgstr "ÑинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°: неожиданный конец файла"
-#: parse.y:6248
+#: parse.y:6024
msgid "syntax error"
msgstr "ÑинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°"
-#: parse.y:6310
+#: parse.y:6086
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr "Ð”Ð»Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð° из командного процеÑÑора иÑпользуйте «%s».\n"
-#: parse.y:6472
+#: parse.y:6248
msgid "unexpected EOF while looking for matching `)'"
msgstr "неожиданный конец файла во Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ð¸Ñка «)»"
-#: pcomplete.c:1132
+#: pcomplete.c:1126
#, c-format
msgid "completion: function `%s' not found"
msgstr "completion: Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Â«%s» не найдена"
-#: pcomplete.c:1722
+#: pcomplete.c:1646
#, c-format
msgid "programmable_completion: %s: possible retry loop"
msgstr "programmable_completion: %s: возможен беÑконечный цикл повторов"
@@ -1589,113 +1550,109 @@ msgstr "programmable_completion: %s: возможен беÑконечный цÐ
msgid "progcomp_insert: %s: NULL COMPSPEC"
msgstr "progcomp_insert: %s: NULL COMPSPEC"
-#: print_cmd.c:300
+#: print_cmd.c:302
#, c-format
msgid "print_command: bad connector `%d'"
msgstr "print_command: неверный Ñоединитель «%d»"
-#: print_cmd.c:373
+#: print_cmd.c:375
#, c-format
msgid "xtrace_set: %d: invalid file descriptor"
msgstr "xtrace_set: %d: недопуÑтимый идентификатор файла"
-#: print_cmd.c:378
+#: print_cmd.c:380
msgid "xtrace_set: NULL file pointer"
msgstr "xtrace_set: пуÑтой указатель на файл"
-#: print_cmd.c:382
+#: print_cmd.c:384
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
msgstr "xtrace fd (%d) != fileno xtrace fp (%d)"
-#: print_cmd.c:1538
+#: print_cmd.c:1534
#, c-format
msgid "cprintf: `%c': invalid format character"
msgstr "cprintf: «%c»: недопуÑтимый Ñимвол форматированиÑ"
-#: redir.c:121 redir.c:167
+#: redir.c:124 redir.c:171
msgid "file descriptor out of range"
msgstr "файловый деÑкриптор за пределами диапазона"
-#: redir.c:174
+#: redir.c:178
#, c-format
msgid "%s: ambiguous redirect"
msgstr "%s: неоднозначное перенаправление"
-#: redir.c:178
+#: redir.c:182
#, c-format
msgid "%s: cannot overwrite existing file"
msgstr "%s: не удаётÑÑ Ð¿ÐµÑ€ÐµÐ·Ð°Ð¿Ð¸Ñать ÑущеÑтвующий файл"
-#: redir.c:183
+#: redir.c:187
#, c-format
msgid "%s: restricted: cannot redirect output"
msgstr "%s: ограниченный режим: не удаётÑÑ Ð¿ÐµÑ€ÐµÐ½Ð°Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ вывод"
-#: redir.c:188
+#: redir.c:192
#, c-format
msgid "cannot create temp file for here-document: %s"
msgstr "не удаётÑÑ Ñоздать временный файл Ð´Ð»Ñ Ð±Ð»Ð¾ÐºÐ° here-document: %s"
-#: redir.c:192
+#: redir.c:196
#, c-format
msgid "%s: cannot assign fd to variable"
msgstr "%s: не удаётÑÑ Ð¿Ñ€Ð¸Ñвоить файловый деÑкриптор переменной"
-#: redir.c:588
+#: redir.c:586
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr "/dev/(tcp|udp)/host/port не поддерживаетÑÑ Ð±ÐµÐ· Ñети"
-#: redir.c:870 redir.c:985 redir.c:1046 redir.c:1211
+#: redir.c:868 redir.c:983 redir.c:1044 redir.c:1209
msgid "redirection error: cannot duplicate fd"
msgstr "ошибка перенаправлениÑ: не удаётÑÑ Ñоздать копию файлового деÑкриптора"
-#: shell.c:343
+#: shell.c:347
msgid "could not find /tmp, please create!"
msgstr "не удалоÑÑŒ найти /tmp; Ñоздайте Ñтот каталог"
-#: shell.c:347
+#: shell.c:351
msgid "/tmp must be a valid directory name"
msgstr "/tmp должен быть допуÑтимым названием каталога"
-#: shell.c:798
-msgid "pretty-printing mode ignored in interactive shells"
-msgstr ""
-
-#: shell.c:940
+#: shell.c:927
#, c-format
msgid "%c%c: invalid option"
msgstr "%c%c: недопуÑтимый параметр"
-#: shell.c:1299
+#: shell.c:1282
#, c-format
msgid "cannot set uid to %d: effective uid %d"
msgstr "не удаётÑÑ ÑƒÑтановить UID %d: Ñффективный UID %d"
-#: shell.c:1306
+#: shell.c:1289
#, c-format
msgid "cannot set gid to %d: effective gid %d"
msgstr "не удаётÑÑ ÑƒÑтановить GID %d: Ñффективный GID %d"
-#: shell.c:1494
+#: shell.c:1458
msgid "cannot start debugger; debugging mode disabled"
msgstr "не удаётÑÑ Ð·Ð°Ð¿ÑƒÑтить отладчик: режим отладки отключён"
-#: shell.c:1608
+#: shell.c:1566
#, c-format
msgid "%s: Is a directory"
msgstr "%s: Ñто каталог"
-#: shell.c:1826
+#: shell.c:1777
msgid "I have no name!"
msgstr "Ðе удаётÑÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ð¸Ñ‚ÑŒ название"
-#: shell.c:1980
+#: shell.c:1930
#, c-format
msgid "GNU bash, version %s-(%s)\n"
msgstr "GNU bash, верÑÐ¸Ñ %s-(%s)\n"
-#: shell.c:1981
+#: shell.c:1931
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
@@ -1704,55 +1661,49 @@ msgstr ""
"ИÑпользование:\t%s [длинные параметры GNU] [параметры] ...\n"
"\t\t%s [длинные параметры GNU] [параметры] файл_Ñкрипта ...\n"
-#: shell.c:1983
+#: shell.c:1933
msgid "GNU long options:\n"
msgstr "Длинные параметры GNU:\n"
-#: shell.c:1987
+#: shell.c:1937
msgid "Shell options:\n"
msgstr "Параметры командного процеÑÑора:\n"
-#: shell.c:1988
+#: shell.c:1938
msgid "\t-ilrsD or -c command or -O shopt_option\t\t(invocation only)\n"
-msgstr ""
-"\t-irsD или -c команда или -O короткие_параметры\t\t(только при запуÑке)\n"
+msgstr "\t-irsD или -c команда или -O короткие_параметры\t\t(только при запуÑке)\n"
-#: shell.c:2003
+#: shell.c:1953
#, c-format
msgid "\t-%s or -o option\n"
msgstr "\t-%s или -o параметр\n"
-#: shell.c:2009
+#: shell.c:1959
#, 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:2010
+#: shell.c:1960
#, 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:2011
+#: shell.c:1961
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
msgstr "Ð”Ð»Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸ Ñообщений об ошибках иÑпользуйте команду «bashbug».\n"
-#: shell.c:2013
+#: shell.c:1963
#, c-format
msgid "bash home page: <http://www.gnu.org/software/bash>\n"
msgstr "ДомашнÑÑ Ñтраница bash: <http://www.gnu.org/software/bash>\n"
-#: shell.c:2014
+#: shell.c:1964
#, c-format
msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
-msgstr ""
-"ÐžÐ±Ñ‰Ð°Ñ Ñправка по иÑпользованию программ GNU: <http://www.gnu.org/gethelp/>\n"
+msgstr "ÐžÐ±Ñ‰Ð°Ñ Ñправка по иÑпользованию программ GNU: <http://www.gnu.org/gethelp/>\n"
-#: sig.c:695
+#: sig.c:707
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr "sigprocmask: %d: недопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ"
@@ -1926,21 +1877,21 @@ msgstr "ÐеизвеÑтный номер Ñигнала"
msgid "Unknown Signal #%d"
msgstr "ÐеизвеÑтный номер Ñигнала %d"
-#: subst.c:1450 subst.c:1641
+#: subst.c:1445 subst.c:1608
#, c-format
msgid "bad substitution: no closing `%s' in %s"
msgstr "Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð¿Ð¾Ð´Ñтановка: нет закрывающей «%s» в %s"
-#: subst.c:3209
+#: subst.c:3154
#, c-format
msgid "%s: cannot assign list to array member"
msgstr "%s: не удаётÑÑ Ð¿Ñ€Ð¸Ñвоить ÑпиÑок Ñлементу маÑÑива"
-#: subst.c:5734 subst.c:5750
+#: subst.c:5740 subst.c:5756
msgid "cannot make pipe for process substitution"
msgstr "не удаётÑÑ Ñоздать конвейер Ð´Ð»Ñ Ð¿Ð¾Ð´Ñтановки процеÑÑа"
-#: subst.c:5796
+#: subst.c:5798
msgid "cannot make child for process substitution"
msgstr "не удаётÑÑ Ñоздать дочерний процеÑÑ Ð´Ð»Ñ Ð¿Ð¾Ð´Ñтановки"
@@ -1957,80 +1908,69 @@ msgstr "не удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ именованный конвейе
#: subst.c:5873
#, c-format
msgid "cannot duplicate named pipe %s as fd %d"
-msgstr ""
-"не удаётÑÑ Ñкопировать именованный конвейер %s в файловый деÑкриптор %d"
+msgstr "не удаётÑÑ Ñкопировать именованный конвейер %s в файловый деÑкриптор %d"
-#: subst.c:5990
+#: subst.c:5959
msgid "command substitution: ignored null byte in input"
msgstr "подÑтановка команды: во входных данных проигнорирован нулевой байт"
-#: subst.c:6121
+#: subst.c:6083
msgid "cannot make pipe for command substitution"
msgstr "не удаётÑÑ Ñоздать конвейер Ð´Ð»Ñ Ð¿Ð¾Ð´Ñтановки команды"
-#: subst.c:6164
+#: subst.c:6127
msgid "cannot make child for command substitution"
msgstr "не удаётÑÑ Ñоздать дочерний процеÑÑ Ð´Ð»Ñ Ð¿Ð¾Ð´Ñтановки команды"
-#: subst.c:6190
+#: subst.c:6153
msgid "command_substitute: cannot duplicate pipe as fd 1"
-msgstr ""
-"command_substitute: не удаётÑÑ Ñкопировать конвейер в файловый деÑкриптор 1"
+msgstr "command_substitute: не удаётÑÑ Ñкопировать конвейер в файловый деÑкриптор 1"
-#: subst.c:6641 subst.c:9483
+#: subst.c:6580 subst.c:8939
#, c-format
msgid "%s: invalid variable name for name reference"
msgstr "%s: недопуÑтимое название переменной Ð´Ð»Ñ ÑÑылки на имÑ"
-#: subst.c:6737 subst.c:6755 subst.c:6903
+#: subst.c:6666 subst.c:8351 subst.c:8371
+#, c-format
+msgid "%s: bad substitution"
+msgstr "%s: недопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð¿Ð¾Ð´Ñтановка"
+
+#: subst.c:6800
#, c-format
msgid "%s: invalid indirect expansion"
msgstr "%s: недопуÑтимое непрÑмое раÑкрытие"
-#: subst.c:6771 subst.c:6910
+#: subst.c:6807
#, c-format
msgid "%s: invalid variable name"
msgstr "%s: недопуÑтимое Ð¸Ð¼Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹"
-#: subst.c:6962
-#, fuzzy, c-format
-msgid "%s: parameter not set"
-msgstr "%s: параметр не задан или пуÑтой"
-
-#: subst.c:6964
+#: subst.c:6854
#, c-format
msgid "%s: parameter null or not set"
msgstr "%s: параметр не задан или пуÑтой"
-#: subst.c:7201 subst.c:7216
+#: subst.c:7089 subst.c:7104
#, c-format
msgid "%s: substring expression < 0"
msgstr "%s: заданное подÑтрокой выражение меньше нулÑ"
-#: subst.c:8839 subst.c:8860
-#, c-format
-msgid "%s: bad substitution"
-msgstr "%s: недопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð¿Ð¾Ð´Ñтановка"
-
-#: subst.c:8948
+#: subst.c:8450
#, c-format
msgid "$%s: cannot assign in this way"
msgstr "$%s: такое приÑвоение невозможно"
-#: subst.c:9346
-msgid ""
-"future versions of the shell will force evaluation as an arithmetic "
-"substitution"
-msgstr ""
-"в будущих верÑиÑÑ… командный процеÑÑор оценка будет выполнÑÑ‚ÑŒÑÑ ÐºÐ°Ðº "
-"математичеÑÐºÐ°Ñ Ð¿Ð¾Ð´Ñтановка"
+#: subst.c:8802
+msgid "future versions of the shell will force evaluation as an arithmetic substitution"
+msgstr "в будущих верÑиÑÑ… командный процеÑÑор оценка будет выполнÑÑ‚ÑŒÑÑ ÐºÐ°Ðº математичеÑÐºÐ°Ñ Ð¿Ð¾Ð´Ñтановка"
-#: subst.c:9903
+#: subst.c:9349
#, c-format
msgid "bad substitution: no closing \"`\" in %s"
msgstr "Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð¿Ð¾Ð´Ñтановка: нет закрывающей «`» в %s"
-#: subst.c:10907
+#: subst.c:10298
#, c-format
msgid "no match: %s"
msgstr "нет Ñовпадений: %s"
@@ -2053,111 +1993,105 @@ msgstr "ожидаетÑÑ Ñимвол «)»"
msgid "`)' expected, found %s"
msgstr "ожидаетÑÑ Ñимвол «)», обнаружено %s"
-#: test.c:282 test.c:748 test.c:751
+#: test.c:282 test.c:744 test.c:747
#, c-format
msgid "%s: unary operator expected"
msgstr "%s: ожидаетÑÑ ÑƒÐ½Ð°Ñ€Ð½Ñ‹Ð¹ оператор"
-#: test.c:469 test.c:791
+#: test.c:469 test.c:787
#, c-format
msgid "%s: binary operator expected"
msgstr "%s: ожидаетÑÑ Ð±Ð¸Ð½Ð°Ñ€Ð½Ñ‹Ð¹ оператор"
-#: test.c:873
+#: test.c:869
msgid "missing `]'"
msgstr "отÑутÑтвует Ñимвол «]»"
-#: trap.c:216
+#: trap.c:224
msgid "invalid signal number"
msgstr "недопуÑтимый номер Ñигнала"
-#: trap.c:379
+#: trap.c:387
#, c-format
msgid "run_pending_traps: bad value in trap_list[%d]: %p"
msgstr "run_pending_traps: неверное значение в trap_list[%d]: %p"
-#: trap.c:383
+#: trap.c:391
#, c-format
-msgid ""
-"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
-msgstr ""
-"run_pending_traps: обработчик Ñигнала — SIG_DFL; Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð°Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ° %d (%s) "
-"Ñамому Ñебе"
+msgid "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
+msgstr "run_pending_traps: обработчик Ñигнала — SIG_DFL; Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð°Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ° %d (%s) Ñамому Ñебе"
-#: trap.c:439
+#: trap.c:447
#, c-format
msgid "trap_handler: bad signal %d"
msgstr "trap_handler: неверный Ñигнал %d"
-#: variables.c:399
+#: variables.c:409
#, c-format
msgid "error importing function definition for `%s'"
msgstr "ошибка импорта Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ Ð´Ð»Ñ Â«%s»"
-#: variables.c:801
+#: variables.c:814
#, c-format
msgid "shell level (%d) too high, resetting to 1"
msgstr "Ñлишком выÑокий уровень командного процеÑÑора (%d); ÑбраÑываетÑÑ Ð´Ð¾ 1"
-#: variables.c:2512
+#: variables.c:2413
msgid "make_local_variable: no function context at current scope"
msgstr "make_local_variable: в текущей облаÑти отÑутÑтвует контекÑÑ‚ функции"
-#: variables.c:2531
+#: variables.c:2432
#, c-format
msgid "%s: variable may not be assigned value"
msgstr "%s: переменной не может быть приÑвоено значение"
-#: variables.c:3246
+#: variables.c:3043
#, c-format
msgid "%s: assigning integer to name reference"
msgstr "%s: целое чиÑле приÑваиваетÑÑ ÑÑылке на имÑ"
-#: variables.c:4149
+#: variables.c:3940
msgid "all_local_variables: no function context at current scope"
msgstr "all_local_variables: в текущей облаÑти отÑутÑтвует контекÑÑ‚ функции"
-#: variables.c:4437
+#: variables.c:4218
#, c-format
msgid "%s has null exportstr"
msgstr "%s имеет пуÑтую exportstr"
-#: variables.c:4442 variables.c:4451
+#: variables.c:4223 variables.c:4232
#, c-format
msgid "invalid character %d in exportstr for %s"
msgstr "недопуÑтимый Ñимвол %d в exportstr Ð´Ð»Ñ %s"
-#: variables.c:4457
+#: variables.c:4238
#, c-format
msgid "no `=' in exportstr for %s"
msgstr "отÑутÑтвует «=» в exportstr Ð´Ð»Ñ %s"
-#: variables.c:4911
+#: variables.c:4684
msgid "pop_var_context: head of shell_variables not a function context"
-msgstr ""
-"pop_var_context: заголовок shell_variables не ÑвлÑетÑÑ ÐºÐ¾Ð½Ñ‚ÐµÐºÑтом функции"
+msgstr "pop_var_context: заголовок shell_variables не ÑвлÑетÑÑ ÐºÐ¾Ð½Ñ‚ÐµÐºÑтом функции"
-#: variables.c:4924
+#: variables.c:4697
msgid "pop_var_context: no global_variables context"
msgstr "pop_var_context: отÑутÑтвует контекÑÑ‚ global_variables"
-#: variables.c:4999
+#: variables.c:4772
msgid "pop_scope: head of shell_variables not a temporary environment scope"
-msgstr ""
-"pop_scope: заголовок shell_variables не ÑвлÑетÑÑ Ð¾Ð±Ð»Ð°Ñтью временного "
-"окружениÑ"
+msgstr "pop_scope: заголовок shell_variables не ÑвлÑетÑÑ Ð¾Ð±Ð»Ð°Ñтью временного окружениÑ"
-#: variables.c:5862
+#: variables.c:5619
#, c-format
msgid "%s: %s: cannot open as FILE"
msgstr "%s: %s: не удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ как ФÐЙЛ"
-#: variables.c:5867
+#: variables.c:5624
#, c-format
msgid "%s: %s: invalid value for trace file descriptor"
msgstr "%s: %s: недопуÑтимое значение Ð´Ð»Ñ Ð´ÐµÑкриптора файла траÑÑировки"
-#: variables.c:5912
+#: variables.c:5669
#, c-format
msgid "%s: %s: compatibility value out of range"
msgstr "%s: %s: значение ÑовмеÑтимоÑти за пределами диапазона"
@@ -2167,12 +2101,8 @@ msgid "Copyright (C) 2016 Free Software Foundation, Inc."
msgstr "© Free Software Foundation, Inc, 2016."
#: version.c:47 version2.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"
+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:86
#, c-format
@@ -2181,30 +2111,28 @@ msgstr "GNU bash, верÑÐ¸Ñ %s (%s)\n"
#: version.c:91 version2.c:91
msgid "This is free software; you are free to change and redistribute it."
-msgstr ""
-"Это Ñвободное программное обеÑпечение. Ð’Ñ‹ можете изменÑÑ‚ÑŒ и раÑпроÑтранÑÑ‚ÑŒ "
-"его."
+msgstr "Это Ñвободное программное обеÑпечение. Ð’Ñ‹ можете изменÑÑ‚ÑŒ и раÑпроÑтранÑÑ‚ÑŒ его."
#: version.c:92 version2.c:92
msgid "There is NO WARRANTY, to the extent permitted by law."
msgstr "ÐИКÐКÐЯ ГÐРÐÐТИЯ не предоÑтавлÑетÑÑ Ð² пределах, допуÑкаемых законом."
-#: xmalloc.c:93
+#: xmalloc.c:91
#, c-format
msgid "%s: cannot allocate %lu bytes (%lu bytes allocated)"
msgstr "%s: не удаётÑÑ Ð²Ñ‹Ð´ÐµÐ»Ð¸Ñ‚ÑŒ %lu байт (выделено %lu байт)"
-#: xmalloc.c:95
+#: xmalloc.c:93
#, c-format
msgid "%s: cannot allocate %lu bytes"
msgstr "%s: не удаётÑÑ Ð²Ñ‹Ð´ÐµÐ»Ð¸Ñ‚ÑŒ %lu байт"
-#: xmalloc.c:165
+#: xmalloc.c:163
#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
msgstr "%s: %s:%d: не удаётÑÑ Ð²Ñ‹Ð´ÐµÐ»Ð¸Ñ‚ÑŒ %lu байт (выделено %lu байт)"
-#: xmalloc.c:167
+#: xmalloc.c:165
#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes"
msgstr "%s: %s:%d: не удаётÑÑ Ð²Ñ‹Ð´ÐµÐ»Ð¸Ñ‚ÑŒ %lu байт"
@@ -2218,13 +2146,8 @@ msgid "unalias [-a] name [name ...]"
msgstr "unalias [-a] Ð¸Ð¼Ñ [Ð¸Ð¼Ñ ...]"
#: builtins.c:53
-msgid ""
-"bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-"
-"x keyseq:shell-command] [keyseq:readline-function or readline-command]"
-msgstr ""
-"bind [-lpvsPSVX] [-m раÑкладка] [-f файл] [-q имÑ] [-u name] [-r "
-"поÑлед_клавиш] [-x поÑлед_клавиш:команда_shell] [поÑлед_клавиш:фнкц_readline "
-"или команда_readline]"
+msgid "bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-x keyseq:shell-command] [keyseq:readline-function or readline-command]"
+msgstr "bind [-lpvsPSVX] [-m раÑкладка] [-f файл] [-q имÑ] [-u name] [-r поÑлед_клавиш] [-x поÑлед_клавиш:команда_shell] [поÑлед_клавиш:фнкц_readline или команда_readline]"
#: builtins.c:56
msgid "break [n]"
@@ -2300,9 +2223,7 @@ msgstr "logout [n]"
#: builtins.c:105
msgid "fc [-e ename] [-lnr] [first] [last] or fc -s [pat=rep] [command]"
-msgstr ""
-"fc [-e редактор] [-lnr] [перваÑ] [поÑледнÑÑ] или fc -s [шаблон=замена] "
-"[команда]"
+msgstr "fc [-e редактор] [-lnr] [перваÑ] [поÑледнÑÑ] или fc -s [шаблон=замена] [команда]"
#: builtins.c:109
msgid "fg [job_spec]"
@@ -2321,12 +2242,8 @@ msgid "help [-dms] [pattern ...]"
msgstr "help [-dms] [шаблон ...]"
#: builtins.c:123
-msgid ""
-"history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg "
-"[arg...]"
-msgstr ""
-"history [-c] [-d Ñмещение] [n] или history -anrw [файл] или history -ps "
-"аргумент [аргумент...]"
+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:127
msgid "jobs [-lnprs] [jobspec ...] or jobs -x command [args]"
@@ -2337,24 +2254,16 @@ msgid "disown [-h] [-ar] [jobspec ... | pid ...]"
msgstr "disown [-h] [-ar] [задание ... | pid ...]"
#: builtins.c:134
-msgid ""
-"kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l "
-"[sigspec]"
-msgstr ""
-"kill [-s назв_Ñигнала | -n номер_Ñигнала | -назв_Ñигнала] ид_процеÑÑа | "
-"назв_заданиÑ] ... или kill -l [назв_Ñигнала]"
+msgid "kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]"
+msgstr "kill [-s назв_Ñигнала | -n номер_Ñигнала | -назв_Ñигнала] ид_процеÑÑа | назв_заданиÑ] ... или kill -l [назв_Ñигнала]"
#: builtins.c:136
msgid "let arg [arg ...]"
msgstr "let аргумент [аргумент ...]"
#: builtins.c:138
-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 fd] [Ð¸Ð¼Ñ ...]"
+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 fd] [Ð¸Ð¼Ñ ...]"
#: builtins.c:140
msgid "return [n]"
@@ -2417,8 +2326,7 @@ msgid "umask [-p] [-S] [mode]"
msgstr "umask [-p] [-S] [режим]"
#: builtins.c:177
-#, fuzzy
-msgid "wait [-fn] [id ...]"
+msgid "wait [-n] [id ...]"
msgstr "wait [-n] [идентификатор ...]"
#: builtins.c:181
@@ -2446,12 +2354,8 @@ msgid "case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac"
msgstr "case СЛОВО in [ШÐБЛОР[| ШÐБЛОÐ]...) КОМÐÐДЫ ;;]... esac"
#: builtins.c:194
-msgid ""
-"if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else "
-"COMMANDS; ] fi"
-msgstr ""
-"if КОМÐÐДЫ; then КОМÐÐДЫ; [ elif КОМÐÐДЫ; then КОМÐÐДЫ; ]... [ else "
-"КОМÐÐДЫ; ] fi"
+msgid "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMMANDS; ] fi"
+msgstr "if КОМÐÐДЫ; then КОМÐÐДЫ; [ elif КОМÐÐДЫ; then КОМÐÐДЫ; ]... [ else КОМÐÐДЫ; ] fi"
#: builtins.c:196
msgid "while COMMANDS; do COMMANDS; done"
@@ -2487,8 +2391,7 @@ msgstr "[[ выражение ]]"
#: builtins.c:212
msgid "variables - Names and meanings of some shell variables"
-msgstr ""
-"переменные — имена и Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… переменных командного процеÑÑора"
+msgstr "переменные — имена и Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… переменных командного процеÑÑора"
#: builtins.c:215
msgid "pushd [-n] [+N | -N | dir]"
@@ -2511,44 +2414,24 @@ msgid "printf [-v var] format [arguments]"
msgstr "printf [-v переменнаÑ] формат [аргументы]"
#: builtins.c:231
-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 ÑуффикÑ] [Ð¸Ð¼Ñ ...]"
+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:235
-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 "
-"ÑуффикÑ] [Ñлово]"
+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:239
msgid "compopt [-o|+o option] [-DE] [name ...]"
msgstr "compopt [-o|+o параметр] [-DE] [Ð¸Ð¼Ñ ...]"
#: builtins.c:242
-msgid ""
-"mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
-msgstr ""
-"mapfile [-d разделитель] [-n чиÑло] [-O начало] [-s чиÑло] [-t] [-u fd] [-C "
-"callback] [-c quantum] [маÑÑив]"
+msgid "mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
+msgstr "mapfile [-d разделитель] [-n чиÑло] [-O начало] [-s чиÑло] [-t] [-u fd] [-C callback] [-c quantum] [маÑÑив]"
#: builtins.c:244
-#, fuzzy
-msgid ""
-"readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
-msgstr ""
-"readarray [-n чиÑло] [-O начало] [-s чиÑло] [-t] [-u fd] [-C callback] [-c "
-"quantum] [маÑÑив]"
+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 callback] [-c quantum] [маÑÑив]"
#: builtins.c:256
msgid ""
@@ -2565,8 +2448,7 @@ msgid ""
" -p\tprint all defined aliases in a reusable format\n"
" \n"
" Exit Status:\n"
-" alias returns true unless a NAME is supplied for which no alias has "
-"been\n"
+" alias returns true unless a NAME is supplied for which no alias has been\n"
" defined."
msgstr ""
"Определение или отображение пÑевдонимов.\n"
@@ -2604,6 +2486,40 @@ msgstr ""
#: builtins.c:291
#, fuzzy
+#| 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"
+#| " -X\t\t List key sequences bound with -x and associated commands\n"
+#| " in a form that can be reused as input.\n"
+#| " \n"
+#| " Exit Status:\n"
+#| " bind returns 0 unless an unrecognized option is given or an error occurs."
msgid ""
"Set Readline key bindings and variables.\n"
" \n"
@@ -2615,30 +2531,25 @@ msgid ""
" Options:\n"
" -m keymap Use KEYMAP as the keymap for the duration of this\n"
" command. Acceptable keymap names are emacs,\n"
-" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-"
-"move,\n"
+" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,\n"
" vi-command, and vi-insert.\n"
" -l List names of functions.\n"
" -P List function names and bindings.\n"
" -p List functions and bindings in a form that can be\n"
" reused as input.\n"
-" -S List key sequences that invoke macros and their "
-"values\n"
-" -s List key sequences that invoke macros and their "
-"values\n"
+" -S List key sequences that invoke macros and their values\n"
+" -s List key sequences that invoke macros and their values\n"
" in a form that can be reused as input.\n"
" -V List variable names and values\n"
" -v List variable names and values in a form that can\n"
" be reused as input.\n"
" -q function-name Query about which keys invoke the named function.\n"
-" -u function-name Unbind all keys which are bound to the named "
-"function.\n"
+" -u function-name Unbind all keys which are bound to the named function.\n"
" -r keyseq Remove the binding for KEYSEQ.\n"
" -f filename Read key bindings from FILENAME.\n"
" -x keyseq:shell-command\tCause SHELL-COMMAND to be executed when\n"
" \t\t\t\tKEYSEQ is entered.\n"
-" -X List key sequences bound with -x and associated "
-"commands\n"
+" -X List key sequences bound with -x and associated commands\n"
" in a form that can be reused as input.\n"
" \n"
" Exit Status:\n"
@@ -2647,18 +2558,14 @@ msgstr ""
"Определение привÑзок клавиш и переменных readline.\n"
" \n"
" ПривÑзывает поÑледовательноÑÑ‚ÑŒ клавиш функции readline или макроÑу\n"
-" или задаёт переменную readline. СинтакÑÐ¸Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð¾Ð² без параметров "
-"аналогичен\n"
-" ÑинтакÑиÑу файла ~/.inputrc, но вÑÑ‘ должно передаватьÑÑ Ð² одном "
-"аргументе,\n"
+" или задаёт переменную readline. СинтакÑÐ¸Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð¾Ð² без параметров аналогичен\n"
+" ÑинтакÑиÑу файла ~/.inputrc, но вÑÑ‘ должно передаватьÑÑ Ð² одном аргументе,\n"
" например bind '\"\\C-x\\C-r\": перечитать-init-файл'.\n"
" \n"
" Параметры:\n"
-" -m раÑкладка иÑпользовать указанную раÑкладку во Ð²Ñ€ÐµÐ¼Ñ "
-"выполнениÑ\n"
+" -m раÑкладка иÑпользовать указанную раÑкладку во Ð²Ñ€ÐµÐ¼Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ\n"
" данной команды. ДопуÑтимые раÑкладки: emacs,\n"
-" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-"
-"move,\n"
+" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,\n"
" vi-command и vi-insert.\n"
" -l вывеÑти Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¹\n"
" -P вывеÑти Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¹ и их привÑзки\n"
@@ -2673,19 +2580,16 @@ msgstr ""
" -v вывеÑти имена переменных и их значениÑ\n"
" в формате Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾Ð³Ð¾ иÑпользованиÑ\n"
" -q имÑ_функции\t вывеÑти клавиши, вызывающие указанную функцию\n"
-" -u имÑ_функции отвÑзать вÑе клавиши, привÑзанные к указанной "
-"функции\n"
+" -u имÑ_функции отвÑзать вÑе клавиши, привÑзанные к указанной функции\n"
" -r поÑл-клавиш удалить привÑзку Ð´Ð»Ñ Ð¿Ð¾ÑледовательноÑти клавиш\n"
" -f файл прочитать привÑзки из файла\n"
" -x поÑл-клавиш:кмнд-shell выполнить команду bash, еÑли введена\n"
" \t\t\t\tпоÑледовательноÑÑ‚ÑŒ клавиш\n"
-" -X\t\t вывеÑти поÑледовательноÑти клавиш, привÑзанные Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ -"
-"x, и ÑвÑзанные команды\n"
+" -X\t\t вывеÑти поÑледовательноÑти клавиш, привÑзанные Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ -x, и ÑвÑзанные команды\n"
" в формате Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾Ð³Ð¾ иÑпользованиÑ\n"
" \n"
" СоÑтоÑние выхода:\n"
-" bind возвращает 0, еÑли был указан допуÑтимый параметр или не возникла "
-"ошибка."
+" bind возвращает 0, еÑли был указан допуÑтимый параметр или не возникла ошибка."
#: builtins.c:330
msgid ""
@@ -2699,8 +2603,7 @@ msgid ""
msgstr ""
"Прерывание цикла for, while или until.\n"
" \n"
-" Прерывает цикл for, while или until. ЕÑли указано N, прерывает N "
-"вложенных\n"
+" Прерывает цикл for, while или until. ЕÑли указано N, прерывает N вложенных\n"
" циклов.\n"
" \n"
" СоÑтоÑние выхода:\n"
@@ -2730,8 +2633,7 @@ msgid ""
" \n"
" Execute SHELL-BUILTIN with arguments ARGs without performing command\n"
" lookup. This is useful when you wish to reimplement a shell builtin\n"
-" as a shell function, but need to execute the builtin within the "
-"function.\n"
+" as a shell function, but need to execute the builtin within the function.\n"
" \n"
" Exit Status:\n"
" Returns the exit status of SHELL-BUILTIN, or false if SHELL-BUILTIN is\n"
@@ -2740,14 +2642,11 @@ msgstr ""
"Выполнение вÑтроенных команд.\n"
" \n"
" ВыполнÑет вÑтроенную команду bash Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð°Ð¼Ð¸\n"
-" без поиÑка команды. Это полезно, еÑли нужно переопределить вÑтроенную "
-"команду\n"
-" как функцию командного процеÑÑора, в Ñтой функции нужно выполнить "
-"вÑтроенную команду.\n"
+" без поиÑка команды. Это полезно, еÑли нужно переопределить вÑтроенную команду\n"
+" как функцию командного процеÑÑора, в Ñтой функции нужно выполнить вÑтроенную команду.\n"
" \n"
" СоÑтоÑние выхода:\n"
-" Возвращает ÑоÑтоÑние выхода вÑтроенной команды или ложь, еÑли ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð°Ñ "
-"команда bash\n"
+" Возвращает ÑоÑтоÑние выхода вÑтроенной команды или ложь, еÑли ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° bash\n"
" не ÑвлÑетÑÑ Ð²Ñтроенной."
#: builtins.c:369
@@ -2767,8 +2666,7 @@ msgid ""
msgstr ""
"Возвращает контекÑÑ‚ вызова текущей подпрограммы.\n"
" \n"
-" ЕÑли выражение не указано, возвращает «$line $filename». ЕÑли выражение "
-"указано, возвращает\n"
+" ЕÑли выражение не указано, возвращает «$line $filename». ЕÑли выражение указано, возвращает\n"
" «$line $subroutine $filename». Эти дополнительные данные можно\n"
" иÑпользовать Ð´Ð»Ñ Ñ‚Ñ€Ð°ÑÑировки Ñтека.\n"
" \n"
@@ -2776,31 +2674,57 @@ msgstr ""
" Ð´Ð»Ñ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‚Ð° к текущему кадру. Первый кадр имеет номер 0.\n"
" \n"
" СоÑтоÑние выхода:\n"
-" Возвращает 0, еÑли командный процеÑÑор не выполнÑет функцию, или "
-"выражение\n"
+" Возвращает 0, еÑли командный процеÑÑор не выполнÑет функцию, или выражение\n"
" ÑвлÑетÑÑ Ð´Ð¾Ð¿ÑƒÑтимым."
#: builtins.c:387
#, 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: resolve symbolic links in\n"
+#| " \tDIR after processing instances of `..'\n"
+#| " -P\tuse the physical directory structure without following symbolic\n"
+#| " \tlinks: resolve symbolic links in DIR before processing instances\n"
+#| " \tof `..'\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"
+#| " -@ on systems that support it, present a file with extended attributes\n"
+#| " as a directory containing the file attributes\n"
+#| " \n"
+#| " The default is to follow symbolic links, as if `-L' were specified.\n"
+#| " `..' is processed by removing the immediately previous pathname component\n"
+#| " back to a slash or the beginning of DIR.\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."
msgid ""
"Change the shell working directory.\n"
" \n"
-" Change the current directory to DIR. The default DIR is the value of "
-"the\n"
+" Change the current directory to DIR. The default DIR is the value of the\n"
" HOME shell variable.\n"
" \n"
-" The variable CDPATH defines the search path for the directory "
-"containing\n"
-" DIR. Alternative directory names in CDPATH are separated by a colon "
-"(:).\n"
-" A null directory name is the same as the current directory. If DIR "
-"begins\n"
+" The variable CDPATH defines the search path for the directory containing\n"
+" DIR. Alternative directory names in CDPATH are separated by a colon (:).\n"
+" A null directory name is the same as the current directory. If DIR begins\n"
" with a slash (/), then CDPATH is not used.\n"
" \n"
-" If the directory is not found, and the shell option `cdable_vars' is "
-"set,\n"
-" the word is assumed to be a variable name. If that variable has a "
-"value,\n"
+" If the directory is not found, and the shell option `cdable_vars' is set,\n"
+" the word is assumed to be a variable name. If that variable has a value,\n"
" its value is used for DIR.\n"
" \n"
" Options:\n"
@@ -2816,31 +2740,25 @@ msgid ""
" \t\tattributes as a directory containing the file attributes\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
-" `..' is processed by removing the immediately previous pathname "
-"component\n"
+" `..' is processed by removing the immediately previous pathname component\n"
" back to a slash or the beginning of DIR.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed, and if $PWD is set successfully "
-"when\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"
+" ИзменÑет текущий каталог на указанный каталог. Каталог по умолчанию хранитÑÑ Ð²\n"
" переменной $HOME командного процеÑÑора.\n"
" \n"
" ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $CDPATH определÑет путь поиÑка каталога, Ñодержащего\n"
-" указанный каталог. Ðльтернативные каталоги в $CDPATH разделÑÑŽÑ‚ÑÑ "
-"двоеточием (:).\n"
-" ПуÑтое название каталога ÑоответÑтвует текущему каталогу. ЕÑли каталог "
-"начинаетÑÑ\n"
+" указанный каталог. Ðльтернативные каталоги в $CDPATH разделÑÑŽÑ‚ÑÑ Ð´Ð²Ð¾ÐµÑ‚Ð¾Ñ‡Ð¸ÐµÐ¼ (:).\n"
+" ПуÑтое название каталога ÑоответÑтвует текущему каталогу. ЕÑли каталог начинаетÑÑ\n"
" Ñ ÐºÐ¾Ñой черты (/), Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $CDPATH не иÑпользуетÑÑ.\n"
" \n"
" ЕÑли каталог не найден и задан параметр «cdable_vars»,\n"
-" Ñлово ÑчитаетÑÑ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸ÐµÐ¼ переменной. ЕÑли Ñта Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ñодержит "
-"значение,\n"
+" Ñлово ÑчитаетÑÑ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸ÐµÐ¼ переменной. ЕÑли Ñта Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ñодержит значение,\n"
" оно иÑпользуетÑÑ Ð´Ð»Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð°.\n"
" \n"
" Параметры:\n"
@@ -2851,24 +2769,32 @@ msgstr ""
" \tобработки «..»\n"
" -e\tеÑли указан параметр -P, и не удаётÑÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ð¸Ñ‚ÑŒ текущий\n"
" \tрабочий каталог, команда завершаетÑÑ Ñ Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ ÑоÑтоÑнием\n"
-" -@ на ÑиÑтемах, которые Ñто поддерживают, предÑтавлÑет файл Ñ "
-"раÑширенными\n"
+" -@ на ÑиÑтемах, которые Ñто поддерживают, предÑтавлÑет файл Ñ Ñ€Ð°Ñширенными\n"
" атрибутами как каталог, Ñодержащий атрибуты файла\n"
" \n"
-" По умолчанию выполнÑетÑÑ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´ по Ñимвольным ÑÑылкам (как при указании "
-"параметра «-L»).\n"
-" «..» обрабатываетÑÑ Ð¿ÑƒÑ‚Ñ‘Ð¼ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€Ð²Ð¾Ð³Ð¾ компонента пути до коÑой "
-"черты\n"
+" По умолчанию выполнÑетÑÑ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´ по Ñимвольным ÑÑылкам (как при указании параметра «-L»).\n"
+" «..» обрабатываетÑÑ Ð¿ÑƒÑ‚Ñ‘Ð¼ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€Ð²Ð¾Ð³Ð¾ компонента пути до коÑой черты\n"
" или из начала каталога.\n"
" \n"
" СоÑтоÑние выхода:\n"
-" Возвращает 0, еÑли каталог был изменён, и еÑли $PWD был уÑпешно "
-"уÑтановлен\n"
-" при иÑпользовании параметра -P. Ð’ противном Ñлучае возвращаетÑÑ "
-"ненулевое ÑоÑтоÑние."
+" Возвращает 0, еÑли каталог был изменён, и еÑли $PWD был уÑпешно уÑтановлен\n"
+" при иÑпользовании параметра -P. Ð’ противном Ñлучае возвращаетÑÑ Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ð¾Ðµ ÑоÑтоÑние."
#: builtins.c:425
#, fuzzy
+#| 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."
msgid ""
"Print the name of the current working directory.\n"
" \n"
@@ -2938,12 +2864,26 @@ msgstr ""
#: builtins.c:471
#, fuzzy
+#| 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."
msgid ""
"Execute a simple command or display information about commands.\n"
" \n"
" Runs COMMAND with ARGS suppressing shell function lookup, or display\n"
-" information about the specified COMMANDs. Can be used to invoke "
-"commands\n"
+" information about the specified COMMANDs. Can be used to invoke commands\n"
" on disk when a function with the same name exists.\n"
" \n"
" Options:\n"
@@ -2957,15 +2897,12 @@ msgid ""
msgstr ""
"Выполнение проÑтой команды или вывод информации о командах.\n"
" \n"
-" ВыполнÑет команду Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð°Ð¼Ð¸ без поиÑка функции командного "
-"процеÑÑора\n"
-" или выводит информацию об указанных командах. Можно иÑпользовать Ð´Ð»Ñ "
-"вызова команд\n"
+" ВыполнÑет команду Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð°Ð¼Ð¸ без поиÑка функции командного процеÑÑора\n"
+" или выводит информацию об указанных командах. Можно иÑпользовать Ð´Ð»Ñ Ð²Ñ‹Ð·Ð¾Ð²Ð° команд\n"
" Ñ Ð´Ð¸Ñка, когда Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ñ Ñ‚Ð°ÐºÐ¸Ð¼ именем уже ÑущеÑтвует.\n"
" \n"
" Параметры:\n"
-" -p\tиÑпользовать значение по умолчанию Ð´Ð»Ñ $PATH, чтобы "
-"гарантированно\n"
+" -p\tиÑпользовать значение по умолчанию Ð´Ð»Ñ $PATH, чтобы гарантированно\n"
" \tнайти вÑе Ñтандартные команды\n"
" -v\tвывеÑти опиÑание команды аналогично вÑтроенной команде «type»\n"
" -V\tвывеÑти более подробное опиÑание каждой команды\n"
@@ -2975,6 +2912,42 @@ msgstr ""
#: builtins.c:490
#, 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"
+#| " -n\tmake NAME a reference to the variable named by its value\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 a variable\n"
+#| " assignment error occurs."
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2993,11 +2966,11 @@ msgid ""
" -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 the value of each NAME to lower case on assignment\n"
+" -l\tto convert NAMEs to lower case on assignment\n"
" -n\tmake NAME a reference to the variable named by its value\n"
" -r\tto make NAMEs readonly\n"
" -t\tto make NAMEs have the `trace' attribute\n"
-" -u\tto convert the value of each NAME to upper case on assignment\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"
@@ -3005,8 +2978,7 @@ msgid ""
" Variables with the integer attribute have arithmetic evaluation (see\n"
" the `let' command) performed when the variable is assigned a value.\n"
" \n"
-" When used in a function, `declare' makes NAMEs local, as with the "
-"`local'\n"
+" When used in a function, `declare' makes NAMEs local, as with the `local'\n"
" command. The `-g' option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
@@ -3015,16 +2987,14 @@ msgid ""
msgstr ""
"Указание значений переменных и атрибутов.\n"
" \n"
-" ОбъÑвление переменных и назначение им атрибутов. ЕÑли имена не "
-"указаны,\n"
+" ОбъÑвление переменных и назначение им атрибутов. ЕÑли имена не указаны,\n"
" выводит атрибуты и Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð²Ñех переменных.\n"
" \n"
" Параметры:\n"
" -f\tограничить дейÑтвие или вывеÑти имена функций и их определениÑ\n"
" -F\tвывеÑти только имена функций (а также номер Ñтроки\n"
" \tв иÑходном файле при отладке)\n"
-" -g\tÑоздать глобальные переменные при иÑпользовании в функции "
-"командного процеÑÑора; в противном Ñлучае\n"
+" -g\tÑоздать глобальные переменные при иÑпользовании в функции командного процеÑÑора; в противном Ñлучае\n"
" \tигнорируетÑÑ\n"
" -p\tвывеÑти атрибуты и Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ имени\n"
" \n"
@@ -3033,8 +3003,7 @@ msgstr ""
" -A\tÑделать имена аÑÑоциативными маÑÑивами (еÑли поддерживаетÑÑ)\n"
" -i\tназначить именам атрибут «integer»\n"
" -l\tперевеÑти имена в нижний региÑÑ‚Ñ€ при назначении\n"
-" -n\tÑделать Ð¸Ð¼Ñ ÑÑылкой на переменную Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼, ÑоответÑтвующим её "
-"значению\n"
+" -n\tÑделать Ð¸Ð¼Ñ ÑÑылкой на переменную Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼, ÑоответÑтвующим её значению\n"
" -r\tотключить запиÑÑŒ в имена\n"
" -t\tназначить именам атрибут «trace»\n"
" -l\tперевеÑти имена в верхний региÑÑ‚Ñ€ при назначении\n"
@@ -3043,11 +3012,9 @@ msgstr ""
" Знак «+» вмеÑто «-» отключает указанный атрибут.\n"
" \n"
" Переменные Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð¼ «integer» Ñодержат математичеÑкое выражение (Ñм.\n"
-" команду «let»), которое раÑÑчитываетÑÑ Ð¿Ñ€Ð¸ назначении Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ "
-"переменной.\n"
+" команду «let»), которое раÑÑчитываетÑÑ Ð¿Ñ€Ð¸ назначении Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹.\n"
" \n"
-" При иÑпользовании в функции «declare» делает имена локальными как при "
-"иÑпользовании\n"
+" При иÑпользовании в функции «declare» делает имена локальными как при иÑпользовании\n"
" данной команды. Параметр «-g» отключает Ñто поведение.\n"
" \n"
" СоÑтоÑние выхода:\n"
@@ -3056,6 +3023,10 @@ msgstr ""
#: builtins.c:530
#, fuzzy
+#| msgid ""
+#| "Set variable values and attributes.\n"
+#| " \n"
+#| " Obsolete. See `help declare'."
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -3081,26 +3052,52 @@ msgid ""
msgstr ""
"Определение локальных переменных.\n"
" \n"
-" Создаёт локальную переменную Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ именем и приÑваивает ей "
-"указанное значение. Параметром может быть\n"
+" Создаёт локальную переменную Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ именем и приÑваивает ей указанное значение. Параметром может быть\n"
" любой параметр, принимаемый командой «declare».\n"
" \n"
-" Локальные переменные можно иÑпользовать только внутри функции. Они "
-"видны\n"
+" Локальные переменные можно иÑпользовать только внутри функции. Они видны\n"
" только той функции, в которой они определены, и её дочерним функциÑм.\n"
" \n"
" СоÑтоÑние выхода:\n"
" Возвращает уÑпех, еÑли был указан допуÑтимый параметр, не возникла\n"
-" ошибка приÑÐ²Ð¾ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ или командный процеÑÑор не выполнÑет "
-"функцию."
+" ошибка приÑÐ²Ð¾ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ или командный процеÑÑор не выполнÑет функцию."
#: builtins.c:555
#, fuzzy
+#| msgid ""
+#| "Write arguments to the standard output.\n"
+#| " \n"
+#| " Display the ARGs, separated by a single space character and followed by a\n"
+#| " newline, on the standard output.\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"
+#| " \\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."
msgid ""
"Write arguments to the standard output.\n"
" \n"
-" Display the ARGs, separated by a single space character and followed by "
-"a\n"
+" Display the ARGs, separated by a single space character and followed by a\n"
" newline, on the standard output.\n"
" \n"
" Options:\n"
@@ -3130,19 +3127,15 @@ msgid ""
msgstr ""
"Вывод аргументов на Ñтандартный вывод.\n"
" \n"
-" Выводит аргументы, разделённые пробелом, добавлÑÑ Ð² конце Ñимвол новой "
-"Ñтроки,\n"
+" Выводит аргументы, разделённые пробелом, добавлÑÑ Ð² конце Ñимвол новой Ñтроки,\n"
" на Ñтандартный вывод.\n"
" \n"
" Параметры:\n"
" -n\tне добавлÑÑ‚ÑŒ Ñимвол новой Ñтроки\n"
-" -e\tвключить интерпретацию Ñимволов, Ñкранированных обратной коÑой "
-"чертой\n"
-" -E\tÑвно отключить интерпретацию Ñимволов, Ñкранированных обратной "
-"коÑой чертой\n"
+" -e\tвключить интерпретацию Ñимволов, Ñкранированных обратной коÑой чертой\n"
+" -E\tÑвно отключить интерпретацию Ñимволов, Ñкранированных обратной коÑой чертой\n"
" \n"
-" echo интерпретирует Ñледующие Ñимволы, Ñкранированные обратной коÑой "
-"чертой:\n"
+" echo интерпретирует Ñледующие Ñимволы, Ñкранированные обратной коÑой чертой:\n"
" \\a\tоповещение (звуковой Ñигнал)\n"
" \\b\tbackspace\n"
" \\c\tотключение дальнейшего вывода\n"
@@ -3154,11 +3147,9 @@ msgstr ""
" \\t\tÐ³Ð¾Ñ€Ð¸Ð·Ð¾Ð½Ñ‚Ð°Ð»ÑŒÐ½Ð°Ñ Ñ‚Ð°Ð±ÑƒÐ»ÑциÑ\n"
" \\v\tÐ²ÐµÑ€Ñ‚Ð¸ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ñ‚Ð°Ð±ÑƒÐ»ÑциÑ\n"
" \\\\\tÐ¾Ð±Ñ€Ð°Ñ‚Ð½Ð°Ñ ÐºÐ¾ÑÐ°Ñ Ñ‡ÐµÑ€Ñ‚Ð°\n"
-" \\0nnn\tÑимвол Ñ ASCII-кодом NNN (воÑьмеричным) NNN может быть "
-"длиной\n"
+" \\0nnn\tÑимвол Ñ ASCII-кодом NNN (воÑьмеричным) NNN может быть длиной\n"
" \tот 0 до 3 воÑьмеричных цифр\n"
-" \\xHH\tвоÑьмиразрÑдный Ñимвол, значение которого — HH "
-"(шеÑтнадцатеричное) HH\n"
+" \\xHH\tвоÑьмиразрÑдный Ñимвол, значение которого — HH (шеÑтнадцатеричное) HH\n"
" \tможет быть одной или Ð´Ð²ÑƒÐ¼Ñ ÑˆÐµÑтнадцатеричными цифрами\n"
" \n"
" СоÑтоÑние выхода:\n"
@@ -3178,8 +3169,7 @@ msgid ""
msgstr ""
"Вывод аргументов на Ñтандартный вывод.\n"
" \n"
-" Выводит аргументы на Ñтандартный вывод, добавлÑÑ Ð² конце Ñимвол новой "
-"Ñтроки.\n"
+" Выводит аргументы на Ñтандартный вывод, добавлÑÑ Ð² конце Ñимвол новой Ñтроки.\n"
" \n"
" Параметры:\n"
" -n\tне добавлÑÑ‚ÑŒ Ñимвол новой Ñтроки\n"
@@ -3215,16 +3205,13 @@ msgid ""
msgstr ""
"Включение и отключение вÑтроенных команд командного процеÑÑора.\n"
" \n"
-" Включает и отключает команды, вÑтроенные в командный процеÑÑор. "
-"Отключение позволит\n"
-" выполнить команду Ñ Ð´Ð¸Ñка, название которой Ñовпадает Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸ÐµÐ¼ "
-"вÑтроенной команды,\n"
+" Включает и отключает команды, вÑтроенные в командный процеÑÑор. Отключение позволит\n"
+" выполнить команду Ñ Ð´Ð¸Ñка, название которой Ñовпадает Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸ÐµÐ¼ вÑтроенной команды,\n"
" без ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»Ð½Ð¾Ð³Ð¾ пути к ней.\n"
" \n"
" Параметры:\n"
" -a\tпоказать ÑпиÑок вÑтроенных команд и их ÑоÑтоÑние\n"
-" -n\tотключить вÑе указанные имена или вывеÑти ÑпиÑок отключённых "
-"команд\n"
+" -n\tотключить вÑе указанные имена или вывеÑти ÑпиÑок отключённых команд\n"
" -p\tпоказать ÑпиÑок вÑтроенных команд\n"
" -s\tпоказать только Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ð²Ñтроенных команд «special» Posix\n"
" \n"
@@ -3238,15 +3225,13 @@ msgstr ""
" а не вÑтроенную в командный процеÑÑор, введите «enable -n test».\n"
" \n"
" СоÑтоÑние выхода:\n"
-" Возвращает уÑпех, еÑли указанное Ð¸Ð¼Ñ Ð½Ðµ ÑвлÑетÑÑ Ð²Ñтроенной командой или "
-"не произошла ошибка."
+" Возвращает уÑпех, еÑли указанное Ð¸Ð¼Ñ Ð½Ðµ ÑвлÑетÑÑ Ð²Ñтроенной командой или не произошла ошибка."
#: builtins.c:634
msgid ""
"Execute arguments as a shell command.\n"
" \n"
-" Combine ARGs into a single string, use the result as input to the "
-"shell,\n"
+" Combine ARGs into a single string, use the result as input to the shell,\n"
" and execute the resulting commands.\n"
" \n"
" Exit Status:\n"
@@ -3309,8 +3294,7 @@ msgstr ""
" буквы идёт двоеточие, ÑчитаетÑÑ, что у параметра еÑÑ‚ÑŒ аргумент,\n"
" который должен быть отделён пробелом.\n"
" \n"
-" При каждом Ñвоём вызове getopts помеÑтит Ñледующий параметр в "
-"переменную\n"
+" При каждом Ñвоём вызове getopts помеÑтит Ñледующий параметр в переменную\n"
" $имÑ, проинициализировав Ñто имÑ, еÑли оно не ÑущеÑтвует,\n"
" и проиндекÑирует Ñледующий обрабатываемый аргумент в переменной\n"
" $OPTIND. ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $OPTIND инициализируетÑÑ Ð¿Ñ€Ð¸ каждом вызове\n"
@@ -3318,40 +3302,51 @@ msgstr ""
" getopts помещает Ñтот аргумент в переменную $OPTARG.\n"
" \n"
" getopts Ñообщает об ошибках Ð´Ð²ÑƒÐ¼Ñ ÑпоÑобами. ЕÑли первый Ñимвол\n"
-" в «Ñтроке_параметров» ÑвлÑетÑÑ Ð´Ð²Ð¾ÐµÑ‚Ð¾Ñ‡Ð¸ÐµÐ¼, getopts включает режим "
-"молчаниÑ. Ð’ Ñтом\n"
+" в «Ñтроке_параметров» ÑвлÑетÑÑ Ð´Ð²Ð¾ÐµÑ‚Ð¾Ñ‡Ð¸ÐµÐ¼, getopts включает режим молчаниÑ. Ð’ Ñтом\n"
" режиме ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾Ð± ошибках не выводÑÑ‚ÑÑ. ЕÑли указан неверный\n"
" параметр, getopts помещает Ñимвол параметра в переменную $OPTARG. ЕÑли\n"
" обÑзательный аргумент не найден, getopts помещает «:» в «имÑ»\n"
-" и задаёт Ð´Ð»Ñ $OPTARG Ñимвол найденного параметра. ЕÑли getopts не в "
-"режиме\n"
+" и задаёт Ð´Ð»Ñ $OPTARG Ñимвол найденного параметра. ЕÑли getopts не в режиме\n"
" молчаниÑ, и был указан неверный параметр, getopts помещает «?»\n"
-" в ÐÐЗВÐÐИЕ и удалÑет переменную OPTARG. ЕÑли обÑзательный аргумент не "
-"найден, в ÐÐЗВÐÐИЕ\n"
+" в ÐÐЗВÐÐИЕ и удалÑет переменную OPTARG. ЕÑли обÑзательный аргумент не найден, в ÐÐЗВÐÐИЕ\n"
" помещаетÑÑ Â«?», Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ OPTARG удалÑетÑÑ Ð¸ выводитÑÑ Ð´Ð¸Ð°Ð³Ð½Ð¾ÑтичеÑкое\n"
" Ñообщение.\n"
" \n"
" ЕÑли Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ OPTERR имеет значение 0, getopts отключает\n"
" вывод Ñообщений об ошибках, даже еÑли первый Ñимвол переменной\n"
-" OPTSTRING не ÑвлÑетÑÑ Ð´Ð²Ð¾ÐµÑ‚Ð¾Ñ‡Ð¸ÐµÐ¼. По умолчанию Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ OPTERR имеет "
-"значение 1.\n"
+" OPTSTRING не ÑвлÑетÑÑ Ð´Ð²Ð¾ÐµÑ‚Ð¾Ñ‡Ð¸ÐµÐ¼. По умолчанию Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ OPTERR имеет значение 1.\n"
" \n"
" Getopts обычно анализирует позиционные параметры ($0–$9), но еÑли\n"
" задано больше аргументов, анализируютÑÑ Ð¿Ð¾Ñледние.\n"
" \n"
" СоÑтоÑние выхода:\n"
-" Возвращает уÑпех, еÑли найден параметр. Возвращает ошибку, еÑли "
-"доÑтигнут\n"
+" Возвращает уÑпех, еÑли найден параметр. Возвращает ошибку, еÑли доÑтигнут\n"
" конец параметров или возникла ошибка."
#: builtins.c:688
#, fuzzy
+#| 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."
msgid ""
"Replace the shell with the given command.\n"
" \n"
" Execute COMMAND, replacing this shell with the specified program.\n"
-" ARGUMENTS become the arguments to COMMAND. If COMMAND is not "
-"specified,\n"
+" ARGUMENTS become the arguments to COMMAND. If COMMAND is not specified,\n"
" any redirections take effect in the current shell.\n"
" \n"
" Options:\n"
@@ -3359,20 +3354,16 @@ msgid ""
" -c\texecute COMMAND with an empty environment\n"
" -l\tplace a dash in the zeroth argument to COMMAND\n"
" \n"
-" If the command cannot be executed, a non-interactive shell exits, "
-"unless\n"
+" If the command cannot be executed, a non-interactive shell exits, unless\n"
" the shell option `execfail' is set.\n"
" \n"
" Exit Status:\n"
-" Returns success unless COMMAND is not found or a redirection error "
-"occurs."
+" Returns success unless COMMAND is not found or a redirection error occurs."
msgstr ""
"Замена командного процеÑÑора указанной командой.\n"
" \n"
-" ВыполнÑет команду, заменÑÑ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ð¹ командный процеÑÑор указанной "
-"программой.\n"
-" Указанные аргументы ÑтановÑÑ‚ÑÑ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð°Ð¼Ð¸ Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹. ЕÑли команда не "
-"указана,\n"
+" ВыполнÑет команду, заменÑÑ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ð¹ командный процеÑÑор указанной программой.\n"
+" Указанные аргументы ÑтановÑÑ‚ÑÑ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð°Ð¼Ð¸ Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹. ЕÑли команда не указана,\n"
" вÑе Ð¿ÐµÑ€ÐµÐ½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð±ÑƒÐ´ÐµÑ‚ выполнÑÑ‚ÑŒÑÑ Ð² текущем командном процеÑÑоре.\n"
" \n"
" Параметры:\n"
@@ -3384,8 +3375,7 @@ msgstr ""
" закроетÑÑ (еÑли только на задан «execfail»).\n"
" \n"
" СоÑтоÑние выхода:\n"
-" Возвращает уÑпех, еÑли команда не была найдена или не возникла ошибка "
-"перенаправлениÑ."
+" Возвращает уÑпех, еÑли команда не была найдена или не возникла ошибка перенаправлениÑ."
#: builtins.c:709
msgid ""
@@ -3403,8 +3393,7 @@ msgstr ""
msgid ""
"Exit a login shell.\n"
" \n"
-" Exits a login shell with exit status N. Returns an error if not "
-"executed\n"
+" Exits a login shell with exit status N. Returns an error if not executed\n"
" in a login shell."
msgstr ""
"Выход из командного процеÑÑора login.\n"
@@ -3416,15 +3405,13 @@ msgstr ""
msgid ""
"Display or execute commands from the history list.\n"
" \n"
-" fc is used to list or edit and re-execute commands from the history "
-"list.\n"
+" fc is used to list or edit and re-execute commands from the history list.\n"
" FIRST and LAST can be numbers specifying the range, or FIRST can be a\n"
" string, which means the most recent command beginning with that\n"
" string.\n"
" \n"
" Options:\n"
-" -e ENAME\tselect which editor to use. Default is FCEDIT, then "
-"EDITOR,\n"
+" -e ENAME\tselect which editor to use. Default is FCEDIT, then EDITOR,\n"
" \t\tthen vi\n"
" -l \tlist lines instead of editing\n"
" -n\tomit line numbers when listing\n"
@@ -3438,15 +3425,12 @@ msgid ""
" the last command.\n"
" \n"
" Exit Status:\n"
-" Returns success or status of executed command; non-zero if an error "
-"occurs."
+" Returns success or status of executed command; non-zero if an error occurs."
msgstr ""
"Отображение или выполнение команд из журнала.\n"
" \n"
-" fc выводит ÑпиÑок команд из журнала или позволÑет изменить и повторно "
-"выполнить их.\n"
-" Ðргументы «перваÑ» и «поÑледнÑÑ» могут быть чиÑлами, определÑющими "
-"диапазон.\n"
+" fc выводит ÑпиÑок команд из журнала или позволÑет изменить и повторно выполнить их.\n"
+" Ðргументы «перваÑ» и «поÑледнÑÑ» могут быть чиÑлами, определÑющими диапазон.\n"
" Ðргумент «перваÑ» также может быть Ñтрокой, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¾Ð·Ð½Ð°Ñ‡Ð°ÐµÑ‚\n"
" поÑледнюю команду, начинающуюÑÑ Ñ Ñтой Ñтроки.\n"
" \n"
@@ -3461,13 +3445,11 @@ msgstr ""
" выполнÑетÑÑ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ поÑле замены ÑтараÑ=новаÑ.\n"
" \n"
" Полезный пÑевдоним Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹Â â€” r='fc -s'. Так еÑли ввеÑти «r cc»,\n"
-" будет выполнена поÑледнÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°, начинающаÑÑÑ Ñ Â«cc», а еÑли ввеÑти "
-"«r»,\n"
+" будет выполнена поÑледнÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°, начинающаÑÑÑ Ñ Â«cc», а еÑли ввеÑти «r»,\n"
" будет выполнена поÑледнÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°.\n"
" \n"
" СоÑтоÑние выхода:\n"
-" Возвращает уÑпех или ÑоÑтоÑние выполненной команды. Ð’ Ñлучае ошибки "
-"возвращает ненулевое ÑоÑтоÑние."
+" Возвращает уÑпех или ÑоÑтоÑние выполненной команды. Ð’ Ñлучае ошибки возвращает ненулевое ÑоÑтоÑние."
#: builtins.c:758
msgid ""
@@ -3487,17 +3469,14 @@ msgstr ""
" текущее задание.\n"
" \n"
" СоÑтоÑние выхода:\n"
-" Возвращает ÑоÑтоÑние команды, переведённой в интерактивный режим, или "
-"ошибку, еÑли возникла ошибка."
+" Возвращает ÑоÑтоÑние команды, переведённой в интерактивный режим, или ошибку, еÑли возникла ошибка."
#: builtins.c:773
msgid ""
"Move jobs to the background.\n"
" \n"
-" Place the jobs identified by each JOB_SPEC in the background, as if "
-"they\n"
-" had been started with `&'. If JOB_SPEC is not present, the shell's "
-"notion\n"
+" Place the jobs identified by each JOB_SPEC in the background, as if they\n"
+" had been started with `&'. If JOB_SPEC is not present, the shell's notion\n"
" of the current job is used.\n"
" \n"
" Exit Status:\n"
@@ -3510,17 +3489,35 @@ msgstr ""
" текущего заданиÑ.\n"
" \n"
" СоÑтоÑние выхода:\n"
-" Возвращает уÑпех, еÑли не включено управление заданиÑми или не произошла "
-"ошибка."
+" Возвращает уÑпех, еÑли не включено управление заданиÑми или не произошла ошибка."
#: builtins.c:787
#, fuzzy
+#| 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 as 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."
msgid ""
"Remember or display program locations.\n"
" \n"
" Determine and remember the full pathname of each command NAME. If\n"
-" no arguments are given, information about remembered commands is "
-"displayed.\n"
+" no arguments are given, information about remembered commands is displayed.\n"
" \n"
" Options:\n"
" -d\tforget the remembered location of each NAME\n"
@@ -3555,11 +3552,28 @@ msgstr ""
" \t\tзапомненных команд.\n"
" \n"
" СоÑтоÑние выхода:\n"
-" Возвращает уÑпех, еÑли команда была найдена или был указан допуÑтимый "
-"параметр."
+" Возвращает уÑпех, еÑли команда была найдена или был указан допуÑтимый параметр."
#: builtins.c:812
#, fuzzy
+#| 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."
msgid ""
"Display information about builtin commands.\n"
" \n"
@@ -3574,17 +3588,15 @@ msgid ""
" \t\tPATTERN\n"
" \n"
" Arguments:\n"
-" PATTERN\tPattern specifying a help topic\n"
+" PATTERN\tPattern specifiying a help topic\n"
" \n"
" Exit Status:\n"
-" Returns success unless PATTERN is not found or an invalid option is "
-"given."
+" Returns success unless PATTERN is not found or an invalid option is given."
msgstr ""
"Вывод информации о вÑтроенных командах.\n"
" \n"
" Показывает краткую Ñправку о вÑтроенных командах. ЕÑли указан\n"
-" шаблон, выводит подробную Ñправку по вÑем командам, удовлетворÑющим "
-"шаблону.\n"
+" шаблон, выводит подробную Ñправку по вÑем командам, удовлетворÑющим шаблону.\n"
" Ð’ противном Ñлучае выводитÑÑ ÑпиÑок разделов Ñправки.\n"
" \n"
" Параметры:\n"
@@ -3597,11 +3609,40 @@ msgstr ""
" ШÐБЛОÐ\tшаблон, определÑющий раздел Ñправки\n"
" \n"
" СоÑтоÑние выхода:\n"
-" Возвращает уÑпех, еÑли был найден шаблон или был указан допуÑтимый "
-"параметр."
+" Возвращает уÑпех, еÑли был найден шаблон или был указан допуÑтимый параметр."
#: builtins.c:836
#, fuzzy
+#| 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."
msgid ""
"Display or manipulate the history list.\n"
" \n"
@@ -3610,8 +3651,7 @@ msgid ""
" \n"
" Options:\n"
" -c\tclear the history list by deleting all of the entries\n"
-" -d offset\tdelete the history entry at position OFFSET. Negative\n"
-" \t\toffsets count back from the end of the history list\n"
+" -d offset\tdelete the history entry at position 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"
@@ -3629,8 +3669,7 @@ msgid ""
" \n"
" If the HISTTIMEFORMAT variable is set and not null, its value is used\n"
" as a format string for strftime(3) to print the time stamp associated\n"
-" with each displayed history entry. No time stamps are printed "
-"otherwise.\n"
+" with each displayed history entry. No time stamps are printed otherwise.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or an error occurs."
@@ -3638,16 +3677,14 @@ msgstr ""
"Отображение или изменение журнала команд.\n"
" \n"
" Выводит журнал команд Ñ Ð½Ð¾Ð¼ÐµÑ€Ð°Ð¼Ð¸ Ñтрок и звёздочками (*) перед вÑеми\n"
-" изменёнными запиÑÑми. С аргументом N показываютÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ поÑледние N "
-"запиÑей.\n"
+" изменёнными запиÑÑми. С аргументом N показываютÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ поÑледние N запиÑей.\n"
" \n"
" Параметры:\n"
" -c\tочиÑтить журнал, удалив из него вÑе запиÑи\n"
" -d Ñмещение\tудалить запиÑÑŒ журнала по указанному Ñмещению\n"
" \n"
" -a\tдобавить журнал текущего ÑеанÑа в файл журнала\n"
-" -n\tпрочитать вÑе запиÑи, которые ещё не были прочитаны из файла "
-"журнала\n"
+" -n\tпрочитать вÑе запиÑи, которые ещё не были прочитаны из файла журнала\n"
" -r\tпрочитать файл журнала и добавить его Ñодержимое\n"
" \tв журнал\n"
" -w\tзапиÑать текущий журнал в файл журнала\n"
@@ -3658,21 +3695,38 @@ msgstr ""
" -s\tдобавить аргументы в журнал как одну запиÑÑŒ\n"
" \n"
" ЕÑли указан файл, он иÑпользуетÑÑ ÐºÐ°Ðº файл журнала. Ð’ противном Ñлучае\n"
-" еÑли $HISTFILE Ñодержит значение, иÑпользуетÑÑ Ñтот файл, иначе — файл "
-"~/.bash_history.\n"
+" еÑли $HISTFILE Ñодержит значение, иÑпользуетÑÑ Ñтот файл, иначе — файл ~/.bash_history.\n"
" \n"
-" ЕÑли Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $HISTTIMEFORMAT задана и не ÑвлÑетÑÑ Ð¿ÑƒÑтой, её "
-"значение\n"
+" ЕÑли Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $HISTTIMEFORMAT задана и не ÑвлÑетÑÑ Ð¿ÑƒÑтой, её значение\n"
" иÑпользуетÑÑ ÐºÐ°Ðº Ñтрока Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ñ strftime(3) Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° метки\n"
-" времени Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ показанной запиÑи журнала. Ð’ противном Ñлучае метки "
-"времени не будут показаны.\n"
+" времени Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ показанной запиÑи журнала. Ð’ противном Ñлучае метки времени не будут показаны.\n"
" \n"
" СоÑтоÑние выхода:\n"
-" Возвращает уÑпех, еÑли был указан допуÑтимый параметр или не возникла "
-"ошибка."
+" Возвращает уÑпех, еÑли был указан допуÑтимый параметр или не возникла ошибка."
-#: builtins.c:873
+#: builtins.c:872
#, fuzzy
+#| 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."
msgid ""
"Display status of jobs.\n"
" \n"
@@ -3697,14 +3751,11 @@ msgid ""
msgstr ""
"Отображение ÑоÑтоÑÐ½Ð¸Ñ Ð·Ð°Ð´Ð°Ð½Ð¸Ð¹.\n"
" \n"
-" Выводит ÑпиÑок активных заданий. ЕÑли указан номер заданиÑ, выводитÑÑ "
-"только Ñто задание.\n"
-" ЕÑли не указать параметры, будет показано ÑоÑтоÑние вÑех активных "
-"заданий.\n"
+" Выводит ÑпиÑок активных заданий. ЕÑли указан номер заданиÑ, выводитÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ñто задание.\n"
+" ЕÑли не указать параметры, будет показано ÑоÑтоÑние вÑех активных заданий.\n"
" \n"
" Параметры:\n"
-" -l\tпоказать идентификаторы процеÑÑов в дополнение к обычной "
-"информации\n"
+" -l\tпоказать идентификаторы процеÑÑов в дополнение к обычной информации\n"
" -n\tпоказать только те процеÑÑÑ‹, у которых изменилоÑÑŒ ÑоÑтоÑние\n"
" \tÑ Ð¼Ð¾Ð¼ÐµÐ½Ñ‚Ð° поÑле поÑледнего уведомлениÑ\n"
" -p\tпоказать только идентификаторы процеÑÑов\n"
@@ -3716,12 +3767,25 @@ msgstr ""
" лидера группы процеÑÑов заданиÑ.\n"
" \n"
" СоÑтоÑние выхода:\n"
-" Возвращает уÑпех, еÑли был указан допуÑтимый параметр или не возникла "
-"ошибка.\n"
+" Возвращает уÑпех, еÑли был указан допуÑтимый параметр или не возникла ошибка.\n"
" ЕÑли указан параметр -x, возвращает ÑоÑтоÑние выхода команды."
-#: builtins.c:900
+#: builtins.c:899
#, fuzzy
+#| 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."
msgid ""
"Remove jobs from current shell.\n"
" \n"
@@ -3751,8 +3815,27 @@ msgstr ""
" СоÑтоÑние выхода:\n"
" Возвращает уÑпех, еÑли был указан допуÑтимый параметр или задание."
-#: builtins.c:919
+#: builtins.c:918
#, fuzzy
+#| 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."
msgid ""
"Send a signal to a job.\n"
" \n"
@@ -3783,29 +3866,24 @@ msgstr ""
" Параметры:\n"
" -s Ñигнал\tназвание Ñигнала\n"
" -n Ñигнал\tномер Ñигнала\n"
-" -l\t\tпоказывает Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ñигналов; еÑли поÑле аргументов указано «-"
-"l»,\n"
-" \tони ÑчитаютÑÑ Ð½Ð¾Ð¼ÐµÑ€Ð°Ð¼Ð¸ Ñигналов, Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… необходимо показать "
-"названиÑ\n"
+" -l\t\tпоказывает Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ñигналов; еÑли поÑле аргументов указано «-l»,\n"
+" \tони ÑчитаютÑÑ Ð½Ð¾Ð¼ÐµÑ€Ð°Ð¼Ð¸ Ñигналов, Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… необходимо показать названиÑ\n"
" \n"
-" kill — Ñто вÑÑ‚Ñ€Ð¾ÐµÐ½Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°, Ð¿Ñ€ÐµÐ´Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ð°Ñ Ð´Ð»Ñ Ð´Ð²ÑƒÑ… задач: "
-"иÑпользовать\n"
+" kill — Ñто вÑÑ‚Ñ€Ð¾ÐµÐ½Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°, Ð¿Ñ€ÐµÐ´Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ð°Ñ Ð´Ð»Ñ Ð´Ð²ÑƒÑ… задач: иÑпользовать\n"
" номера заданий вмеÑто номеров процеÑÑов и убивать процеÑÑÑ‹\n"
" при доÑтижении предельного чиÑла процеÑÑов.\n"
" \n"
" СоÑтоÑние выхода:\n"
-" Возвращает уÑпех, еÑли был указан допуÑтимый параметр или не возникла "
-"ошибка."
+" Возвращает уÑпех, еÑли был указан допуÑтимый параметр или не возникла ошибка."
-#: builtins.c:943
+#: builtins.c:942
msgid ""
"Evaluate arithmetic expressions.\n"
" \n"
" Evaluate each ARG as an arithmetic expression. Evaluation is done in\n"
" fixed-width integers with no check for overflow, though division by 0\n"
" is trapped and flagged as an error. The following list of operators is\n"
-" grouped into levels of equal-precedence operators. The levels are "
-"listed\n"
+" grouped into levels of equal-precedence operators. The levels are listed\n"
" in order of decreasing precedence.\n"
" \n"
" \tid++, id--\tvariable post-increment, post-decrement\n"
@@ -3843,11 +3921,9 @@ msgid ""
msgstr ""
"РаÑчёт математичеÑких выражений.\n"
" \n"
-" ВыполнÑет раÑчёт вÑех аргументов в математичеÑком выражении. РаÑчёт "
-"выполнÑетÑÑ\n"
+" ВыполнÑет раÑчёт вÑех аргументов в математичеÑком выражении. РаÑчёт выполнÑетÑÑ\n"
" Ð´Ð»Ñ Ñ†ÐµÐ»Ñ‹Ñ… чиÑел фикÑированной ширины Ñ Ð±ÐµÐ· проверки на переполнение.\n"
-" Однако деление на 0 перехватываетÑÑ Ð¸ выдаётÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°. Указанные ниже "
-"операторы объединены\n"
+" Однако деление на 0 перехватываетÑÑ Ð¸ выдаётÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°. Указанные ниже операторы объединены\n"
" в группы Ñ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñ‹Ð¼ приоритетом. Группы перечиÑлены\n"
" в порÑдке ÑƒÐ¼ÐµÐ½ÑŒÑˆÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ð¾Ñ€Ð¸Ñ‚ÐµÑ‚Ð°.\n"
" \n"
@@ -3872,10 +3948,8 @@ msgstr ""
" \t+=, -=, <<=, >>=,\n"
" \t&=, ^=, |=\tприÑвоение\n"
" \n"
-" в качеÑтве операндов можно иÑпользовать переменные командного "
-"процеÑÑора. Ðазвание переменной\n"
-" заменÑетÑÑ ÐµÑ‘ значением (приводитÑÑ Ðº целому чиÑлу фикÑированной "
-"ширины)\n"
+" в качеÑтве операндов можно иÑпользовать переменные командного процеÑÑора. Ðазвание переменной\n"
+" заменÑетÑÑ ÐµÑ‘ значением (приводитÑÑ Ðº целому чиÑлу фикÑированной ширины)\n"
" в выражении. У переменной не должен быть включён атрибут integer,\n"
" чтобы её можно было иÑпользовать в выражении.\n"
" \n"
@@ -3884,38 +3958,74 @@ msgstr ""
" выше правила ÑтаршинÑтва.\n"
" \n"
" СоÑтоÑние выхода:\n"
-" ЕÑли поÑледний ÐРГУМЕÐТ имеет значение 0, let возвращает 1. Ð’ противном "
-"Ñлучае let возвращает 0."
+" ЕÑли поÑледний ÐРГУМЕÐТ имеет значение 0, let возвращает 1. Ð’ противном Ñлучае let возвращает 0."
-#: builtins.c:988
+#: builtins.c:987
#, 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 within 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 immediately,\n"
+#| " \t\twithout trying to read any data, returning success only if\n"
+#| " \t\tinput 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"
+#| " (in which case it's greater than 128), a variable assignment error occurs,\n"
+#| " or an invalid file descriptor is supplied as the argument to -u."
msgid ""
"Read a line from the standard input and split it into fields.\n"
" \n"
" Reads a single line from the standard input, or from file descriptor FD\n"
-" if the -u option is supplied. The line is split into fields as with "
-"word\n"
+" if the -u option is supplied. The line is split into fields as with word\n"
" splitting, and the first word is assigned to the first NAME, the second\n"
" word to the second NAME, and so on, with any leftover words assigned to\n"
-" the last NAME. Only the characters found in $IFS are recognized as "
-"word\n"
+" the last NAME. Only the characters found in $IFS are recognized as word\n"
" delimiters.\n"
" \n"
-" If no NAMEs are supplied, the line read is stored in the REPLY "
-"variable.\n"
+" If no NAMEs are supplied, the line read is stored in the REPLY variable.\n"
" \n"
" Options:\n"
" -a array\tassign the words read to sequential indices of the array\n"
" \t\tvariable ARRAY, starting at zero\n"
" -d delim\tcontinue until the first character of DELIM is read, rather\n"
" \t\tthan newline\n"
-" -e\tuse Readline to obtain the line\n"
+" -e\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\n"
" \t\tNCHARS characters are read before the delimiter\n"
-" -N nchars\treturn only after reading exactly NCHARS characters, "
-"unless\n"
+" -N nchars\treturn only after reading exactly NCHARS characters, unless\n"
" \t\tEOF is encountered or read times out, ignoring any\n"
" \t\tdelimiter\n"
" -p prompt\toutput the string PROMPT without a trailing newline before\n"
@@ -3933,68 +4043,52 @@ msgid ""
" -u fd\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"
-" (in which case it's greater than 128), a variable assignment error "
-"occurs,\n"
+" The return code is zero, unless end-of-file is encountered, read times out\n"
+" (in which case it's greater than 128), a variable assignment error occurs,\n"
" or an invalid file descriptor is supplied as the argument to -u."
msgstr ""
"Чтение Ñтроки Ñо Ñтандартного ввода и разделение её на полÑ.\n"
" \n"
" Читает одну Ñтроку Ñо Ñтандартного ввода или из файлового деÑкриптора,\n"
" еÑли указан параметр -u. Строка разделÑетÑÑ Ð½Ð° Ð¿Ð¾Ð»Ñ Ð¿Ð¾ Ñловам.\n"
-" Первое Ñлово приÑваиваетÑÑ Ð¿ÐµÑ€Ð²Ð¾Ð¼Ñƒ указанному имени, второе Ñлово — "
-"второму\n"
+" Первое Ñлово приÑваиваетÑÑ Ð¿ÐµÑ€Ð²Ð¾Ð¼Ñƒ указанному имени, второе Ñлово — второму\n"
" имени и так далее.\n"
-" ОÑтавшиеÑÑ Ñлова приÑваиваютÑÑ Ð¿Ð¾Ñледнему указанному имени. Ð’ качеÑтве "
-"разделителей Ñлов иÑпользуютÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ñимволы\n"
+" ОÑтавшиеÑÑ Ñлова приÑваиваютÑÑ Ð¿Ð¾Ñледнему указанному имени. Ð’ качеÑтве разделителей Ñлов иÑпользуютÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ñимволы\n"
" из переменной $IFS.\n"
" \n"
-" ЕÑли имена не указаны, Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ð°Ñ Ñтрока ÑохранÑетÑÑ Ð² переменной "
-"$REPLY.\n"
+" ЕÑли имена не указаны, Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ð°Ñ Ñтрока ÑохранÑетÑÑ Ð² переменной $REPLY.\n"
" \n"
" Параметры:\n"
" -a маÑÑив\tпоÑледовательно приÑвоить прочитанные Ñлова указателÑм\n"
" \t\tмаÑÑива, Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ Ð½ÑƒÐ»Ñ\n"
" -d разделитель\tпродолжить до первого разделителÑ,\n"
" \t\tа не до Ñимвола новой Ñтроки\n"
-" -e\t\tÑ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ readline получить Ñтроку в интерактивном командном "
-"процеÑÑоре\n"
+" -e\t\tÑ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ readline получить Ñтроку в интерактивном командном процеÑÑоре\n"
" -i текÑÑ‚\t\tиÑпользовать текÑÑ‚ в качеÑтве иÑходного Ð´Ð»Ñ readline\n"
-" -n чиÑло_знаков\tвыполнить возврат поÑле Ð¿Ñ€Ð¾Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ñ‡Ð¸Ñла знаков, а не "
-"ждать\n"
-" \t\tÑимвола новой Ñтроки; учитывать разделитель, еÑли до него было "
-"прочитано\n"
+" -n чиÑло_знаков\tвыполнить возврат поÑле Ð¿Ñ€Ð¾Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ñ‡Ð¸Ñла знаков, а не ждать\n"
+" \t\tÑимвола новой Ñтроки; учитывать разделитель, еÑли до него было прочитано\n"
" \t\tменьше указанного чиÑла знаков\n"
-" -N чиÑло_знаков\tвыполнить возврат только поÑле Ð¿Ñ€Ð¾Ñ‡Ñ‚ÐµÐ½Ð¸Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð³Ð¾ "
-"чиÑла знаков,\n"
-" \t\tеÑли только не был получен конец Ñтроки или не иÑтекло Ð²Ñ€ÐµÐ¼Ñ "
-"ожиданиÑ, Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÑ Ð²Ñе разделители\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Ñтрока не была прочитана за указанное чиÑло Ñекунд Ð’ переменной "
-"$TMOUT хранитÑÑ\n"
+" -t тайм-аут\tпрекратить ожидание и вывеÑти ошибку, еÑли Ð¿Ð¾Ð»Ð½Ð°Ñ Ð²Ñ…Ð¾Ð´Ð½Ð°Ñ\n"
+" \t\tÑтрока не была прочитана за указанное чиÑло Ñекунд Ð’ переменной $TMOUT хранитÑÑ\n"
" \t\tзначение тайм-аута по умолчанию. Ð’Ñ€ÐµÐ¼Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ\n"
-" \t\tможет быть дробным чиÑлом. ЕÑли тайм-аут равен 0, read немедленно "
-"выполнÑет возврат,\n"
+" \t\tможет быть дробным чиÑлом. ЕÑли тайм-аут равен 0, read немедленно выполнÑет возврат,\n"
" \t\tне пытаÑÑÑŒ прочитать никакие данные. УÑпех возвращаетÑÑ,\n"
-" \t\tтолько еÑли входные данные доÑтупны по указанному файловому "
-"деÑкриптору. \n"
+" \t\tтолько еÑли входные данные доÑтупны по указанному файловому деÑкриптору. \n"
" \t\tСоÑтоÑние выхода больше 128, еÑли Ð²Ñ€ÐµÐ¼Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð±Ñ‹Ð»Ð¾ превышено.\n"
" -u fd\t\tчитать из файлового деÑкриптора, а не Ñо Ñтандартного входа\n"
" \n"
" СоÑтоÑние выхода:\n"
-" СоÑтоÑние выхода будет нулевым, еÑли не был вÑтречен конец файла, не "
-"иÑтекло Ð²Ñ€ÐµÐ¼Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ\n"
-" (в Ñтом Ñлучае ÑоÑтоÑние выхода будет больше 128), не возникла ошибка "
-"приÑÐ²Ð¾ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹\n"
+" СоÑтоÑние выхода будет нулевым, еÑли не был вÑтречен конец файла, не иÑтекло Ð²Ñ€ÐµÐ¼Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ\n"
+" (в Ñтом Ñлучае ÑоÑтоÑние выхода будет больше 128), не возникла ошибка приÑÐ²Ð¾ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹\n"
" или не был указан недопуÑтимый файловый деÑкриптор как аргумент Ð´Ð»Ñ -u."
-#: builtins.c:1035
+#: builtins.c:1034
msgid ""
"Return from a shell function.\n"
" \n"
@@ -4012,11 +4106,91 @@ msgstr ""
" поÑледней команды, выполненной в функции или Ñкрипте.\n"
" \n"
" СоÑтоÑние выхода:\n"
-" Возвращает N или ошибку, еÑли командный процеÑÑор не выполнÑет функцию "
-"или Ñкрипт."
+" Возвращает N или ошибку, еÑли командный процеÑÑор не выполнÑет функцию или Ñкрипт."
-#: builtins.c:1048
+#: builtins.c:1047
#, 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 resolve 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."
msgid ""
"Set or unset values of shell options and positional parameters.\n"
" \n"
@@ -4059,8 +4233,7 @@ msgid ""
" physical same as -P\n"
" pipefail the return value of a pipeline is the status of\n"
" the last command to exit with a non-zero status,\n"
-" or zero if no command exited with a non-zero "
-"status\n"
+" or zero if no command exited with a non-zero status\n"
" posix change the behavior of bash where the default\n"
" operation differs from the Posix standard to\n"
" match the standard\n"
@@ -4084,8 +4257,7 @@ msgid ""
" by default when the shell is interactive.\n"
" -P If set, do not resolve symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
-" -T If set, the DEBUG and RETURN traps are inherited by shell "
-"functions.\n"
+" -T If set, the DEBUG and RETURN traps are 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"
@@ -4101,19 +4273,15 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is given."
msgstr ""
-"ПриÑвоение или удаление значений параметров командного процеÑÑора и "
-"позиционных параметров.\n"
+"ПриÑвоение или удаление значений параметров командного процеÑÑора и позиционных параметров.\n"
" \n"
-" ИзменÑет значение атрибутов командного процеÑÑора и позиционных "
-"параметров или\n"
+" ИзменÑет значение атрибутов командного процеÑÑора и позиционных параметров или\n"
" выводит Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ð¸ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ñ… командного процеÑÑора.\n"
" \n"
" Параметры:\n"
-" -a пометить переменные, которые были изменены или Ñозданы Ð´Ð»Ñ "
-"ÑкÑпорта\n"
+" -a пометить переменные, которые были изменены или Ñозданы Ð´Ð»Ñ ÑкÑпорта\n"
" -b немедленно уведомить о завершении заданиÑ\n"
-" -e немедленно выйти, еÑли команда выполнÑет выход Ñ Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ "
-"ÑоÑтоÑнием\n"
+" -e немедленно выйти, еÑли команда выполнÑет выход Ñ Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ ÑоÑтоÑнием\n"
" -f отключить генерацию имён файлов (подÑтановка)\n"
" -h запомнить раÑположение команд, как они выглÑдели ранее\n"
" -k помеÑтить в окружение Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹ вÑе аргументы приÑвоениÑ,\n"
@@ -4124,19 +4292,16 @@ msgstr ""
" Задаёт переменную, ÑоответÑтвующую названию параметра:\n"
" allexport Ñквивалент -a\n"
" braceexpand Ñквивалент -B\n"
-" emacs иÑпользовать Ñтиль emacs Ð´Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ "
-"Ñтрок\n"
+" emacs иÑпользовать Ñтиль emacs Ð´Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñтрок\n"
" errexit Ñквивалент -e\n"
" errtrace Ñквивалент -E\n"
" functrace Ñквивалент -T\n"
" hashall Ñквивалент -h\n"
" histexpand Ñквивалент -H\n"
" history включить журнал команд\n"
-" ignoreeof не закрывать командный процеÑÑор поÑле Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ "
-"конца файла\n"
+" ignoreeof не закрывать командный процеÑÑор поÑле Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ†Ð° файла\n"
" interactive-comments\n"
-" разрешить показ комментариев в интерактивных "
-"командах\n"
+" разрешить показ комментариев в интерактивных командах\n"
" keyword Ñквивалент -k\n"
" monitor Ñквивалент -m\n"
" noclobber Ñквивалент -C\n"
@@ -4147,22 +4312,17 @@ msgstr ""
" nounset Ñквивалент -u\n"
" onecmd Ñквивалент -t\n"
" physical Ñквивалент -P\n"
-" pipefail возвращаемое значение конвейера ÑвлÑетÑÑ "
-"ÑоÑтоÑнием\n"
-" поÑледней команды, завершившейÑÑ Ñ Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ "
-"ÑоÑтоÑнием,\n"
-" или нулём, еÑли не было команды, завершившейÑÑ Ñ "
-"ненулевым ÑоÑтоÑнием\n"
+" pipefail возвращаемое значение конвейера ÑвлÑетÑÑ ÑоÑтоÑнием\n"
+" поÑледней команды, завершившейÑÑ Ñ Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ ÑоÑтоÑнием,\n"
+" или нулём, еÑли не было команды, завершившейÑÑ Ñ Ð½ÐµÐ½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ ÑоÑтоÑнием\n"
" posix изменить поведение bash там, где операции\n"
-" по умолчанию отличаютÑÑ Ð¾Ñ‚ Ñтандарта Posix, "
-"чтобы\n"
+" по умолчанию отличаютÑÑ Ð¾Ñ‚ Ñтандарта Posix, чтобы\n"
" ÑоответÑтвовать Ñтому Ñтандарту\n"
" privileged Ñквивалент -p\n"
" verbose Ñквивалент -v\n"
" vi иÑпользовать Ñтиль vi Ð´Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñтрок\n"
" xtrace Ñквивалент -x\n"
-" -p Включён, когда реальный и Ñффективный идентификаторы Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ "
-"не Ñовпадают.\n"
+" -p Включён, когда реальный и Ñффективный идентификаторы Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð½Ðµ Ñовпадают.\n"
" Отключает обработку файла $ENV и импорт функций командного\n"
" процеÑÑора. ЕÑли отключить Ñтот параметр, Ñффективные UID и GID\n"
" будут назначены реальным UID и GID.\n"
@@ -4173,16 +4333,12 @@ msgstr ""
" -B Командный процеÑÑор развернёт Ñкобки.\n"
" -C ЕÑли задано, запретить перезапиÑÑŒ ÑущеÑтвующих обычных файлов\n"
" вÑледÑтвие Ð¿ÐµÑ€ÐµÐ½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð°.\n"
-" -E ЕÑли задано, ловушка ERR наÑледуетÑÑ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñми командного "
-"процеÑÑора.\n"
-" -H Включить замену журнала Ñ Ð¸Ñпользованием !. По умолчанию Ñтот "
-"флаг\n"
+" -E ЕÑли задано, ловушка ERR наÑледуетÑÑ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñми командного процеÑÑора.\n"
+" -H Включить замену журнала Ñ Ð¸Ñпользованием !. По умолчанию Ñтот флаг\n"
" уÑтановлен, еÑли командный процеÑÑор интерактивный.\n"
-" -P ЕÑли задано, не разрешать Ñимвольные ÑÑылки при выполнении "
-"команд,\n"
+" -P ЕÑли задано, не разрешать Ñимвольные ÑÑылки при выполнении команд,\n"
" таких как cd, которые изменÑÑŽÑ‚ текущий каталог.\n"
-" -T ЕÑли задано, ловушка DEBUG наÑледуетÑÑ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñми командного "
-"процеÑÑора.\n"
+" -T ЕÑли задано, ловушка DEBUG наÑледуетÑÑ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñми командного процеÑÑора.\n"
" -- Ðазначить вÑе оÑтавшиеÑÑ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñ‹ позиционным параметрам.\n"
" ЕÑли аргументов не оÑталоÑÑŒ, позиционные параметры\n"
" удалÑÑŽÑ‚ÑÑ.\n"
@@ -4190,18 +4346,34 @@ msgstr ""
" Параметры -x и -v выключены.\n"
" \n"
" ЕÑли вмеÑто - указать +, флаги будут выключены. \n"
-" Флаги также можно иÑпользовать до вызова командного процеÑÑора. "
-"Текущий\n"
-" набор флагов можно проÑмотреть в $-. ОÑтавшиеÑÑ n аргументов ÑвлÑÑŽÑ‚ÑÑ "
-"позиционными\n"
+" Флаги также можно иÑпользовать до вызова командного процеÑÑора. Текущий\n"
+" набор флагов можно проÑмотреть в $-. ОÑтавшиеÑÑ n аргументов ÑвлÑÑŽÑ‚ÑÑ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¾Ð½Ð½Ñ‹Ð¼Ð¸\n"
" параметрами и назначаютÑÑ Ð² порÑдке $1, $2, .. $n. ЕÑли\n"
" аргументы не указаны, выводÑÑ‚ÑÑ Ð²Ñе переменные командного процеÑÑора.\n"
" \n"
" СоÑтоÑние выхода:\n"
" Возвращает уÑпех, еÑли был указан допуÑтимый параметр."
-#: builtins.c:1133
+#: builtins.c:1132
#, fuzzy
+#| 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\ttreat each NAME as a name reference and unset the variable itself\n"
+#| " \trather than the variable it references\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."
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \n"
@@ -4213,8 +4385,7 @@ msgid ""
" -n\ttreat each NAME as a name reference and unset the variable itself\n"
" \t\trather than the variable it references\n"
" \n"
-" Without options, unset first tries to unset a variable, and if that "
-"fails,\n"
+" Without options, unset first tries to unset a variable, and if that fails,\n"
" tries to unset a function.\n"
" \n"
" Some variables cannot be unset; also see `readonly'.\n"
@@ -4229,27 +4400,23 @@ msgstr ""
" Параметры:\n"
" -f\tÑчитать каждое указанное Ð¸Ð¼Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸ÐµÐ¹ командного процеÑÑора\n"
" -v\tÑчитать каждое указанное Ð¸Ð¼Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ командного процеÑÑора\n"
-" -n\tÑчитать каждое указанное Ð¸Ð¼Ñ ÑÑылкой на название и удалить Ñаму "
-"переменную,\n"
+" -n\tÑчитать каждое указанное Ð¸Ð¼Ñ ÑÑылкой на название и удалить Ñаму переменную,\n"
" \tа не переменную, на которую указывает ÑÑылка\n"
" \n"
-" ЕÑли параметры не указаны, unset Ñначала пытаетÑÑ ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ переменную. "
-"ЕÑли Ñто не удаётÑÑ,\n"
+" ЕÑли параметры не указаны, unset Ñначала пытаетÑÑ ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ переменную. ЕÑли Ñто не удаётÑÑ,\n"
" пытаетÑÑ ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ функцию.\n"
" \n"
" Ðекоторые переменные Ð½ÐµÐ»ÑŒÐ·Ñ ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ. См. также «readonly».\n"
" \n"
" СоÑтоÑние выхода:\n"
-" Возвращает уÑпех, еÑли был указан допуÑтимый параметр или указанное Ð¸Ð¼Ñ "
-"доÑтупно Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи."
+" Возвращает уÑпех, еÑли был указан допуÑтимый параметр или указанное Ð¸Ð¼Ñ Ð´Ð¾Ñтупно Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи."
-#: builtins.c:1155
+#: builtins.c:1154
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"
+" executed commands. If VALUE is supplied, assign VALUE before exporting.\n"
" \n"
" Options:\n"
" -f\trefer to shell functions\n"
@@ -4264,8 +4431,7 @@ msgstr ""
"УÑтановка атрибута ÑкÑпорта Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ñ… командного процеÑÑора.\n"
" \n"
" Помечает вÑе имена Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑкого ÑкÑпорта в Ñреду длÑ\n"
-" поÑледующих выполнÑемых команд. ЕÑли указано значение, оно "
-"приÑваиваетÑÑ Ð¿ÐµÑ€ÐµÐ´ ÑкÑпортом.\n"
+" поÑледующих выполнÑемых команд. ЕÑли указано значение, оно приÑваиваетÑÑ Ð¿ÐµÑ€ÐµÐ´ ÑкÑпортом.\n"
" \n"
" Параметры:\n"
" -f\tиÑпользовать функции командного процеÑÑора\n"
@@ -4277,8 +4443,26 @@ msgstr ""
" СоÑтоÑние выхода:\n"
" Возвращает уÑпех, еÑли был указан допуÑтимый параметр или имÑ."
-#: builtins.c:1174
+#: builtins.c:1173
#, fuzzy
+#| 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 or functions, depending on\n"
+#| " whether or not the -f option is given\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."
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
@@ -4301,16 +4485,14 @@ msgstr ""
"Запрет Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ñ… командного процеÑÑора.\n"
" \n"
" Делает каждое Ð¸Ð¼Ñ Ð´Ð¾Ñтупным только чтениÑ. Ð—Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñтих имён нельзÑ\n"
-" будет изменить в будущем. ЕÑли указано значение, приÑваивает Ñто "
-"значение\n"
+" будет изменить в будущем. ЕÑли указано значение, приÑваивает Ñто значение\n"
" перед тем, как Ñделать его доÑтупным только Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ.\n"
" \n"
" Параметры:\n"
" -a\tÑÑылатьÑÑ Ð½Ð° переменные индекÑированного маÑÑива\n"
" -A\tÑÑылатьÑÑ Ð½Ð° переменные аÑÑоциативного маÑÑива\n"
" -f\tиÑпользовать функции командного процеÑÑора\n"
-" -p\tвывеÑти ÑпиÑок вÑех переменных или функций, доÑтупных только Ð´Ð»Ñ "
-"чтениÑ,\n"
+" -p\tвывеÑти ÑпиÑок вÑех переменных или функций, доÑтупных только Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ,\n"
" в завиÑимоÑти от того, указан ли параметр -f\n"
" \n"
" Ðргумент «--» отключает дальнейшую обработку параметров.\n"
@@ -4318,7 +4500,7 @@ msgstr ""
" СоÑтоÑние выхода:\n"
" Возвращает уÑпех, еÑли был указан допуÑтимый параметр или имÑ."
-#: builtins.c:1196
+#: builtins.c:1195
msgid ""
"Shift positional parameters.\n"
" \n"
@@ -4336,7 +4518,7 @@ msgstr ""
" СоÑтоÑние выхода:\n"
" Возвращает уÑпех, еÑли N положительный или меньше $#."
-#: builtins.c:1208 builtins.c:1223
+#: builtins.c:1207 builtins.c:1222
msgid ""
"Execute commands from a file in the current shell.\n"
" \n"
@@ -4351,18 +4533,16 @@ msgid ""
msgstr ""
"Выполнение команд из файла в текущем командном процеÑÑоре.\n"
" \n"
-" Читает и выполнÑет команды из указанного файла в текущем командном "
-"процеÑÑоре. \n"
+" Читает и выполнÑет команды из указанного файла в текущем командном процеÑÑоре. \n"
" Файла ищетÑÑ Ð² каталогах, указанных в переменной $PATH.\n"
" ЕÑли указаны аргументы, они ÑтановÑÑ‚ÑÑ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¾Ð½Ð½Ñ‹Ð¼Ð¸ параметрами\n"
" при выполнении файла.\n"
" \n"
" СоÑтоÑние выхода:\n"
-" Возвращает ÑоÑтоÑние поÑледней выполненной команды из файла. Возвращает "
-"ошибку,\n"
+" Возвращает ÑоÑтоÑние поÑледней выполненной команды из файла. Возвращает ошибку,\n"
" еÑли файл не удаётÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ."
-#: builtins.c:1239
+#: builtins.c:1238
msgid ""
"Suspend shell execution.\n"
" \n"
@@ -4377,21 +4557,94 @@ msgid ""
msgstr ""
"ПриоÑтановка работы командного процеÑÑора.\n"
" \n"
-" ПриоÑтанавливает работу текущего командного процеÑÑора до Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ "
-"Ñигнала SIGCONT.\n"
-" Работу командных процеÑÑоров login можно приоÑтановить только в "
-"принудительном режиме.\n"
+" ПриоÑтанавливает работу текущего командного процеÑÑора до Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ñигнала SIGCONT.\n"
+" Работу командных процеÑÑоров login можно приоÑтановить только в принудительном режиме.\n"
" \n"
" Параметры:\n"
-" -f\tпринудительно приоÑтановить работу, даже еÑли командный "
-"процеÑÑор — login\n"
+" -f\tпринудительно приоÑтановить работу, даже еÑли командный процеÑÑор — login\n"
" \n"
" СоÑтоÑние выхода:\n"
-" Возвращает уÑпех, еÑли не включено управление заданиÑми или не произошла "
-"ошибка."
+" Возвращает уÑпех, еÑли не включено управление заданиÑми или не произошла ошибка."
-#: builtins.c:1255
+#: builtins.c:1254
#, 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"
+#| " -R VAR\t True if the shell variable VAR is set and is a name reference.\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."
msgid ""
"Evaluate conditional expression.\n"
" \n"
@@ -4425,8 +4678,7 @@ msgid ""
" -x FILE True if the file is executable by you.\n"
" -O FILE True if the file is effectively owned by you.\n"
" -G FILE True if the file is effectively owned by your group.\n"
-" -N FILE True if the file has been modified since it was last "
-"read.\n"
+" -N FILE True if the file has been modified since it was last read.\n"
" \n"
" FILE1 -nt FILE2 True if file1 is newer than file2 (according to\n"
" modification date).\n"
@@ -4447,8 +4699,7 @@ msgid ""
" STRING1 != STRING2\n"
" True if the strings are not equal.\n"
" STRING1 < STRING2\n"
-" True if STRING1 sorts before STRING2 "
-"lexicographically.\n"
+" True if STRING1 sorts before STRING2 lexicographically.\n"
" STRING1 > STRING2\n"
" True if STRING1 sorts after STRING2 lexicographically.\n"
" \n"
@@ -4476,8 +4727,7 @@ msgstr ""
"РаÑчёт уÑловного выражениÑ.\n"
" \n"
" Возвращает ÑоÑтоÑние 0 (иÑтина) или 1 (ложь) поÑле\n"
-" раÑчёта выражениÑ. Ð’Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑƒÑ‚ быть унарными или бинарными. "
-"Унарные\n"
+" раÑчёта выражениÑ. Ð’Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑƒÑ‚ быть унарными или бинарными. Унарные\n"
" Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñ‡Ð°Ñто иÑпользуютÑÑ Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÑоÑтоÑÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°. Также\n"
" доÑтупны Ñтоковые операторы и операторы ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ Ñ‡Ð¸Ñел.\n"
" \n"
@@ -4491,8 +4741,7 @@ msgstr ""
" -c ФÐЙЛ ИÑтина, еÑли файл предÑтавлÑет Ñимвольное уÑтройÑтво.\n"
" -d ФÐЙЛ ИÑтина, еÑли файл ÑвлÑетÑÑ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð¼.\n"
" -e ФÐЙЛ ИÑтина, еÑли файл ÑущеÑтвует.\n"
-" -f ФÐЙЛ ИÑтина, еÑли файл ÑущеÑтвует и ÑвлÑетÑÑ Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ð¼ "
-"файлом.\n"
+" -f ФÐЙЛ ИÑтина, еÑли файл ÑущеÑтвует и ÑвлÑетÑÑ Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ð¼ файлом.\n"
" -g ФÐЙЛ ИÑтина, еÑли Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° уÑтановлен бит SGID.\n"
" -h ФÐЙЛ ИÑтина, еÑли файл ÑвлÑетÑÑ Ñимвольной ÑÑылкой.\n"
" -L ФÐЙЛ ИÑтина, еÑли файл ÑвлÑетÑÑ Ñимвольной ÑÑылкой.\n"
@@ -4501,15 +4750,12 @@ msgstr ""
" -r ФÐЙЛ ИÑтина, еÑли вы можете прочитать файл.\n"
" -s ФÐЙЛ ИÑтина, еÑли файл ÑущеÑтвует и не ÑвлÑетÑÑ Ð¿ÑƒÑтым.\n"
" -S ФÐЙЛ ИÑтина, еÑли файл ÑвлÑетÑÑ Ñокетом.\n"
-" -t ФД ИÑтина, еÑли файловый деÑкриптор ФД открыт в "
-"терминале.\n"
+" -t ФД ИÑтина, еÑли файловый деÑкриптор ФД открыт в терминале.\n"
" -u ФÐЙЛ ИÑтина, еÑли Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° уÑтановлен бит SUID.\n"
" -w ФÐЙЛ ИÑтина, еÑли вы можете выполнить запиÑÑŒ в файл.\n"
" -x ФÐЙЛ ИÑтина, еÑли вы можете выполнить файл.\n"
-" -O ФÐЙЛ ИÑтина, еÑли вы ÑвлÑетеÑÑŒ Ñффективным владельцем "
-"файла.\n"
-" -G ФÐЙЛ ИÑтина, еÑли ваша группа ÑвлÑетÑÑ Ñффективным "
-"владельцем файла.\n"
+" -O ФÐЙЛ ИÑтина, еÑли вы ÑвлÑетеÑÑŒ Ñффективным владельцем файла.\n"
+" -G ФÐЙЛ ИÑтина, еÑли ваша группа ÑвлÑетÑÑ Ñффективным владельцем файла.\n"
" -N ФÐЙЛ ИÑтина, еÑли файл был изменён поÑле поÑледнего чтениÑ.\n"
" \n"
" ФÐЙЛ1 -nt ФÐЙЛ2 ИÑтина, еÑли файл1 новее файла2 (ÑоглаÑно\n"
@@ -4517,8 +4763,7 @@ msgstr ""
" \n"
" ФÐЙЛ1 -ot ФÐЙЛ2 ИÑтина, еÑли файл1 Ñтарее файла2.\n"
" \n"
-" ФÐЙЛ1 -ef ФÐЙЛ2 ИÑтина, еÑли файл1 ÑвлÑетÑÑ Ð¶Ñ‘Ñткой ÑÑылкой на "
-"файл2.\n"
+" ФÐЙЛ1 -ef ФÐЙЛ2 ИÑтина, еÑли файл1 ÑвлÑетÑÑ Ð¶Ñ‘Ñткой ÑÑылкой на файл2.\n"
" \n"
" Строковые операторы:\n"
" \n"
@@ -4532,38 +4777,31 @@ msgstr ""
" СТРОКÐ1 != СТРОКÐ2\n"
" ИÑтина, еÑли Ñтроки не Ñовпадают.\n"
" СТРОКÐ1 < СТРОКÐ2\n"
-" ИÑтина, еÑли СТРОКÐ1 ÑортируетÑÑ Ð´Ð¾ СТРОКИ2 "
-"лекÑикографичеÑки.\n"
+" ИÑтина, еÑли СТРОКÐ1 ÑортируетÑÑ Ð´Ð¾ СТРОКИ2 лекÑикографичеÑки.\n"
" СТРОКÐ1 > СТРОКÐ2\n"
-" ИÑтина, еÑли СТРОКÐ1 ÑортируетÑÑ Ð¿Ð¾Ñле СТРОКИ2 "
-"лекÑикографичеÑки.\n"
+" ИÑтина, еÑли СТРОКÐ1 ÑортируетÑÑ Ð¿Ð¾Ñле СТРОКИ2 лекÑикографичеÑки.\n"
" \n"
" ОÑтальные операторы:\n"
" \n"
" -o ПÐРÐМЕТР ИÑтина, еÑли параметр командного процеÑÑора включён.\n"
" -v ПЕР\t ИÑтина, еÑли Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð³Ð¾ процеÑÑора задана\n"
-" -R ПЕР\t ИÑтина, еÑли Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð³Ð¾ процеÑÑора задана и "
-"ÑвлÑетÑÑ Ð¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð½Ð¾Ð¹ ÑÑылкой.\n"
+" -R ПЕР\t ИÑтина, еÑли Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð³Ð¾ процеÑÑора задана и ÑвлÑетÑÑ Ð¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð½Ð¾Ð¹ ÑÑылкой.\n"
" ! ВЫРÐЖ ИÑтина, еÑли выражение возвращает ложь.\n"
" ВЫРÐЖ1 -a ВЫРÐЖ2 ИÑтина, еÑли оба Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÑŽÑ‚ иÑтину.\n"
-" ВЫРÐЖ1 -o ВЫРÐЖ2 ИÑтина, еÑли Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ одно из выражений возвращает "
-"иÑтину.\n"
+" ВЫРÐЖ1 -o ВЫРÐЖ2 ИÑтина, еÑли Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ одно из выражений возвращает иÑтину.\n"
" \n"
-" арг1 ОП арг2 МатематичеÑкие проверки. ОП может быть одним из "
-"Ñледующих: -eq, -ne,\n"
+" арг1 ОП арг2 МатематичеÑкие проверки. ОП может быть одним из Ñледующих: -eq, -ne,\n"
" -lt, -le, -gt или -ge.\n"
" \n"
-" МатематичеÑкие бинарные операторы возвращают иÑтину, еÑли ÐРГУМЕÐТ1 "
-"равен, не равен,\n"
+" МатематичеÑкие бинарные операторы возвращают иÑтину, еÑли ÐРГУМЕÐТ1 равен, не равен,\n"
" меньше, меньше или равен либо больше или равен\n"
" ÐРГУМЕÐТУ2.\n"
" \n"
" СоÑтоÑние выхода:\n"
-" Возвращает уÑпех, еÑли выражение иÑтинно, или ошибку, еÑли выражение "
-"ложно\n"
+" Возвращает уÑпех, еÑли выражение иÑтинно, или ошибку, еÑли выражение ложно\n"
" или указан недопуÑтимый аргумент."
-#: builtins.c:1337
+#: builtins.c:1336
msgid ""
"Evaluate conditional expression.\n"
" \n"
@@ -4575,12 +4813,11 @@ msgstr ""
" Это Ñиноним вÑтроенной команды test, но поÑледним аргументом должна\n"
" быть Ñкобка «]», ÑоответÑÑ‚Ð²ÑƒÑŽÑ‰Ð°Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ð²Ð°ÑŽÑ‰ÐµÐ¹ «[»."
-#: builtins.c:1346
+#: builtins.c:1345
msgid ""
"Display process times.\n"
" \n"
-" Prints the accumulated user and system times for the shell and all of "
-"its\n"
+" Prints the accumulated user and system times for the shell and all of its\n"
" child processes.\n"
" \n"
" Exit Status:\n"
@@ -4588,19 +4825,17 @@ msgid ""
msgstr ""
"Отображение времени процеÑÑа.\n"
" \n"
-" Показывает объединённые Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸ ÑиÑтемы Ð´Ð»Ñ "
-"командного\n"
+" Показывает объединённые Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸ ÑиÑтемы Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð³Ð¾\n"
" процеÑÑора и вÑех его дочерних процеÑÑов.\n"
" \n"
" СоÑтоÑние выхода:\n"
" Ð’Ñегда возвращает уÑпех."
-#: builtins.c:1358
+#: builtins.c:1357
msgid ""
"Trap signals and other events.\n"
" \n"
-" Defines and activates handlers to be run when the shell receives "
-"signals\n"
+" Defines and activates handlers to be run when the shell receives signals\n"
" or other conditions.\n"
" \n"
" ARG is a command to be read and executed when the shell receives the\n"
@@ -4609,34 +4844,26 @@ msgid ""
" 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"
+" 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"
+" If no arguments are supplied, trap prints the list of commands associated\n"
" with each signal.\n"
" \n"
" Options:\n"
" -l\tprint a list of signal names and their corresponding numbers\n"
" -p\tdisplay the trap commands associated with each SIGNAL_SPEC\n"
" \n"
-" Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal "
-"number.\n"
+" Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal number.\n"
" Signal names are case insensitive and the SIG prefix is optional. A\n"
" signal may be sent to the shell with \"kill -signal $$\".\n"
" \n"
" Exit Status:\n"
-" Returns success unless a SIGSPEC is invalid or an invalid option is "
-"given."
+" Returns success unless a SIGSPEC is invalid or an invalid option is given."
msgstr ""
"Захват Ñигналов и других Ñобытий.\n"
" \n"
@@ -4644,22 +4871,16 @@ msgstr ""
" командный процеÑÑор получает Ñигналы или при других уÑловиÑÑ….\n"
" \n"
" Ðргумент — Ñто команда, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ ÑчитываетÑÑ Ð¸ выполнÑетÑÑ, когда\n"
-" командный процеÑÑор получает указанные Ñигнал(Ñ‹). ЕÑли аргумент "
-"отÑутÑтвует (и указан один Ñигнал)\n"
+" командный процеÑÑор получает указанные Ñигнал(Ñ‹). ЕÑли аргумент отÑутÑтвует (и указан один Ñигнал)\n"
" или указано «-», Ð´Ð»Ñ Ð²Ñех указанных Ñигналов воÑÑтанавливаютÑÑ\n"
-" иÑходные значениÑ. ЕÑли аргумент — пуÑÑ‚Ð°Ñ Ñтрока, вÑе указанные Ñигналы "
-"игнорируютÑÑ\n"
+" иÑходные значениÑ. ЕÑли аргумент — пуÑÑ‚Ð°Ñ Ñтрока, вÑе указанные Ñигналы игнорируютÑÑ\n"
" командным процеÑÑором и вызываемыми им командами.\n"
" \n"
-" ЕÑли Ñигнал — EXIT (0), аргумент выполнÑетÑÑ Ð¿Ñ€Ð¸ выходе из командного "
-"процеÑÑора. ЕÑли\n"
-" Ñигнал — DEBUG, аргумент выполнÑетÑÑ Ð¿ÐµÑ€ÐµÐ´ каждой проÑтой командой. "
-"ЕÑли\n"
+" ЕÑли Ñигнал — EXIT (0), аргумент выполнÑетÑÑ Ð¿Ñ€Ð¸ выходе из командного процеÑÑора. ЕÑли\n"
+" Ñигнал — DEBUG, аргумент выполнÑетÑÑ Ð¿ÐµÑ€ÐµÐ´ каждой проÑтой командой. ЕÑли\n"
" Ñигнал — RETURN, аргумент выполнÑетÑÑ ÐºÐ°Ð¶Ð´Ñ‹Ð¹ раз, когда функциÑ\n"
-" или Ñкрипт выполнÑетÑÑ Ð² . или иÑходные вÑтроенные команды завершают "
-"Ñвою работу. Сигнал\n"
-" ERR означает выполнение аргумента каждый раз, когда ошибка команды "
-"приведёт\n"
+" или Ñкрипт выполнÑетÑÑ Ð² . или иÑходные вÑтроенные команды завершают Ñвою работу. Сигнал\n"
+" ERR означает выполнение аргумента каждый раз, когда ошибка команды приведёт\n"
" к выходу из командного процеÑÑора, когда включён параметр -e.\n"
" \n"
" ЕÑли аргументы не указаны, trap выводит ÑпиÑок команд, ÑвÑзанных\n"
@@ -4669,17 +4890,41 @@ msgstr ""
" -l\tпоказать Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ñигналов и их номера\n"
" -p\tпоказать команды trap, ÑвÑзанные Ñ ÐºÐ°Ð¶Ð´Ñ‹Ð¼ Ñигналом\n"
" \n"
-" Идентификатор Ñигнала — Ñто название Ñигнала в <signal.h> или номер "
-"Ñигнала.\n"
-" ÐÐ°Ð·Ð²Ð°Ð½Ð¸Ñ Ñигналов не завиÑÑÑ‚ от региÑтра, а Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ SIG не ÑвлÑетÑÑ "
-"обÑзательным. \n"
+" Идентификатор Ñигнала — Ñто название Ñигнала в <signal.h> или номер Ñигнала.\n"
+" ÐÐ°Ð·Ð²Ð°Ð½Ð¸Ñ Ñигналов не завиÑÑÑ‚ от региÑтра, а Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ SIG не ÑвлÑетÑÑ Ð¾Ð±Ñзательным. \n"
" Сигнал можно отправить в командный процеÑÑор командой «kill -signal $$».\n"
" \n"
" СоÑтоÑние выхода:\n"
" Возвращает уÑпех, еÑли был указан допуÑтимый Ñигнал или параметр."
-#: builtins.c:1394
+#: builtins.c:1393
#, fuzzy
+#| 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."
msgid ""
"Display information about command type.\n"
" \n"
@@ -4705,30 +4950,25 @@ msgid ""
" 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."
+" Returns success if all of the NAMEs are found; fails if any are not found."
msgstr ""
"Вывод информации о типе команды.\n"
" \n"
-" Ð”Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ указанного имени показывает, как оно будет интерпретировано "
-"при\n"
+" Ð”Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ указанного имени показывает, как оно будет интерпретировано при\n"
" иÑпользовании в качеÑтве Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹.\n"
" \n"
" Параметры:\n"
-" -a\tпоказать вÑе меÑтоположениÑ, где еÑÑ‚ÑŒ иÑполнÑемый файл Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ "
-"именем,\n"
+" -a\tпоказать вÑе меÑтоположениÑ, где еÑÑ‚ÑŒ иÑполнÑемый файл Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ именем,\n"
" \tÐ²ÐºÐ»ÑŽÑ‡Ð°Ñ Ð¿Ñевдонимы, вÑтроенные команды и функции, а также при уÑловии\n"
" \tчто не иÑпользуетÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ «-p»\n"
" -f\tне иÑкать функции командного процеÑÑора\n"
-" -P\tпринудительно иÑкать в $PATH вÑе указанные имена, даже еÑли Ñто "
-"пÑевдоним,\n"
+" -P\tпринудительно иÑкать в $PATH вÑе указанные имена, даже еÑли Ñто пÑевдоним,\n"
" \tвÑÑ‚Ñ€Ð¾ÐµÐ½Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° или функциÑ, и возвращать название файла на диÑке,\n"
" \tкоторый будет запущен\n"
" -p\tвозвращает название файла на диÑке, который будет запущен,\n"
" \tили ничего, еÑли «type -t имÑ» не возвращает «file».\n"
" -t\tвывеÑти одно из Ñлов «alias», «keyword»,\n"
-" \t«function», «builtin», «file» или «», еÑли указанное Ð¸Ð¼Ñ ÑвлÑетÑÑ, "
-"ÑоответÑтвенно,\n"
+" \t«function», «builtin», «file» или «», еÑли указанное Ð¸Ð¼Ñ ÑвлÑетÑÑ, ÑоответÑтвенно,\n"
" \tпÑевдонимом, зарезервированным Ñловом, функцией, вÑтроенной командой\n"
" \tкомандного процеÑÑора, файлом на диÑке или Ð¸Ð¼Ñ Ð½Ðµ было найдено\n"
" \n"
@@ -4736,16 +4976,57 @@ msgstr ""
" ИМЯ\tназвание интерпретируемой команды\n"
" \n"
" СоÑтоÑние выхода:\n"
-" Возвращает уÑпех, еÑли вÑе указанные имена были найдены, или ошибку в "
-"противном Ñлучае."
+" Возвращает уÑпех, еÑли вÑе указанные имена были найдены, или ошибку в противном Ñлучае."
-#: builtins.c:1425
+#: builtins.c:1424
#, fuzzy
+#| 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"
+#| " -T the maximum number of threads\n"
+#| " \n"
+#| " Not all options are available on all platforms.\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."
msgid ""
"Modify shell resource limits.\n"
" \n"
-" Provides control over the resources available to the shell and "
-"processes\n"
+" Provides control over the resources available to the shell and processes\n"
" it creates, on systems that allow such control.\n"
" \n"
" Options:\n"
@@ -4790,8 +5071,7 @@ msgid ""
msgstr ""
"Изменение ограничений реÑурÑов командного процеÑÑора.\n"
" \n"
-" ПозволÑет контролировать реÑурÑÑ‹, доÑтупные командному процеÑÑору и "
-"Ñоздаваемым\n"
+" ПозволÑет контролировать реÑурÑÑ‹, доÑтупные командному процеÑÑору и Ñоздаваемым\n"
" им процеÑÑам, в ÑиÑтемах, где возможен такой контроль.\n"
" \n"
" Параметры:\n"
@@ -4802,8 +5082,7 @@ msgstr ""
" -c\tмакÑимальный размер Ñоздаваемых core-файлов\n"
" -d\tмакÑимальный размер Ñегмента данных процеÑÑа\n"
" -e\tмакÑимальный приоритет Ð¿Ð»Ð°Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ («nice»)\n"
-" -f\tмакÑимальный размер файлов, запиÑываемых командным процеÑÑором и "
-"его дочерними процеÑÑами\n"
+" -f\tмакÑимальный размер файлов, запиÑываемых командным процеÑÑором и его дочерними процеÑÑами\n"
" -i\tмакÑимальное чиÑло ожидающих Ñигналов\n"
" -l\tмакÑимальный объём, который процеÑÑ Ð¼Ð¾Ð¶ÐµÑ‚ заблокировать в памÑти\n"
" -m\tмакÑимальный объём резидентной памÑти\n"
@@ -4820,24 +5099,20 @@ msgstr ""
" \n"
" Ðе вÑе параметры доÑтупны на вÑех платформах.\n"
" \n"
-" ЕÑли указано ограничение, оно ÑвлÑетÑÑ Ð½Ð¾Ð²Ñ‹Ð¼ значением Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð³Ð¾ "
-"реÑурÑа.\n"
+" ЕÑли указано ограничение, оно ÑвлÑетÑÑ Ð½Ð¾Ð²Ñ‹Ð¼ значением Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð³Ð¾ реÑурÑа.\n"
" Специальные Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Â«soft», «hard» и «unlimited» означают,\n"
-" ÑоответÑтвенно, текущее мÑгкое ограничение, текущее жёÑткое ограничение "
-"и отÑутÑтвие ограничениÑ.\n"
+" ÑоответÑтвенно, текущее мÑгкое ограничение, текущее жёÑткое ограничение и отÑутÑтвие ограничениÑ.\n"
" Ð’ противном Ñлучае выводитÑÑ Ñ‚ÐµÐºÑƒÑ‰ÐµÐµ значение указанного реÑурÑа. ЕÑли\n"
" параметр не указан, подразумеваетÑÑ Ð¸Ñпользование параметра -f.\n"
" \n"
-" Ð—Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð·Ð°Ð´Ð°ÑŽÑ‚ÑÑ Ñ ÑˆÐ°Ð³Ð¾Ð¼ 1024 байт, кроме параметра -t Ñ ÑˆÐ°Ð³Ð¾Ð¼ в "
-"Ñекундах,\n"
+" Ð—Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð·Ð°Ð´Ð°ÑŽÑ‚ÑÑ Ñ ÑˆÐ°Ð³Ð¾Ð¼ 1024 байт, кроме параметра -t Ñ ÑˆÐ°Ð³Ð¾Ð¼ в Ñекундах,\n"
" параметра -p Ñ ÑˆÐ°Ð³Ð¾Ð¼ 512 байт и параметра -u, предÑтавлÑющего\n"
" количеÑтво процеÑÑов.\n"
" \n"
" СоÑтоÑние выхода:\n"
-" Возвращает уÑпех, еÑли был указан допуÑтимый параметр или не возникла "
-"ошибка."
+" Возвращает уÑпех, еÑли был указан допуÑтимый параметр или не возникла ошибка."
-#: builtins.c:1475
+#: builtins.c:1474
msgid ""
"Display or set file mode mask.\n"
" \n"
@@ -4856,42 +5131,32 @@ msgid ""
msgstr ""
"Отображение или указание маÑки режима Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð².\n"
" \n"
-" Задаёт маÑку РЕЖИМ Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð², Ñоздаваемых пользователем. ЕÑли РЕЖИМ не "
-"указан,\n"
+" Задаёт маÑку РЕЖИМ Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð², Ñоздаваемых пользователем. ЕÑли РЕЖИМ не указан,\n"
" выводит текущее значение маÑки.\n"
" \n"
-" ЕÑли РЕЖИМ начинаетÑÑ Ñ Ñ†Ð¸Ñ„Ñ€Ñ‹, он интерпретируетÑÑ ÐºÐ°Ðº воÑьмеричное "
-"чиÑло.\n"
-" Ð’ противном Ñлучае он ÑчитаетÑÑ Ñимвольной Ñтрокой как Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹ chmod"
-"(1).\n"
+" ЕÑли РЕЖИМ начинаетÑÑ Ñ Ñ†Ð¸Ñ„Ñ€Ñ‹, он интерпретируетÑÑ ÐºÐ°Ðº воÑьмеричное чиÑло.\n"
+" Ð’ противном Ñлучае он ÑчитаетÑÑ Ñимвольной Ñтрокой как Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹ chmod(1).\n"
" \n"
" Параметры:\n"
-" -p\tеÑли РЕЖИМ не указан, вывеÑти маÑку, пригодную Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾Ð³Ð¾ "
-"иÑпользованиÑ\n"
-" -S\tвывеÑти маÑку в Ñимвольном виде, в противном Ñлучае выводитÑÑ "
-"воÑьмеричное чиÑло\n"
+" -p\tеÑли РЕЖИМ не указан, вывеÑти маÑку, пригодную Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾Ð³Ð¾ иÑпользованиÑ\n"
+" -S\tвывеÑти маÑку в Ñимвольном виде, в противном Ñлучае выводитÑÑ Ð²Ð¾Ñьмеричное чиÑло\n"
" \n"
" СоÑтоÑние выхода:\n"
" Возвращает уÑпех, еÑли был указан допуÑтимый РЕЖИМ или параметр."
-#: builtins.c:1495
-#, fuzzy
+#: builtins.c:1494
msgid ""
"Wait for job completion and return exit status.\n"
" \n"
-" Waits for each process identified by an ID, which may be a process ID or "
-"a\n"
+" Waits for each process identified by an 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 job specification, waits for all processes\n"
+" status is zero. If ID is a a job specification, waits for all processes\n"
" in that job's pipeline.\n"
" \n"
" If the -n option is supplied, waits for the next job to terminate and\n"
" returns its exit status.\n"
" \n"
-" If the -f option is supplied, and job control is enabled, waits for the\n"
-" specified ID to terminate, instead of waiting for it to change status.\n"
-" \n"
" Exit Status:\n"
" Returns the status of the last ID; fails if ID is invalid or an invalid\n"
" option is given."
@@ -4899,11 +5164,9 @@ msgstr ""
"Ожидание Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð·Ð°Ð´Ð°Ð½Ð¸Ñ Ð¸ возврат ÑоÑтоÑÐ½Ð¸Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð°.\n"
" \n"
" Ожидает Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð²Ñех процеÑÑов, заданных идентификаторами\n"
-" (идентификатор процеÑÑа или номер заданиÑ), и возвращает их ÑоÑтоÑние "
-"выхода. ЕÑли идентификатор\n"
+" (идентификатор процеÑÑа или номер заданиÑ), и возвращает их ÑоÑтоÑние выхода. ЕÑли идентификатор\n"
" не указан, ожидает Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð²Ñех активных дочерних процеÑÑов\n"
-" и возвращает нулевое ÑоÑтоÑние выхода. ЕÑли идентификатор не ÑвлÑетÑÑ "
-"номером заданиÑ, ожидает завершениÑ\n"
+" и возвращает нулевое ÑоÑтоÑние выхода. ЕÑли идентификатор не ÑвлÑетÑÑ Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð¼ заданиÑ, ожидает завершениÑ\n"
" вÑех процеÑÑов в конвейере данного заданиÑ.\n"
" \n"
" ЕÑли указан параметр -n, ожидает Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ñледующего заданиÑ\n"
@@ -4913,33 +5176,29 @@ msgstr ""
" Возвращает ÑоÑтоÑние поÑледнего идентификатора. Возвращает ошибку, еÑли\n"
" указан недопуÑтимый идентификатор или параметр."
-#: builtins.c:1519
+#: builtins.c:1515
msgid ""
"Wait for process completion and return exit status.\n"
" \n"
-" Waits for each process specified by a PID and reports its termination "
-"status.\n"
+" Waits for each process specified by a PID and reports its termination status.\n"
" If PID is not given, waits for all currently active child processes,\n"
" and the return status is zero. PID must be a process ID.\n"
" \n"
" Exit Status:\n"
-" Returns the status of the last PID; fails if PID is invalid or an "
-"invalid\n"
+" Returns the status of the last PID; fails if PID is invalid or an invalid\n"
" option is given."
msgstr ""
"Ожидание Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑа и возврат ÑоÑтоÑÐ½Ð¸Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð°.\n"
" \n"
-" Ожидает Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð²Ñех процеÑÑов, заданных идентификаторами (PID), и "
-"возвращает их ÑоÑтоÑние выхода.\n"
+" Ожидает Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð²Ñех процеÑÑов, заданных идентификаторами (PID), и возвращает их ÑоÑтоÑние выхода.\n"
" ЕÑли идентификатор процеÑÑа не указан, ожидает Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð²Ñех активных\n"
-" дочерних процеÑÑов и возвращает нулевое ÑоÑтоÑние выхода. PID должен "
-"быть идентификатором процеÑÑа.\n"
+" дочерних процеÑÑов и возвращает нулевое ÑоÑтоÑние выхода. PID должен быть идентификатором процеÑÑа.\n"
" \n"
" СоÑтоÑние выхода:\n"
" Возвращает ÑоÑтоÑние поÑледнего идентификатора. Возвращает ошибку, еÑли\n"
" указан недопуÑтимый идентификатор или параметр."
-#: builtins.c:1534
+#: builtins.c:1530
msgid ""
"Execute commands for each member in a list.\n"
" \n"
@@ -4955,14 +5214,13 @@ msgstr ""
" \n"
" Цикл «for» выполнÑет поÑледовательноÑÑ‚ÑŒ команд Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ Ñлемента\n"
" ÑпиÑка. ЕÑли операнд «in СЛОВР...;» отÑутÑтвует, подразумеваетÑÑ\n"
-" операнд «in \"$@\"». Каждому Ñлементу в ÑпиÑке СЛОВРприÑваиваетÑÑ Ð˜ÐœÐ¯ и "
-"Ð´Ð»Ñ Ð½ÐµÐ³Ð¾\n"
+" операнд «in \"$@\"». Каждому Ñлементу в ÑпиÑке СЛОВРприÑваиваетÑÑ Ð˜ÐœÐ¯ и Ð´Ð»Ñ Ð½ÐµÐ³Ð¾\n"
" выполнÑÑŽÑ‚ÑÑ ÐšÐžÐœÐÐДЫ.\n"
" \n"
" СоÑтоÑние выхода:\n"
" Возвращает ÑоÑтоÑние поÑледней выполненной команды."
-#: builtins.c:1548
+#: builtins.c:1544
msgid ""
"Arithmetic for loop.\n"
" \n"
@@ -4986,14 +5244,13 @@ msgstr ""
" \t\tКОМÐÐДЫ\n"
" \t\t(( ВЫРÐЖ3 ))\n"
" \tdone\n"
-" ВЫРÐЖ1, ВЫРÐЖ2 и ВЫРÐЖ3 — Ñто математичеÑкие выражениÑ. ЕÑли любое из "
-"выражений\n"
+" ВЫРÐЖ1, ВЫРÐЖ2 и ВЫРÐЖ3 — Ñто математичеÑкие выражениÑ. ЕÑли любое из выражений\n"
" не указано, ÑчитаетÑÑ, что оно возвращает 1.\n"
" \n"
" СоÑтоÑние выхода:\n"
" Возвращает ÑоÑтоÑние поÑледней выполненной команды."
-#: builtins.c:1566
+#: builtins.c:1562
msgid ""
"Select words from a list and execute commands.\n"
" \n"
@@ -5016,26 +5273,20 @@ msgstr ""
" \n"
" СЛОВРразворачиваютÑÑ, Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€ÑƒÑ ÑпиÑок Ñлов. \n"
" Ðабор развёрнутых Ñлов выводитÑÑ Ð² поток ошибок Ñ Ð½Ð¾Ð¼ÐµÑ€Ð°Ð¼Ð¸\n"
-" в начале Ñтрок. ЕÑли операнд «in СЛОВР...;» отÑутÑтвует, "
-"подразумеваетÑÑ\n"
-" операнд «in \"$@\"». Затем выводитÑÑ Ð¿Ñ€Ð¸Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ðµ $PS3 и Ñо Ñтандартного "
-"ввода\n"
+" в начале Ñтрок. ЕÑли операнд «in СЛОВР...;» отÑутÑтвует, подразумеваетÑÑ\n"
+" операнд «in \"$@\"». Затем выводитÑÑ Ð¿Ñ€Ð¸Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ðµ $PS3 и Ñо Ñтандартного ввода\n"
" ÑчитываетÑÑ Ñтрока. ЕÑли Ñтрока ÑоÑтоит из номера,\n"
" ÑоответÑтвующего одному из показанных Ñлов, Ñтому Ñлову\n"
-" приÑваиваетÑÑ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ðµ имÑ. ЕÑли Ñтрока пуÑтаÑ, будут повторно "
-"показаны указанные Ñлова\n"
-" и приглашение. ЕÑли прочитан Ñимвол конца файла, команда завершает Ñвою "
-"работу. ЕÑли прочитаны\n"
-" любые другие значениÑ, указанному имени приÑваиваетÑÑ Ð¿ÑƒÑтое значение. "
-"ÐŸÑ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ð°Ñ Ñтрока\n"
-" ÑохранÑетÑÑ Ð² переменную $REPLY. Команды выполнÑÑŽÑ‚ÑÑ Ð¿Ð¾Ñле каждой "
-"выборки,\n"
+" приÑваиваетÑÑ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ðµ имÑ. ЕÑли Ñтрока пуÑтаÑ, будут повторно показаны указанные Ñлова\n"
+" и приглашение. ЕÑли прочитан Ñимвол конца файла, команда завершает Ñвою работу. ЕÑли прочитаны\n"
+" любые другие значениÑ, указанному имени приÑваиваетÑÑ Ð¿ÑƒÑтое значение. ÐŸÑ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ð°Ñ Ñтрока\n"
+" ÑохранÑетÑÑ Ð² переменную $REPLY. Команды выполнÑÑŽÑ‚ÑÑ Ð¿Ð¾Ñле каждой выборки,\n"
" пока не будет выполнена команда прерываниÑ.\n"
" \n"
" СоÑтоÑние выхода:\n"
" Возвращает ÑоÑтоÑние поÑледней выполненной команды."
-#: builtins.c:1587
+#: builtins.c:1583
msgid ""
"Report time consumed by pipeline's execution.\n"
" \n"
@@ -5052,20 +5303,18 @@ msgid ""
msgstr ""
"Вывод времени, потраченного на выполнение конвейера.\n"
" \n"
-" ВыполнÑет конвейер и выводит Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñ€ÐµÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ времени, "
-"пользовательÑкого времени\n"
+" ВыполнÑет конвейер и выводит Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñ€ÐµÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ времени, пользовательÑкого времени\n"
" и ÑиÑтемного времени ЦП, потраченного на Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ð²ÐµÐ¹ÐµÑ€Ð°.\n"
" \n"
" Параметры:\n"
" -p\tпоказать Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸ в формате Posix\n"
" \n"
-" Ð”Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ñ‹Ñ… данных иÑпользуетÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ переменной "
-"$TIMEFORMAT.\n"
+" Ð”Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ñ‹Ñ… данных иÑпользуетÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ переменной $TIMEFORMAT.\n"
" \n"
" СоÑтоÑние выхода:\n"
" Возвращаемое ÑоÑтоÑние ÑоответÑтвует ÑоÑтоÑнию выхода конвейера."
-#: builtins.c:1604
+#: builtins.c:1600
msgid ""
"Execute commands based on pattern matching.\n"
" \n"
@@ -5083,21 +5332,16 @@ msgstr ""
" СоÑтоÑние выхода:\n"
" Возвращает ÑоÑтоÑние поÑледней выполненной команды."
-#: builtins.c:1616
+#: builtins.c:1612
msgid ""
"Execute commands based on conditional.\n"
" \n"
-" The `if COMMANDS' list is executed. If its exit status is zero, then "
-"the\n"
-" `then COMMANDS' list is executed. Otherwise, each `elif COMMANDS' list "
-"is\n"
+" The `if COMMANDS' list is executed. If its exit status is zero, then the\n"
+" `then COMMANDS' list is executed. Otherwise, each `elif COMMANDS' list is\n"
" executed in turn, and if its exit status is zero, the corresponding\n"
-" `then COMMANDS' list is executed and the if command completes. "
-"Otherwise,\n"
-" the `else COMMANDS' list is executed, if present. The exit status of "
-"the\n"
-" entire construct is the exit status of the last command executed, or "
-"zero\n"
+" `then COMMANDS' list is executed and the if command completes. Otherwise,\n"
+" the `else COMMANDS' list is executed, if present. The exit status of the\n"
+" entire construct is the exit status of the last command executed, or zero\n"
" if no condition tested true.\n"
" \n"
" Exit Status:\n"
@@ -5106,20 +5350,17 @@ msgstr ""
"Выполнение команд в завиÑимоÑти от уÑловий.\n"
" \n"
" Сначала выполнÑетÑÑ ÑпиÑок «if КОМÐÐДЫ». ЕÑли ÑоÑтоÑние выхода нулевое,\n"
-" выполнÑетÑÑ ÑпиÑок «then КОМÐÐДЫ». Ð’ противном Ñлучае выполнÑетÑÑ Ð¿Ð¾ "
-"очереди\n"
+" выполнÑетÑÑ ÑпиÑок «then КОМÐÐДЫ». Ð’ противном Ñлучае выполнÑетÑÑ Ð¿Ð¾ очереди\n"
" вÑе ÑпиÑки «elif КОМÐÐДЫ», и еÑли их ÑоÑтоÑние выхода будет нулевым,\n"
-" выполнитÑÑ ÑпиÑок «then КОМÐÐДЫ», и команда if завершитÑÑ. Ð’ противном "
-"Ñлучае\n"
+" выполнитÑÑ ÑпиÑок «then КОМÐÐДЫ», и команда if завершитÑÑ. Ð’ противном Ñлучае\n"
" выполнитÑÑ ÑпиÑок «else КОМÐÐДЫ», еÑли он указан. СоÑтоÑние выхода вÑей\n"
-" конÑтрукции ÑоответÑтвует ÑоÑтоÑнию выхода поÑледней выполненной команды "
-"или будет нулевым,\n"
+" конÑтрукции ÑоответÑтвует ÑоÑтоÑнию выхода поÑледней выполненной команды или будет нулевым,\n"
" еÑли ни одна проверка уÑÐ»Ð¾Ð²Ð¸Ñ Ð½Ðµ возвратила иÑтину.\n"
" \n"
" СоÑтоÑние выхода:\n"
" Возвращает ÑоÑтоÑние поÑледней выполненной команды."
-#: builtins.c:1633
+#: builtins.c:1629
msgid ""
"Execute commands as long as a test succeeds.\n"
" \n"
@@ -5137,7 +5378,7 @@ msgstr ""
" СоÑтоÑние выхода:\n"
" Возвращает ÑоÑтоÑние поÑледней выполненной команды."
-#: builtins.c:1645
+#: builtins.c:1641
msgid ""
"Execute commands as long as a test does not succeed.\n"
" \n"
@@ -5155,8 +5396,18 @@ msgstr ""
" СоÑтоÑние выхода:\n"
" Возвращает ÑоÑтоÑние поÑледней выполненной команды."
-#: builtins.c:1657
+#: builtins.c:1653
#, fuzzy
+#| 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."
msgid ""
"Create a coprocess named NAME.\n"
" \n"
@@ -5171,22 +5422,19 @@ msgstr ""
"Создание дополнительного процеÑÑа Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ именем.\n"
" \n"
" ВыполнÑет команду аÑинхронно, когда Ñтандартный вывод и Ñтандартный\n"
-" вход команды подключены через конвейер к деÑкрипторам файлов, которые "
-"назначены\n"
-" указателÑм 0 и 1 маÑÑива переменных ИМЯ в активном командном "
-"процеÑÑоре.\n"
+" вход команды подключены через конвейер к деÑкрипторам файлов, которые назначены\n"
+" указателÑм 0 и 1 маÑÑива переменных ИМЯ в активном командном процеÑÑоре.\n"
" Ð˜Ð¼Ñ Ð¿Ð¾ умолчанию — «COPROC».\n"
" \n"
" СоÑтоÑние выхода:\n"
" Возвращает ÑоÑтоÑние выхода команды."
-#: builtins.c:1671
+#: builtins.c:1667
msgid ""
"Define shell function.\n"
" \n"
" Create a shell function named NAME. When invoked as a simple command,\n"
-" NAME runs COMMANDs in the calling shell's context. When NAME is "
-"invoked,\n"
+" NAME runs COMMANDs in the calling shell's context. When NAME is invoked,\n"
" the arguments are passed to the function as $1...$n, and the function's\n"
" name is in $FUNCNAME.\n"
" \n"
@@ -5195,17 +5443,15 @@ msgid ""
msgstr ""
"Определение функции командного процеÑÑора.\n"
" \n"
-" Создаёт функцию командного процеÑÑора Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ именем. При запуÑке в "
-"качеÑтве проÑтой команды\n"
-" ИМЯ выполнÑет КОМÐÐДЫ в контекÑте вызывающего их командного процеÑÑора. "
-"При вызове ИМЕÐИ\n"
+" Создаёт функцию командного процеÑÑора Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ именем. При запуÑке в качеÑтве проÑтой команды\n"
+" ИМЯ выполнÑет КОМÐÐДЫ в контекÑте вызывающего их командного процеÑÑора. При вызове ИМЕÐИ\n"
" аргументы передаютÑÑ Ð² функцию как $1...$n, а Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¿Ð¾Ð»ÑƒÑ‡Ð°ÐµÑ‚\n"
" название $FUNCNAME.\n"
" \n"
" СоÑтоÑние выхода:\n"
" Возвращает уÑпех, еÑли Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð˜ÐœÐ¯ доÑтупно Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи."
-#: builtins.c:1685
+#: builtins.c:1681
msgid ""
"Group commands as a unit.\n"
" \n"
@@ -5217,14 +5463,13 @@ msgid ""
msgstr ""
"Группировка команд.\n"
" \n"
-" ВыполнÑет набор команд, объединённых в группу. Это единÑтвенный ÑпоÑоб "
-"перенаправлениÑ\n"
+" ВыполнÑет набор команд, объединённых в группу. Это единÑтвенный ÑпоÑоб перенаправлениÑ\n"
" вÑего набора команд.\n"
" \n"
" СоÑтоÑние выхода:\n"
" Возвращает ÑоÑтоÑние поÑледней выполненной команды."
-#: builtins.c:1697
+#: builtins.c:1693
msgid ""
"Resume job in foreground.\n"
" \n"
@@ -5240,17 +5485,15 @@ msgstr ""
"Возобновление работы Ð·Ð°Ð´Ð°Ð½Ð¸Ñ Ð² интерактивном режиме.\n"
" \n"
" Ðналогично аргументу JOB_SPEC Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹ «fg». ВозобновлÑет\n"
-" работу оÑтановленного или фонового заданиÑ. Через JOB_SPEC можно задать "
-"название\n"
-" или номер заданиÑ. ЕÑли поÑле номера Ð·Ð°Ð´Ð°Ð½Ð¸Ñ ÑƒÐºÐ°Ð·Ð°Ñ‚ÑŒ «&», задание будет "
-"переведено\n"
+" работу оÑтановленного или фонового заданиÑ. Через JOB_SPEC можно задать название\n"
+" или номер заданиÑ. ЕÑли поÑле номера Ð·Ð°Ð´Ð°Ð½Ð¸Ñ ÑƒÐºÐ°Ð·Ð°Ñ‚ÑŒ «&», задание будет переведено\n"
" в фоновый режим, как еÑли бы идентификатор Ð·Ð°Ð´Ð°Ð½Ð¸Ñ Ð±Ñ‹Ð» указан как\n"
" аргумент Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹ «bg».\n"
" \n"
" СоÑтоÑние выхода:\n"
" Возвращает ÑоÑтоÑние возобновлённого заданиÑ."
-#: builtins.c:1712
+#: builtins.c:1708
msgid ""
"Evaluate arithmetic expression.\n"
" \n"
@@ -5268,16 +5511,13 @@ msgstr ""
" СоÑтоÑние выхода:\n"
" Возвращает 1, еÑли выражение равно 0, в противном Ñлучае возвращает 0."
-#: builtins.c:1724
+#: builtins.c:1720
msgid ""
"Execute conditional command.\n"
" \n"
-" Returns a status of 0 or 1 depending on the evaluation of the "
-"conditional\n"
-" expression EXPRESSION. Expressions are composed of the same primaries "
-"used\n"
-" by the `test' builtin, and may be combined using the following "
-"operators:\n"
+" Returns a status of 0 or 1 depending on the evaluation of the conditional\n"
+" expression EXPRESSION. Expressions are composed of the same primaries used\n"
+" by the `test' builtin, and may be combined using the following operators:\n"
" \n"
" ( EXPRESSION )\tReturns the value of EXPRESSION\n"
" ! EXPRESSION\t\tTrue if EXPRESSION is false; else false\n"
@@ -5298,22 +5538,16 @@ msgstr ""
"Выполнение уÑловной команды.\n"
" \n"
" Возвращает ÑоÑтоÑние 0 или 1 в завиÑимоÑти от результата раÑчёта\n"
-" уÑловного выражениÑ. Ð’Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ ÑоÑтавлÑÑŽÑ‚ÑÑ Ð¸Ð· тех же примитивов, "
-"которые иÑпользуютÑÑ\n"
-" во вÑтроенной команде «test». Их можно объединить Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñледующих "
-"операторов:\n"
+" уÑловного выражениÑ. Ð’Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ ÑоÑтавлÑÑŽÑ‚ÑÑ Ð¸Ð· тех же примитивов, которые иÑпользуютÑÑ\n"
+" во вÑтроенной команде «test». Их можно объединить Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñледующих операторов:\n"
" \n"
" ( выражение )\tВозвращает значение выражениÑ\n"
-" ! выражение\tВозвращает иÑтину, еÑли выражение ложно, в противном "
-"Ñлучае возвращает ложь\n"
-" ВЫРÐЖ1 && ВЫРÐЖ2\tВозвращает иÑтину, еÑли оба Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð¸Ñтинны, в "
-"противном Ñлучае возвращает ложь\n"
-" ВЫРÐЖ1 || ВЫРÐЖ2\tВозвращает иÑтину, еÑли Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ одно из выражений "
-"иÑтинно, в противном Ñлучае возвращает ложь\n"
+" ! выражение\tВозвращает иÑтину, еÑли выражение ложно, в противном Ñлучае возвращает ложь\n"
+" ВЫРÐЖ1 && ВЫРÐЖ2\tВозвращает иÑтину, еÑли оба Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð¸Ñтинны, в противном Ñлучае возвращает ложь\n"
+" ВЫРÐЖ1 || ВЫРÐЖ2\tВозвращает иÑтину, еÑли Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ одно из выражений иÑтинно, в противном Ñлучае возвращает ложь\n"
" \n"
" ЕÑли иÑпользуютÑÑ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ñ‹ «==» и «!=», Ñтрока Ñправа от\n"
-" оператора иÑпользуетÑÑ ÐºÐ°Ðº шаблон, и выполнÑетÑÑ ÑопоÑтавление по "
-"шаблону.\n"
+" оператора иÑпользуетÑÑ ÐºÐ°Ðº шаблон, и выполнÑетÑÑ ÑопоÑтавление по шаблону.\n"
" ЕÑли иÑпользуетÑÑ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€ «=~», Ñтрока Ñправа от оператора\n"
" оцениваетÑÑ ÐºÐ°Ðº регулÑрное выражение.\n"
" \n"
@@ -5323,7 +5557,7 @@ msgstr ""
" СоÑтоÑние выхода:\n"
" 0 или 1 в завиÑимоÑти от Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ."
-#: builtins.c:1750
+#: builtins.c:1746
msgid ""
"Common shell variable names and usage.\n"
" \n"
@@ -5381,8 +5615,7 @@ msgstr ""
" BASH_VERSION\tÐомер верÑии bash.\n"
" CDPATH\t\tСпиÑок каталогов, разделённых двоеточиÑми, Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка\n"
" \t\tв них каталогов, указанных как аргументы Ð´Ð»Ñ Â«cd».\n"
-" GLOBIGNORE\tСпиÑок шаблонов, разделённых двоеточиÑми и опиÑывающих имена "
-"файлов,\n"
+" GLOBIGNORE\tСпиÑок шаблонов, разделённых двоеточиÑми и опиÑывающих имена файлов,\n"
" \t\tкоторые будут игнорироватьÑÑ Ð¿Ñ€Ð¸ развёртывании пути.\n"
" HISTFILE\t\tÐ˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°, в котором хранитÑÑ Ð¶ÑƒÑ€Ð½Ð°Ð» команд.\n"
" HISTFILESIZE\tЧиÑло Ñтрок в файле журнала.\n"
@@ -5391,15 +5624,11 @@ msgstr ""
" HOME\t\tПолный путь к вашему домашнему каталогу.\n"
" HOSTNAME\t\tÐ˜Ð¼Ñ Ð´Ð°Ð½Ð½Ð¾Ð¹ ÑиÑтемы.\n"
" HOSTTYPE\t\tТип процеÑÑора, на котором работает Ð´Ð°Ð½Ð½Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ bash.\n"
-" IGNOREEOF\tУправлÑет дейÑтвием командного процеÑÑора при получении "
-"Ñимвола\n"
-" \t\tÑимвола конца файла в качеÑтве единÑтвенных входных данных. ЕÑли "
-"задано, тогда значение\n"
+" IGNOREEOF\tУправлÑет дейÑтвием командного процеÑÑора при получении Ñимвола\n"
+" \t\tÑимвола конца файла в качеÑтве единÑтвенных входных данных. ЕÑли задано, тогда значение\n"
" \t\tÑвлÑетÑÑ Ñ‡Ð¸Ñлом Ñимволов EOF, которые могут быть\n"
-" \t\tпрочитаны подрÑд в пуÑтой Ñтроке, поÑле чего командный процеÑÑор "
-"будет закрыт\n"
-" \t\t(по умолчанию — 10). ЕÑли не задано, EOF означает конец входных "
-"данных.\n"
+" \t\tпрочитаны подрÑд в пуÑтой Ñтроке, поÑле чего командный процеÑÑор будет закрыт\n"
+" \t\t(по умолчанию — 10). ЕÑли не задано, EOF означает конец входных данных.\n"
" MACHTYPE\t\tСтрока Ñ Ð¾Ð¿Ð¸Ñанием текущей ÑиÑтемы, в которой запущен bash.\n"
" MAILCHECK\tКак чаÑто (в Ñекундах) bash проверÑет наличие новой почты.\n"
" MAILPATH\t\tСпиÑок имён файлов, разделённых двоеточиÑми, в которых bash\n"
@@ -5412,15 +5641,13 @@ msgstr ""
" PS1\t\tОÑÐ½Ð¾Ð²Ð½Ð°Ñ Ñтрока приглашениÑ.\n"
" PS2\t\tÐ”Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ñтрока приглашениÑ.\n"
" PWD\t\tПолный путь до текущего каталога.\n"
-" SHELLOPTS\tСпиÑок включённых параметров командного процеÑÑора, "
-"разделённых двоеточиÑми.\n"
+" SHELLOPTS\tСпиÑок включённых параметров командного процеÑÑора, разделённых двоеточиÑми.\n"
" TERM\t\tÐазвание текущего типа терминала.\n"
" TIMEFORMAT\tФормат вывода данных о времени, показываемых\n"
" \t\tкомандой time.\n"
" auto_resume\tÐепуÑтое значение означает Ñлово в Ñтроке запуÑка команды,\n"
" \t\tкоторое Ñначала ищетÑÑ Ð² ÑпиÑке\n"
-" \t\tоÑтановленных заданий. ЕÑли команда найдена, задание переводитÑÑ Ð² "
-"интерактивный режим.\n"
+" \t\tоÑтановленных заданий. ЕÑли команда найдена, задание переводитÑÑ Ð² интерактивный режим.\n"
" \t\tЗначение «exact» означает, что Ñлово команды должно\n"
" \t\tточно Ñовпадать Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ в ÑпиÑке оÑтановленных заданий. \n"
" \t\tЗначение «substring» означает, что Ñлово команды\n"
@@ -5431,12 +5658,39 @@ msgstr ""
" \t\tподÑтановку журнала. Обычно Ñто «!». Второй Ñимвол\n"
" \t\tозначает «быÑтрую подÑтановку». Обычно Ñто «^». \n"
" \t\tТретий Ñимвол означает примечание журнала. Обычно Ñто «#».\n"
-" HISTIGNORE\tСпиÑок шаблонов, разделённых двоеточиÑми и опиÑывающих "
-"команды,\n"
+" HISTIGNORE\tСпиÑок шаблонов, разделённых двоеточиÑми и опиÑывающих команды,\n"
" \t\tкоторые должны быть Ñохранены в журнале.\n"
-#: builtins.c:1807
+#: builtins.c:1803
#, fuzzy
+#| 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."
msgid ""
"Add directories to stack.\n"
" \n"
@@ -5470,8 +5724,7 @@ msgstr ""
" \n"
" ДобавлÑет каталог в начало Ñтека каталогов или выполнÑет\n"
" ротацию Ñтека, Ð¿Ð¾Ð¼ÐµÑ‰Ð°Ñ Ð² начало Ñтека текущий рабочий\n"
-" каталог. ЕÑли аргументы не указаны, менÑет меÑтами два первых "
-"каталога.\n"
+" каталог. ЕÑли аргументы не указаны, менÑет меÑтами два первых каталога.\n"
" \n"
" Параметры:\n"
" -n\tпредотвращает обычное изменение каталога при добавлении\n"
@@ -5495,8 +5748,32 @@ msgstr ""
" Возвращает уÑпех, еÑли был указан допуÑтимый параметр или удалоÑÑŒ\n"
" перейти в каталог."
-#: builtins.c:1841
+#: builtins.c:1837
#, fuzzy
+#| 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."
msgid ""
"Remove directories from stack.\n"
" \n"
@@ -5546,8 +5823,32 @@ msgstr ""
" Возвращает уÑпех, еÑли был указан допуÑтимый параметр или удалоÑÑŒ\n"
" перейти в каталог."
-#: builtins.c:1871
+#: builtins.c:1867
#, fuzzy
+#| 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."
msgid ""
"Display directory stack.\n"
" \n"
@@ -5597,17 +5898,15 @@ msgstr ""
" \tпоказанного при вызове без параметров, Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ Ð½ÑƒÐ»Ñ.\n"
" \n"
" СоÑтоÑние выхода:\n"
-" Возвращает уÑпех, еÑли был указан допуÑтимый параметр или не возникла "
-"ошибка."
+" Возвращает уÑпех, еÑли был указан допуÑтимый параметр или не возникла ошибка."
-#: builtins.c:1902
-#, fuzzy
+#: builtins.c:1898
msgid ""
"Set and unset shell options.\n"
" \n"
" Change the setting of each shell option OPTNAME. Without any option\n"
-" arguments, list each supplied OPTNAME, or all shell options if no\n"
-" OPTNAMEs are given, with an indication of whether or not each is set.\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"
@@ -5622,10 +5921,8 @@ msgid ""
msgstr ""
"УÑтановка и удаление параметров командного процеÑÑора.\n"
" \n"
-" ИзменÑет наÑтройки указанных параметров командного процеÑÑора. ЕÑли не "
-"указать\n"
-" аргумент Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼, выводит вÑе параметры командного процеÑÑора, "
-"показываÑ\n"
+" ИзменÑет наÑтройки указанных параметров командного процеÑÑора. ЕÑли не указать\n"
+" аргумент Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼, выводит вÑе параметры командного процеÑÑора, показываÑ\n"
" какой из них уÑтановлен, а какой нет.\n"
" \n"
" Параметры:\n"
@@ -5639,8 +5936,37 @@ msgstr ""
" Возвращает уÑпех, еÑли указанный параметр включён. Возвращает ошибку,\n"
" еÑли был указан недопуÑтимый параметр или параметр отключён."
-#: builtins.c:1923
+#: builtins.c:1919
#, 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"
+#| " 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"
+#| " The format is re-used as necessary to consume all of the arguments. If\n"
+#| " there are fewer arguments than the format requires, extra format\n"
+#| " specifications behave as if a zero value or null string, as appropriate,\n"
+#| " had been supplied.\n"
+#| " \n"
+#| " Exit Status:\n"
+#| " Returns success unless an invalid option is given or a write or assignment\n"
+#| " error occurs."
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
" \n"
@@ -5648,34 +5974,27 @@ msgid ""
" -v var\tassign the output to shell variable VAR rather than\n"
" \t\tdisplay it on the standard output\n"
" \n"
-" FORMAT is a character string which contains three types of objects: "
-"plain\n"
-" characters, which are simply copied to standard output; character "
-"escape\n"
+" FORMAT is a character string which contains three types of objects: plain\n"
+" characters, which are simply copied to standard output; character escape\n"
" sequences, which are converted and copied to the standard output; and\n"
-" format specifications, each of which causes printing of the next "
-"successive\n"
+" format specifications, each of which causes printing of the next successive\n"
" argument.\n"
" \n"
-" In addition to the standard format specifications described in printf"
-"(1),\n"
+" In addition to the standard format specifications described in printf(1),\n"
" 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\toutput the date-time string resulting from using FMT as a "
-"format\n"
+" %(fmt)T\toutput the date-time string resulting from using FMT as a format\n"
" \t string for strftime(3)\n"
" \n"
" The format is re-used as necessary to consume all of the arguments. If\n"
" there are fewer arguments than the format requires, extra format\n"
-" specifications behave as if a zero value or null string, as "
-"appropriate,\n"
+" specifications behave as if a zero value or null string, as appropriate,\n"
" had been supplied.\n"
" \n"
" Exit Status:\n"
-" Returns success unless an invalid option is given or a write or "
-"assignment\n"
+" Returns success unless an invalid option is given or a write or assignment\n"
" error occurs."
msgstr ""
"Форматирует и выводит аргументы ÑоглаÑно указанному формату.\n"
@@ -5686,43 +6005,56 @@ msgstr ""
" \n"
" ФОРМÐТ — Ñто ÑÐ¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ Ñтрока, ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ñ‰Ð°Ñ Ñ‚Ñ€Ð¸ типа объектов: проÑтые\n"
" Ñимволы, которые копируютÑÑ Ð½Ð° Ñтандартный вывод, Ñкранирующие\n"
-" поÑледовательноÑти, которые преобразовываютÑÑ Ð¸ копируютÑÑ Ð½Ð° "
-"Ñтандартный\n"
+" поÑледовательноÑти, которые преобразовываютÑÑ Ð¸ копируютÑÑ Ð½Ð° Ñтандартный\n"
" вывод, и Ñпецификации, которые активируют вывод Ñледующего уÑпешного\n"
" аргумента.\n"
" \n"
-" Ð’ дополнение к Ñтандартным ÑпецификациÑм формата, опиÑанным в printf"
-"(1),\n"
+" Ð’ дополнение к Ñтандартным ÑпецификациÑм формата, опиÑанным в printf(1),\n"
" printf интерпретирует:\n"
" \n"
-" %b\tразвёртывание Ñкранирующих поÑледовательноÑтей Ñ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð¾Ð¹ коÑой "
-"чертой в ÑоответÑтвующий аргумент;\n"
-" %q\tзаключение аргумента в кавычки, чтобы его можно было повторно "
-"иÑпользовать в качеÑтве входных данных Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð³Ð¾ процеÑÑора;\n"
-" %(fmt)T вывод Ñтроки дата-времÑ, полученной поÑле иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ FMT в "
-"качеÑтве\n"
+" %b\tразвёртывание Ñкранирующих поÑледовательноÑтей Ñ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð¾Ð¹ коÑой чертой в ÑоответÑтвующий аргумент;\n"
+" %q\tзаключение аргумента в кавычки, чтобы его можно было повторно иÑпользовать в качеÑтве входных данных Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð³Ð¾ процеÑÑора;\n"
+" %(fmt)T вывод Ñтроки дата-времÑ, полученной поÑле иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ FMT в качеÑтве\n"
" Ñтроки Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ñ strftime(3)\n"
" \n"
-" ЕÑли необходимо задейÑтвовать вÑе аргументы, формат иÑпользуетÑÑ "
-"повторно. ЕÑли\n"
+" ЕÑли необходимо задейÑтвовать вÑе аргументы, формат иÑпользуетÑÑ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾. ЕÑли\n"
" аргументов меньше, чем требуетÑÑ Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ, дополнительные\n"
" Ñпецификации Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð¿Ñ€ÐµÑ‚Ð¸Ñ€ÑƒÑŽÑ‚ÑÑ ÐºÐ°Ðº Ñодержащие нулевое\n"
" или пуÑтое значение.\n"
" \n"
" СоÑтоÑние выхода:\n"
-" Возвращает уÑпех, еÑли был указан допуÑтимый параметр или не возникла "
-"ошибка\n"
+" Возвращает уÑпех, еÑли был указан допуÑтимый параметр или не возникла ошибка\n"
" запиÑи или приÑвоениÑ."
-#: builtins.c:1957
+#: builtins.c:1953
#, 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."
msgid ""
"Specify how arguments are to be completed by Readline.\n"
" \n"
-" For each NAME, specify how arguments are to be completed. If no "
-"options\n"
-" are supplied, existing completion specifications are printed in a way "
-"that\n"
+" For each NAME, specify how arguments are to be completed. If no options\n"
+" are supplied, existing completion specifications are printed in a way that\n"
" allows them to be reused as input.\n"
" \n"
" Options:\n"
@@ -5743,14 +6075,12 @@ msgid ""
msgstr ""
"Определение количеÑтва аргументов, завершаемых функцией readline.\n"
" \n"
-" Ð”Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ имени нужно указать количеÑтво завершаемых аргументов. ЕÑли "
-"параметры\n"
+" Ð”Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ имени нужно указать количеÑтво завершаемых аргументов. ЕÑли параметры\n"
" не указаны, выводÑÑ‚ÑÑ ÑущеÑтвующие Ñпецификации Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ðµ\n"
" Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾Ð³Ð¾ иÑпользованиÑ.\n"
" \n"
" Параметры:\n"
-" -p\tвывеÑти ÑущеÑтвующие Ñпецификации Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð² формате Ð´Ð»Ñ "
-"повторного иÑпользованиÑ\n"
+" -p\tвывеÑти ÑущеÑтвующие Ñпецификации Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð² формате Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾Ð³Ð¾ иÑпользованиÑ\n"
" -r\tудалить Ñпецификации Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ имени или,\n"
" \tеÑли имена не указаны, вÑе Ñпецификации\n"
" -D\tприменить Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð¸ дейÑÑ‚Ð²Ð¸Ñ ÐºÐ°Ðº Ñтандартные Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´,\n"
@@ -5763,16 +6093,14 @@ msgstr ""
" выÑокий приоритет, чем -E.\n"
" \n"
" СоÑтоÑние выхода:\n"
-" Возвращает уÑпех, еÑли был указан допуÑтимый параметр или не возникла "
-"ошибка."
+" Возвращает уÑпех, еÑли был указан допуÑтимый параметр или не возникла ошибка."
-#: builtins.c:1985
+#: builtins.c:1981
msgid ""
"Display possible completions depending on the options.\n"
" \n"
" Intended to be used from within a shell function generating possible\n"
-" completions. If the optional WORD argument is supplied, matches "
-"against\n"
+" completions. If the optional WORD argument is supplied, matches against\n"
" WORD are generated.\n"
" \n"
" Exit Status:\n"
@@ -5781,24 +6109,19 @@ msgstr ""
"Вывод возможных завершений в завиÑимоÑти от параметров.\n"
" \n"
" compgen предназначен Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² функциÑÑ… bash, генерирующих\n"
-" возможные завершениÑ. ЕÑли указан необÑзательный аргумент Ñлово, "
-"выполнÑет\n"
+" возможные завершениÑ. ЕÑли указан необÑзательный аргумент Ñлово, выполнÑет\n"
" ÑопоÑтавление Ñо Ñгенерированным Ñловом.\n"
" \n"
" СоÑтоÑние выхода:\n"
-" Возвращает уÑпех, еÑли был указан допуÑтимый параметр или не возникла "
-"ошибка."
+" Возвращает уÑпех, еÑли был указан допуÑтимый параметр или не возникла ошибка."
-#: builtins.c:2000
+#: builtins.c:1996
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"
+" 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"
@@ -5822,10 +6145,8 @@ msgstr ""
"Изменение или вывод параметров завершениÑ.\n"
" \n"
" ИзменÑет параметры Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ имени или, еÑли имена\n"
-" не указаны, Ð´Ð»Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ³Ð¾ завершениÑ. ЕÑли параметры не указаны, "
-"выводит\n"
-" параметры Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ имени или текущую Ñпецификацию "
-"завершениÑ.\n"
+" не указаны, Ð´Ð»Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ³Ð¾ завершениÑ. ЕÑли параметры не указаны, выводит\n"
+" параметры Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ имени или текущую Ñпецификацию завершениÑ.\n"
" \n"
" Параметры:\n"
" \t-o параметр\tзадать параметр Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ имени\n"
@@ -5837,10 +6158,8 @@ msgstr ""
" Ðргументы:\n"
" \n"
" Каждое Ð¸Ð¼Ñ ÑÑылаетÑÑ Ð½Ð° команду, Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð¹ уже должна быть определена\n"
-" ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ вÑтроенной команды «complete». ЕÑли "
-"имена\n"
-" не указаны, функциÑ, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ ÑÐµÐ¹Ñ‡Ð°Ñ Ð³ÐµÐ½ÐµÑ€Ð¸Ñ€ÑƒÐµÑ‚ завершениÑ, должна "
-"вызвать\n"
+" ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ вÑтроенной команды «complete». ЕÑли имена\n"
+" не указаны, функциÑ, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ ÑÐµÐ¹Ñ‡Ð°Ñ Ð³ÐµÐ½ÐµÑ€Ð¸Ñ€ÑƒÐµÑ‚ завершениÑ, должна вызвать\n"
" compopt, и должны изменитьÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ Ð´Ð»Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ³Ð¾\n"
" генератора завершениÑ.\n"
" \n"
@@ -5848,27 +6167,52 @@ msgstr ""
" Возвращает уÑпех, еÑли был указан допуÑтимый параметр или Ð´Ð»Ñ Ð¸Ð¼ÐµÐ½Ð¸\n"
" определена ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ."
-#: builtins.c:2030
+#: builtins.c:2026
#, 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."
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"
+" 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"
" -d delim\tUse DELIM to terminate lines, instead of newline\n"
-" -n count\tCopy at most COUNT lines. If COUNT is 0, all lines are "
-"copied\n"
-" -O origin\tBegin assigning to ARRAY at index ORIGIN. The default "
-"index is 0\n"
+" -n count\tCopy at most COUNT lines. If COUNT is 0, all lines are copied\n"
+" -O origin\tBegin assigning to ARRAY at index ORIGIN. The default index is 0\n"
" -s count\tDiscard the first COUNT lines read\n"
" -t\tRemove a trailing DELIM from each line read (default newline)\n"
-" -u fd\tRead lines from file descriptor FD instead of the standard "
-"input\n"
+" -u fd\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\n"
" \t\t\tCALLBACK\n"
@@ -5881,32 +6225,25 @@ msgid ""
" 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"
+" 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"
+" Returns success unless an invalid option is given or ARRAY is readonly or\n"
" not an indexed array."
msgstr ""
"Чтение Ñтрок Ñо Ñтандартного ввода в переменную индекÑированного маÑÑива.\n"
" \n"
-" Читает Ñтроки Ñо Ñтандартного ввода в переменную указанного "
-"индекÑированного маÑÑива\n"
-" или из указанного файлового деÑкриптора, еÑли указан параметр -u. "
-"ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $MAPFILE\n"
+" Читает Ñтроки Ñо Ñтандартного ввода в переменную указанного индекÑированного маÑÑива\n"
+" или из указанного файлового деÑкриптора, еÑли указан параметр -u. ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $MAPFILE\n"
" ÑвлÑетÑÑ Ð¼Ð°ÑÑивом по умолчанию.\n"
" \n"
" Параметры:\n"
-" -n чиÑло\tкопировать указанное чиÑло Ñтрок ЕÑли чиÑло равно 0, "
-"копируютÑÑ Ð²Ñе Ñтроки.\n"
-" -O начало\tначать приÑвоение маÑÑиву, Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ "
-"По умолчанию указатель равен 0.\n"
+" -n чиÑло\tкопировать указанное чиÑло Ñтрок ЕÑли чиÑло равно 0, копируютÑÑ Ð²Ñе Ñтроки.\n"
+" -O начало\tначать приÑвоение маÑÑиву, Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ ÐŸÐ¾ умолчанию указатель равен 0.\n"
" -s чиÑло \tотброÑить указанное чиÑло первых Ñтрок\n"
" -t\t\tудалить завершающие переводы Ñтроки изо вÑех прочитанных Ñтрок\n"
-" -u fd\t\tчитать Ñтроки из файлового деÑкриптора, а не Ñо Ñтандартного "
-"входа\n"
+" -u fd\t\tчитать Ñтроки из файлового деÑкриптора, а не Ñо Ñтандартного входа\n"
" -C callback\tоценивать callback при чтении каждой Ñтроки quantum\n"
" -c quantum\tчиÑло Ñтрок, читаемых от каждого вызова до callback\n"
" \n"
@@ -5914,8 +6251,7 @@ msgstr ""
" ÐœÐССИВ\t\tназвание переменной маÑÑива, иÑпользуемой Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… файла.\n"
" \n"
" ЕÑли параметр -C указан без -c, quantum по умолчанию равен 5000. Когда\n"
-" оцениваетÑÑ callback, он предоÑтавлÑет указатель на Ñледующий "
-"приÑваиваемый\n"
+" оцениваетÑÑ callback, он предоÑтавлÑет указатель на Ñледующий приÑваиваемый\n"
" Ñлемента маÑÑива и на Ñтроку, приÑваиваемую Ñтому Ñлементу,\n"
" в качеÑтве дополнительных аргументов.\n"
" \n"
@@ -5923,11 +6259,10 @@ msgstr ""
" операции приÑвоениÑ.\n"
" \n"
" СоÑтоÑние выхода:\n"
-" Возвращает уÑпех, еÑли был указан допуÑтимый параметр или маÑÑив "
-"доÑтупен Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи\n"
+" Возвращает уÑпех, еÑли был указан допуÑтимый параметр или маÑÑив доÑтупен Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи\n"
" и ÑвлÑетÑÑ Ð¸Ð½Ð´ÐµÐºÑированным."
-#: builtins.c:2066
+#: builtins.c:2062
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
@@ -5959,8 +6294,7 @@ msgstr ""
#~ msgstr "brace_expand> "
#~ msgid "Attempt to free unknown command type `%d'.\n"
-#~ msgstr ""
-#~ "Попытка оÑвободить памÑÑ‚ÑŒ Ñтруктуры команды неизвеÑтного типа `%d'.\n"
+#~ msgstr "Попытка оÑвободить памÑÑ‚ÑŒ Ñтруктуры команды неизвеÑтного типа `%d'.\n"
#~ msgid "Report this to %s\n"
#~ msgstr "Сообщите об Ñтом по адреÑу %s\n"
@@ -6069,9 +6403,7 @@ msgstr ""
#~ msgstr "подÑтановка команд"
#~ msgid "Can't reopen pipe to command substitution (fd %d): %s"
-#~ msgstr ""
-#~ "Ðевозможно вновь открыть канал Ð´Ð»Ñ Ð¿Ð¾Ð´Ñтановки команд (файловый "
-#~ "декÑриптор %d): %s"
+#~ msgstr "Ðевозможно вновь открыть канал Ð´Ð»Ñ Ð¿Ð¾Ð´Ñтановки команд (файловый декÑриптор %d): %s"
#~ msgid "$%c: unbound variable"
#~ msgstr "$%c: не заданы границы"
@@ -6089,8 +6421,7 @@ msgstr ""
#~ msgstr "[%s: неверный индекÑ"
#~ msgid "xrealloc: cannot reallocate %lu bytes (%lu bytes allocated)"
-#~ msgstr ""
-#~ "xmalloc: невозможно заново выделить %lu байтов (выделено %lu байтов)"
+#~ msgstr "xmalloc: невозможно заново выделить %lu байтов (выделено %lu байтов)"
#~ msgid "digits occur in two different argv-elements.\n"
#~ msgstr "цифры вÑтречаютÑÑ Ð² двух разных Ñлементах argv.\n"
@@ -6159,50 +6490,40 @@ msgstr ""
#~ msgstr "Ñлучае, Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ИМЕÐИ определÑетÑÑ Ð¿Ñевдокоманда Ñо ЗÐÐЧЕÐИЕМ."
#~ msgid "A trailing space in VALUE causes the next word to be checked for"
-#~ msgstr ""
-#~ "ЕÑли на конце ЗÐÐЧЕÐИЯ еÑÑ‚ÑŒ пробелы, при разворачивании пÑевдокоманды"
+#~ msgstr "ЕÑли на конце ЗÐÐЧЕÐИЯ еÑÑ‚ÑŒ пробелы, при разворачивании пÑевдокоманды"
#~ msgid "alias substitution when the alias is expanded. Alias returns"
#~ msgstr "Ñледующее Ñлово проверÑетÑÑ Ð½Ð° подÑтановку пÑевдокоманд. Alias"
#~ msgid "true unless a NAME is given for which no alias has been defined."
-#~ msgstr ""
-#~ "возвращает true, еÑли только не задано ИМЯ, Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾ нет пÑевдокоманд."
+#~ msgstr "возвращает true, еÑли только не задано ИМЯ, Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾ нет пÑевдокоманд."
-#~ msgid ""
-#~ "Remove NAMEs from the list of defined aliases. If the -a option is given,"
-#~ msgstr ""
-#~ "УдалÑет ИМЕÐРиз ÑпиÑка определённых пÑевдокоманд. ЕÑли задан параметр -a,"
+#~ msgid "Remove NAMEs from the list of defined aliases. If the -a option is given,"
+#~ msgstr "УдалÑет ИМЕÐРиз ÑпиÑка определённых пÑевдокоманд. ЕÑли задан параметр -a,"
#~ msgid "then remove all alias definitions."
#~ msgstr "удалÑет вÑе Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿Ñевдокоманд."
#~ msgid "Bind a key sequence to a Readline function, or to a macro. The"
-#~ msgstr ""
-#~ "СвÑзывает поÑледовательноÑÑ‚ÑŒ клавиш Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸ÐµÐ¹ Readline или Ñ Ð¼Ð°ÐºÑ€Ð¾Ñом."
+#~ msgstr "СвÑзывает поÑледовательноÑÑ‚ÑŒ клавиш Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸ÐµÐ¹ Readline или Ñ Ð¼Ð°ÐºÑ€Ð¾Ñом."
#~ msgid "syntax is equivalent to that found in ~/.inputrc, but must be"
#~ msgstr "СинтакÑÐ¸Ñ Ñ‚Ð¾Ñ‚ же, что и в ~/.inputrc, но должен передаватьÑÑ"
-#~ msgid ""
-#~ "passed as a single argument: bind '\"\\C-x\\C-r\": re-read-init-file'."
+#~ msgid "passed as a single argument: bind '\"\\C-x\\C-r\": re-read-init-file'."
#~ msgstr "одним аргументом: bind '\"\\C-x\\C-r\": re-read-init-file'."
#~ msgid "Arguments we accept:"
#~ msgstr "Принимаемые аргументы:"
-#~ msgid ""
-#~ " -m keymap Use `keymap' as the keymap for the duration of this"
-#~ msgstr ""
-#~ " -m раÑкладка ИÑпользовать во Ð²Ñ€ÐµÐ¼Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ программы указанную"
+#~ msgid " -m keymap Use `keymap' as the keymap for the duration of this"
+#~ msgstr " -m раÑкладка ИÑпользовать во Ð²Ñ€ÐµÐ¼Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ программы указанную"
#~ msgid " command. Acceptable keymap names are emacs,"
#~ msgstr " раÑкладку. ДопуÑтимые имена раÑкладок: emacs,"
-#~ msgid ""
-#~ " emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,"
-#~ msgstr ""
-#~ " emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,"
+#~ 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-command и vi-insert."
@@ -6213,8 +6534,7 @@ msgstr ""
#~ msgid " -P List function names and bindings."
#~ msgstr " -P ВывеÑти ÑпиÑок имён функций и ÑвÑзей."
-#~ msgid ""
-#~ " -p List functions and bindings in a form that can be"
+#~ msgid " -p List functions and bindings in a form that can be"
#~ msgstr " -p ВывеÑти ÑпиÑок имён функций и ÑвÑзей в виде,"
#~ msgid " reused as input."
@@ -6226,40 +6546,26 @@ msgstr ""
#~ msgid " -f filename Read key bindings from FILENAME."
#~ msgstr " -f имÑ_файла ПрочеÑÑ‚ÑŒ ÑвÑзи из файла."
-#~ msgid ""
-#~ " -q function-name Query about which keys invoke the named function."
-#~ msgstr ""
-#~ " -q имÑ_функции ЗапроÑ, какие клавиши вызовут указанную функцию."
+#~ msgid " -q function-name Query about which keys invoke the named function."
+#~ msgstr " -q имÑ_функции ЗапроÑ, какие клавиши вызовут указанную функцию."
#~ msgid " -V List variable names and values"
#~ msgstr " -V ВывеÑти ÑпиÑок имён и значений переменных."
-#~ msgid ""
-#~ " -v List variable names and values in a form that can"
-#~ msgstr ""
-#~ " -v ВывеÑти ÑпиÑок имён и значений переменных в виде,"
+#~ msgid " -v List variable names and values in a form that can"
+#~ msgstr " -v ВывеÑти ÑпиÑок имён и значений переменных в виде,"
#~ msgid " be reused as input."
#~ msgstr " который можно иÑпользовать на входе"
-#~ msgid ""
-#~ " -S List key sequences that invoke macros and their "
-#~ "values"
-#~ msgstr ""
-#~ " -S ВывеÑти ÑпиÑок поÑледовательноÑтей клавиш, "
-#~ "вызывающих макроÑÑ‹ и их значений."
+#~ msgid " -S List key sequences that invoke macros and their values"
+#~ msgstr " -S ВывеÑти ÑпиÑок поÑледовательноÑтей клавиш, вызывающих макроÑÑ‹ и их значений."
-#~ msgid ""
-#~ " -s List key sequences that invoke macros and their "
-#~ "values in"
-#~ msgstr ""
-#~ " -s ВывеÑти ÑпиÑок поÑледовательноÑтей клавиш, вызывающих "
-#~ "макроÑÑ‹"
+#~ msgid " -s List key sequences that invoke macros and their values in"
+#~ msgstr " -s ВывеÑти ÑпиÑок поÑледовательноÑтей клавиш, вызывающих макроÑÑ‹"
#~ msgid " a form that can be reused as input."
-#~ msgstr ""
-#~ " и их значений в виде, который можно иÑпользовать на "
-#~ "входе"
+#~ msgstr " и их значений в виде, который можно иÑпользовать на входе"
#~ msgid "Exit from within a FOR, WHILE or UNTIL loop. If N is specified,"
#~ msgstr "Выйти из цикла FOR, WHILE или UNTIL. ЕÑли указано N,"
@@ -6286,89 +6592,64 @@ msgstr ""
#~ msgstr "Изменить текущий каталог на заданный. ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $HOME Ñодержит"
#~ msgid "default DIR. The variable $CDPATH defines the search path for"
-#~ msgstr ""
-#~ "каталог по умолчанию. ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $CDPATH определÑет путь, в котором"
+#~ msgstr "каталог по умолчанию. ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $CDPATH определÑет путь, в котором"
#~ msgid "the directory containing DIR. Alternative directory names in CDPATH"
-#~ msgstr ""
-#~ "ищетÑÑ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³, Ñодержащий КÐТÐЛОГ. Ðльтернативные каталоги в CDPATH"
+#~ msgstr "ищетÑÑ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³, Ñодержащий КÐТÐЛОГ. Ðльтернативные каталоги в CDPATH"
#~ msgid "are separated by a colon (:). A null directory name is the same as"
-#~ msgstr ""
-#~ "разделÑÑŽÑ‚ÑÑ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð¹ Ñ Ð·Ð°Ð¿Ñтой (:). ПуÑтое Ð¸Ð¼Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° -- то же Ñамое,"
+#~ msgstr "разделÑÑŽÑ‚ÑÑ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð¹ Ñ Ð·Ð°Ð¿Ñтой (:). ПуÑтое Ð¸Ð¼Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° -- то же Ñамое,"
#~ msgid "the current directory, i.e. `.'. If DIR begins with a slash (/),"
-#~ msgstr ""
-#~ "что текущий каталог, Ñ‚.е. `.'. ЕÑли КÐТÐЛОГ начинаетÑÑ Ñ Ð´Ñ€Ð¾Ð±Ð¸ (/),"
+#~ msgstr "что текущий каталог, Ñ‚.е. `.'. ЕÑли КÐТÐЛОГ начинаетÑÑ Ñ Ð´Ñ€Ð¾Ð±Ð¸ (/),"
#~ msgid "then $CDPATH is not used. If the directory is not found, and the"
-#~ msgstr ""
-#~ "$CDPATh не иÑпользуетÑÑ. ЕÑли каталог не найден, и уÑтановлен параметр"
+#~ msgstr "$CDPATh не иÑпользуетÑÑ. ЕÑли каталог не найден, и уÑтановлен параметр"
#~ msgid "shell option `cdable_vars' is set, then try the word as a variable"
-#~ msgstr ""
-#~ "оболочки `cdable_vars', делаетÑÑ Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ° интерпретировать Ñто Ñлово как "
-#~ "имÑ"
+#~ msgstr "оболочки `cdable_vars', делаетÑÑ Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ° интерпретировать Ñто Ñлово как имÑ"
#~ msgid "name. If that variable has a value, then cd to the value of that"
-#~ msgstr ""
-#~ "переменной. ЕÑли Ñта Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¸Ð¼ÐµÐµÑ‚ значение, каталог менÑетÑÑ Ð½Ð° Ñто"
+#~ msgstr "переменной. ЕÑли Ñта Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¸Ð¼ÐµÐµÑ‚ значение, каталог менÑетÑÑ Ð½Ð° Ñто"
-#~ msgid ""
-#~ "variable. The -P option says to use the physical directory structure"
-#~ msgstr ""
-#~ "значение. Параметр -P указывает иÑпользовать физичеÑкую Ñтруктуру "
-#~ "каталогов,"
+#~ msgid "variable. The -P option says to use the physical directory structure"
+#~ msgstr "значение. Параметр -P указывает иÑпользовать физичеÑкую Ñтруктуру каталогов,"
-#~ msgid ""
-#~ "instead of following symbolic links; the -L option forces symbolic links"
-#~ msgstr ""
-#~ "а не Ñледовать ÑимволчиеÑким ÑÑылкам, параметр -L заÑтавлÑет Ñледовать"
+#~ msgid "instead of following symbolic links; the -L option forces symbolic links"
+#~ msgstr "а не Ñледовать ÑимволчиеÑким ÑÑылкам, параметр -L заÑтавлÑет Ñледовать"
#~ msgid "to be followed."
#~ msgstr "ÑимволичеÑким ÑÑылкам."
#~ msgid "Print the current working directory. With the -P option, pwd prints"
-#~ msgstr ""
-#~ "ВывеÑти Ð¸Ð¼Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ³Ð¾ рабочего каталога. С параметром -P pwd выводит"
+#~ msgstr "ВывеÑти Ð¸Ð¼Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ³Ð¾ рабочего каталога. С параметром -P pwd выводит"
#~ msgid "the physical directory, without any symbolic links; the -L option"
-#~ msgstr ""
-#~ "физичеÑкий каталог, без ÑимволичеÑких ÑÑылок, параметр -L заÑтавлÑет"
+#~ msgstr "физичеÑкий каталог, без ÑимволичеÑких ÑÑылок, параметр -L заÑтавлÑет"
#~ msgid "makes pwd follow symbolic links."
#~ msgstr "pwd Ñледовать ÑимволичеÑким ÑÑылкам."
-#~ msgid ""
-#~ "Runs COMMAND with ARGS ignoring shell functions. If you have a shell"
-#~ msgstr ""
-#~ "ВыполнÑет КОМÐÐДУ Ñ ÐРГУМЕÐТÐМИ, Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÑ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ оболочки. ЕÑли у Ð²Ð°Ñ "
-#~ "еÑÑ‚ÑŒ"
+#~ msgid "Runs COMMAND with ARGS ignoring shell functions. If you have a shell"
+#~ msgstr "ВыполнÑет КОМÐÐДУ Ñ ÐРГУМЕÐТÐМИ, Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÑ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ оболочки. ЕÑли у Ð²Ð°Ñ ÐµÑÑ‚ÑŒ"
#~ msgid "function called `ls', and you wish to call the command `ls', you can"
-#~ msgstr ""
-#~ "Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¾Ð±Ð¾Ð»Ð¾Ñ‡ÐºÐ¸ `ls', а вы хотите вызвать команду `ls', можно "
-#~ "иÑпользовать"
+#~ msgstr "Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¾Ð±Ð¾Ð»Ð¾Ñ‡ÐºÐ¸ `ls', а вы хотите вызвать команду `ls', можно иÑпользовать"
-#~ msgid ""
-#~ "say \"command ls\". If the -p option is given, a default value is used"
-#~ msgstr ""
-#~ "\"command ls\". ЕÑли задан параметр -p, иÑпользуетÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ $PATH"
+#~ msgid "say \"command ls\". If the -p option is given, a default value is used"
+#~ msgstr "\"command ls\". ЕÑли задан параметр -p, иÑпользуетÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ $PATH"
-#~ msgid ""
-#~ "for PATH that is guaranteed to find all of the standard utilities. If"
+#~ msgid "for PATH that is guaranteed to find all of the standard utilities. If"
#~ msgstr "по умолчанию, что гарантирует отыÑкание Ñтандартных утилит. ЕÑли"
-#~ msgid ""
-#~ "the -V or -v option is given, a string is printed describing COMMAND."
+#~ msgid "the -V or -v option is given, a string is printed describing COMMAND."
#~ msgstr "задан параметр -V или -v, выводитÑÑ Ñтрока, опиÑÑ‹Ð²Ð°ÑŽÑ‰Ð°Ñ ÐšÐžÐœÐÐДУ."
#~ msgid "The -V option produces a more verbose description."
#~ msgstr "Параметр -V Ñоздаёт более подробное опиÑание."
#~ msgid "Declare variables and/or give them attributes. If no NAMEs are"
-#~ msgstr ""
-#~ "ОбъÑвлÑет переменные и/или придаёт им атрибуты. ЕÑли не заданы ИМЕÐÐ,"
+#~ msgstr "ОбъÑвлÑет переменные и/или придаёт им атрибуты. ЕÑли не заданы ИМЕÐÐ,"
#~ msgid "given, then display the values of variables instead. The -p option"
#~ msgstr "выводит вмеÑто Ñтого Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ñ…. Параметр -p выведет"
@@ -6412,13 +6693,11 @@ msgstr ""
#~ msgid "name only."
#~ msgstr "функции."
-#~ msgid ""
-#~ "Using `+' instead of `-' turns off the given attribute instead. When"
+#~ msgid "Using `+' instead of `-' turns off the given attribute instead. When"
#~ msgstr "ИÑпользование `+' вмеÑто `-' выключает заданный атрибут. При"
#~ msgid "used in a function, makes NAMEs local, as with the `local' command."
-#~ msgstr ""
-#~ "иÑпользовании в функции делает ИМЕÐа локальными, как команда `local'."
+#~ msgstr "иÑпользовании в функции делает ИМЕÐа локальными, как команда `local'."
#~ msgid "Obsolete. See `declare'."
#~ msgstr "УÑтарела. См. `declare'."
@@ -6433,8 +6712,7 @@ msgstr ""
#~ msgstr "Выводит ÐРГУМЕÐТЫ. ЕÑли задано -n, подавлÑетÑÑ Ð·Ð°Ð²ÐµÑ€ÑˆÐ°ÑŽÑ‰Ð¸Ð¹ переход"
#~ msgid "suppressed. If the -e option is given, interpretation of the"
-#~ msgstr ""
-#~ "на новую Ñтроку. ЕÑли задан параметр -e, интерпретируютÑÑ Ñледующие"
+#~ msgstr "на новую Ñтроку. ЕÑли задан параметр -e, интерпретируютÑÑ Ñледующие"
#~ msgid "following backslash-escaped characters is turned on:"
#~ msgstr "Ñкранированные Ñимволы:"
@@ -6472,18 +6750,14 @@ msgstr ""
#~ msgid "\t\\num\tthe character whose ASCII code is NUM (octal)."
#~ msgstr "\t\\чиÑло\tÑимвол, воÑьмеричный ASCII-код которого равен ЧИСЛУ"
-#~ msgid ""
-#~ "You can explicitly turn off the interpretation of the above characters"
+#~ msgid "You can explicitly turn off the interpretation of the above characters"
#~ msgstr "Ð’Ñ‹ можете Ñвно выключить интерпретацию вышеприведённых Ñимволов"
#~ msgid "with the -E option."
#~ msgstr "параметром -E."
-#~ msgid ""
-#~ "Output the ARGs. If -n is specified, the trailing newline is suppressed."
-#~ msgstr ""
-#~ "Выводит ÐРГУМЕÐТЫ. ЕÑли задано -n, подавлÑетÑÑ Ð·Ð°Ð²ÐµÑ€ÑˆÐ°ÑŽÑ‰Ð¸Ð¹ переход на "
-#~ "новую Ñтроку."
+#~ msgid "Output the ARGs. If -n is specified, the trailing newline is suppressed."
+#~ msgstr "Выводит ÐРГУМЕÐТЫ. ЕÑли задано -n, подавлÑетÑÑ Ð·Ð°Ð²ÐµÑ€ÑˆÐ°ÑŽÑ‰Ð¸Ð¹ переход на новую Ñтроку."
#~ msgid "Enable and disable builtin shell commands. This allows"
#~ msgstr "Включает и блокирует вÑтроенные команды оболочки. Это позволÑет"
@@ -6492,12 +6766,10 @@ msgstr ""
#~ msgstr "иÑпользовать внешние команды Ñ Ñ‚ÐµÐ¼Ð¸ же именами, что команды"
#~ msgid "builtin. If -n is used, the NAMEs become disabled; otherwise"
-#~ msgstr ""
-#~ "оболочки. При иÑпользовании -n ИМЕÐРблокируютÑÑ, в противном Ñлучае"
+#~ msgstr "оболочки. При иÑпользовании -n ИМЕÐРблокируютÑÑ, в противном Ñлучае"
#~ msgid "NAMEs are enabled. For example, to use the `test' found on your"
-#~ msgstr ""
-#~ "включаютÑÑ. Ðапример, чтобы иÑпользовать файл `test', а не вÑтроенную"
+#~ msgstr "включаютÑÑ. Ðапример, чтобы иÑпользовать файл `test', а не вÑтроенную"
#~ msgid "path instead of the shell builtin version, type `enable -n test'."
#~ msgstr "в оболочку верÑию, введите enable -n test'. Ðа ÑиÑтемах,"
@@ -6506,8 +6778,7 @@ msgstr ""
#~ msgstr "поддерживающих динамичеÑкую загрузку можно иÑпользовать параметр -f"
#~ msgid "to load new builtins from the shared object FILENAME. The -d"
-#~ msgstr ""
-#~ "чтобы загрузить новые вÑтроенные команды из разделÑемого объекта ФÐЙЛ."
+#~ msgstr "чтобы загрузить новые вÑтроенные команды из разделÑемого объекта ФÐЙЛ."
#~ msgid "option will delete a builtin previously loaded with -f. If no"
#~ msgstr "Параметр -d удалÑет команды, загруженные -f. ЕÑли имена, кроме"
@@ -6516,8 +6787,7 @@ msgstr ""
#~ msgstr "как в параметрах, не заданы, или еÑли задан параметр -p, выводитÑÑ"
#~ msgid "of builtins is printed. The -a option means to print every builtin"
-#~ msgstr ""
-#~ "ÑпиÑок вÑтроенных команд. Параметр -a требует вывеÑти вÑе вÑтроенные"
+#~ msgstr "ÑпиÑок вÑтроенных команд. Параметр -a требует вывеÑти вÑе вÑтроенные"
#~ msgid "with an indication of whether or not it is enabled. The -s option"
#~ msgstr "команды Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸ÐµÐ¹, блокированы ли они. Параметр -s выводит"
@@ -6528,22 +6798,17 @@ msgstr ""
#~ msgid "option displays a list of all disabled builtins."
#~ msgstr "вÑех блокированных вÑтроенных команд."
-#~ msgid ""
-#~ "Read ARGs as input to the shell and execute the resulting command(s)."
-#~ msgstr ""
-#~ "Читает ÐРГУМЕÐТЫ как входной текÑÑ‚ оболочки и выполнÑет полученные "
-#~ "команды."
+#~ msgid "Read ARGs as input to the shell and execute the resulting command(s)."
+#~ msgstr "Читает ÐРГУМЕÐТЫ как входной текÑÑ‚ оболочки и выполнÑет полученные команды."
#~ msgid "Getopts is used by shell procedures to parse positional parameters."
-#~ msgstr ""
-#~ "Getopts иÑпользуетÑÑ Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ð°Ð¼Ð¸ оболочки Ð´Ð»Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð° параметров командной"
+#~ msgstr "Getopts иÑпользуетÑÑ Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ð°Ð¼Ð¸ оболочки Ð´Ð»Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð° параметров командной"
#~ msgid "OPTSTRING contains the option letters to be recognized; if a letter"
#~ msgstr "Ñтроки. СТРОКÐ_ПÐРÐМЕТРОВ Ñодержит буквы параметров, которые нужно"
#~ msgid "is followed by a colon, the option is expected to have an argument,"
-#~ msgstr ""
-#~ "раÑпознать. ЕÑли за буквой Ñледует двоеточие, параметр должен иметь"
+#~ msgstr "раÑпознать. ЕÑли за буквой Ñледует двоеточие, параметр должен иметь"
#~ msgid "which should be separated from it by white space."
#~ msgstr "аргумент, отделённый от него промежутком."
@@ -6558,8 +6823,7 @@ msgstr ""
#~ msgstr "Ñледующего аргумента в переменную оболочки OPTIND. OPTIND"
#~ msgid "variable OPTIND. OPTIND is initialized to 1 each time the shell or"
-#~ msgstr ""
-#~ "принимает значение 1 при каждом вызове оболочки или Ñкрипта оболочки."
+#~ msgstr "принимает значение 1 при каждом вызове оболочки или Ñкрипта оболочки."
#~ msgid "a shell script is invoked. When an option requires an argument,"
#~ msgstr "ЕÑли параметр требует аргумента, getopts помещает Ñтот аргумент"
@@ -6568,19 +6832,16 @@ msgstr ""
#~ msgstr "в переменную оболочки OPTARG."
#~ msgid "getopts reports errors in one of two ways. If the first character"
-#~ msgstr ""
-#~ "getopts Ñообщает об ошибках одним из двух ÑпоÑобов. ЕÑли первый Ñимвол"
+#~ msgstr "getopts Ñообщает об ошибках одним из двух ÑпоÑобов. ЕÑли первый Ñимвол"
#~ msgid "of OPTSTRING is a colon, getopts uses silent error reporting. In"
-#~ msgstr ""
-#~ "OPTSTRING -- двоеточие, getopts иÑпользует беÑшумный ÑпоÑоб. Ð’ Ñтом"
+#~ msgstr "OPTSTRING -- двоеточие, getopts иÑпользует беÑшумный ÑпоÑоб. Ð’ Ñтом"
#~ msgid "this mode, no error messages are printed. If an illegal option is"
#~ msgstr "Ñлучае ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾Ð± ошибках не выводÑÑ‚ÑÑ. ЕÑли найден недопуÑтимый"
#~ msgid "seen, getopts places the option character found into OPTARG. If a"
-#~ msgstr ""
-#~ "параметр, getopts помещает найденный Ñимвол в OPTARG. ЕÑли не найден"
+#~ msgstr "параметр, getopts помещает найденный Ñимвол в OPTARG. ЕÑли не найден"
#~ msgid "required argument is not found, getopts places a ':' into NAME and"
#~ msgstr "требуемый аргумент, getopts помещает в ИМЯ ':', а в OPTARG --"
@@ -6637,8 +6898,7 @@ msgstr ""
#~ msgstr "ЕÑли файл не может быть запущен, а оболочка не интерактивна,"
#~ msgid "then the shell exits, unless the variable \"no_exit_on_failed_exec\""
-#~ msgstr ""
-#~ "производитÑÑ Ð²Ñ‹Ñ…Ð¾Ð´ из оболочки, еÑли только не уÑтановлена переменнаÑ"
+#~ msgstr "производитÑÑ Ð²Ñ‹Ñ…Ð¾Ð´ из оболочки, еÑли только не уÑтановлена переменнаÑ"
#~ msgid "is set."
#~ msgstr "\"no_exit_on_failed_exec\""
@@ -6646,10 +6906,8 @@ msgstr ""
#~ msgid "is that of the last command executed."
#~ msgstr "Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð±ÑƒÐ´ÐµÑ‚ таким же, как у поÑледней выполненной команды."
-#~ msgid ""
-#~ "FIRST and LAST can be numbers specifying the range, or FIRST can be a"
-#~ msgstr ""
-#~ "ПЕРВÐЯ и ПОСЛЕДÐЯЯ могут быть чиÑлами, ограничивающими диапазон, или"
+#~ msgid "FIRST and LAST can be numbers specifying the range, or FIRST can be a"
+#~ msgstr "ПЕРВÐЯ и ПОСЛЕДÐЯЯ могут быть чиÑлами, ограничивающими диапазон, или"
#~ msgid "string, which means the most recent command beginning with that"
#~ msgstr "же ПЕРВÐЯ может быть Ñтрокой, означающей Ñамую недавнюю команду,"
@@ -6657,13 +6915,10 @@ msgstr ""
#~ msgid "string."
#~ msgstr "начинающуюÑÑ Ñ Ñтой Ñтроки."
-#~ msgid ""
-#~ " -e ENAME selects which editor to use. Default is FCEDIT, then EDITOR,"
-#~ msgstr ""
-#~ " -e ИМЯ_РЕДÐКТОРРвыбирает иÑпользуемый редактор. По умолчанию FCEDIT,"
+#~ msgid " -e ENAME selects which editor to use. Default is FCEDIT, then EDITOR,"
+#~ msgstr " -e ИМЯ_РЕДÐКТОРРвыбирает иÑпользуемый редактор. По умолчанию FCEDIT,"
-#~ msgid ""
-#~ " then the editor which corresponds to the current readline editing"
+#~ msgid " then the editor which corresponds to the current readline editing"
#~ msgstr " затем EDITOR, затем редактор, ÑоответÑтвуюший текущему режиму"
#~ msgid " mode, then vi."
@@ -6675,14 +6930,11 @@ msgstr ""
#~ msgid " -n means no line numbers listed."
#~ msgstr " -n не выводить номера Ñтрок."
-#~ msgid ""
-#~ " -r means reverse the order of the lines (making it newest listed "
-#~ "first)."
+#~ msgid " -r means reverse the order of the lines (making it newest listed first)."
#~ msgstr " -r вывеÑти Ñтроки в обратном порÑдке (в начале Ñамые новые)."
#~ msgid "With the `fc -s [pat=rep ...] [command]' format, the command is"
-#~ msgstr ""
-#~ "Ð’ формате `fc -s [шаблон=замена] [команда] команда выполнÑетÑÑ Ð·Ð°Ð½Ð¾Ð²Ð¾"
+#~ msgstr "Ð’ формате `fc -s [шаблон=замена] [команда] команда выполнÑетÑÑ Ð·Ð°Ð½Ð¾Ð²Ð¾"
#~ msgid "re-executed after the substitution OLD=NEW is performed."
#~ msgstr "поÑле того, как произведена подÑтановка."
@@ -6694,8 +6946,7 @@ msgstr ""
#~ msgstr "команду, начинающуюÑÑ Ñ `cc', а `r' заново выполнÑет поÑледнюю"
#~ msgid "Place JOB_SPEC in the foreground, and make it the current job. If"
-#~ msgstr ""
-#~ "Возвращает задачу Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ номером из фонового режима и делает её"
+#~ msgstr "Возвращает задачу Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ номером из фонового режима и делает её"
#~ msgid "JOB_SPEC is not present, the shell's notion of the current job is"
#~ msgstr "текущей задачей. ЕÑли номер не задан, иÑпользуетÑÑ Ð¿Ñ€ÐµÐ´Ñтавление"
@@ -6704,12 +6955,10 @@ msgstr ""
#~ msgstr "оболочки о текущей задаче."
#~ msgid "Place JOB_SPEC in the background, as if it had been started with"
-#~ msgstr ""
-#~ "Переводит задачу Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ номером в фоновый режим, как еÑли бы она"
+#~ msgstr "Переводит задачу Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ номером в фоновый режим, как еÑли бы она"
#~ msgid "`&'. If JOB_SPEC is not present, the shell's notion of the current"
-#~ msgstr ""
-#~ "была запущена Ñ `&'. ЕÑли номер не задан, иÑпользуетÑÑ Ð¿Ñ€ÐµÐ´Ñтавление"
+#~ msgstr "была запущена Ñ `&'. ЕÑли номер не задан, иÑпользуетÑÑ Ð¿Ñ€ÐµÐ´Ñтавление"
#~ msgid "job is used."
#~ msgstr "оболочки о текущей задаче."
@@ -6726,17 +6975,14 @@ msgstr ""
#~ msgid "option causes the shell to forget all remembered locations. If no"
#~ msgstr "ÑпиÑок положений в памÑти. ЕÑли аргументы не заданы, выводитÑÑ"
-#~ msgid ""
-#~ "arguments are given, information about remembered commands is displayed."
+#~ msgid "arguments are given, information about remembered commands is displayed."
#~ msgstr "Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ запомненных командах."
#~ msgid "Display helpful information about builtin commands. If PATTERN is"
-#~ msgstr ""
-#~ "ВывеÑти полезную информацию о вÑтроенных командах. ЕÑли задан ШÐБЛОÐ,"
+#~ msgstr "ВывеÑти полезную информацию о вÑтроенных командах. ЕÑли задан ШÐБЛОÐ,"
#~ msgid "specified, gives detailed help on all commands matching PATTERN,"
-#~ msgstr ""
-#~ "вывеÑти подробную Ñправку по вÑем командам, ÑоответÑтвующим ШÐБЛОÐУ,"
+#~ msgstr "вывеÑти подробную Ñправку по вÑем командам, ÑоответÑтвующим ШÐБЛОÐУ,"
#~ msgid "otherwise a list of the builtins is printed."
#~ msgstr "в противном Ñлучае вывеÑти ÑпиÑок вÑтроенных команд."
@@ -6745,18 +6991,15 @@ msgstr ""
#~ msgstr "ВывеÑти иÑторию команд в виде ÑпиÑка Ñ Ð½Ð¾Ð¼ÐµÑ€Ð°Ð¼Ð¸ Ñтрок. Изменённые"
#~ msgid "with a `*' have been modified. Argument of N says to list only"
-#~ msgstr ""
-#~ "Ñтроки помечаютÑÑ Ñимволом `*'. Ðргумент N указывает выводить только"
+#~ msgstr "Ñтроки помечаютÑÑ Ñимволом `*'. Ðргумент N указывает выводить только"
#~ msgid "the last N lines. The -c option causes the history list to be"
#~ msgstr "поÑледние N Ñтрок. Параметр -c очищает иÑторию команд, удалÑÑ"
-#~ msgid ""
-#~ "cleared by deleting all of the entries. The `-w' option writes out the"
+#~ msgid "cleared by deleting all of the entries. The `-w' option writes out the"
#~ msgstr "вÑе Ñтроки. Параметр `-w' запиÑывает текущую иÑторию в указанный"
-#~ msgid ""
-#~ "current history to the history file; `-r' means to read the file and"
+#~ msgid "current history to the history file; `-r' means to read the file and"
#~ msgstr "файл; `-r' читает такой файл и дополнÑет его Ñодержимым иÑторию"
#~ msgid "append the contents to the history list instead. `-a' means"
@@ -6783,8 +7026,7 @@ msgstr ""
#~ msgid "the history list as a single entry. The -p option means to perform"
#~ msgstr "Параметр -p выполнÑет развёртывание каждого ÐРГУМЕÐТРи выводит"
-#~ msgid ""
-#~ "history expansion on each ARG and display the result, without storing"
+#~ msgid "history expansion on each ARG and display the result, without storing"
#~ msgstr "результат, не ÑохранÑÑ Ð½Ð¸Ñ‡ÐµÐ³Ð¾ в ÑпиÑке иÑтории команд."
#~ msgid "anything in the history list."
@@ -6796,53 +7038,41 @@ msgstr ""
#~ msgid "to the normal information; the -p option lists process id's only."
#~ msgstr "идентификаторы процеÑÑов: параметр -p выодит только идентификаторы."
-#~ msgid ""
-#~ "If -n is given, only processes that have changed status since the last"
+#~ msgid "If -n is given, only processes that have changed status since the last"
#~ msgstr "ЕÑли задано -n, выводÑÑ‚ÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ процеÑÑÑ‹, ÑÑ‚Ð°Ñ‚ÑƒÑ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… изменилÑÑ"
-#~ msgid ""
-#~ "notification are printed. JOBSPEC restricts output to that job. The"
-#~ msgstr ""
-#~ "Ñо времени поÑледнего уведомлениÑ. ЕÑли задан номер задачи, выводитÑÑ"
+#~ msgid "notification are printed. JOBSPEC restricts output to that job. The"
+#~ msgstr "Ñо времени поÑледнего уведомлениÑ. ЕÑли задан номер задачи, выводитÑÑ"
#~ msgid "-r and -s options restrict output to running and stopped jobs only,"
#~ msgstr "только она. Параметры -r и -s выводит только работающие или только"
#~ msgid "respectively. Without options, the status of all active jobs is"
-#~ msgstr ""
-#~ "оÑтановленные задачи ÑоответÑтвенно. Без параметров выодитÑÑ ÑтатуÑ"
+#~ msgstr "оÑтановленные задачи ÑоответÑтвенно. Без параметров выодитÑÑ ÑтатуÑ"
-#~ msgid ""
-#~ "printed. If -x is given, COMMAND is run after all job specifications"
-#~ msgstr ""
-#~ "вÑех активных задач. ЕÑли задано -x, в КОМÐÐДЕ вмеÑто вÑех ÐРГУМЕÐТОВ"
+#~ msgid "printed. If -x is given, COMMAND is run after all job specifications"
+#~ msgstr "вÑех активных задач. ЕÑли задано -x, в КОМÐÐДЕ вмеÑто вÑех ÐРГУМЕÐТОВ"
-#~ msgid ""
-#~ "that appear in ARGS have been replaced with the process ID of that job's"
+#~ msgid "that appear in ARGS have been replaced with the process ID of that job's"
#~ msgstr "(номеров задач) подÑтавлÑетÑÑ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€ лидера ÑоответÑтвующей"
#~ msgid "process group leader."
#~ msgstr "группы процеÑÑов, и КОМÐÐДРвыполнÑетÑÑ."
#~ msgid "Removes each JOBSPEC argument from the table of active jobs."
-#~ msgstr ""
-#~ "УдалÑет вÑе задачи, заданные ÑпецификациÑми в аргументе, из таблицы задач."
+#~ msgstr "УдалÑет вÑе задачи, заданные ÑпецификациÑми в аргументе, из таблицы задач."
#~ msgid "Send the processes named by PID (or JOB) the signal SIGSPEC. If"
-#~ msgstr ""
-#~ "ПоÑылает указанным процеÑÑам (заданным PID или Ñпецификацией) Ñигнал"
+#~ msgstr "ПоÑылает указанным процеÑÑам (заданным PID или Ñпецификацией) Ñигнал"
-#~ msgid ""
-#~ "SIGSPEC is not present, then SIGTERM is assumed. An argument of `-l'"
+#~ msgid "SIGSPEC is not present, then SIGTERM is assumed. An argument of `-l'"
#~ msgstr "SIGSPEC. ЕÑли отÑутÑтвует SIGSPEC, поÑылаетÑÑ SIGTERM. Ðргументом"
#~ msgid "lists the signal names; if arguments follow `-l' they are assumed to"
-#~ msgstr ""
-#~ "параметра `-l' Ñлужит ÑпиÑок Ñигналов. ЕÑли он приÑутÑтвует, выводÑÑ‚ÑÑ"
+#~ msgstr "параметра `-l' Ñлужит ÑпиÑок Ñигналов. ЕÑли он приÑутÑтвует, выводÑÑ‚ÑÑ"
#~ msgid "be signal numbers for which names should be listed. Kill is a shell"
-#~ msgstr ""
-#~ "Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ñигналов Ñ Ñтими номерами. Kill ÑвлÑетÑÑ Ð²Ñтроенной командой"
+#~ msgstr "Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ñигналов Ñ Ñтими номерами. Kill ÑвлÑетÑÑ Ð²Ñтроенной командой"
#~ msgid "builtin for two reasons: it allows job IDs to be used instead of"
#~ msgstr "оболочки по двум причинам: она позволÑет иÑпользовать номера задач,"
@@ -6850,16 +7080,14 @@ msgstr ""
#~ msgid "process IDs, and, if you have reached the limit on processes that"
#~ msgstr "а не процеÑÑов, и еÑли вы иÑчерпаете лимит Ñозданных процеÑÑов,"
-#~ msgid ""
-#~ "you can create, you don't have to start a process to kill another one."
+#~ msgid "you can create, you don't have to start a process to kill another one."
#~ msgstr "вы не Ñможете запуÑтить новый процеÑÑ, уничтожающий один из Ñтарых."
#~ msgid "Each ARG is an arithmetic expression to be evaluated. Evaluation"
#~ msgstr "Каждый аргумент раÑÑматриваетÑÑ ÐºÐ°Ðº арифметичеÑкое выражение."
#~ msgid "is done in long integers with no check for overflow, though division"
-#~ msgstr ""
-#~ "ВычиÑление производитÑÑ Ð½Ð°Ð´ длинными целыми без ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ,"
+#~ msgstr "ВычиÑление производитÑÑ Ð½Ð°Ð´ длинными целыми без ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ,"
#~ msgid "by 0 is trapped and flagged as an error. The following list of"
#~ msgstr "Ñ…Ð¾Ñ‚Ñ Ð´ÐµÐ»ÐµÐ½Ð¸Ðµ на ноль отÑлеживаетÑÑ Ð¸ ÑчитаетÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ¾Ð¹. Операции в"
@@ -6948,61 +7176,47 @@ msgstr ""
#~ msgid "One line is read from the standard input, and the first word is"
#~ msgstr "Со Ñтандартного ввода ÑчитываетÑÑ Ð¾Ð´Ð½Ð° Ñтрока, первое её Ñлово"
-#~ msgid ""
-#~ "assigned to the first NAME, the second word to the second NAME, and so"
+#~ msgid "assigned to the first NAME, the second word to the second NAME, and so"
#~ msgstr "ÑтановитÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸ÐµÐ¼ первого ИМЕÐИ, второе -- второго ИМЕÐИ и Ñ‚.д."
-#~ msgid ""
-#~ "on, with leftover words assigned to the last NAME. Only the characters"
-#~ msgstr ""
-#~ "ПоÑледнему ИМЕÐИ приÑваиваетÑÑ Ð²ÐµÑÑŒ оÑтаток Ñтроки. РазделителÑми Ñлов"
+#~ msgid "on, with leftover words assigned to the last NAME. Only the characters"
+#~ msgstr "ПоÑледнему ИМЕÐИ приÑваиваетÑÑ Ð²ÐµÑÑŒ оÑтаток Ñтроки. РазделителÑми Ñлов"
#~ msgid "found in $IFS are recognized as word delimiters. The return code is"
#~ msgstr "ÑчитаютÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ñимволы, входÑщие в $IFS. Код возврата равен нулю,"
-#~ msgid ""
-#~ "zero, unless end-of-file is encountered. If no NAMEs are supplied, the"
+#~ msgid "zero, unless end-of-file is encountered. If no NAMEs are supplied, the"
#~ msgstr "за иÑключением ÑлучаÑ, еÑли вÑтретилÑÑ ÐºÐ¾Ð½ÐµÑ† файла. ЕÑли ИМЕÐРне"
-#~ msgid ""
-#~ "line read is stored in the REPLY variable. If the -r option is given,"
-#~ msgstr ""
-#~ "заданы, Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ð°Ñ Ñтрока помещаетÑÑ Ð² переменную REPLY. ЕÑли задан"
+#~ msgid "line read is stored in the REPLY variable. If the -r option is given,"
+#~ msgstr "заданы, Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ð°Ñ Ñтрока помещаетÑÑ Ð² переменную REPLY. ЕÑли задан"
#~ msgid "this signifies `raw' input, and backslash escaping is disabled. If"
-#~ msgstr ""
-#~ "параметр -r, Ñто означает `Ñырой' ввод, Ñ‚.е. Ñимвол \\ не Ñкранирует"
+#~ msgstr "параметр -r, Ñто означает `Ñырой' ввод, Ñ‚.е. Ñимвол \\ не Ñкранирует"
#~ msgid "the `-p' option is supplied, the string supplied as an argument is"
-#~ msgstr ""
-#~ "Ñимволы. ЕÑли задано `-p', перед чтением на вывод в качеÑтве аргумента"
+#~ msgstr "Ñимволы. ЕÑли задано `-p', перед чтением на вывод в качеÑтве аргумента"
-#~ msgid ""
-#~ "output without a trailing newline before attempting to read. If -a is"
-#~ msgstr ""
-#~ "подаётÑÑ Ð·Ð°Ð´Ð°Ð½Ð½Ð°Ñ Ñтрока (без завершающего Ñимвола перевода Ñтроки)."
+#~ msgid "output without a trailing newline before attempting to read. If -a is"
+#~ msgstr "подаётÑÑ Ð·Ð°Ð´Ð°Ð½Ð½Ð°Ñ Ñтрока (без завершающего Ñимвола перевода Ñтроки)."
-#~ msgid ""
-#~ "supplied, the words read are assigned to sequential indices of ARRAY,"
+#~ msgid "supplied, the words read are assigned to sequential indices of ARRAY,"
#~ msgstr "ЕÑли задано -a, прочитанные Ñлова ÑтановÑÑ‚ÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñми Ñлементов"
#~ msgid "starting at zero. If -e is supplied and the shell is interactive,"
-#~ msgstr ""
-#~ "ÐœÐССИВÐ, Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ Ð½ÑƒÐ»ÐµÐ²Ð¾Ð³Ð¾. ЕÑли задано -c и оболочка интерактивна,"
+#~ msgstr "ÐœÐССИВÐ, Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ Ð½ÑƒÐ»ÐµÐ²Ð¾Ð³Ð¾. ЕÑли задано -c и оболочка интерактивна,"
#~ msgid "readline is used to obtain the line."
#~ msgstr "чтобы получить Ñтроку иÑпользуетÑÑ readline."
-#~ msgid ""
-#~ "Causes a function to exit with the return value specified by N. If N"
+#~ msgid "Causes a function to exit with the return value specified by N. If N"
#~ msgstr "ЗаÑтавлÑет функцию завершить работу Ñ ÐºÐ¾Ð´Ð¾Ð¼ возврата, заданным N."
#~ msgid "is omitted, the return status is that of the last command."
#~ msgstr "ЕÑли N опущено, им ÑтановитÑÑ ÐºÐ¾Ð´ возврата поÑледней команды."
#~ msgid " -a Mark variables which are modified or created for export."
-#~ msgstr ""
-#~ " -a ЭкÑпортировать переменные, которые изменÑлиÑÑŒ или ÑоздавалиÑÑŒ."
+#~ msgstr " -a ЭкÑпортировать переменные, которые изменÑлиÑÑŒ или ÑоздавалиÑÑŒ."
#~ msgid " -b Notify of job termination immediately."
#~ msgstr " -b Ðемедленно выводить ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾ завершении задач."
@@ -7016,8 +7230,7 @@ msgstr ""
#~ msgid " -h Remember the location of commands as they are looked up."
#~ msgstr " -h Запоминать раÑположение обработанных команд."
-#~ msgid ""
-#~ " -i Force the shell to be an \"interactive\" one. Interactive shells"
+#~ msgid " -i Force the shell to be an \"interactive\" one. Interactive shells"
#~ msgstr " -i Сделать оболочку \"интерактивной\". Интерактивные оболочки"
#~ msgid " always read `~/.bashrc' on startup."
@@ -7048,8 +7261,7 @@ msgstr ""
#~ msgstr " braceexpand то же, что -B"
#~ msgid " emacs use an emacs-style line editing interface"
-#~ msgstr ""
-#~ " emacs иÑпользовать Ñтиль Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñтрок emacs"
+#~ msgstr " emacs иÑпользовать Ñтиль Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñтрок emacs"
#~ msgid " errexit same as -e"
#~ msgstr " errexit то же, что -e"
@@ -7066,10 +7278,8 @@ msgstr ""
#~ msgid " interactive-comments"
#~ msgstr " interactive-comments"
-#~ msgid ""
-#~ " allow comments to appear in interactive commands"
-#~ msgstr ""
-#~ " допуÑкает комментарии в интерактивных командах"
+#~ msgid " allow comments to appear in interactive commands"
+#~ msgstr " допуÑкает комментарии в интерактивных командах"
#~ msgid " keyword same as -k"
#~ msgstr " keyword то же, что -k"
@@ -7098,12 +7308,10 @@ msgstr ""
#~ msgid " physical same as -P"
#~ msgstr " physical то же, что -P"
-#~ msgid ""
-#~ " posix change the behavior of bash where the default"
+#~ msgid " posix change the behavior of bash where the default"
#~ msgstr " posix привеÑти поведение bash, по умолчанию не"
-#~ msgid ""
-#~ " operation differs from the 1003.2 standard to"
+#~ msgid " operation differs from the 1003.2 standard to"
#~ msgstr " ÑоответÑтвующее Ñтандарту 1003.2, в"
#~ msgid " match the standard"
@@ -7121,18 +7329,14 @@ msgstr ""
#~ msgid " xtrace same as -x"
#~ msgstr " xtrace то же, что -x"
-#~ msgid ""
-#~ " -p Turned on whenever the real and effective user ids do not match."
-#~ msgstr ""
-#~ " -p ЕÑли реальный и Ñффективный uid не Ñовпадают, включаетÑÑ Ð²Ñегда."
+#~ msgid " -p Turned on whenever the real and effective user ids do not match."
+#~ msgstr " -p ЕÑли реальный и Ñффективный uid не Ñовпадают, включаетÑÑ Ð²Ñегда."
#~ msgid " Disables processing of the $ENV file and importing of shell"
#~ msgstr " Отключает обработку файла $ENV и импорт функций оболочки."
-#~ msgid ""
-#~ " functions. Turning this option off causes the effective uid and"
-#~ msgstr ""
-#~ " При выключении Ñтого параметра Ñффективные uid и gid ÑтановÑÑ‚ÑÑ"
+#~ msgid " functions. Turning this option off causes the effective uid and"
+#~ msgstr " При выключении Ñтого параметра Ñффективные uid и gid ÑтановÑÑ‚ÑÑ"
#~ msgid " gid to be set to the real uid and gid."
#~ msgstr " равными реальным."
@@ -7141,8 +7345,7 @@ msgstr ""
#~ msgstr " -t Завершить работу поÑле Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð¸ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¾Ð´Ð½Ð¾Ð¹ команды."
#~ msgid " -u Treat unset variables as an error when substituting."
-#~ msgstr ""
-#~ " -u При подÑтановке Ñчитать не уÑтановленные переменные ошибками."
+#~ msgstr " -u При подÑтановке Ñчитать не уÑтановленные переменные ошибками."
#~ msgid " -v Print shell input lines as they are read."
#~ msgstr " -v Выводить прочитанные Ñтроки входного текÑта оболочки."
@@ -7166,8 +7369,7 @@ msgstr ""
#~ msgstr " обычных файлов при перенаправлении вывода."
#~ msgid " -P If set, do not follow symbolic links when executing commands"
-#~ msgstr ""
-#~ " -P Ðе Ñледовать ÑимволичеÑким ÑÑылкам при выполнении таких команд,"
+#~ msgstr " -P Ðе Ñледовать ÑимволичеÑким ÑÑылкам при выполнении таких команд,"
#~ msgid " such as cd which change the current directory."
#~ msgstr " как cd, Ñ‚.е. изменÑющих текущий каталог."
@@ -7176,11 +7378,9 @@ msgstr ""
#~ msgstr "ИÑпользование + вмеÑто - отключает флаг. Эти флаги могут также"
#~ msgid "flags can also be used upon invocation of the shell. The current"
-#~ msgstr ""
-#~ "иÑпользоватьÑÑ Ð¿Ñ€Ð¸ запуÑке оболочки. Текущий набор флагов ÑодержитÑÑ"
+#~ msgstr "иÑпользоватьÑÑ Ð¿Ñ€Ð¸ запуÑке оболочки. Текущий набор флагов ÑодержитÑÑ"
-#~ msgid ""
-#~ "set of flags may be found in $-. The remaining n ARGs are positional"
+#~ msgid "set of flags may be found in $-. The remaining n ARGs are positional"
#~ msgstr "в $-. ОÑтальные n аргументов -- позиционные параметры, и им, по"
#~ msgid "parameters and are assigned, in order, to $1, $2, .. $n. If no"
@@ -7193,8 +7393,7 @@ msgstr ""
#~ msgstr "Ð”Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ИМЕÐИ удалÑет ÑоответÑтвующую переменную или функцию."
#~ msgid "the `-v', unset will only act on variables. Given the `-f' flag,"
-#~ msgstr ""
-#~ "ЕÑли задано -v, unset влиÑет только на переменные, еÑли -f -- только"
+#~ msgstr "ЕÑли задано -v, unset влиÑет только на переменные, еÑли -f -- только"
#~ msgid "unset will only act on functions. With neither flag, unset first"
#~ msgstr "на функции. Без флагов unset в первую очередь пытаетÑÑ ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ"
@@ -7202,8 +7401,7 @@ msgstr ""
#~ msgid "tries to unset a variable, and if that fails, then tries to unset a"
#~ msgstr "переменную, еÑли Ñто не удаётÑÑ -- функцию. Ðекоторые переменные"
-#~ msgid ""
-#~ "function. Some variables (such as PATH and IFS) cannot be unset; also"
+#~ msgid "function. Some variables (such as PATH and IFS) cannot be unset; also"
#~ msgstr "(такие как PATH и IFS) не могут быть удалены. См."
#~ msgid "see readonly."
@@ -7230,24 +7428,19 @@ msgstr ""
#~ msgid "processing."
#~ msgstr "параметров."
-#~ msgid ""
-#~ "The given NAMEs are marked readonly and the values of these NAMEs may"
-#~ msgstr ""
-#~ "Заданные ИМЕÐРпомечаютÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ, и Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñтих ИМÐРне"
+#~ msgid "The given NAMEs are marked readonly and the values of these NAMEs may"
+#~ msgstr "Заданные ИМЕÐРпомечаютÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ, и Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñтих ИМÐРне"
#~ msgid "not be changed by subsequent assignment. If the -f option is given,"
-#~ msgstr ""
-#~ "могут изменÑÑ‚ÑŒÑÑ Ð² поÑледующих приÑваиваниÑÑ…. ЕÑли задан параметр -f,"
+#~ msgstr "могут изменÑÑ‚ÑŒÑÑ Ð² поÑледующих приÑваиваниÑÑ…. ЕÑли задан параметр -f,"
#~ msgid "then functions corresponding to the NAMEs are so marked. If no"
#~ msgstr "так помечаютÑÑ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ Ñ ÑоответÑтвующими ИМЕÐÐМИ. ЕÑли аргументы"
-#~ msgid ""
-#~ "arguments are given, or if `-p' is given, a list of all readonly names"
+#~ msgid "arguments are given, or if `-p' is given, a list of all readonly names"
#~ msgstr "не заданы, или еÑли задано `-p', выводитÑÑ ÑпиÑок имён только длÑ"
-#~ msgid ""
-#~ "is printed. An argument of `-n' says to remove the readonly property"
+#~ msgid "is printed. An argument of `-n' says to remove the readonly property"
#~ msgstr "чтениÑ. Ðргумент `-n' указывает ÑнÑÑ‚ÑŒ ÑвойÑтво `только Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ'"
#~ msgid "from subsequent NAMEs. The `-a' option means to treat each NAME as"
@@ -7256,10 +7449,8 @@ msgstr ""
#~ msgid "an array variable. An argument of `--' disables further option"
#~ msgstr "как маÑÑив. Ðргумент `--' прекращает дальнейшую обработку"
-#~ msgid ""
-#~ "The positional parameters from $N+1 ... are renamed to $1 ... If N is"
-#~ msgstr ""
-#~ "Позиционные параметры Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ $N+1 переобозначаютÑÑ ÐºÐ°Ðº $1,... ЕÑли"
+#~ msgid "The positional parameters from $N+1 ... are renamed to $1 ... If N is"
+#~ msgstr "Позиционные параметры Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ $N+1 переобозначаютÑÑ ÐºÐ°Ðº $1,... ЕÑли"
#~ msgid "not given, it is assumed to be 1."
#~ msgstr "N не задано, оно предполагаетÑÑ Ñ€Ð°Ð²Ð½Ñ‹Ð¼ 1."
@@ -7298,8 +7489,7 @@ msgstr ""
#~ msgstr " -b ФÐЙЛ ИÑтина, еÑли файл -- Ñпециальный блочный файл."
#~ msgid " -c FILE True if file is character special."
-#~ msgstr ""
-#~ " -c ФÐЙл ИÑтина, еÑли файл -- Ñпециальный Ñимвольный файл."
+#~ msgstr " -c ФÐЙл ИÑтина, еÑли файл -- Ñпециальный Ñимвольный файл."
#~ msgid " -d FILE True if file is a directory."
#~ msgstr " -d ФÐЙЛ ИÑтина, еÑли файл -- каталог."
@@ -7308,23 +7498,19 @@ msgstr ""
#~ msgstr " -e ФÐЙЛ ИÑтина, еÑли файл ÑущеÑтвует."
#~ msgid " -f FILE True if file exists and is a regular file."
-#~ msgstr ""
-#~ " -f ФÐЙЛ ИÑтина, еÑли файл ÑущеÑтвует и ÑвлÑетÑÑ Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ð¼ файлом."
+#~ msgstr " -f ФÐЙЛ ИÑтина, еÑли файл ÑущеÑтвует и ÑвлÑетÑÑ Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ð¼ файлом."
#~ msgid " -g FILE True if file is set-group-id."
#~ msgstr " -g ФÐЙЛ ИÑтина, еÑли у файла уÑтановлен атрибут SGID."
#~ msgid " -h FILE True if file is a symbolic link. Use \"-L\"."
-#~ msgstr ""
-#~ " -h ФÐЙЛ ИÑтина, еÑли файл -- ÑимволичеÑÐºÐ°Ñ ÑÑылка. ИÑпользуйте "
-#~ "\"-L\"."
+#~ msgstr " -h ФÐЙЛ ИÑтина, еÑли файл -- ÑимволичеÑÐºÐ°Ñ ÑÑылка. ИÑпользуйте \"-L\"."
#~ msgid " -L FILE True if file is a symbolic link."
#~ msgstr " -L ФÐЙЛ ИÑтина, еÑли файл -- ÑимволичеÑÐºÐ°Ñ ÑÑылка."
#~ msgid " -k FILE True if file has its \"sticky\" bit set."
-#~ msgstr ""
-#~ " -k ФÐЙЛ ИÑтина, еÑли у файла уÑтанолвен \"бит привÑзчивоÑти\"."
+#~ msgstr " -k ФÐЙЛ ИÑтина, еÑли у файла уÑтанолвен \"бит привÑзчивоÑти\"."
#~ msgid " -p FILE True if file is a named pipe."
#~ msgstr " -p ФÐЙЛ ИÑтина, еÑли файл -- именованный канал."
@@ -7339,9 +7525,7 @@ msgstr ""
#~ msgstr " -S ФÐЙЛ ИÑтина, еÑли файл -- Ñокет."
#~ msgid " -t FD True if FD is opened on a terminal."
-#~ msgstr ""
-#~ " -t FD ИÑтина, еÑли файл Ñ Ð´ÐµÑкриптором FD ÑвÑзан Ñ "
-#~ "терминалом."
+#~ msgstr " -t FD ИÑтина, еÑли файл Ñ Ð´ÐµÑкриптором FD ÑвÑзан Ñ Ñ‚ÐµÑ€Ð¼Ð¸Ð½Ð°Ð»Ð¾Ð¼."
#~ msgid " -u FILE True if the file is set-user-id."
#~ msgstr " -u ФÐЙЛ ИÑтина, еÑли у файла уÑтановлен атрибут SUID."
@@ -7355,14 +7539,11 @@ msgstr ""
#~ msgid " -O FILE True if the file is effectively owned by you."
#~ msgstr " -O ФÐЙЛ ИÑтина, еÑли вы -- Ñффективный владелец файла."
-#~ msgid ""
-#~ " -G FILE True if the file is effectively owned by your group."
-#~ msgstr ""
-#~ " -G ФÐЙЛ ИÑтина, еÑли ваша группа -- ÑÑ„Ñ„ÐµÐºÑ‚Ð¸Ð²Ð½Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð° файла."
+#~ msgid " -G FILE True if the file is effectively owned by your group."
+#~ msgstr " -G ФÐЙЛ ИÑтина, еÑли ваша группа -- ÑÑ„Ñ„ÐµÐºÑ‚Ð¸Ð²Ð½Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð° файла."
#~ msgid " FILE1 -nt FILE2 True if file1 is newer than (according to"
-#~ msgstr ""
-#~ " ФÐЙЛ1 -nt ФÐЙЛ2 ИÑтина, еÑли файл1 более новый (по дате поÑледнего"
+#~ msgstr " ФÐЙЛ1 -nt ФÐЙЛ2 ИÑтина, еÑли файл1 более новый (по дате поÑледнего"
#~ msgid " modification date) file2."
#~ msgstr " изменениÑ), чем файл2."
@@ -7400,20 +7581,14 @@ msgstr ""
#~ msgid " STRING1 < STRING2"
#~ msgstr " СТРОКÐ1 < СТРОКÐ2"
-#~ msgid ""
-#~ " True if STRING1 sorts before STRING2 lexicographically"
-#~ msgstr ""
-#~ " ИÑтина, еÑли СТРОКÐ1 лекÑикографичеÑки Ñтоит раньше "
-#~ "СТРОКИ2"
+#~ msgid " True if STRING1 sorts before STRING2 lexicographically"
+#~ msgstr " ИÑтина, еÑли СТРОКÐ1 лекÑикографичеÑки Ñтоит раньше СТРОКИ2"
#~ msgid " STRING1 > STRING2"
#~ msgstr " СТРОКÐ1 > СТРОКÐ2"
-#~ msgid ""
-#~ " True if STRING1 sorts after STRING2 lexicographically"
-#~ msgstr ""
-#~ " ИÑтина, еÑли СТРОКÐ1 лекÑикографичеÑки Ñтоит позже "
-#~ "СТРОКИ2"
+#~ msgid " True if STRING1 sorts after STRING2 lexicographically"
+#~ msgstr " ИÑтина, еÑли СТРОКÐ1 лекÑикографичеÑки Ñтоит позже СТРОКИ2"
#~ msgid "Other operators:"
#~ msgstr "Прочие операции:"
@@ -7434,11 +7609,9 @@ msgstr ""
#~ msgstr " -lt, -le, -gt или -ge."
#~ msgid "Arithmetic binary operators return true if ARG1 is equal, not-equal,"
-#~ msgstr ""
-#~ "Бинарные арифметичеÑкие операции возвращают иÑтину, еÑли ÐРГ1 равен,"
+#~ msgstr "Бинарные арифметичеÑкие операции возвращают иÑтину, еÑли ÐРГ1 равен,"
-#~ msgid ""
-#~ "less-than, less-than-or-equal, greater-than, or greater-than-or-equal"
+#~ msgid "less-than, less-than-or-equal, greater-than, or greater-than-or-equal"
#~ msgstr "не равен, меньше, меньше или равен, больше или больше или равен"
#~ msgid "than ARG2."
@@ -7457,27 +7630,22 @@ msgstr ""
#~ msgstr "запущенных из оболочки."
#~ msgid "The command ARG is to be read and executed when the shell receives"
-#~ msgstr ""
-#~ "Команда ÐРГ должна быть прочитана и выполнена при получении оболочкой"
+#~ msgstr "Команда ÐРГ должна быть прочитана и выполнена при получении оболочкой"
#~ msgid "signal(s) SIGNAL_SPEC. If ARG is absent all specified signals are"
-#~ msgstr ""
-#~ "указанного(Ñ‹Ñ…) Ñигнала(ов). ЕÑли ÐРГ не задан, вÑе указанные Ñигналы"
+#~ msgstr "указанного(Ñ‹Ñ…) Ñигнала(ов). ЕÑли ÐРГ не задан, вÑе указанные Ñигналы"
#~ msgid "reset to their original values. If ARG is the null string each"
-#~ msgstr ""
-#~ "обрабатываютÑÑ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ñ‡Ð¸ÐºÐ°Ð¼Ð¸ по умолчанию. ЕÑли ÐРГ -- пуÑÑ‚Ð°Ñ Ñтрока,"
+#~ msgstr "обрабатываютÑÑ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ñ‡Ð¸ÐºÐ°Ð¼Ð¸ по умолчанию. ЕÑли ÐРГ -- пуÑÑ‚Ð°Ñ Ñтрока,"
#~ msgid "SIGNAL_SPEC is ignored by the shell and by the commands it invokes."
-#~ msgstr ""
-#~ "вÑе указанные Ñигналы будут игнорироватьÑÑ Ð¾Ð±Ð¾Ð»Ð¾Ñ‡ÐºÐ¾Ð¹ и вызываемыми ей"
+#~ msgstr "вÑе указанные Ñигналы будут игнорироватьÑÑ Ð¾Ð±Ð¾Ð»Ð¾Ñ‡ÐºÐ¾Ð¹ и вызываемыми ей"
#~ msgid "If SIGNAL_SPEC is EXIT (0) the command ARG is executed on exit from"
#~ msgstr "командами. ЕÑли задан Ñигнал EXIT (0), команда ÐРГ выполнÑетÑÑ Ð¿Ñ€Ð¸"
#~ msgid "the shell. If SIGNAL_SPEC is DEBUG, ARG is executed after every"
-#~ msgstr ""
-#~ "выходе из оболочки, еÑли DEBUG, ÐРГ выполнÑетÑÑ Ð¿Ñ€Ð¸ выполнении каждой"
+#~ msgstr "выходе из оболочки, еÑли DEBUG, ÐРГ выполнÑетÑÑ Ð¿Ñ€Ð¸ выполнении каждой"
#~ msgid "command. If ARG is `-p' then the trap commands associated with"
#~ msgstr "команды. ЕÑли ÐРГ -- `-p', выводÑÑ‚ÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹, ÑвÑзанные Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ð¼Ð¸"
@@ -7488,12 +7656,10 @@ msgstr ""
#~ msgid "only `-p' is given, trap prints the list of commands associated with"
#~ msgstr "trap выводит ÑпиÑок команд, ÑвÑзанных Ñо вÑеми Ñигналами. Сигнал"
-#~ msgid ""
-#~ "each signal number. SIGNAL_SPEC is either a signal name in <signal.h>"
+#~ msgid "each signal number. SIGNAL_SPEC is either a signal name in <signal.h>"
#~ msgstr "задаётÑÑ Ð»Ð¸Ð±Ð¾ Ñвоим именем в <signal.h>, либо номером. `trap -l'"
-#~ msgid ""
-#~ "or a signal number. `trap -l' prints a list of signal names and their"
+#~ msgid "or a signal number. `trap -l' prints a list of signal names and their"
#~ msgstr "выводит ÑпиÑок имён Ñигналов и ÑоответÑтвующих им номеров."
#~ msgid "corresponding numbers. Note that a signal can be sent to the shell"
@@ -7508,33 +7674,26 @@ msgstr ""
#~ msgid "If the -t option is used, returns a single word which is one of"
#~ msgstr "ЕÑли задан параметр -t, возвращает Ñлово -- `alias', `keyword',"
-#~ msgid ""
-#~ "`alias', `keyword', `function', `builtin', `file' or `', if NAME is an"
+#~ msgid "`alias', `keyword', `function', `builtin', `file' or `', if NAME is an"
#~ msgstr "`function', `builtin', `file' или `' -- еÑли, ÑоответÑтвенно, ИМЯ"
-#~ msgid ""
-#~ "alias, shell reserved word, shell function, shell builtin, disk file,"
+#~ msgid "alias, shell reserved word, shell function, shell builtin, disk file,"
#~ msgstr "ÑвлÑетÑÑ Ð¿Ñевдокомандой, зарезервированным Ñловом, функцией, или"
#~ msgid "or unfound, respectively."
#~ msgstr "вÑтроенной командой оболочки, диÑковым файлом или не найдено."
#~ msgid "If the -p flag is used, either returns the name of the disk file"
-#~ msgstr ""
-#~ "При иÑпользовании флага -p либо возвращаетÑÑ Ð¸Ð¼Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ñемого диÑкового "
-#~ "файла,"
+#~ msgstr "При иÑпользовании флага -p либо возвращаетÑÑ Ð¸Ð¼Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ñемого диÑкового файла,"
#~ msgid "that would be executed, or nothing if -t would not return `file'."
#~ msgstr "либо ничего, еÑли -t вернуло бы значение, отличное от `file'"
#~ msgid "If the -a flag is used, displays all of the places that contain an"
-#~ msgstr ""
-#~ "При иÑпользовании флага -a выводитÑÑ Ñ€Ð°Ñположение вÑех иÑполнÑемых файлов"
+#~ msgstr "При иÑпользовании флага -a выводитÑÑ Ñ€Ð°Ñположение вÑех иÑполнÑемых файлов"
-#~ msgid ""
-#~ "executable named `file'. This includes aliases and functions, if and"
-#~ msgstr ""
-#~ "Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ именем. ЕÑли одновременно не иÑпользуетÑÑ Ñ„Ð»Ð°Ð³ -p и только"
+#~ msgid "executable named `file'. This includes aliases and functions, if and"
+#~ msgstr "Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ именем. ЕÑли одновременно не иÑпользуетÑÑ Ñ„Ð»Ð°Ð³ -p и только"
#~ msgid "only if the -p flag is not also used."
#~ msgstr "тогда, выводÑÑ‚ÑÑ Ñ‚Ð°ÐºÐ¶Ðµ пÑевдокоманды и функции."
@@ -7594,19 +7753,16 @@ msgstr ""
#~ msgstr " -v\tразмер виртуальной памÑти"
#~ msgid "If LIMIT is given, it is the new value of the specified resource."
-#~ msgstr ""
-#~ "ЕÑли задано ОГРÐÐИЧЕÐИЕ, оно задёт новое значение Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð³Ð¾ реÑурÑа."
+#~ msgstr "ЕÑли задано ОГРÐÐИЧЕÐИЕ, оно задёт новое значение Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð³Ð¾ реÑурÑа."
#~ msgid "Otherwise, the current value of the specified resource is printed."
-#~ msgstr ""
-#~ "Ð’ противном Ñлучае выводитÑÑ Ñ‚ÐµÐºÑƒÑ‰ÐµÐµ значение Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð³Ð¾ реÑурÑа."
+#~ msgstr "Ð’ противном Ñлучае выводитÑÑ Ñ‚ÐµÐºÑƒÑ‰ÐµÐµ значение Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð³Ð¾ реÑурÑа."
#~ msgid "If no option is given, then -f is assumed. Values are in 1k"
#~ msgstr "ЕÑли параметры не заданы, предполагаетÑÑ, что задано -f. ЗначениÑ"
#~ msgid "increments, except for -t, which is in seconds, -p, which is in"
-#~ msgstr ""
-#~ "измерÑÑŽÑ‚ÑÑ Ð² КБ, кроме -t, измерÑемого в Ñекундах, -p, единица измерениÑ"
+#~ msgstr "измерÑÑŽÑ‚ÑÑ Ð² КБ, кроме -t, измерÑемого в Ñекундах, -p, единица измерениÑ"
#~ msgid "increments of 512 bytes, and -u, which is an unscaled number of"
#~ msgstr "которого -- 512 байтов, и -u, задающего безразмерное чиÑло"
@@ -7614,52 +7770,38 @@ msgstr ""
#~ msgid "processes."
#~ msgstr "процеÑÑов."
-#~ msgid ""
-#~ "The user file-creation mask is set to MODE. If MODE is omitted, or if"
-#~ msgstr ""
-#~ "УÑтанавливает маÑку ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¼ файлов в РЕЖИМ. ЕÑли опущен"
+#~ msgid "The user file-creation mask is set to MODE. If MODE is omitted, or if"
+#~ msgstr "УÑтанавливает маÑку ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¼ файлов в РЕЖИМ. ЕÑли опущен"
-#~ msgid ""
-#~ "`-S' is supplied, the current value of the mask is printed. The `-S'"
-#~ msgstr ""
-#~ "РЕЖИМ или задан параметр -S выводитÑÑ Ñ‚ÐµÐºÑƒÑ‰ÐµÐµ значение маÑки. Параметр"
+#~ msgid "`-S' is supplied, the current value of the mask is printed. The `-S'"
+#~ msgstr "РЕЖИМ или задан параметр -S выводитÑÑ Ñ‚ÐµÐºÑƒÑ‰ÐµÐµ значение маÑки. Параметр"
-#~ msgid ""
-#~ "option makes the output symbolic; otherwise an octal number is output."
+#~ msgid "option makes the output symbolic; otherwise an octal number is output."
#~ msgstr "-S делает вывод ÑимволичеÑким, в противном Ñлучае иÑпользуетÑÑ"
#~ msgid "If MODE begins with a digit, it is interpreted as an octal number,"
-#~ msgstr ""
-#~ "воÑьмеричое чиÑло. ЕÑли РЕЖИм начинаетÑÑ Ñ Ñ†Ð¸Ñ„Ñ€Ñ‹, он интерпретируетÑÑ"
+#~ msgstr "воÑьмеричое чиÑло. ЕÑли РЕЖИм начинаетÑÑ Ñ Ñ†Ð¸Ñ„Ñ€Ñ‹, он интерпретируетÑÑ"
-#~ msgid ""
-#~ "otherwise it is a symbolic mode string like that accepted by chmod(1)."
-#~ msgstr ""
-#~ "как воÑьмеричное чиÑло, в противном Ñлучае как Ñтрока, Ð¿Ñ€Ð¸Ð½Ð¸Ð¼Ð°ÐµÐ¼Ð°Ñ chmod"
-#~ "(1)."
+#~ msgid "otherwise it is a symbolic mode string like that accepted by chmod(1)."
+#~ msgstr "как воÑьмеричное чиÑло, в противном Ñлучае как Ñтрока, Ð¿Ñ€Ð¸Ð½Ð¸Ð¼Ð°ÐµÐ¼Ð°Ñ chmod(1)."
-#~ msgid ""
-#~ "Wait for the specified process and report its termination status. If"
-#~ msgstr ""
-#~ "Подождать Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð³Ð¾ процеÑÑа и Ñообщить код завершениÑ. ЕÑли"
+#~ msgid "Wait for the specified process and report its termination status. If"
+#~ msgstr "Подождать Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð³Ð¾ процеÑÑа и Ñообщить код завершениÑ. ЕÑли"
#~ msgid "N is not given, all currently active child processes are waited for,"
-#~ msgstr ""
-#~ "N не задано, ожидаетÑÑ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ðµ работы вÑех активных дочерних процеÑÑов"
+#~ msgstr "N не задано, ожидаетÑÑ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ðµ работы вÑех активных дочерних процеÑÑов"
#~ msgid "and the return code is zero. N may be a process ID or a job"
#~ msgstr "и код возврата равен 0. N может быть идентификатором процеÑÑа"
#~ msgid "specification; if a job spec is given, all processes in the job's"
-#~ msgstr ""
-#~ "или Ñпецификацией задачи, еÑли задана ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð·Ð°Ð´Ð°Ñ‡Ð¸, ожидаетÑÑ"
+#~ msgstr "или Ñпецификацией задачи, еÑли задана ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð·Ð°Ð´Ð°Ñ‡Ð¸, ожидаетÑÑ"
#~ msgid "pipeline are waited for."
#~ msgstr "завершение работы вÑех процеÑÑов конвейера задачи."
#~ msgid "and the return code is zero. N is a process ID; if it is not given,"
-#~ msgstr ""
-#~ "и код возврата равен 0. N -- идентификатор процеÑÑа, еÑли он не задан,"
+#~ msgstr "и код возврата равен 0. N -- идентификатор процеÑÑа, еÑли он не задан,"
#~ msgid "all child processes of the shell are waited for."
#~ msgstr "ожидаетÑÑ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ðµ работы вÑех дочерних процеÑÑов оболочки."
@@ -7667,13 +7809,10 @@ msgstr ""
#~ msgid "The `for' loop executes a sequence of commands for each member in a"
#~ msgstr "Цикл `for' выполнÑет поÑледовательноÑÑ‚ÑŒ команд Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ члена"
-#~ msgid ""
-#~ "list of items. If `in WORDS ...;' is not present, then `in \"$@\"' is"
-#~ msgstr ""
-#~ "ÑпиÑка. ЕÑли отÑутÑтвует `in СЛОВР...;', предполагаетÑÑ, что задано"
+#~ msgid "list of items. If `in WORDS ...;' is not present, then `in \"$@\"' is"
+#~ msgstr "ÑпиÑка. ЕÑли отÑутÑтвует `in СЛОВР...;', предполагаетÑÑ, что задано"
-#~ msgid ""
-#~ "assumed. For each element in WORDS, NAME is set to that element, and"
+#~ msgid "assumed. For each element in WORDS, NAME is set to that element, and"
#~ msgstr "`in \"$@\"'. Ð”Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ из СЛОВ ИМЕÐИ приÑваиваетÑÑ ÐµÐ³Ð¾ значение"
#~ msgid "the COMMANDS are executed."
@@ -7683,15 +7822,13 @@ msgstr ""
#~ msgstr "СЛОВРразворачиваютÑÑ Ð¸ образуют ÑпиÑок Ñлов. Полученный ÑпиÑок"
#~ msgid "set of expanded words is printed on the standard error, each"
-#~ msgstr ""
-#~ "выводитÑÑ Ð½Ð° Ñтандартный поток ошибок, каждому припиÑываетÑÑ Ñпереди"
+#~ msgstr "выводитÑÑ Ð½Ð° Ñтандартный поток ошибок, каждому припиÑываетÑÑ Ñпереди"
#~ msgid "preceded by a number. If `in WORDS' is not present, `in \"$@\"'"
#~ msgstr "чиÑло. ЕÑли `in СЛОВÐ' отÑутÑтвует, предполагаетÑÑ Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ð¼"
#~ msgid "is assumed. The PS3 prompt is then displayed and a line read"
-#~ msgstr ""
-#~ "`in \"$@\"'. Затем выводитÑÑ Ð¿Ñ€Ð¸Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ðµ PS3 и Ñо Ñтандартного ввода"
+#~ msgstr "`in \"$@\"'. Затем выводитÑÑ Ð¿Ñ€Ð¸Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ðµ PS3 и Ñо Ñтандартного ввода"
#~ msgid "from the standard input. If the line consists of the number"
#~ msgstr "ÑчитываетÑÑ Ñтрока. ЕÑли Ñтрока ÑоÑтоит из чиÑла, ÑоответÑтвующего"
@@ -7712,47 +7849,34 @@ msgstr ""
#~ msgstr "ÑохранÑетÑÑ Ð² переменной REPLY. ПоÑле каждого выбора выполнÑÑŽÑ‚ÑÑ"
#~ msgid "until a break or return command is executed."
-#~ msgstr ""
-#~ "КОМÐÐДЫ до тех пор, пока не будет выполнена команда break или return."
+#~ msgstr "КОМÐÐДЫ до тех пор, пока не будет выполнена команда break или return."
#~ msgid "Selectively execute COMMANDS based upon WORD matching PATTERN. The"
-#~ msgstr ""
-#~ "ВыполнÑет КОМÐÐДЫ в завиÑимоÑти от того, какому ШÐБЛОÐУ ÑоответÑтвует"
+#~ msgstr "ВыполнÑет КОМÐÐДЫ в завиÑимоÑти от того, какому ШÐБЛОÐУ ÑоответÑтвует"
#~ msgid "`|' is used to separate multiple patterns."
-#~ msgstr ""
-#~ "СЛОВО. Ð”Ð»Ñ Ñ€Ð°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð½ÐµÑкольких допуÑтимых шаблонов иÑпользуетÑÑ `|'."
+#~ msgstr "СЛОВО. Ð”Ð»Ñ Ñ€Ð°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð½ÐµÑкольких допуÑтимых шаблонов иÑпользуетÑÑ `|'."
-#~ msgid ""
-#~ "The if COMMANDS are executed. If the exit status is zero, then the then"
-#~ msgstr ""
-#~ "ВыполнÑÑŽÑ‚ÑÑ ÐšÐžÐœÐÐДЫ, заданные в if. ЕÑли код возврата нулевой, выполнÑÑŽÑ‚ÑÑ"
+#~ msgid "The if COMMANDS are executed. If the exit status is zero, then the then"
+#~ msgstr "ВыполнÑÑŽÑ‚ÑÑ ÐšÐžÐœÐÐДЫ, заданные в if. ЕÑли код возврата нулевой, выполнÑÑŽÑ‚ÑÑ"
-#~ msgid ""
-#~ "COMMANDS are executed. Otherwise, each of the elif COMMANDS are executed"
+#~ msgid "COMMANDS are executed. Otherwise, each of the elif COMMANDS are executed"
#~ msgstr "КОМÐÐДЫ then, иначе по очереди выполнÑÑŽÑ‚ÑÑ ÐšÐžÐœÐÐДЫ elif, и еÑли код"
-#~ msgid ""
-#~ "in turn, and if the exit status is zero, the corresponding then COMMANDS"
-#~ msgstr ""
-#~ "возврата нулевой, выполнÑÑŽÑ‚ÑÑ ÑоответÑтвующие КОМÐÐДЫ then и выполнение"
+#~ msgid "in turn, and if the exit status is zero, the corresponding then COMMANDS"
+#~ msgstr "возврата нулевой, выполнÑÑŽÑ‚ÑÑ ÑоответÑтвующие КОМÐÐДЫ then и выполнение"
-#~ msgid ""
-#~ "are executed and the if command completes. Otherwise, the else COMMANDS"
-#~ msgstr ""
-#~ "команды if завершаетÑÑ. Ð’ противном Ñлучае выполнÑÑŽÑ‚ÑÑ ÐšÐžÐœÐÐДЫ else,"
+#~ msgid "are executed and the if command completes. Otherwise, the else COMMANDS"
+#~ msgstr "команды if завершаетÑÑ. Ð’ противном Ñлучае выполнÑÑŽÑ‚ÑÑ ÐšÐžÐœÐÐДЫ else,"
-#~ msgid ""
-#~ "are executed, if present. The exit status is the exit status of the last"
+#~ msgid "are executed, if present. The exit status is the exit status of the last"
#~ msgstr "еÑли они приÑутÑтвуют. Код возврата равен коду возврата поÑледней"
#~ msgid "command executed, or zero if no condition tested true."
-#~ msgstr ""
-#~ "выполненной команды, либо нулю, еÑли ни одно уÑловие не было иÑтинным."
+#~ msgstr "выполненной команды, либо нулю, еÑли ни одно уÑловие не было иÑтинным."
#~ msgid "Expand and execute COMMANDS as long as the final command in the"
-#~ msgstr ""
-#~ "Разворачивает и выполнÑет КОМÐÐДЫ до тех пор, пока поÑледнÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°"
+#~ msgstr "Разворачивает и выполнÑет КОМÐÐДЫ до тех пор, пока поÑледнÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°"
#~ msgid "`while' COMMANDS has an exit status of zero."
#~ msgstr "Ð¿Ñ€ÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ `while' не завершит работу Ñ Ð½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ кодом возврата."
@@ -7776,15 +7900,12 @@ msgstr ""
#~ msgstr "перенаправление Ð´Ð»Ñ Ñ†ÐµÐ»Ð¾Ð³Ð¾ набора команд."
#~ msgid "This is similar to the `fg' command. Resume a stopped or background"
-#~ msgstr ""
-#~ "Похоже на команду `fg'. Продолжает выполнение оÑтановленной или фоновой"
+#~ msgstr "Похоже на команду `fg'. Продолжает выполнение оÑтановленной или фоновой"
#~ msgid "job. If you specifiy DIGITS, then that job is used. If you specify"
-#~ msgstr ""
-#~ "задачи. ЕÑли заданы ЦИФРЫ, иÑпользÑетÑÑ Ð·Ð°Ð´Ð°Ñ‡Ð° Ñ Ñтим номером, а еÑли"
+#~ msgstr "задачи. ЕÑли заданы ЦИФРЫ, иÑпользÑетÑÑ Ð·Ð°Ð´Ð°Ñ‡Ð° Ñ Ñтим номером, а еÑли"
-#~ msgid ""
-#~ "WORD, then the job whose name begins with WORD is used. Following the"
+#~ msgid "WORD, then the job whose name begins with WORD is used. Following the"
#~ msgstr "СЛОВО -- задача, Ð¸Ð¼Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð¹ начинаетÑÑ Ñ Ñтого Ñлова. Завершение"
#~ msgid "job specification with a `&' places the job in the background."
@@ -7799,8 +7920,7 @@ msgstr ""
#~ msgid "\t\twhen the argument to `cd' is not found in the current"
#~ msgstr "\t\tаргумент команды `cd', еÑли он не найден в текущем"
-#~ msgid ""
-#~ "HISTFILE The name of the file where your command history is stored."
+#~ msgid "HISTFILE The name of the file where your command history is stored."
#~ msgstr "HISTFILE Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°, где ÑохранÑетÑÑ Ð¸ÑÑ‚Ð¾Ñ€Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´."
#~ msgid "HISTFILESIZE The maximum number of lines this file can contain."
@@ -7815,15 +7935,11 @@ msgstr ""
#~ msgid "HOME The complete pathname to your login directory."
#~ msgstr "HOME Полный путь к домашнему каталогу."
-#~ msgid ""
-#~ "HOSTTYPE The type of CPU this version of Bash is running under."
-#~ msgstr ""
-#~ "HOSTTYPE Тип процеÑÑора, на котором работает Ñта верÑÐ¸Ñ Bash."
+#~ msgid "HOSTTYPE The type of CPU this version of Bash is running under."
+#~ msgstr "HOSTTYPE Тип процеÑÑора, на котором работает Ñта верÑÐ¸Ñ Bash."
-#~ msgid ""
-#~ "IGNOREEOF Controls the action of the shell on receipt of an EOF"
-#~ msgstr ""
-#~ "IGNOREEOF УправлÑет дейÑтвиÑми, Ñовершаемыми оболочкой при вводе"
+#~ msgid "IGNOREEOF Controls the action of the shell on receipt of an EOF"
+#~ msgstr "IGNOREEOF УправлÑет дейÑтвиÑми, Ñовершаемыми оболочкой при вводе"
#~ msgid "\t\tcharacter as the sole input. If set, then the value"
#~ msgstr "\t\tÑимвола конца файла. ЕÑли уÑтановлена, её значение -- чиÑло"
@@ -7835,12 +7951,10 @@ msgstr ""
#~ msgstr "\t\tв пуÑтой Ñтроке, поÑле чего оболочка завершит работу"
#~ msgid "\t\t(default 10). When unset, EOF signifies the end of input."
-#~ msgstr ""
-#~ "\t\t(по умолчанию 10). ЕÑли не уÑтановлена, EOF обозначает конец ввода."
+#~ msgstr "\t\t(по умолчанию 10). ЕÑли не уÑтановлена, EOF обозначает конец ввода."
#~ msgid "MAILCHECK\tHow often, in seconds, Bash checks for new mail."
-#~ msgstr ""
-#~ "MAILCHECK\tКак чаÑто, в Ñекундах, Bash проверÑет наличие новой почты."
+#~ msgstr "MAILCHECK\tКак чаÑто, в Ñекундах, Bash проверÑет наличие новой почты."
#~ msgid "MAILPATH\tA colon-separated list of filenames which Bash checks"
#~ msgstr "MAILPATH\tРазделённый запÑтыми ÑпиÑок имён файлов, где Bash"
@@ -7873,8 +7987,7 @@ msgstr ""
#~ msgstr "TERM Ð˜Ð¼Ñ Ñ‚Ð¸Ð¿Ð° текущего терминала."
#~ msgid "auto_resume Non-null means a command word appearing on a line by"
-#~ msgstr ""
-#~ "auto_resume Ðенулевые Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñлов команд, вÑтречающиеÑÑ Ð² Ñтроке"
+#~ msgstr "auto_resume Ðенулевые Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñлов команд, вÑтречающиеÑÑ Ð² Ñтроке"
#~ msgid "\t\titself is first looked for in the list of currently"
#~ msgstr "\t\tотдельно, Ñначала ищутÑÑ Ð² ÑпиÑке оÑтановленных"
@@ -7900,10 +8013,8 @@ msgstr ""
#~ msgid "command_oriented_history"
#~ msgstr "command_oriented_history"
-#~ msgid ""
-#~ " Non-null means to save multiple-line commands together on"
-#~ msgstr ""
-#~ " Ðенулевое значение означает, что многоÑтрочные команды"
+#~ msgid " Non-null means to save multiple-line commands together on"
+#~ msgstr " Ðенулевое значение означает, что многоÑтрочные команды"
#~ msgid " a single history line."
#~ msgstr " будут ÑохранÑÑ‚ÑŒÑÑ Ð² одной Ñтроке иÑтории."
@@ -8001,8 +8112,7 @@ msgstr ""
#~ msgid "\tremoves the last directory, `popd -1' the next to last."
#~ msgstr "\tудалÑет поÑледний каталог, `popd -1' -- предпоÑледний."
-#~ msgid ""
-#~ "-n\tsuppress the normal change of directory when removing directories"
+#~ msgid "-n\tsuppress the normal change of directory when removing directories"
#~ msgstr "-n\tподавлÑет обычную Ñмену каталога при удалении каталогов из"
#~ msgid "\tfrom the stack, so only the stack is manipulated."
@@ -8012,19 +8122,15 @@ msgstr ""
#~ msgstr "Выводит ÑпиÑок запомненных на данный момент каталогов. Каталоги"
#~ msgid "find their way onto the list with the `pushd' command; you can get"
-#~ msgstr ""
-#~ "попадают в ÑпиÑок при иÑпользовании команды `pushd', вы можете забрать"
+#~ msgstr "попадают в ÑпиÑок при иÑпользовании команды `pushd', вы можете забрать"
#~ msgid "back up through the list with the `popd' command."
#~ msgstr "их из ÑпиÑка командой `popd'."
-#~ msgid ""
-#~ "The -l flag specifies that `dirs' should not print shorthand versions"
-#~ msgstr ""
-#~ "Флаг -l указывает, что `dirs' не должна выводит Ñокращённые варианты"
+#~ msgid "The -l flag specifies that `dirs' should not print shorthand versions"
+#~ msgstr "Флаг -l указывает, что `dirs' не должна выводит Ñокращённые варианты"
-#~ msgid ""
-#~ "of directories which are relative to your home directory. This means"
+#~ msgid "of directories which are relative to your home directory. This means"
#~ msgstr "каталогов, заданных отноÑительно домашнего. Это означает, что"
#~ msgid "that `~/bin' might be displayed as `/homes/bfox/bin'. The -v flag"
@@ -8033,27 +8139,22 @@ msgstr ""
#~ msgid "causes `dirs' to print the directory stack with one entry per line,"
#~ msgstr "заÑтавлÑет `dirs' выводить каталоги по одному в Ñтроке, предварÑÑ"
-#~ msgid ""
-#~ "prepending the directory name with its position in the stack. The -p"
-#~ msgstr ""
-#~ "Ð¸Ð¼Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° номером его позиции в Ñтеке. Флаг -p делает то же Ñамое,"
+#~ msgid "prepending the directory name with its position in the stack. The -p"
+#~ msgstr "Ð¸Ð¼Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° номером его позиции в Ñтеке. Флаг -p делает то же Ñамое,"
#~ msgid "flag does the same thing, but the stack position is not prepended."
#~ msgstr "но не добавлÑÑŽÑ‚ÑÑ Ð½Ð¾Ð¼ÐµÑ€Ð° позиций. Флаг -c очищает Ñтек каталогов,"
-#~ msgid ""
-#~ "The -c flag clears the directory stack by deleting all of the elements."
+#~ msgid "The -c flag clears the directory stack by deleting all of the elements."
#~ msgstr "удалÑÑ Ð²Ñе его Ñлементы."
-#~ msgid ""
-#~ "+N\tdisplays the Nth entry counting from the left of the list shown by"
+#~ msgid "+N\tdisplays the Nth entry counting from the left of the list shown by"
#~ msgstr "+N\tвыводит N-й каталог, ÑÑ‡Ð¸Ñ‚Ð°Ñ Ñ Ð»ÐµÐ²Ð¾Ð¹ Ñтороны ÑпиÑка, выводимого"
#~ msgid "\tdirs when invoked without options, starting with zero."
#~ msgstr "\tdirs при вызове без параметров, Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ Ð½ÑƒÐ»Ñ."
-#~ msgid ""
-#~ "-N\tdisplays the Nth entry counting from the right of the list shown by"
+#~ msgid "-N\tdisplays the Nth entry counting from the right of the list shown by"
#~ msgstr "-N\tвыводит N-й каталог, ÑÑ‡Ð¸Ñ‚Ð°Ñ Ñ Ð¿Ñ€Ð°Ð²Ð¾Ð¹ Ñтороны ÑпиÑка, выводимого"
#~ msgid "Toggle the values of variables controlling optional behavior."
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 28c2b63a..2a04db0e 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -1,138 +1,140 @@
# Traditional Chinese translations for bash package.
# Copyright (C) 2008 Free Software Foundation, Inc.
# This file is distributed under the same license as the bash package.
+#
# Zi-You Dai <ioppooster@gmail.com>, 2008.
# Mingye Wang (Arthur2e5) <arthur200126@hotmail.com>, 2015.
# Wei-Lun Chao <bluebat@member.fsf.org>, 2015.
-#
+# pan93412 <pan93412@gmail.com>, 2018.
msgid ""
msgstr ""
-"Project-Id-Version: bash 4.3-rc2\n"
+"Project-Id-Version: bash 4.4\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-04-27 14:15-0400\n"
-"PO-Revision-Date: 2015-08-27 13:36+0800\n"
-"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
+"POT-Creation-Date: 2016-09-10 12:42-0400\n"
+"PO-Revision-Date: 2018-05-08 21:29+0800\n"
+"Last-Translator: pan93412 <pan93412@gmail.com>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
+"Language: zh_TW\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: zh_TW\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Lokalize 2.0\n"
-#: arrayfunc.c:58
+#: arrayfunc.c:54
msgid "bad array subscript"
msgstr "陣列下標ä¸æ­£ç¢º"
-#: arrayfunc.c:373 builtins/declare.def:618 variables.c:2188 variables.c:2214
-#: variables.c:2922
+#: arrayfunc.c:368 builtins/declare.def:574 variables.c:2092 variables.c:2118
+#: variables.c:2730
#, c-format
msgid "%s: removing nameref attribute"
-msgstr ""
+msgstr "%s:正在移除 nameref 屬性"
-#: arrayfunc.c:398 builtins/declare.def:831
+#: arrayfunc.c:393 builtins/declare.def:780
#, c-format
msgid "%s: cannot convert indexed to associative array"
msgstr "%s: 無法將索引陣列轉化為關è¯é™£åˆ—"
-#: arrayfunc.c:582
+#: arrayfunc.c:578
#, c-format
msgid "%s: invalid associative array key"
msgstr "%s: 無效的關è¯é™£åˆ—éµå€¼"
-#: arrayfunc.c:584
+#: arrayfunc.c:580
#, c-format
msgid "%s: cannot assign to non-numeric index"
msgstr "%s: 無法指派為éžæ•¸å­—的索引"
-#: arrayfunc.c:629
+#: arrayfunc.c:625
#, c-format
msgid "%s: %s: must use subscript when assigning associative array"
msgstr "%s: %s: 指派為關è¯é™£åˆ—時必須使用下標"
-#: bashhist.c:436
+#: bashhist.c:421
#, c-format
msgid "%s: cannot create: %s"
msgstr "%s: 無法建立: %s"
-#: bashline.c:4111
+#: bashline.c:4091
msgid "bash_execute_unix_command: cannot find keymap for command"
msgstr "bash_execute_unix_command: 無法為命令找到éµå°æ˜ "
-#: bashline.c:4221
+#: bashline.c:4189
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
msgstr "%s: 第一個éžç©ºå­—å…ƒä¸æ˜¯ã€Œ\"ã€"
-#: bashline.c:4250
+#: bashline.c:4218
#, c-format
msgid "no closing `%c' in %s"
msgstr "%2$s 中沒有閉åˆçš„「%1$cã€"
-#: bashline.c:4284
+#: bashline.c:4252
#, c-format
msgid "%s: missing colon separator"
msgstr "%s: 缺少冒號分隔符"
-#: braces.c:331
+#: braces.c:329
#, c-format
msgid "brace expansion: cannot allocate memory for %s"
msgstr "大括號展開: 無法為 %s 分é…記憶體"
-#: braces.c:429
-#, fuzzy, c-format
-msgid "brace expansion: failed to allocate memory for %u elements"
+#: braces.c:427
+#, c-format
+msgid "brace expansion: failed to allocate memory for %d elements"
msgstr "大括號展開: 為 %d 個元素分é…記憶體失敗"
-#: braces.c:473
+#: braces.c:471
#, c-format
msgid "brace expansion: failed to allocate memory for `%s'"
msgstr "大括號展開: 為「%sã€åˆ†é…記憶體失敗"
-#: builtins/alias.def:131
+#: builtins/alias.def:133
#, c-format
msgid "`%s': invalid alias name"
msgstr "「%sã€: 無效的別å"
-#: builtins/bind.def:122 builtins/bind.def:125
+#: builtins/bind.def:123 builtins/bind.def:126
msgid "line editing not enabled"
msgstr "未啟用列編輯"
-#: builtins/bind.def:212
+#: builtins/bind.def:213
#, c-format
msgid "`%s': invalid keymap name"
msgstr "「%sã€: 無效的éµå°æ˜ å"
-#: builtins/bind.def:252
+#: builtins/bind.def:253
#, c-format
msgid "%s: cannot read: %s"
msgstr "%s:ä¸èƒ½è®€å–: %s"
-#: builtins/bind.def:304 builtins/bind.def:334
+#: builtins/bind.def:270
+#, c-format
+msgid "`%s': cannot unbind"
+msgstr "「%sã€: 無法解除繫çµ"
+
+#: builtins/bind.def:308 builtins/bind.def:338
#, c-format
msgid "`%s': unknown function name"
msgstr "「%sã€ï¼šä¸æ˜Žå‡½æ•¸å稱"
-#: builtins/bind.def:312
+#: builtins/bind.def:316
#, c-format
msgid "%s is not bound to any keys.\n"
msgstr "%s 未與任何éµç¹«çµã€‚\n"
-#: builtins/bind.def:316
+#: builtins/bind.def:320
#, c-format
msgid "%s can be invoked via "
msgstr "%s å¯ä»¥è¢«å‘¼å«ï¼Œè—‰ç”±"
-#: builtins/bind.def:353 builtins/bind.def:368
-#, c-format
-msgid "`%s': cannot unbind"
-msgstr "「%sã€: 無法解除繫çµ"
-
-#: builtins/break.def:77 builtins/break.def:119
+#: builtins/break.def:79 builtins/break.def:121
msgid "loop count"
msgstr "迴圈計數"
-#: builtins/break.def:139
+#: builtins/break.def:141
msgid "only meaningful in a `for', `while', or `until' loop"
msgstr "僅在「forã€ï¼Œã€Œwhileã€ï¼Œ 或者「untilã€è¿´åœˆä¸­æœ‰æ„義"
@@ -146,234 +148,233 @@ msgstr ""
" \n"
" ä¸å¸¶ EXPR 時,回傳"
-#: builtins/cd.def:319
+#: builtins/cd.def:321
msgid "HOME not set"
msgstr "HOME 沒有設置"
-#: builtins/cd.def:327 builtins/common.c:161 test.c:889
+#: builtins/cd.def:329 builtins/common.c:167 test.c:885
msgid "too many arguments"
msgstr "太多引數"
-#: builtins/cd.def:334
-#, fuzzy
+#: builtins/cd.def:336
msgid "null directory"
-msgstr "無其他目錄"
+msgstr "空的目錄"
-#: builtins/cd.def:345
+#: builtins/cd.def:347
msgid "OLDPWD not set"
msgstr "OLDPWD 沒有設置"
-#: builtins/common.c:96
+#: builtins/common.c:102
#, c-format
msgid "line %d: "
msgstr "第 %d 列:"
-#: builtins/common.c:134 error.c:264
+#: builtins/common.c:140 error.c:265
#, c-format
msgid "warning: "
msgstr "警告:"
-#: builtins/common.c:148
+#: builtins/common.c:154
#, c-format
msgid "%s: usage: "
msgstr "%s: 用法:"
-#: builtins/common.c:193 shell.c:510 shell.c:838
+#: builtins/common.c:199 shell.c:514 shell.c:825
#, c-format
msgid "%s: option requires an argument"
msgstr "%s:é¸é …需è¦ä¸€å€‹å¼•æ•¸"
-#: builtins/common.c:200
+#: builtins/common.c:206
#, c-format
msgid "%s: numeric argument required"
msgstr "%s:需è¦æ•¸å­—引數"
-#: builtins/common.c:207
+#: builtins/common.c:213
#, c-format
msgid "%s: not found"
msgstr "%s:沒有找到"
-#: builtins/common.c:216 shell.c:851
+#: builtins/common.c:222 shell.c:838
#, c-format
msgid "%s: invalid option"
msgstr "%s:無效é¸é …"
-#: builtins/common.c:223
+#: builtins/common.c:229
#, c-format
msgid "%s: invalid option name"
msgstr "%s:無效é¸é …å稱"
-#: builtins/common.c:230 execute_cmd.c:2342 general.c:294 general.c:299
+#: builtins/common.c:236 general.c:293 general.c:298
#, c-format
msgid "`%s': not a valid identifier"
msgstr "「%sã€ï¼šä¸æ˜¯ä¸€å€‹æœ‰æ•ˆçš„識別符"
-#: builtins/common.c:240
+#: builtins/common.c:246
msgid "invalid octal number"
msgstr "無效的八進ä½æ•¸å­—"
-#: builtins/common.c:242
+#: builtins/common.c:248
msgid "invalid hex number"
msgstr "無效的å六進ä½æ•¸å­—"
-#: builtins/common.c:244 expr.c:1538
+#: builtins/common.c:250 expr.c:1473
msgid "invalid number"
msgstr "無效數字"
-#: builtins/common.c:252
+#: builtins/common.c:258
#, c-format
msgid "%s: invalid signal specification"
msgstr "%s:無效的信號è¦æ ¼"
-#: builtins/common.c:259
+#: builtins/common.c:265
#, c-format
msgid "`%s': not a pid or valid job spec"
msgstr "「%sã€ï¼šä¸æ˜¯ä¸€å€‹ pid 或有效的工作è¦æ ¼"
-#: builtins/common.c:266 error.c:510
+#: builtins/common.c:272 error.c:511
#, c-format
msgid "%s: readonly variable"
msgstr "%s:唯讀的變數"
-#: builtins/common.c:274
+#: builtins/common.c:280
#, c-format
msgid "%s: %s out of range"
msgstr "%s:%s 超出範åœ"
-#: builtins/common.c:274 builtins/common.c:276
+#: builtins/common.c:280 builtins/common.c:282
msgid "argument"
msgstr "引數"
-#: builtins/common.c:276
+#: builtins/common.c:282
#, c-format
msgid "%s out of range"
msgstr "%s 超出範åœ"
-#: builtins/common.c:284
+#: builtins/common.c:290
#, c-format
msgid "%s: no such job"
msgstr "%s:沒有此類工作"
-#: builtins/common.c:292
+#: builtins/common.c:298
#, c-format
msgid "%s: no job control"
msgstr "%s:沒有工作控制"
-#: builtins/common.c:294
+#: builtins/common.c:300
msgid "no job control"
msgstr "沒有工作控制"
-#: builtins/common.c:304
+#: builtins/common.c:310
#, c-format
msgid "%s: restricted"
msgstr "%s:å—é™çš„"
-#: builtins/common.c:306
+#: builtins/common.c:312
msgid "restricted"
msgstr "å—é™çš„"
-#: builtins/common.c:314
+#: builtins/common.c:320
#, c-format
msgid "%s: not a shell builtin"
msgstr "%s:ä¸æ˜¯ä¸€å€‹å…§å»º shell"
-#: builtins/common.c:323
+#: builtins/common.c:329
#, c-format
msgid "write error: %s"
msgstr "寫入錯誤: %s"
-#: builtins/common.c:331
+#: builtins/common.c:337
#, c-format
msgid "error setting terminal attributes: %s"
msgstr "設定終端屬性時出錯: %s"
-#: builtins/common.c:333
+#: builtins/common.c:339
#, c-format
msgid "error getting terminal attributes: %s"
msgstr "ç²å–終端屬性時出錯: %s"
-#: builtins/common.c:579
+#: builtins/common.c:585
#, c-format
msgid "%s: error retrieving current directory: %s: %s\n"
msgstr "%s:錯誤檢索當å‰ç›®éŒ„: %s: %s\n"
-#: builtins/common.c:645 builtins/common.c:647
+#: builtins/common.c:651 builtins/common.c:653
#, c-format
msgid "%s: ambiguous job spec"
msgstr "%s:模稜兩å¯çš„工作è¦æ ¼"
-#: builtins/common.c:908
+#: builtins/common.c:918
msgid "help not available in this version"
-msgstr ""
+msgstr "這個版本沒有å¯ç”¨çš„說明"
#: builtins/complete.def:278
#, c-format
msgid "%s: invalid action name"
msgstr "%s:無效的功能å稱"
-#: builtins/complete.def:452 builtins/complete.def:653
-#: builtins/complete.def:874
+#: builtins/complete.def:452 builtins/complete.def:647
+#: builtins/complete.def:858
#, c-format
msgid "%s: no completion specification"
msgstr "%s:沒有完æˆçš„è¦æ ¼"
-#: builtins/complete.def:707
+#: builtins/complete.def:699
msgid "warning: -F option may not work as you expect"
msgstr "警告: -F é¸é …å¯èƒ½ç„¡æ³•æŒ‰é æœŸå·¥ä½œ"
-#: builtins/complete.def:709
+#: builtins/complete.def:701
msgid "warning: -C option may not work as you expect"
msgstr "警告: -C é¸é …å¯èƒ½ç„¡æ³•æŒ‰é æœŸå·¥ä½œ"
-#: builtins/complete.def:847
+#: builtins/complete.def:831
msgid "not currently executing completion function"
msgstr "當å‰æœªåŸ·è¡Œè£œå®ŒåŠŸèƒ½"
-#: builtins/declare.def:132
+#: builtins/declare.def:127
msgid "can only be used in a function"
msgstr "åªèƒ½ç”¨åœ¨å‡½æ•¸ä¸­"
-#: builtins/declare.def:369 builtins/declare.def:736
+#: builtins/declare.def:332 builtins/declare.def:685
#, c-format
msgid "%s: reference variable cannot be an array"
msgstr "%s: 引用變數ä¸èƒ½ç‚ºé™£åˆ—"
-#: builtins/declare.def:380 variables.c:3161
+#: builtins/declare.def:343 variables.c:2959
#, c-format
msgid "%s: nameref variable self references not allowed"
msgstr "%s: ä¸å…許å稱引用變數引用自身"
-#: builtins/declare.def:385 variables.c:2018 variables.c:3083 variables.c:3095
-#: variables.c:3158
+#: builtins/declare.def:348 variables.c:1928 variables.c:2877 variables.c:2889
+#: variables.c:2956
#, c-format
msgid "%s: circular name reference"
msgstr "%s: 迴圈變數å引用"
-#: builtins/declare.def:390 builtins/declare.def:742 builtins/declare.def:753
-#, fuzzy, c-format
+#: builtins/declare.def:353 builtins/declare.def:691 builtins/declare.def:702
+#, c-format
msgid "`%s': invalid variable name for name reference"
-msgstr "%s: 無效的引用變數å"
+msgstr "「%sã€ï¼šç„¡æ•ˆçš„引用變數å"
-#: builtins/declare.def:500
+#: builtins/declare.def:463
msgid "cannot use `-f' to make functions"
msgstr "無法用「-fã€ç”Ÿæˆå‡½æ•¸"
-#: builtins/declare.def:512 execute_cmd.c:5797
+#: builtins/declare.def:475 execute_cmd.c:5632
#, c-format
msgid "%s: readonly function"
msgstr "%s:唯讀函數"
-#: builtins/declare.def:804
+#: builtins/declare.def:753
#, c-format
msgid "%s: quoted compound array assignment deprecated"
-msgstr ""
+msgstr "%s:ä¸å»ºè­°ä½¿ç”¨å¼•ç”¨çš„複åˆé™£åˆ—指定"
-#: builtins/declare.def:818
+#: builtins/declare.def:767
#, c-format
msgid "%s: cannot destroy array variables in this way"
msgstr "%s: 無法以這種方å¼éŠ·æ¯€é™£åˆ—變數"
-#: builtins/declare.def:825 builtins/read.def:784
+#: builtins/declare.def:774 builtins/read.def:751
#, c-format
msgid "%s: cannot convert associative to indexed array"
msgstr "%s: 無法將關è¯é™£åˆ—轉化為索引陣列"
@@ -395,7 +396,7 @@ msgstr "無法在共享物件 %2$s 中找到 %1$s: %3$s"
#: builtins/enable.def:387
#, c-format
msgid "load function for %s returns failure (%d): not loaded"
-msgstr ""
+msgstr "為 %s 載入函å¼æ™‚回傳錯誤 (%d):尚未載入"
#: builtins/enable.def:512
#, c-format
@@ -407,68 +408,68 @@ msgstr "%s: 未以動態方å¼è¼‰å…¥"
msgid "%s: cannot delete: %s"
msgstr "%s: 無法刪除: %s"
-#: builtins/evalfile.c:138 builtins/hash.def:184 execute_cmd.c:5629
+#: builtins/evalfile.c:144 builtins/hash.def:172 execute_cmd.c:5472
#, c-format
msgid "%s: is a directory"
msgstr "%s: 是一個目錄"
-#: builtins/evalfile.c:144
+#: builtins/evalfile.c:150
#, c-format
msgid "%s: not a regular file"
msgstr "%s: ä¸æ˜¯å¸¸è¦æª”案"
-#: builtins/evalfile.c:153
+#: builtins/evalfile.c:159
#, c-format
msgid "%s: file is too large"
msgstr "%s: 檔案太大"
-#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1623
+#: builtins/evalfile.c:194 builtins/evalfile.c:212 shell.c:1578
#, c-format
msgid "%s: cannot execute binary file"
msgstr "%s: 無法執行二進ä½æª”案"
-#: builtins/exec.def:155 builtins/exec.def:157 builtins/exec.def:237
+#: builtins/exec.def:156 builtins/exec.def:158 builtins/exec.def:235
#, c-format
msgid "%s: cannot execute: %s"
msgstr "%s: 無法執行: %s"
-#: builtins/exit.def:64
+#: builtins/exit.def:67
#, c-format
msgid "logout\n"
msgstr "登出\n"
-#: builtins/exit.def:89
+#: builtins/exit.def:92
msgid "not login shell: use `exit'"
msgstr "ä¸æ˜¯ç™»å…¥ shell: 使用「exitã€"
-#: builtins/exit.def:121
+#: builtins/exit.def:124
#, c-format
msgid "There are stopped jobs.\n"
msgstr "有åœæ­¢çš„工作。\n"
-#: builtins/exit.def:123
+#: builtins/exit.def:126
#, c-format
msgid "There are running jobs.\n"
msgstr "有執行中的工作。\n"
-#: builtins/fc.def:265
+#: builtins/fc.def:269
msgid "no command found"
msgstr "未找到命令"
-#: builtins/fc.def:323 builtins/fc.def:372
+#: builtins/fc.def:327 builtins/fc.def:376
msgid "history specification"
msgstr "æ­·å²è¨˜éŒ„è¦æ ¼"
-#: builtins/fc.def:393
+#: builtins/fc.def:397
#, c-format
msgid "%s: cannot open temp file: %s"
msgstr "%s: 無法開啟臨時檔案: %s"
-#: builtins/fg_bg.def:152 builtins/jobs.def:284
+#: builtins/fg_bg.def:153 builtins/jobs.def:284
msgid "current"
msgstr "當å‰"
-#: builtins/fg_bg.def:161
+#: builtins/fg_bg.def:162
#, c-format
msgid "job %d started without job control"
msgstr "在ä¸å¸¶å·¥ä½œæŽ§åˆ¶çš„情æ³ä¸‹å•Ÿå‹•äº†å·¥ä½œ %d"
@@ -483,38 +484,37 @@ msgstr "%s: éžæ³•é¸é … -- %c\n"
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: é¸é …需è¦ä¸€å€‹å¼•æ•¸ -- %c\n"
-#: builtins/hash.def:91
+#: builtins/hash.def:92
msgid "hashing disabled"
msgstr "å·²åœç”¨é›œæ¹Š"
-#: builtins/hash.def:138
+#: builtins/hash.def:139
#, c-format
msgid "%s: hash table empty\n"
msgstr "%s: 雜湊表為空\n"
-#: builtins/hash.def:266
+#: builtins/hash.def:254
#, c-format
msgid "hits\tcommand\n"
msgstr "命中\t命令\n"
-#: builtins/help.def:133
+#: builtins/help.def:135
+#, c-format
msgid "Shell commands matching keyword `"
msgid_plural "Shell commands matching keywords `"
msgstr[0] "Shell 命令,匹é…é—œéµè©ž `"
-#: builtins/help.def:185
+#: builtins/help.def:187
#, 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ã€ã€‚"
+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:224
+#: builtins/help.def:226
#, c-format
msgid "%s: cannot open: %s"
msgstr "%s: 無法開啟: %s"
-#: builtins/help.def:524
+#: builtins/help.def:526
#, c-format
msgid ""
"These shell commands are defined internally. Type `help' to see this list.\n"
@@ -533,21 +533,20 @@ msgstr ""
"å稱æ—邊的星號(*)表示該命令被åœç”¨ã€‚\n"
"\n"
-#: builtins/history.def:154
+#: builtins/history.def:155
msgid "cannot use more than one of -anrw"
msgstr "最多能使用 -anrw é¸é …之一"
-#: builtins/history.def:187 builtins/history.def:197 builtins/history.def:212
-#: builtins/history.def:229 builtins/history.def:241 builtins/history.def:248
+#: builtins/history.def:187
msgid "history position"
msgstr "æ­·å²è¨˜éŒ„ä½ç½®"
-#: builtins/history.def:331
-#, fuzzy, c-format
+#: builtins/history.def:264
+#, c-format
msgid "%s: invalid timestamp"
-msgstr "%s: 無效引數"
+msgstr "%s:無效時間戳"
-#: builtins/history.def:442
+#: builtins/history.def:375
#, c-format
msgid "%s: history expansion failed"
msgstr "%s: æ­·å²è¨˜éŒ„擴充套件失敗"
@@ -561,16 +560,16 @@ msgstr "%s: inlib 失敗"
msgid "no other options allowed with `-x'"
msgstr "其他é¸é …ä¸èƒ½èˆ‡ã€Œ-xã€åŒæ™‚使用"
-#: builtins/kill.def:200
+#: builtins/kill.def:202
#, c-format
msgid "%s: arguments must be process or job IDs"
msgstr "%s: 引數必須是行程或工作 ID"
-#: builtins/kill.def:263
+#: builtins/kill.def:265
msgid "Unknown error"
msgstr "ä¸æ˜ŽéŒ¯èª¤"
-#: builtins/let.def:97 builtins/let.def:122 expr.c:614 expr.c:632
+#: builtins/let.def:97 builtins/let.def:122 expr.c:583 expr.c:598
msgid "expression expected"
msgstr "需è¦è¡¨ç¤ºå¼"
@@ -579,69 +578,69 @@ msgstr "需è¦è¡¨ç¤ºå¼"
msgid "%s: not an indexed array"
msgstr "%s: ä¸æ˜¯ä¸€å€‹ç´¢å¼•é™£åˆ—"
-#: builtins/mapfile.def:271 builtins/read.def:305
+#: builtins/mapfile.def:272 builtins/read.def:306
#, c-format
msgid "%s: invalid file descriptor specification"
msgstr "%s: 無效的檔案æ述符è¦æ ¼"
-#: builtins/mapfile.def:279 builtins/read.def:312
+#: builtins/mapfile.def:280 builtins/read.def:313
#, c-format
msgid "%d: invalid file descriptor: %s"
msgstr "%d: 無效的檔案æ述符: %s"
-#: builtins/mapfile.def:288 builtins/mapfile.def:326
+#: builtins/mapfile.def:289 builtins/mapfile.def:327
#, c-format
msgid "%s: invalid line count"
msgstr "%s: 無效的列數"
-#: builtins/mapfile.def:299
+#: builtins/mapfile.def:300
#, c-format
msgid "%s: invalid array origin"
msgstr "%s: 無效的陣列原點"
-#: builtins/mapfile.def:316
+#: builtins/mapfile.def:317
#, c-format
msgid "%s: invalid callback quantum"
msgstr "%s: 無效的回呼定é‡"
-#: builtins/mapfile.def:349
+#: builtins/mapfile.def:350
msgid "empty array variable name"
msgstr "空陣列變數å"
-#: builtins/mapfile.def:370
+#: builtins/mapfile.def:371
msgid "array variable support required"
msgstr "需è¦é™£åˆ—變數支æ´"
-#: builtins/printf.def:416
+#: builtins/printf.def:412
#, c-format
msgid "`%s': missing format character"
msgstr "「%sã€: 缺少格å¼å­—å…ƒ"
-#: builtins/printf.def:471
+#: builtins/printf.def:467
#, c-format
msgid "`%c': invalid time format specification"
msgstr "「%cã€: 無效的時間格å¼è¦æ ¼"
-#: builtins/printf.def:673
+#: builtins/printf.def:669
#, c-format
msgid "`%c': invalid format character"
msgstr "「%cã€: 無效格å¼å­—å…ƒ"
-#: builtins/printf.def:699
+#: builtins/printf.def:695
#, c-format
msgid "warning: %s: %s"
msgstr "警告: %s: %s"
-#: builtins/printf.def:785
+#: builtins/printf.def:781
#, c-format
msgid "format parsing problem: %s"
msgstr "æ ¼å¼è§£æžå•é¡Œ: %s"
-#: builtins/printf.def:882
+#: builtins/printf.def:878
msgid "missing hex digit for \\x"
msgstr "使用了 \\x 但缺少å六進ä½æ•¸å­—"
-#: builtins/printf.def:897
+#: builtins/printf.def:893
#, c-format
msgid "missing unicode digit for \\%c"
msgstr "使用了 \\%c 但缺少è¬åœ‹ç¢¼æ•¸å­—"
@@ -655,19 +654,19 @@ msgstr "無其他目錄"
msgid "%s: invalid argument"
msgstr "%s: 無效引數"
-#: builtins/pushd.def:480
+#: builtins/pushd.def:475
msgid "<no current directory>"
msgstr "<無當å‰ç›®éŒ„>"
-#: builtins/pushd.def:524
+#: builtins/pushd.def:519
msgid "directory stack empty"
msgstr "目錄堆疊為空"
-#: builtins/pushd.def:526
+#: builtins/pushd.def:521
msgid "directory stack index"
msgstr "目錄堆疊索引"
-#: builtins/pushd.def:701
+#: builtins/pushd.def:696
msgid ""
"Display the list of currently remembered directories. Directories\n"
" find their way onto the list with the `pushd' command; you can get\n"
@@ -682,12 +681,10 @@ msgid ""
" \twith its position in the stack\n"
" \n"
" Arguments:\n"
-" +N\tDisplays the Nth entry counting from the left of the list shown "
-"by\n"
+" +N\tDisplays the Nth entry counting from the left of the list shown by\n"
" \tdirs when invoked without options, starting with zero.\n"
" \n"
-" -N\tDisplays the Nth entry counting from the right of the list shown "
-"by\n"
+" -N\tDisplays the Nth entry counting from the right of the list shown by\n"
"\tdirs when invoked without options, starting with zero."
msgstr ""
"顯示當å‰è¨˜ä½çš„目錄列表。 目錄\n"
@@ -709,7 +706,7 @@ msgstr ""
" -N\t以 dirs ä¸å¸¶é¸é …輸出的順åºï¼Œå¾žå³èµ·ç¬¬ N 個項目顯示列表,\n"
"\t從 0 開始。"
-#: builtins/pushd.def:723
+#: builtins/pushd.def:718
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"
@@ -755,7 +752,7 @@ msgstr ""
" \n"
" 「dirsã€å…§å»ºå‘½ä»¤é¡¯ç¤ºç›®éŒ„堆疊。"
-#: builtins/pushd.def:748
+#: builtins/pushd.def:743
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"
@@ -793,67 +790,67 @@ msgstr ""
" \n"
" 「dirsã€å…§å»ºè®Šæ•¸é¡¯ç¤ºç›®éŒ„堆疊。"
-#: builtins/read.def:277
+#: builtins/read.def:279
#, c-format
msgid "%s: invalid timeout specification"
msgstr "%s: 無效的逾時è¦æ ¼"
-#: builtins/read.def:729
+#: builtins/read.def:696
#, c-format
msgid "read error: %d: %s"
msgstr "讀å–錯誤: %d: %s"
-#: builtins/return.def:68
+#: builtins/return.def:71
msgid "can only `return' from a function or sourced script"
msgstr "åªèƒ½å¾žå‡½æ•¸æˆ–者原始指令稿「returnã€"
-#: builtins/set.def:834
+#: builtins/set.def:841
msgid "cannot simultaneously unset a function and a variable"
msgstr "無法åŒæ™‚å–消設定一個函數和一個變數"
-#: builtins/set.def:881
+#: builtins/set.def:888
#, c-format
msgid "%s: cannot unset"
msgstr "%s: 無法å–消設定"
-#: builtins/set.def:902 variables.c:3597
+#: builtins/set.def:909 variables.c:3389
#, c-format
msgid "%s: cannot unset: readonly %s"
msgstr "%s: 無法å–消設定: 唯讀 %s"
-#: builtins/set.def:915
+#: builtins/set.def:922
#, c-format
msgid "%s: not an array variable"
msgstr "%s: ä¸æ˜¯é™£åˆ—變數"
-#: builtins/setattr.def:189
+#: builtins/setattr.def:191
#, c-format
msgid "%s: not a function"
msgstr "%s: ä¸æ˜¯å‡½æ•¸"
-#: builtins/setattr.def:194
-#, fuzzy, c-format
+#: builtins/setattr.def:196
+#, c-format
msgid "%s: cannot export"
-msgstr "%s: 無法å–消設定"
+msgstr "%s:無法會出"
#: builtins/shift.def:73 builtins/shift.def:79
msgid "shift count"
msgstr "ä½ç§»è¨ˆæ•¸"
-#: builtins/shopt.def:301
+#: builtins/shopt.def:289
msgid "cannot set and unset shell options simultaneously"
msgstr "無法åŒæ™‚設定和å–消設定 shell é¸é …"
-#: builtins/shopt.def:403
+#: builtins/shopt.def:391
#, c-format
msgid "%s: invalid shell option name"
msgstr "%s: 無效的 shell é¸é …å稱"
-#: builtins/source.def:128
+#: builtins/source.def:131
msgid "filename argument required"
msgstr "需è¦æª”å引數"
-#: builtins/source.def:154
+#: builtins/source.def:157
#, c-format
msgid "%s: file not found"
msgstr "%s: 檔案未找到"
@@ -866,61 +863,61 @@ msgstr "無法懸置"
msgid "cannot suspend a login shell"
msgstr "無法將登入 shell 懸置"
-#: builtins/type.def:235
+#: builtins/type.def:236
#, c-format
msgid "%s is aliased to `%s'\n"
msgstr "%s 是「%sã€çš„別å\n"
-#: builtins/type.def:256
+#: builtins/type.def:257
#, c-format
msgid "%s is a shell keyword\n"
msgstr "%s 是 shell é—œéµå­—\n"
-#: builtins/type.def:275
+#: builtins/type.def:276
#, c-format
msgid "%s is a function\n"
msgstr "%s 是一個函數\n"
-#: builtins/type.def:299
-#, fuzzy, c-format
+#: builtins/type.def:300
+#, c-format
msgid "%s is a special shell builtin\n"
-msgstr "%s 是 shell 內建\n"
+msgstr "%s 是特別的 shell 內建\n"
-#: builtins/type.def:301
+#: builtins/type.def:302
#, c-format
msgid "%s is a shell builtin\n"
msgstr "%s 是 shell 內建\n"
-#: builtins/type.def:323 builtins/type.def:408
+#: builtins/type.def:324 builtins/type.def:409
#, c-format
msgid "%s is %s\n"
msgstr "%s 是 %s\n"
-#: builtins/type.def:343
+#: builtins/type.def:344
#, c-format
msgid "%s is hashed (%s)\n"
msgstr "%s 已進行雜湊æ“作(%s)\n"
-#: builtins/ulimit.def:396
+#: builtins/ulimit.def:398
#, c-format
msgid "%s: invalid limit argument"
msgstr "%s: 無效的 limit 引數"
-#: builtins/ulimit.def:422
+#: builtins/ulimit.def:424
#, c-format
msgid "`%c': bad command"
msgstr "「%cã€ï¼šä¸ç•¶çš„命令"
-#: builtins/ulimit.def:451
+#: builtins/ulimit.def:453
#, c-format
msgid "%s: cannot get limit: %s"
msgstr "%s:ä¸èƒ½å¾—到 limit: %s"
-#: builtins/ulimit.def:477
+#: builtins/ulimit.def:479
msgid "limit"
msgstr "limit"
-#: builtins/ulimit.def:489 builtins/ulimit.def:789
+#: builtins/ulimit.def:491 builtins/ulimit.def:791
#, c-format
msgid "%s: cannot modify limit: %s"
msgstr "%s:ä¸èƒ½ä¿®æ”¹ limit: %s"
@@ -939,207 +936,202 @@ msgstr "「%cã€: 無效的符號狀態é‹ç®—å­"
msgid "`%c': invalid symbolic mode character"
msgstr "「%cã€: 無效的符號狀態字元"
-#: error.c:89 error.c:347 error.c:349 error.c:351
+#: error.c:90 error.c:348 error.c:350 error.c:352
msgid " line "
msgstr " 列 "
-#: error.c:164
+#: error.c:165
#, c-format
msgid "last command: %s\n"
msgstr "最後的命令: %s\n"
-#: error.c:172
+#: error.c:173
#, c-format
msgid "Aborting..."
msgstr "中止…"
#. TRANSLATORS: this is a prefix for informational messages.
-#: error.c:287
+#: error.c:288
#, c-format
msgid "INFORM: "
-msgstr ""
+msgstr "通知:"
-#: error.c:462
+#: error.c:463
msgid "unknown command error"
msgstr "ä¸æ˜Žå‘½ä»¤éŒ¯èª¤"
-#: error.c:463
+#: error.c:464
msgid "bad command type"
msgstr "ä¸ç•¶çš„命令類型"
-#: error.c:464
+#: error.c:465
msgid "bad connector"
msgstr "ä¸ç•¶çš„連接器"
-#: error.c:465
+#: error.c:466
msgid "bad jump"
msgstr "錯誤的跳轉"
-#: error.c:503
+#: error.c:504
#, c-format
msgid "%s: unbound variable"
msgstr "%s: 未繫çµçš„變數"
-#: eval.c:242
+#: eval.c:209
#, c-format
msgid "\atimed out waiting for input: auto-logout\n"
msgstr "\a 等待輸入逾時:自動登出\n"
-#: execute_cmd.c:536
+#: execute_cmd.c:527
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
msgstr "無法從 /dev/null é‡å®šå‘標準輸入: %s"
-#: execute_cmd.c:1294
+#: execute_cmd.c:1275
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr "時間格å¼:「%cã€: 無效的格å¼å­—å…ƒ"
-#: execute_cmd.c:2330
+#: execute_cmd.c:2273
#, c-format
msgid "execute_coproc: coproc [%d:%s] still exists"
-msgstr ""
+msgstr "execute_coproc:coproc [%d:%s] ä»ç„¶å­˜åœ¨"
-#: execute_cmd.c:2456
+#: execute_cmd.c:2377
msgid "pipe error"
msgstr "管é“錯誤"
-#: execute_cmd.c:4624
-#, fuzzy, c-format
+#: execute_cmd.c:4496
+#, c-format
msgid "eval: maximum eval nesting level exceeded (%d)"
-msgstr "%s: 超出最大函數巢狀層數 (%d)"
+msgstr "eval:超出最大 eval 巢狀層數 (%d)"
-#: execute_cmd.c:4636
-#, fuzzy, c-format
+#: execute_cmd.c:4508
+#, c-format
msgid "%s: maximum source nesting level exceeded (%d)"
-msgstr "%s: 超出最大函數巢狀層數 (%d)"
+msgstr "%s: 超出最大來æºå·¢ç‹€å±¤æ•¸ (%d)"
-#: execute_cmd.c:4742
+#: execute_cmd.c:4616
#, c-format
msgid "%s: maximum function nesting level exceeded (%d)"
msgstr "%s: 超出最大函數巢狀層數 (%d)"
-#: execute_cmd.c:5285
+#: execute_cmd.c:5144
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
msgstr "%s: å—é™çš„: 無法在命令å稱中使用「/ã€"
-#: execute_cmd.c:5383
+#: execute_cmd.c:5232
#, c-format
msgid "%s: command not found"
msgstr "%s:命令找ä¸åˆ°"
-#: execute_cmd.c:5627
+#: execute_cmd.c:5470
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: execute_cmd.c:5665
+#: execute_cmd.c:5508
#, c-format
msgid "%s: %s: bad interpreter"
msgstr "%s: %s: ä¸ç•¶çš„直譯器"
-#: execute_cmd.c:5702
+#: execute_cmd.c:5545
#, c-format
msgid "%s: cannot execute binary file: %s"
msgstr "%s: 無法執行二進ä½æª”案: %s"
-#: execute_cmd.c:5788
+#: execute_cmd.c:5623
#, c-format
msgid "`%s': is a special builtin"
msgstr "「%sã€: 特殊內建"
-#: execute_cmd.c:5840
+#: execute_cmd.c:5675
#, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr "無法複製檔案æ述符 %d 到檔案æ述符 %d"
-#: expr.c:263
+#: expr.c:259
msgid "expression recursion level exceeded"
msgstr "表示å¼éžè¿´å±¤æ¬¡è¶…出範åœ"
-#: expr.c:291
+#: expr.c:283
msgid "recursion stack underflow"
msgstr "éžè¿´å †ç–Šä¸‹é™æº¢ä½"
-#: expr.c:453
+#: expr.c:431
msgid "syntax error in expression"
msgstr "表示å¼èªžæ³•éŒ¯èª¤"
-#: expr.c:497
+#: expr.c:475
msgid "attempted assignment to non-variable"
msgstr "嘗試指派給éžè®Šæ•¸"
-#: expr.c:506
-#, fuzzy
-msgid "syntax error in variable assignment"
-msgstr "表示å¼èªžæ³•éŒ¯èª¤"
-
-#: expr.c:520 expr.c:886
+#: expr.c:495 expr.c:858
msgid "division by 0"
msgstr "除 0"
-#: expr.c:567
+#: expr.c:542
msgid "bug: bad expassign token"
msgstr "錯誤:ä¸ç•¶çš„表示å¼å­—組"
-#: expr.c:621
+#: expr.c:595
msgid "`:' expected for conditional expression"
msgstr "æ¢ä»¶è¡¨ç¤ºå¼éœ€è¦ã€Œ:ã€"
-#: expr.c:947
+#: expr.c:919
msgid "exponent less than 0"
msgstr "指數å°æ–¼ 0"
-#: expr.c:1004
+#: expr.c:976
msgid "identifier expected after pre-increment or pre-decrement"
msgstr "é å¢žç¬¦æˆ–é æ¸›ç¬¦å¾Œæ‡‰è·Ÿæœ‰æ¨™è­˜ç¬¦"
-#: expr.c:1030
+#: expr.c:1002
msgid "missing `)'"
msgstr "缺少「)ã€"
-#: expr.c:1081 expr.c:1458
+#: expr.c:1053 expr.c:1393
msgid "syntax error: operand expected"
msgstr "語法錯誤: 需è¦é‹ç®—å…ƒ"
-#: expr.c:1460
+#: expr.c:1395
msgid "syntax error: invalid arithmetic operator"
msgstr "語法錯誤: 無效的算術é‹ç®—å­"
-#: expr.c:1484
+#: expr.c:1419
#, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
msgstr "%s%s%s: %s (錯誤字組是「%sã€)"
-#: expr.c:1542
+#: expr.c:1477
msgid "invalid arithmetic base"
msgstr "無效的算術進ä½"
-#: expr.c:1562
+#: expr.c:1497
msgid "value too great for base"
msgstr "數值太大ä¸å¯ç‚ºç®—術進ä½çš„基底"
-#: expr.c:1611
+#: expr.c:1546
#, c-format
msgid "%s: expression error\n"
msgstr "%s: 表示å¼éŒ¯èª¤\n"
-#: general.c:69
+#: general.c:68
msgid "getcwd: cannot access parent directories"
msgstr "getcwd: 無法訪å•ä¸Šå±¤ç›®éŒ„"
-#: input.c:99 subst.c:5858
+#: input.c:102 subst.c:5858
#, c-format
msgid "cannot reset nodelay mode for fd %d"
msgstr "無法為檔案æ述符 %d é‡ç½®ç„¡å»¶é²æ¨¡å¼"
-#: input.c:266
+#: input.c:271
#, c-format
msgid "cannot allocate new file descriptor for bash input from fd %d"
msgstr "無法從檔案æ述符 %d 為 bash 的輸入ç²å–一個新的檔案æ述符"
-#: input.c:274
+#: input.c:279
#, c-format
msgid "save_bash_input: buffer already exists for new fd %d"
msgstr "save_bash_input: 已經存在新的檔案æ述符 %d çš„ç·©è¡å€"
@@ -1148,158 +1140,153 @@ msgstr "save_bash_input: 已經存在新的檔案æ述符 %d çš„ç·©è¡å€"
msgid "start_pipeline: pgrp pipe"
msgstr "start_pipeline: 行程群組管é“"
-#: jobs.c:1080
+#: jobs.c:1035
#, c-format
msgid "forked pid %d appears in running job %d"
msgstr "生æˆçš„行程識別號 %d 顯示為執行中的工作 %d"
-#: jobs.c:1199
+#: jobs.c:1154
#, c-format
msgid "deleting stopped job %d with process group %ld"
msgstr "刪除行程群組 %2$ld 中已åœæ­¢çš„工作 %1$d"
-#: jobs.c:1303
+#: jobs.c:1258
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
msgstr "add_process: 行程 %5ld(%s) 進入 the_pipeline"
-#: jobs.c:1306
+#: jobs.c:1261
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
msgstr "add_process: 行程識別號 %5ld(%s) 標註為ä»æ´»è‘—"
-#: jobs.c:1635
+#: jobs.c:1590
#, c-format
msgid "describe_pid: %ld: no such pid"
msgstr "describe_pid: %ld: 無此行程識別號"
-#: jobs.c:1650
+#: jobs.c:1605
#, c-format
msgid "Signal %d"
msgstr "訊號 %d"
-#: jobs.c:1664 jobs.c:1690
+#: jobs.c:1619 jobs.c:1645
msgid "Done"
msgstr "已完æˆ"
-#: jobs.c:1669 siglist.c:123
+#: jobs.c:1624 siglist.c:123
msgid "Stopped"
msgstr "å·²åœæ­¢"
-#: jobs.c:1673
+#: jobs.c:1628
#, c-format
msgid "Stopped(%s)"
msgstr "å·²åœæ­¢(%s)"
-#: jobs.c:1677
+#: jobs.c:1632
msgid "Running"
msgstr "執行中"
-#: jobs.c:1694
+#: jobs.c:1649
#, c-format
msgid "Done(%d)"
msgstr "已完æˆ(%d)"
-#: jobs.c:1696
+#: jobs.c:1651
#, c-format
msgid "Exit %d"
msgstr "退出 %d"
-#: jobs.c:1699
+#: jobs.c:1654
msgid "Unknown status"
msgstr "ä¸æ˜Žç‹€æ…‹"
-#: jobs.c:1786
+#: jobs.c:1741
#, c-format
msgid "(core dumped) "
msgstr "(核心已傾å°)"
-#: jobs.c:1805
+#: jobs.c:1760
#, c-format
msgid " (wd: %s)"
msgstr " (工作目錄: %s)"
-#: jobs.c:2033
+#: jobs.c:1985
#, c-format
msgid "child setpgid (%ld to %ld)"
msgstr "å­è¡Œç¨‹ setpgid (%ld 到 %ld)"
-#: jobs.c:2395 nojobs.c:657
+#: jobs.c:2347 nojobs.c:654
#, c-format
msgid "wait: pid %ld is not a child of this shell"
msgstr "wait: 行程識別號 %ld ä¸æ˜¯ç•¶å‰ shell çš„å­è¡Œç¨‹"
-#: jobs.c:2687
+#: jobs.c:2602
#, c-format
msgid "wait_for: No record of process %ld"
msgstr "wiat_for: 沒有行程 %ld 的記錄"
-#: jobs.c:3048
+#: jobs.c:2929
#, c-format
msgid "wait_for_job: job %d is stopped"
msgstr "wait_for_job: 工作 %d å·²åœæ­¢"
-#: jobs.c:3355
+#: jobs.c:3221
#, c-format
msgid "%s: job has terminated"
msgstr "%s: 工作已經終止"
-#: jobs.c:3364
+#: jobs.c:3230
#, c-format
msgid "%s: job %d already in background"
msgstr "%s: 工作 %d 已在背景執行"
-#: jobs.c:3590
+#: jobs.c:3455
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
msgstr "waitchld: é–‹å•Ÿ WNOHANG 以é¿å…ç„¡é™é˜»å¡ž"
-#: jobs.c:4114
+#: jobs.c:3970
#, c-format
msgid "%s: line %d: "
msgstr "%s: 第 %d 列:"
-#: jobs.c:4128 nojobs.c:900
+#: jobs.c:3984 nojobs.c:897
#, c-format
msgid " (core dumped)"
msgstr " (核心已傾å°)"
-#: jobs.c:4140 jobs.c:4153
+#: jobs.c:3996 jobs.c:4009
#, c-format
msgid "(wd now: %s)\n"
msgstr "(當å‰å·¥ä½œç›®éŒ„:%s)\n"
-#: jobs.c:4185
+#: jobs.c:4041
msgid "initialize_job_control: getpgrp failed"
msgstr "initialize_job_control: getpgrp 失敗"
-#: jobs.c:4241
-#, fuzzy
-msgid "initialize_job_control: no job control in background"
-msgstr "initialize_job_control: 列è¦å¾‹"
-
-#: jobs.c:4257
+#: jobs.c:4104
msgid "initialize_job_control: line discipline"
msgstr "initialize_job_control: 列è¦å¾‹"
-#: jobs.c:4267
+#: jobs.c:4114
msgid "initialize_job_control: setpgid"
msgstr "initialize_job_control: setpgid"
-#: jobs.c:4288 jobs.c:4297
+#: jobs.c:4135 jobs.c:4144
#, c-format
msgid "cannot set terminal process group (%d)"
msgstr "無法設定終端行程群組(%d)"
-#: jobs.c:4302
+#: jobs.c:4149
msgid "no job control in this shell"
msgstr "此 shell 中無工作控制"
-#: lib/malloc/malloc.c:306
+#: lib/malloc/malloc.c:296
#, c-format
msgid "malloc: failed assertion: %s\n"
msgstr "malloc: 主張失敗: %s\n"
-#: lib/malloc/malloc.c:322
+#: lib/malloc/malloc.c:312
#, c-format
msgid ""
"\r\n"
@@ -1308,39 +1295,39 @@ msgstr ""
"\r\n"
"malloc: %s:%d: 主張已修補\r\n"
-#: lib/malloc/malloc.c:323
+#: lib/malloc/malloc.c:313
msgid "unknown"
msgstr "ä¸æ˜Ž"
-#: lib/malloc/malloc.c:811
+#: lib/malloc/malloc.c:801
msgid "malloc: block on free list clobbered"
msgstr "malloc: 空閒串列中的å€å¡Šæ壞"
-#: lib/malloc/malloc.c:888
+#: lib/malloc/malloc.c:878
msgid "free: called with already freed block argument"
msgstr "free: 用已經釋放的å€å¡Šåšç‚ºå‘¼å«å¼•æ•¸"
-#: lib/malloc/malloc.c:891
+#: lib/malloc/malloc.c:881
msgid "free: called with unallocated block argument"
msgstr "free: 用未分é…çš„å€å¡Šåšç‚ºå‘¼å«å¼•æ•¸"
-#: lib/malloc/malloc.c:910
+#: lib/malloc/malloc.c:900
msgid "free: underflow detected; mh_nbytes out of range"
msgstr "free: 檢測到下é™æº¢ä½ï¼›mh_nbytes 超出範åœ"
-#: lib/malloc/malloc.c:916
+#: lib/malloc/malloc.c:906
msgid "free: start and end chunk sizes differ"
msgstr "free: 啟始和末尾å€å¡Šå¤§å°ä¸ä¸€è‡´"
-#: lib/malloc/malloc.c:1015
+#: lib/malloc/malloc.c:1005
msgid "realloc: called with unallocated block argument"
msgstr "realloc: 用未分é…çš„å€å¡Šåšç‚ºå‘¼å«å¼•æ•¸"
-#: lib/malloc/malloc.c:1030
+#: lib/malloc/malloc.c:1020
msgid "realloc: underflow detected; mh_nbytes out of range"
msgstr "realloc: 檢測到下é™æº¢ä½ï¼›mh_nbytes 超出範åœ"
-#: lib/malloc/malloc.c:1036
+#: lib/malloc/malloc.c:1026
msgid "realloc: start and end chunk sizes differ"
msgstr "realloc: 啟始和末尾å€å¡Šå¤§å°ä¸ä¸€è‡´"
@@ -1382,22 +1369,22 @@ msgstr "%s:ä¸ç•¶çš„網路路徑è¦æ ¼"
msgid "network operations not supported"
msgstr "ä¸æ”¯æŒç¶²è·¯æ“作"
-#: locale.c:205
+#: locale.c:200
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s)"
msgstr "setlocale: LC_ALL: 無法變更語å€é¸é … (%s)"
-#: locale.c:207
+#: locale.c:202
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
msgstr "setlocale: LC_ALL: 無法變更語å€é¸é … (%s): %s"
-#: locale.c:272
+#: locale.c:259
#, c-format
msgid "setlocale: %s: cannot change locale (%s)"
msgstr "setlocale: %s: 無法變更語å€é¸é … (%s)"
-#: locale.c:274
+#: locale.c:261
#, c-format
msgid "setlocale: %s: cannot change locale (%s): %s"
msgstr "setlocale: %s: 無法變更語å€é¸é … (%s): %s"
@@ -1415,263 +1402,257 @@ msgstr "您有新郵件在 $_"
msgid "The mail in %s has been read\n"
msgstr "郵件在 %s 已閱讀\n"
-#: make_cmd.c:317
+#: make_cmd.c:329
msgid "syntax error: arithmetic expression required"
msgstr "語法錯誤:需è¦ç®—å¼"
-#: make_cmd.c:319
+#: make_cmd.c:331
msgid "syntax error: `;' unexpected"
msgstr "語法錯誤:「;ã€æ„外"
-#: make_cmd.c:320
+#: make_cmd.c:332
#, c-format
msgid "syntax error: `((%s))'"
msgstr "語法錯誤:「((%s))ã€"
-#: make_cmd.c:572
+#: make_cmd.c:584
#, c-format
msgid "make_here_document: bad instruction type %d"
msgstr "make_here_document:ä¸ç•¶çš„指示類型 %d"
-#: make_cmd.c:657
+#: make_cmd.c:669
#, c-format
msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
msgstr "ç«‹å³æ–‡ä»¶åœ¨ç¬¬ %d 列被檔案çµæŸç¬¦åˆ†éš” (需è¦ã€Œ%sã€)"
-#: make_cmd.c:756
+#: make_cmd.c:768
#, c-format
msgid "make_redirection: redirection instruction `%d' out of range"
msgstr "make_redirection:é‡æ–°å°Žå‘指示「%dã€è¶…出範åœ"
-#: parse.y:2369
+#: parse.y:2324
#, c-format
-msgid ""
-"shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line "
-"truncated"
-msgstr ""
+msgid "shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line truncated"
+msgstr "shell_getc: shell_input_line_size (%zu) è¶…éŽ SIZE_MAX (%lu):列被截斷"
-#: parse.y:2772
+#: parse.y:2700
msgid "maximum here-document count exceeded"
-msgstr ""
+msgstr "超éŽæ­¤è™•æª”案上é™æœ€å¤§å€¼"
-#: parse.y:3511 parse.y:3881
+#: parse.y:3390 parse.y:3748
#, c-format
msgid "unexpected EOF while looking for matching `%c'"
msgstr "尋找匹é…的「%cã€æ™‚é‡åˆ°äº†æœªé æœŸçš„檔案çµæŸç¬¦"
-#: parse.y:4581
+#: parse.y:4410
msgid "unexpected EOF while looking for `]]'"
msgstr "尋找「]]ã€æ™‚é‡åˆ°äº†æœªé æœŸçš„檔案çµæŸç¬¦"
-#: parse.y:4586
+#: parse.y:4415
#, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
msgstr "æ¢ä»¶è¡¨ç¤ºå¼ä¸­æœ‰èªžæ³•éŒ¯èª¤: 未é æœŸçš„字組「%sã€"
-#: parse.y:4590
+#: parse.y:4419
msgid "syntax error in conditional expression"
msgstr "語法錯誤,在有æ¢ä»¶çš„表示å¼"
-#: parse.y:4668
+#: parse.y:4497
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr "未é æœŸçš„字組「%sã€ï¼Œéœ€è¦ã€Œ)ã€"
-#: parse.y:4672
+#: parse.y:4501
msgid "expected `)'"
msgstr "é æœŸã€Œ)ã€"
-#: parse.y:4700
+#: parse.y:4529
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr "一元æ¢ä»¶é‹ç®—å­ä½¿ç”¨äº†æœªé æœŸçš„引數「%sã€"
-#: parse.y:4704
+#: parse.y:4533
msgid "unexpected argument to conditional unary operator"
msgstr "一元æ¢ä»¶é‹ç®—å­ä½¿ç”¨äº†æœªé æœŸçš„引數"
-#: parse.y:4750
+#: parse.y:4579
#, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr "未é æœŸçš„字組「%sã€ï¼Œéœ€è¦äºŒå…ƒæ¢ä»¶é‹ç®—å­"
-#: parse.y:4754
+#: parse.y:4583
msgid "conditional binary operator expected"
msgstr "需è¦äºŒå…ƒæ¢ä»¶é‹ç®—å­"
-#: parse.y:4776
+#: parse.y:4605
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr "二元æ¢ä»¶é‹ç®—å­ä½¿ç”¨äº†æœªé æœŸçš„引數「%sã€"
-#: parse.y:4780
+#: parse.y:4609
msgid "unexpected argument to conditional binary operator"
msgstr "二元æ¢ä»¶é‹ç®—å­ä½¿ç”¨äº†æœªé æœŸçš„引數"
-#: parse.y:4791
+#: parse.y:4620
#, c-format
msgid "unexpected token `%c' in conditional command"
msgstr "æ¢ä»¶å‘½ä»¤ä¸­æœ‰æœªé æœŸçš„字組「%cã€"
-#: parse.y:4794
+#: parse.y:4623
#, c-format
msgid "unexpected token `%s' in conditional command"
msgstr "æ¢ä»¶å‘½ä»¤ä¸­æœ‰æœªé æœŸçš„字組「%sã€"
-#: parse.y:4798
+#: parse.y:4627
#, c-format
msgid "unexpected token %d in conditional command"
msgstr "æ¢ä»¶å‘½ä»¤ä¸­æœ‰æœªé æœŸçš„字組 %d"
-#: parse.y:6220
+#: parse.y:5996
#, c-format
msgid "syntax error near unexpected token `%s'"
msgstr "未é æœŸçš„字組「%sã€é™„近有語法錯誤"
-#: parse.y:6238
+#: parse.y:6014
#, c-format
msgid "syntax error near `%s'"
msgstr "「%sã€é™„近有語法錯誤"
-#: parse.y:6248
+#: parse.y:6024
msgid "syntax error: unexpected end of file"
msgstr "語法錯誤: 未é æœŸçš„檔案çµå°¾"
-#: parse.y:6248
+#: parse.y:6024
msgid "syntax error"
msgstr "語法錯誤"
-#: parse.y:6310
+#: parse.y:6086
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr "使用「%sã€é€€å‡º shell 。\n"
-#: parse.y:6472
+#: parse.y:6248
msgid "unexpected EOF while looking for matching `)'"
msgstr "尋找匹é…的「)ã€æ™‚é‡åˆ°äº†æœªé æœŸçš„檔案çµæŸç¬¦"
-#: pcomplete.c:1132
+#: pcomplete.c:1126
#, c-format
msgid "completion: function `%s' not found"
msgstr "補完: 未找到函數「%sã€"
-#: pcomplete.c:1722
+#: pcomplete.c:1646
#, c-format
msgid "programmable_completion: %s: possible retry loop"
-msgstr ""
+msgstr "programmable_completion:%s:å¯èƒ½é‡è©¦è¿´åœˆ"
#: pcomplib.c:182
#, c-format
msgid "progcomp_insert: %s: NULL COMPSPEC"
msgstr "progcomp_insert: %s: 空的補完è¦æ ¼"
-#: print_cmd.c:300
+#: print_cmd.c:302
#, c-format
msgid "print_command: bad connector `%d'"
msgstr "print_command: 錯誤的æ¢ä»¶é€£æŽ¥ç¬¦ã€Œ%dã€"
-#: print_cmd.c:373
+#: print_cmd.c:375
#, c-format
msgid "xtrace_set: %d: invalid file descriptor"
msgstr "xtrace_set: %d: 無效的檔案æ述符"
-#: print_cmd.c:378
+#: print_cmd.c:380
msgid "xtrace_set: NULL file pointer"
msgstr "xtrace_set: 空的檔案指標"
-#: print_cmd.c:382
+#: print_cmd.c:384
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
msgstr "xtrace fd (%d) != fileno xtrace fp (%d)"
-#: print_cmd.c:1538
+#: print_cmd.c:1534
#, c-format
msgid "cprintf: `%c': invalid format character"
msgstr "cprintf:「%cã€: 無效的格å¼å­—å…ƒ"
-#: redir.c:121 redir.c:167
+#: redir.c:124 redir.c:171
msgid "file descriptor out of range"
msgstr "檔案æ述符超出範åœ"
-#: redir.c:174
+#: redir.c:178
#, c-format
msgid "%s: ambiguous redirect"
msgstr "%s: 模稜兩å¯çš„é‡å®šå‘"
-#: redir.c:178
+#: redir.c:182
#, c-format
msgid "%s: cannot overwrite existing file"
msgstr "%s: 無法覆寫已存在的檔案"
-#: redir.c:183
+#: redir.c:187
#, c-format
msgid "%s: restricted: cannot redirect output"
msgstr "%s: å—é™çš„: 無法é‡å®šå‘輸出"
-#: redir.c:188
+#: redir.c:192
#, c-format
msgid "cannot create temp file for here-document: %s"
msgstr "無法為立å³æ–‡ä»¶å»ºç«‹è‡¨æ™‚檔案: %s"
-#: redir.c:192
+#: redir.c:196
#, c-format
msgid "%s: cannot assign fd to variable"
msgstr "%s: 無法將檔案æ述符指派給變數"
-#: redir.c:588
+#: redir.c:586
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr "沒有網路時ä¸æ”¯æ´ /dev/(tcp|udp)/host/port"
-#: redir.c:870 redir.c:985 redir.c:1046 redir.c:1211
+#: redir.c:868 redir.c:983 redir.c:1044 redir.c:1209
msgid "redirection error: cannot duplicate fd"
msgstr "é‡å®šå‘錯誤: 無法複製檔案æ述符"
-#: shell.c:343
+#: shell.c:347
msgid "could not find /tmp, please create!"
msgstr "無法找到 /tmp ,請建立"
-#: shell.c:347
+#: shell.c:351
msgid "/tmp must be a valid directory name"
msgstr "/tmp 必須為有效的目錄å稱"
-#: shell.c:798
-msgid "pretty-printing mode ignored in interactive shells"
-msgstr ""
-
-#: shell.c:940
+#: shell.c:927
#, c-format
msgid "%c%c: invalid option"
msgstr "%c%c:無效é¸é …"
-#: shell.c:1299
-#, fuzzy, c-format
+#: shell.c:1282
+#, c-format
msgid "cannot set uid to %d: effective uid %d"
-msgstr "無法為檔案æ述符 %d é‡ç½®ç„¡å»¶é²æ¨¡å¼"
+msgstr "無法設定 UID 至 %d:有效的 UID %d"
-#: shell.c:1306
-#, fuzzy, c-format
+#: shell.c:1289
+#, c-format
msgid "cannot set gid to %d: effective gid %d"
-msgstr "無法為檔案æ述符 %d é‡ç½®ç„¡å»¶é²æ¨¡å¼"
+msgstr "無法設定 GID 至 %d:有效的 GID %d"
-#: shell.c:1494
+#: shell.c:1458
msgid "cannot start debugger; debugging mode disabled"
-msgstr ""
+msgstr "無法開啟åµéŒ¯å™¨ï¼›åµéŒ¯æ¨¡å¼å·²åœç”¨"
-#: shell.c:1608
-#, fuzzy, c-format
+#: shell.c:1566
+#, c-format
msgid "%s: Is a directory"
msgstr "%s: 是一個目錄"
-#: shell.c:1826
+#: shell.c:1777
msgid "I have no name!"
msgstr "我沒有åå­—ï¼"
-#: shell.c:1980
+#: shell.c:1930
#, c-format
msgid "GNU bash, version %s-(%s)\n"
msgstr "GNU bash,版本 %s-(%s)\n"
-#: shell.c:1981
+#: shell.c:1931
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
@@ -1680,49 +1661,49 @@ msgstr ""
"用法:\t%s [GNU é•·é¸é …] [é¸é …] …\n"
"\t%s [GNU é•·é¸é …] [é¸é …] 指令稿檔案 …\n"
-#: shell.c:1983
+#: shell.c:1933
msgid "GNU long options:\n"
msgstr "GNU é•·é¸é …:\n"
-#: shell.c:1987
+#: shell.c:1937
msgid "Shell options:\n"
msgstr "Shell é¸é …:\n"
-#: shell.c:1988
+#: shell.c:1938
msgid "\t-ilrsD or -c command or -O shopt_option\t\t(invocation only)\n"
msgstr "\t-irsD 或 -c <命令> 或 -O <shopt é¸é …>\t\t(僅é©åˆå‘¼å«)\n"
-#: shell.c:2003
+#: shell.c:1953
#, c-format
msgid "\t-%s or -o option\n"
msgstr "\t-%s or -o é¸é …\n"
-#: shell.c:2009
+#: shell.c:1959
#, c-format
msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
msgstr "輸入「%s -c \"help set\"ã€æ›´å¤šé—œæ–¼ shell é¸é …的訊æ¯ã€‚\n"
-#: shell.c:2010
+#: shell.c:1960
#, c-format
msgid "Type `%s -c help' for more information about shell builtin commands.\n"
msgstr "輸入「%s -c helpã€æ›´å¤šé—œæ–¼å…§å»º shell 命令的訊æ¯ã€‚\n"
-#: shell.c:2011
+#: shell.c:1961
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
msgstr "使用「bashbugã€å‘½ä»¤é€šå ±ç¨‹å¼éŒ¯èª¤ã€‚\n"
-#: shell.c:2013
+#: shell.c:1963
#, c-format
msgid "bash home page: <http://www.gnu.org/software/bash>\n"
-msgstr ""
+msgstr "bash 官網:<http://www.gnu.org/software/bash>\n"
-#: shell.c:2014
+#: shell.c:1964
#, c-format
msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
-msgstr ""
+msgstr "GNU 軟體的常見使用說明:<http://www.gnu.org/gethelp/>\n"
-#: sig.c:695
+#: sig.c:707
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr "sigprocmask: %d:無效æ“作"
@@ -1896,21 +1877,21 @@ msgstr "ä¸æ˜Žè¨Šè™Ÿ #"
msgid "Unknown Signal #%d"
msgstr "ä¸æ˜Žè¨Šè™Ÿ #%d"
-#: subst.c:1450 subst.c:1641
+#: subst.c:1445 subst.c:1608
#, c-format
msgid "bad substitution: no closing `%s' in %s"
msgstr "錯誤的替æ›: 在 %2$s 中沒有閉åˆçš„「%1$sã€"
-#: subst.c:3209
+#: subst.c:3154
#, c-format
msgid "%s: cannot assign list to array member"
msgstr "%s: 無法將串列指派給陣列æˆå“¡"
-#: subst.c:5734 subst.c:5750
+#: subst.c:5740 subst.c:5756
msgid "cannot make pipe for process substitution"
msgstr "無法為行程替æ›å»ºç«‹ç®¡é“"
-#: subst.c:5796
+#: subst.c:5798
msgid "cannot make child for process substitution"
msgstr "無法為行程替æ›å»ºç«‹å­è¡Œç¨‹"
@@ -1929,75 +1910,67 @@ msgstr "無法開啟命åç®¡é“ %s 進行寫入"
msgid "cannot duplicate named pipe %s as fd %d"
msgstr "無法將命åç®¡é“ %s åšç‚ºæª”案æ述符 %d 複製"
-#: subst.c:5990
-#, fuzzy
+#: subst.c:5959
msgid "command substitution: ignored null byte in input"
-msgstr "錯誤的替æ›: 在 %s 中沒有閉åˆçš„「`ã€"
+msgstr "指令替æ›ï¼šåœ¨è¼¸å…¥ä¸­å¿½ç•¥äº†ç©ºä½å…ƒçµ„"
-#: subst.c:6121
+#: subst.c:6083
msgid "cannot make pipe for command substitution"
msgstr "無法為命令替æ›å»ºç«‹ç®¡é“"
-#: subst.c:6164
+#: subst.c:6127
msgid "cannot make child for command substitution"
msgstr "無法為命令替æ›å»ºç«‹å­è¡Œç¨‹"
-#: subst.c:6190
+#: subst.c:6153
msgid "command_substitute: cannot duplicate pipe as fd 1"
msgstr "command_substitute: 無法將管é“複製為檔案æ述符 1"
-#: subst.c:6641 subst.c:9483
+#: subst.c:6580 subst.c:8939
#, c-format
msgid "%s: invalid variable name for name reference"
msgstr "%s: 無效的引用變數å"
-#: subst.c:6737 subst.c:6755 subst.c:6903
-#, fuzzy, c-format
+#: subst.c:6666 subst.c:8351 subst.c:8371
+#, c-format
+msgid "%s: bad substitution"
+msgstr "%s: 錯誤的替æ›"
+
+#: subst.c:6800
+#, c-format
msgid "%s: invalid indirect expansion"
-msgstr "%s: 無效的列數"
+msgstr "%s: 無效的間接擴展"
-#: subst.c:6771 subst.c:6910
-#, fuzzy, c-format
+#: subst.c:6807
+#, c-format
msgid "%s: invalid variable name"
-msgstr "「%sã€: 無效的別å"
+msgstr "%s:無效的變數å稱"
-#: subst.c:6962
-#, fuzzy, c-format
-msgid "%s: parameter not set"
-msgstr "%s: åƒæ•¸ç‚ºç©ºæˆ–未設定"
-
-#: subst.c:6964
+#: subst.c:6854
#, c-format
msgid "%s: parameter null or not set"
msgstr "%s: åƒæ•¸ç‚ºç©ºæˆ–未設定"
-#: subst.c:7201 subst.c:7216
+#: subst.c:7089 subst.c:7104
#, c-format
msgid "%s: substring expression < 0"
msgstr "%s: å­ä¸²è¡¨ç¤ºå¼ < 0"
-#: subst.c:8839 subst.c:8860
-#, c-format
-msgid "%s: bad substitution"
-msgstr "%s: 錯誤的替æ›"
-
-#: subst.c:8948
+#: subst.c:8450
#, c-format
msgid "$%s: cannot assign in this way"
msgstr "$%s: 無法如此指派"
-#: subst.c:9346
-msgid ""
-"future versions of the shell will force evaluation as an arithmetic "
-"substitution"
+#: subst.c:8802
+msgid "future versions of the shell will force evaluation as an arithmetic substitution"
msgstr "未來版本的 shell 會強制以算術替æ›æ±‚值"
-#: subst.c:9903
+#: subst.c:9349
#, c-format
msgid "bad substitution: no closing \"`\" in %s"
msgstr "錯誤的替æ›: 在 %s 中沒有閉åˆçš„「`ã€"
-#: subst.c:10907
+#: subst.c:10298
#, c-format
msgid "no match: %s"
msgstr "無匹é…: %s"
@@ -2020,122 +1993,116 @@ msgstr "需è¦ã€Œ)ã€"
msgid "`)' expected, found %s"
msgstr "需è¦ã€Œ)ã€ï¼Œå¾—到 %s"
-#: test.c:282 test.c:748 test.c:751
+#: test.c:282 test.c:744 test.c:747
#, c-format
msgid "%s: unary operator expected"
msgstr "%s: 需è¦ä¸€å…ƒè¡¨ç¤ºå¼"
-#: test.c:469 test.c:791
+#: test.c:469 test.c:787
#, c-format
msgid "%s: binary operator expected"
msgstr "%s: 需è¦äºŒå…ƒè¡¨ç¤ºå¼"
-#: test.c:873
+#: test.c:869
msgid "missing `]'"
msgstr "缺少「]ã€"
-#: trap.c:216
+#: trap.c:224
msgid "invalid signal number"
msgstr "無效信號數字"
-#: trap.c:379
+#: trap.c:387
#, c-format
msgid "run_pending_traps: bad value in trap_list[%d]: %p"
msgstr "run_pending_traps: trap_list[%d] 中的錯誤值: %p"
-#: trap.c:383
+#: trap.c:391
#, c-format
-msgid ""
-"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
+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:439
+#: trap.c:447
#, c-format
msgid "trap_handler: bad signal %d"
msgstr "trap_handler:ä¸ç•¶çš„信號 %d"
-#: variables.c:399
+#: variables.c:409
#, c-format
msgid "error importing function definition for `%s'"
msgstr "錯誤,輸入的函數定義為「%sã€"
-#: variables.c:801
+#: variables.c:814
#, c-format
msgid "shell level (%d) too high, resetting to 1"
msgstr "shell 層次 (%d) 太高,é‡ç½®ç‚º 1"
-#: variables.c:2512
+#: variables.c:2413
msgid "make_local_variable: no function context at current scope"
msgstr "make_local_variable: 當å‰ä½œç”¨åŸŸä¸­æ²’有函數語境"
-#: variables.c:2531
+#: variables.c:2432
#, c-format
msgid "%s: variable may not be assigned value"
msgstr "%s: 變數ä¸å¯æŒ‡æ´¾å€¼"
-#: variables.c:3246
-#, fuzzy, c-format
+#: variables.c:3043
+#, c-format
msgid "%s: assigning integer to name reference"
-msgstr "%s: 無效的引用變數å"
+msgstr "%s:指定數字至å稱åƒè€ƒ"
-#: variables.c:4149
+#: variables.c:3940
msgid "all_local_variables: no function context at current scope"
msgstr "all_local_variables: 當å‰ä½œç”¨åŸŸä¸­æ²’有函數語境"
-#: variables.c:4437
+#: variables.c:4218
#, c-format
msgid "%s has null exportstr"
msgstr "%s 有空的 exportstr"
-#: variables.c:4442 variables.c:4451
+#: variables.c:4223 variables.c:4232
#, c-format
msgid "invalid character %d in exportstr for %s"
msgstr "%2$s 的 exportstr 中有無效的字元 %1$d"
-#: variables.c:4457
+#: variables.c:4238
#, c-format
msgid "no `=' in exportstr for %s"
msgstr "%s çš„ exportstr 中沒有「=ã€"
-#: variables.c:4911
+#: variables.c:4684
msgid "pop_var_context: head of shell_variables not a function context"
msgstr "pop_var_context: shell_variables çš„å‰ç«¯ä¸æ˜¯å‡½æ•¸èªžå¢ƒ"
-#: variables.c:4924
+#: variables.c:4697
msgid "pop_var_context: no global_variables context"
msgstr "pop_var_context: 沒有 global_variables 語境"
-#: variables.c:4999
+#: variables.c:4772
msgid "pop_scope: head of shell_variables not a temporary environment scope"
msgstr "pop_scope: shell_variables çš„å‰ç«¯ä¸æ˜¯è‡¨æ™‚環境作用域"
-#: variables.c:5862
+#: variables.c:5619
#, c-format
msgid "%s: %s: cannot open as FILE"
msgstr "%s: %s: 無法åšç‚ºæª”案開啟"
-#: variables.c:5867
+#: variables.c:5624
#, c-format
msgid "%s: %s: invalid value for trace file descriptor"
msgstr "%s: %s: 追蹤檔案æ述符的值無效"
-#: variables.c:5912
+#: variables.c:5669
#, c-format
msgid "%s: %s: compatibility value out of range"
msgstr "%s: %s: 相容版本數值超出範åœ"
#: version.c:46 version2.c:46
-#, fuzzy
msgid "Copyright (C) 2016 Free Software Foundation, Inc."
-msgstr "著作權所有 (C) 2013 自由軟體基金會"
+msgstr "著作權所有 (C) 2016 自由軟體基金會"
#: version.c:47 version2.c:47
-msgid ""
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>\n"
-msgstr ""
-"許å¯è­‰ GPLv3+: GNU GPL 許å¯è­‰ç¬¬ä¸‰ç‰ˆæˆ–者更新版本 <http://gnu.org/licenses/gpl."
-"html>\n"
+msgid "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+msgstr "許å¯è­‰ GPLv3+: GNU GPL 許å¯è­‰ç¬¬ä¸‰ç‰ˆæˆ–者更新版本 <http://gnu.org/licenses/gpl.html>\n"
#: version.c:86 version2.c:86
#, c-format
@@ -2150,22 +2117,22 @@ msgstr "本軟體是自由軟體,您å¯ä»¥è‡ªç”±åœ°æ›´æ”¹å’Œé‡æ–°ç™¼å¸ƒã€‚"
msgid "There is NO WARRANTY, to the extent permitted by law."
msgstr "在法律許å¯çš„情æ³ä¸‹ç‰¹æ­¤æ˜Žç¤ºï¼Œæœ¬è»Ÿé«”ä¸æ供任何擔ä¿ã€‚"
-#: xmalloc.c:93
+#: xmalloc.c:91
#, c-format
msgid "%s: cannot allocate %lu bytes (%lu bytes allocated)"
msgstr "%s: ç„¡æ³•åˆ†é… %lu ä½å…ƒçµ„ (å·²åˆ†é… %lu ä½å…ƒçµ„)"
-#: xmalloc.c:95
+#: xmalloc.c:93
#, c-format
msgid "%s: cannot allocate %lu bytes"
msgstr "%s: ç„¡æ³•åˆ†é… %lu ä½å…ƒçµ„"
-#: xmalloc.c:165
+#: xmalloc.c:163
#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
msgstr "%s: %s:%d: ç„¡æ³•åˆ†é… %lu ä½å…ƒçµ„ (å·²åˆ†é… %lu ä½å…ƒçµ„)"
-#: xmalloc.c:167
+#: xmalloc.c:165
#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes"
msgstr "%s: %s:%d: ç„¡æ³•åˆ†é… %lu ä½å…ƒçµ„"
@@ -2179,12 +2146,8 @@ msgid "unalias [-a] name [name ...]"
msgstr "unalias [-a] å稱 [å稱 …]"
#: builtins.c:53
-msgid ""
-"bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-"
-"x keyseq:shell-command] [keyseq:readline-function or readline-command]"
-msgstr ""
-"bind [-lpvsPSVX] [-m éµå°æ˜ ] [-f 檔å] [-q å稱] [-u å稱] [-r éµåºåˆ—] [-x éµ"
-"åºåˆ—:shell- 命令] [éµåºåˆ—:readline- 函數 或 readline- 命令]"
+msgid "bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-x keyseq:shell-command] [keyseq:readline-function or readline-command]"
+msgstr "bind [-lpvsPSVX] [-m éµå°æ˜ ] [-f 檔å] [-q å稱] [-u å稱] [-r éµåºåˆ—] [-x éµåºåˆ—:shell- 命令] [éµåºåˆ—:readline- 函數 或 readline- 命令]"
#: builtins.c:56
msgid "break [n]"
@@ -2219,9 +2182,8 @@ msgid "declare [-aAfFgilnrtux] [-p] [name[=value] ...]"
msgstr "declare [-aAfFgilnrtux] [-p] [å稱[=值] …]"
#: builtins.c:80
-#, fuzzy
msgid "typeset [-aAfFgilnrtux] [-p] name[=value] ..."
-msgstr "typeset [-aAfFgilrtux] [-p] å稱[=值] …"
+msgstr "typeset [-aAfFgilnrtux] [-p] å稱[=值] ..."
#: builtins.c:82
msgid "local [option] name[=value] ..."
@@ -2280,41 +2242,28 @@ msgid "help [-dms] [pattern ...]"
msgstr "help [-dms] [æ¨¡å¼ â€¦]"
#: builtins.c:123
-msgid ""
-"history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg "
-"[arg...]"
-msgstr ""
-"history [-c] [-d å移é‡] [n] 或 history -anrw [檔å] 或 history -ps 引數 [åƒ"
-"數…]"
+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:127
msgid "jobs [-lnprs] [jobspec ...] or jobs -x command [args]"
msgstr "jobs [-lnprs] [工作è¦æ ¼ …] 或 jobs -x 命令 [引數]"
#: builtins.c:131
-#, fuzzy
msgid "disown [-h] [-ar] [jobspec ... | pid ...]"
-msgstr "disown [-h] [-ar] [工作è¦æ ¼ …]"
+msgstr "disown [-h] [-ar] [jobspec ... | pid ...]"
#: builtins.c:134
-msgid ""
-"kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l "
-"[sigspec]"
-msgstr ""
-"kill [-s 訊號è¦æ ¼ | -n 訊號編號 | - 訊號è¦æ ¼] 行程識別號 | 工作è¦æ ¼ … 或 "
-"kill -l [訊號è¦æ ¼]"
+msgid "kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]"
+msgstr "kill [-s 訊號è¦æ ¼ | -n 訊號編號 | - 訊號è¦æ ¼] 行程識別號 | 工作è¦æ ¼ … 或 kill -l [訊號è¦æ ¼]"
#: builtins.c:136
msgid "let arg [arg ...]"
msgstr "let 引數 [引數 …]"
#: builtins.c:138
-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 檔案æ述符] [å稱 …]"
+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:140
msgid "return [n]"
@@ -2369,17 +2318,15 @@ msgid "type [-afptP] name [name ...]"
msgstr "type [-afptP] å稱 [å稱 …]"
#: builtins.c:171
-#, fuzzy
msgid "ulimit [-SHabcdefiklmnpqrstuvxPT] [limit]"
-msgstr "ulimit [-SHabcdefilmnpqrstuvxT] [é™åˆ¶]"
+msgstr "ulimit [-SHabcdefiklmnpqrstuvxPT] [limit]"
#: builtins.c:174
msgid "umask [-p] [-S] [mode]"
msgstr "umask [-p] [-S] [模å¼]"
#: builtins.c:177
-#, fuzzy
-msgid "wait [-fn] [id ...]"
+msgid "wait [-n] [id ...]"
msgstr "wait [-n] [編號 …]"
#: builtins.c:181
@@ -2407,9 +2354,7 @@ msgid "case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac"
msgstr "case è©ž in [æ¨¡å¼ [| 模å¼]…) 命令 ;;]… esac"
#: builtins.c:194
-msgid ""
-"if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else "
-"COMMANDS; ] fi"
+msgid "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMMANDS; ] fi"
msgstr "if 命令 ; then 命令 ; [ elif 命令 ; then 命令 ; ]… [ else 命令 ; ] fi"
#: builtins.c:196
@@ -2469,47 +2414,26 @@ msgid "printf [-v var] format [arguments]"
msgstr "printf [-v var] æ ¼å¼ [引數]"
#: builtins.c:231
-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 å­—å°¾] [å稱 …]"
+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:235
-#, fuzzy
-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 å­—å°¾] [å­—è©ž]"
+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:239
msgid "compopt [-o|+o option] [-DE] [name ...]"
msgstr "compopt [-o|+o é¸é …] [-DE] [å稱 …]"
#: builtins.c:242
-#, fuzzy
-msgid ""
-"mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
-msgstr ""
-"mapfile [-n 計數] [-O 起始åºè™Ÿ] [-s 計數] [-t] [-u fd] [-C 回呼] [-c 定é‡] "
-"[陣列]"
+msgid "mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
+msgstr "mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
#: builtins.c:244
-#, fuzzy
-msgid ""
-"readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
-msgstr ""
-"readarray [-n 計數] [-O 起始åºè™Ÿ] [-s 計數] [-t] [-u fd] [-C 回呼] [-c 定é‡] "
-"[陣列]"
+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:256
-#, fuzzy
msgid ""
"Define or display aliases.\n"
" \n"
@@ -2524,8 +2448,7 @@ msgid ""
" -p\tprint all defined aliases in a reusable format\n"
" \n"
" Exit Status:\n"
-" alias returns true unless a NAME is supplied for which no alias has "
-"been\n"
+" alias returns true unless a NAME is supplied for which no alias has been\n"
" defined."
msgstr ""
"定義或顯示別å。\n"
@@ -2545,7 +2468,6 @@ msgstr ""
" 回傳值為真。"
#: builtins.c:278
-#, fuzzy
msgid ""
"Remove each NAME from the list of defined aliases.\n"
" \n"
@@ -2557,12 +2479,11 @@ msgstr ""
"從別å定義列表中刪除æ¯ä¸€å€‹ NAME。\n"
" \n"
" é¸é …:\n"
-" -a\t刪除所有的別å定義。\n"
+" -a\t刪除所有的別å定義\n"
" \n"
" 回傳æˆåŠŸï¼Œé™¤éž NAME ä¸æ˜¯ä¸€å€‹å·²å­˜åœ¨çš„別å。"
#: builtins.c:291
-#, fuzzy
msgid ""
"Set Readline key bindings and variables.\n"
" \n"
@@ -2574,30 +2495,25 @@ msgid ""
" Options:\n"
" -m keymap Use KEYMAP as the keymap for the duration of this\n"
" command. Acceptable keymap names are emacs,\n"
-" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-"
-"move,\n"
+" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,\n"
" vi-command, and vi-insert.\n"
" -l List names of functions.\n"
" -P List function names and bindings.\n"
" -p List functions and bindings in a form that can be\n"
" reused as input.\n"
-" -S List key sequences that invoke macros and their "
-"values\n"
-" -s List key sequences that invoke macros and their "
-"values\n"
+" -S List key sequences that invoke macros and their values\n"
+" -s List key sequences that invoke macros and their values\n"
" in a form that can be reused as input.\n"
" -V List variable names and values\n"
" -v List variable names and values in a form that can\n"
" be reused as input.\n"
" -q function-name Query about which keys invoke the named function.\n"
-" -u function-name Unbind all keys which are bound to the named "
-"function.\n"
+" -u function-name Unbind all keys which are bound to the named function.\n"
" -r keyseq Remove the binding for KEYSEQ.\n"
" -f filename Read key bindings from FILENAME.\n"
" -x keyseq:shell-command\tCause SHELL-COMMAND to be executed when\n"
" \t\t\t\tKEYSEQ is entered.\n"
-" -X List key sequences bound with -x and associated "
-"commands\n"
+" -X List key sequences bound with -x and associated commands\n"
" in a form that can be reused as input.\n"
" \n"
" Exit Status:\n"
@@ -2612,23 +2528,20 @@ msgstr ""
" \n"
" é¸é …:\n"
" -m éµå°æ˜  在此命令執行éŽç¨‹ä¸­ä½¿ç”¨æŒ‡å®šçš„éµå°æ˜ ã€‚\n"
-" å¯è¢«æŽ¥å—çš„éµå°æ˜ å字有 emacsã€emacs-standardã€emacs-"
-"metaã€\n"
+" å¯è¢«æŽ¥å—çš„éµå°æ˜ å字有 emacsã€emacs-standardã€emacs-metaã€\n"
" emacs-ctlxã€viã€vi-moveã€vi-commandã€å’Œ vi-insert。\n"
" -l 列出函數å稱。\n"
" -P 列出函數å稱和繫çµã€‚\n"
" -p 以å¯ä»¥é‡æ–°ç”¨ä½œè¼¸å…¥çš„æ ¼å¼åˆ—出函數å稱和繫çµã€‚\n"
" -S 列出å¯ä»¥å•Ÿå‹•å·¨é›†çš„éµåºåˆ—以åŠå®ƒå€‘的值\n"
-" -s 以å¯ä»¥é‡æ–°ç”¨ä½œè¼¸å…¥çš„æ ¼å¼åˆ—出å¯ä»¥å•Ÿå‹•å·¨é›†çš„éµä»¥åŠå®ƒå€‘çš„"
-"值。\n"
+" -s 以å¯ä»¥é‡æ–°ç”¨ä½œè¼¸å…¥çš„æ ¼å¼åˆ—出å¯ä»¥å•Ÿå‹•å·¨é›†çš„éµä»¥åŠå®ƒå€‘的值。\n"
" -V 列出變數å稱和它們的值\n"
" -v 以å¯ä»¥é‡æ–°ç”¨ä½œè¼¸å…¥çš„æ ¼å¼åˆ—出變數的å稱和它們的值\n"
" -q 函數å 查詢指定的函數å¯ä»¥ç”±å“ªäº›éµå•Ÿå‹•ã€‚\n"
" -u 函數å å繫çµæ‰€æœ‰ç¹«çµè‡³æŒ‡å®šå‡½æ•¸çš„éµã€‚\n"
" -r éµåºåˆ— å–消指定éµåºåˆ—的繫çµã€‚\n"
" -f 檔å 從指定檔案中讀å–éµç¹«çµã€‚\n"
-" -x éµåºåˆ—:shell 命令\t當指定的éµåºåˆ—被輸入時,執行指定的 shell 命"
-"令。\n"
+" -x éµåºåˆ—:shell 命令\t當指定的éµåºåˆ—被輸入時,執行指定的 shell 命令。\n"
" -X 以å¯è¢«é‡ç”¨çš„å½¢å¼åˆ—出用 -x 繫çµçš„éµåºåˆ—和命令。\n"
" \n"
" 退出狀態:\n"
@@ -2676,8 +2589,7 @@ msgid ""
" \n"
" Execute SHELL-BUILTIN with arguments ARGs without performing command\n"
" lookup. This is useful when you wish to reimplement a shell builtin\n"
-" as a shell function, but need to execute the builtin within the "
-"function.\n"
+" as a shell function, but need to execute the builtin within the function.\n"
" \n"
" Exit Status:\n"
" Returns the exit status of SHELL-BUILTIN, or false if SHELL-BUILTIN is\n"
@@ -2690,8 +2602,7 @@ msgstr ""
" 並且希望在函數之內執行該 shell 內建的情æ³ä¸‹æœ‰ç”¨è™•ã€‚\n"
" \n"
" 退出狀態:\n"
-" 以 SHELL-BUILTIN 內建的退出狀態為準,或者如果 SHELL-BUILTIN ä¸æ˜¯ä¸€å€‹ "
-"shell 內建時\n"
+" 以 SHELL-BUILTIN 內建的退出狀態為準,或者如果 SHELL-BUILTIN ä¸æ˜¯ä¸€å€‹ shell 內建時\n"
" 為å‡ã€‚。"
#: builtins.c:369
@@ -2723,26 +2634,19 @@ msgstr ""
" 果為 0。"
#: builtins.c:387
-#, fuzzy
msgid ""
"Change the shell working directory.\n"
" \n"
-" Change the current directory to DIR. The default DIR is the value of "
-"the\n"
+" Change the current directory to DIR. The default DIR is the value of the\n"
" HOME shell variable.\n"
" \n"
-" The variable CDPATH defines the search path for the directory "
-"containing\n"
-" DIR. Alternative directory names in CDPATH are separated by a colon "
-"(:).\n"
-" A null directory name is the same as the current directory. If DIR "
-"begins\n"
+" The variable CDPATH defines the search path for the directory containing\n"
+" DIR. Alternative directory names in CDPATH are separated by a colon (:).\n"
+" A null directory name is the same as the current directory. If DIR begins\n"
" with a slash (/), then CDPATH is not used.\n"
" \n"
-" If the directory is not found, and the shell option `cdable_vars' is "
-"set,\n"
-" the word is assumed to be a variable name. If that variable has a "
-"value,\n"
+" If the directory is not found, and the shell option `cdable_vars' is set,\n"
+" the word is assumed to be a variable name. If that variable has a value,\n"
" its value is used for DIR.\n"
" \n"
" Options:\n"
@@ -2758,13 +2662,11 @@ msgid ""
" \t\tattributes as a directory containing the file attributes\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
-" `..' is processed by removing the immediately previous pathname "
-"component\n"
+" `..' is processed by removing the immediately previous pathname component\n"
" back to a slash or the beginning of DIR.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed, and if $PWD is set successfully "
-"when\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"
@@ -2772,24 +2674,18 @@ msgstr ""
" 變更當å‰ç›®éŒ„至 DIR 目錄。é è¨­çš„ DIR 目錄是 shell 變數 HOME\n"
" 的值。\n"
" \n"
-" 變數 CDPATH 定義了å«æœ‰ DIR 的目錄æœå°‹è·¯å¾‘,其中ä¸åŒçš„目錄å稱由冒號 (:)分"
-"隔。\n"
-" 一個空的目錄å稱表示當å‰ç›®éŒ„。如果è¦åˆ‡æ›åˆ°çš„ DIR 由斜線 (/) 開頭,則 "
-"CDPATH\n"
+" 變數 CDPATH 定義了å«æœ‰ DIR 的目錄æœå°‹è·¯å¾‘,其中ä¸åŒçš„目錄å稱由冒號 (:)分隔。\n"
+" 一個空的目錄å稱表示當å‰ç›®éŒ„。如果è¦åˆ‡æ›åˆ°çš„ DIR 由斜線 (/) 開頭,則 CDPATH\n"
" 變數ä¸æœƒè¢«ä½¿ç”¨ã€‚\n"
" \n"
-" 如果路徑找ä¸åˆ°ï¼Œä¸¦ä¸” shell é¸é …「cdable_varsã€è¢«è¨­å®šï¼Œå‰‡å¼•æ•¸è©žè¢«å‡å®šç‚ºä¸€"
-"個\n"
+" 如果路徑找ä¸åˆ°ï¼Œä¸¦ä¸” shell é¸é …「cdable_varsã€è¢«è¨­å®šï¼Œå‰‡å¼•æ•¸è©žè¢«å‡å®šç‚ºä¸€å€‹\n"
" 變數åã€‚å¦‚æžœè©²è®Šæ•¸æœ‰å€¼ï¼Œå‰‡å®ƒçš„å€¼è¢«ç•¶åš DIR 目錄。\n"
" \n"
" é¸é …:\n"
" -L\t強制跟隨符號éˆçµ: 在處ç†ã€Œ..ã€ä¹‹å¾Œè§£æž DIR 中的符號éˆçµã€‚\n"
-" -P\t使用實體目錄çµæ§‹è€Œä¸è·Ÿéš¨ç¬¦è™Ÿéˆçµ: 在處ç†ã€Œ..ã€ä¹‹å‰è§£æž DIR 中的符"
-"號éˆçµã€‚\n"
-" -e\t如果使用了 -P 引數,但ä¸èƒ½æˆåŠŸç¢ºå®šç•¶å‰å·¥ä½œç›®éŒ„時,回傳éžé›¶çš„回傳"
-"值。\n"
-" -@\t在支æ´æ“´å±•å±¬æ€§çš„系統上,將一個有這些屬性的檔案當åšæœ‰æª”案屬性的目"
-"錄。\n"
+" -P\t使用實體目錄çµæ§‹è€Œä¸è·Ÿéš¨ç¬¦è™Ÿéˆçµ: 在處ç†ã€Œ..ã€ä¹‹å‰è§£æž DIR 中的符號éˆçµã€‚\n"
+" -e\t如果使用了 -P 引數,但ä¸èƒ½æˆåŠŸç¢ºå®šç•¶å‰å·¥ä½œç›®éŒ„時,回傳éžé›¶çš„回傳值。\n"
+" -@\t在支æ´æ“´å±•å±¬æ€§çš„系統上,將一個有這些屬性的檔案當åšæœ‰æª”案屬性的目錄。\n"
" \n"
" é è¨­æƒ…æ³ä¸‹è·Ÿéš¨ç¬¦è™Ÿéˆçµï¼Œå¦‚åŒæŒ‡å®šã€Œ-Lã€ã€‚\n"
" 「..ã€ä½¿ç”¨ç§»é™¤å‘å‰ç›¸é„°ç›®éŒ„åæˆå“¡ç›´åˆ° DIR 開始或一個斜線的方å¼è™•ç†ã€‚\n"
@@ -2798,7 +2694,6 @@ msgstr ""
" 如果目錄變更,或在使用 -P é¸é …時 $PWD 修改æˆåŠŸæ™‚回傳 0,å¦å‰‡éžé›¶ã€‚"
#: builtins.c:425
-#, fuzzy
msgid ""
"Print the name of the current working directory.\n"
" \n"
@@ -2865,13 +2760,11 @@ msgstr ""
" 一律失敗。"
#: builtins.c:471
-#, fuzzy
msgid ""
"Execute a simple command or display information about commands.\n"
" \n"
" Runs COMMAND with ARGS suppressing shell function lookup, or display\n"
-" information about the specified COMMANDs. Can be used to invoke "
-"commands\n"
+" information about the specified COMMANDs. Can be used to invoke commands\n"
" on disk when a function with the same name exists.\n"
" \n"
" Options:\n"
@@ -2898,7 +2791,6 @@ msgstr ""
" 回傳 COMMAND 命令的回傳狀態,或者當找ä¸åˆ° COMMAND 命令時失敗。"
#: builtins.c:490
-#, fuzzy
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2917,11 +2809,11 @@ msgid ""
" -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 the value of each NAME to lower case on assignment\n"
+" -l\tto convert NAMEs to lower case on assignment\n"
" -n\tmake NAME a reference to the variable named by its value\n"
" -r\tto make NAMEs readonly\n"
" -t\tto make NAMEs have the `trace' attribute\n"
-" -u\tto convert the value of each NAME to upper case on assignment\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"
@@ -2929,8 +2821,7 @@ msgid ""
" Variables with the integer attribute have arithmetic evaluation (see\n"
" the `let' command) performed when the variable is assigned a value.\n"
" \n"
-" When used in a function, `declare' makes NAMEs local, as with the "
-"`local'\n"
+" When used in a function, `declare' makes NAMEs local, as with the `local'\n"
" command. The `-g' option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
@@ -2965,13 +2856,12 @@ msgstr ""
" 「letã€å‘½ä»¤)\n"
" \n"
" 在函數中使用時,「declareã€ä½¿ NAME æˆç‚ºæœ¬åœ°è®Šæ•¸ï¼Œå’Œã€Œlocalã€\n"
-" 命令一致。\n"
+" 命令一致。「-gã€é¸é …壓制這個行為\n"
" \n"
" 退出狀態:\n"
" 回傳æˆåŠŸé™¤éžä½¿ç”¨äº†ç„¡æ•ˆé¸é …或者發生錯誤。"
#: builtins.c:530
-#, fuzzy
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2979,7 +2869,7 @@ msgid ""
msgstr ""
"設定變數的值和屬性。\n"
" \n"
-" 廢棄。åƒè¦‹ã€Œhelp declareã€ã€‚"
+" 功能相åŒæ–¼ã€Œdeclareã€ã€‚åƒè¦‹ã€Œhelp declareã€ã€‚"
#: builtins.c:538
msgid ""
@@ -3004,16 +2894,13 @@ msgstr ""
" 部以åŠå­å‡½æ•¸ä¸­å¯è¦‹ã€‚\n"
" \n"
" 退出狀態:\n"
-" 回傳æˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†ç„¡æ•ˆçš„é¸é …ã€ç™¼ç”Ÿäº†æŒ‡æ´¾éŒ¯èª¤æˆ–者 shell ä¸åœ¨åŸ·è¡Œä¸€å€‹å‡½"
-"數。"
+" 回傳æˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†ç„¡æ•ˆçš„é¸é …ã€ç™¼ç”Ÿäº†æŒ‡æ´¾éŒ¯èª¤æˆ–者 shell ä¸åœ¨åŸ·è¡Œä¸€å€‹å‡½æ•¸ã€‚"
#: builtins.c:555
-#, fuzzy
msgid ""
"Write arguments to the standard output.\n"
" \n"
-" Display the ARGs, separated by a single space character and followed by "
-"a\n"
+" Display the ARGs, separated by a single space character and followed by a\n"
" newline, on the standard output.\n"
" \n"
" Options:\n"
@@ -3061,10 +2948,8 @@ msgstr ""
" \\t\tæ©«å‘製表符\n"
" \\v\t縱å‘製表符\n"
" \\\\\tå斜線\n"
-" \\0nnn\t以 NNN (八進ä½)為 ASCII 碼的字元。 NNN å¯ä»¥æ˜¯ 0 到 3 個八進ä½æ•¸"
-"å­—\n"
-" \\xHH\t以 HH (å六進ä½)為值的八進ä½å­—元。HH å¯ä»¥æ˜¯ä¸€å€‹æˆ–兩個å六進ä½æ•¸"
-"å­—\n"
+" \\0nnn\t以 NNN (八進ä½)為 ASCII 碼的字元。 NNN å¯ä»¥æ˜¯ 0 到 3 個八進ä½æ•¸å­—\n"
+" \\xHH\t以 HH (å六進ä½)為值的八進ä½å­—元。HH å¯ä»¥æ˜¯ä¸€å€‹æˆ–兩個å六進ä½æ•¸å­—\n"
" \n"
" 退出狀態:\n"
" 回傳æˆåŠŸé™¤éžæœ‰å¯«å…¥éŒ¯èª¤ç™¼ç”Ÿã€‚"
@@ -3145,8 +3030,7 @@ msgstr ""
msgid ""
"Execute arguments as a shell command.\n"
" \n"
-" Combine ARGs into a single string, use the result as input to the "
-"shell,\n"
+" Combine ARGs into a single string, use the result as input to the shell,\n"
" and execute the resulting commands.\n"
" \n"
" Exit Status:\n"
@@ -3239,13 +3123,11 @@ msgstr ""
" 有錯誤發生則回傳失敗。"
#: builtins.c:688
-#, fuzzy
msgid ""
"Replace the shell with the given command.\n"
" \n"
" Execute COMMAND, replacing this shell with the specified program.\n"
-" ARGUMENTS become the arguments to COMMAND. If COMMAND is not "
-"specified,\n"
+" ARGUMENTS become the arguments to COMMAND. If COMMAND is not specified,\n"
" any redirections take effect in the current shell.\n"
" \n"
" Options:\n"
@@ -3253,13 +3135,11 @@ msgid ""
" -c\texecute COMMAND with an empty environment\n"
" -l\tplace a dash in the zeroth argument to COMMAND\n"
" \n"
-" If the command cannot be executed, a non-interactive shell exits, "
-"unless\n"
+" If the command cannot be executed, a non-interactive shell exits, unless\n"
" the shell option `execfail' is set.\n"
" \n"
" Exit Status:\n"
-" Returns success unless COMMAND is not found or a redirection error "
-"occurs."
+" Returns success unless COMMAND is not found or a redirection error occurs."
msgstr ""
"ä½¿ç”¨æŒ‡å®šå‘½ä»¤æ›¿æ› shell。\n"
" \n"
@@ -3294,8 +3174,7 @@ msgstr ""
msgid ""
"Exit a login shell.\n"
" \n"
-" Exits a login shell with exit status N. Returns an error if not "
-"executed\n"
+" Exits a login shell with exit status N. Returns an error if not executed\n"
" in a login shell."
msgstr ""
"退出一個登入 shell。\n"
@@ -3307,15 +3186,13 @@ msgstr ""
msgid ""
"Display or execute commands from the history list.\n"
" \n"
-" fc is used to list or edit and re-execute commands from the history "
-"list.\n"
+" fc is used to list or edit and re-execute commands from the history list.\n"
" FIRST and LAST can be numbers specifying the range, or FIRST can be a\n"
" string, which means the most recent command beginning with that\n"
" string.\n"
" \n"
" Options:\n"
-" -e ENAME\tselect which editor to use. Default is FCEDIT, then "
-"EDITOR,\n"
+" -e ENAME\tselect which editor to use. Default is FCEDIT, then EDITOR,\n"
" \t\tthen vi\n"
" -l \tlist lines instead of editing\n"
" -n\tomit line numbers when listing\n"
@@ -3329,8 +3206,7 @@ msgid ""
" the last command.\n"
" \n"
" Exit Status:\n"
-" Returns success or status of executed command; non-zero if an error "
-"occurs."
+" Returns success or status of executed command; non-zero if an error occurs."
msgstr ""
"從歷å²è¨˜éŒ„列表中顯示或者執行命令。\n"
" \n"
@@ -3380,10 +3256,8 @@ msgstr ""
msgid ""
"Move jobs to the background.\n"
" \n"
-" Place the jobs identified by each JOB_SPEC in the background, as if "
-"they\n"
-" had been started with `&'. If JOB_SPEC is not present, the shell's "
-"notion\n"
+" Place the jobs identified by each JOB_SPEC in the background, as if they\n"
+" had been started with `&'. If JOB_SPEC is not present, the shell's notion\n"
" of the current job is used.\n"
" \n"
" Exit Status:\n"
@@ -3399,13 +3273,11 @@ msgstr ""
" 回傳æˆåŠŸé™¤éžå·¥ä½œç®¡ç†æ²’有啟用或者錯誤發生。"
#: builtins.c:787
-#, fuzzy
msgid ""
"Remember or display program locations.\n"
" \n"
" Determine and remember the full pathname of each command NAME. If\n"
-" no arguments are given, information about remembered commands is "
-"displayed.\n"
+" no arguments are given, information about remembered commands is displayed.\n"
" \n"
" Options:\n"
" -d\tforget the remembered location of each NAME\n"
@@ -3436,15 +3308,13 @@ msgstr ""
" \t\tNAME å稱,則æ¯å€‹ä½ç½®å‰é¢æœƒåŠ ä¸Šç›¸æ‡‰çš„ NAME å稱\n"
" \t\t\n"
" 引數:\n"
-" NAME\t\tæ¯å€‹ NAME å稱會在 $PATH 路徑變數中被æœå°‹ï¼Œä¸¦ä¸”新增到記ä½çš„命"
-"令\n"
+" NAME\t\tæ¯å€‹ NAME å稱會在 $PATH 路徑變數中被æœå°‹ï¼Œä¸¦ä¸”新增到記ä½çš„命令\n"
" 列表中。\n"
" \n"
" 退出狀態:\n"
" 回傳æˆåŠŸï¼Œé™¤éž NAME 命令沒有找到或者使用了無效的é¸é …。"
#: builtins.c:812
-#, fuzzy
msgid ""
"Display information about builtin commands.\n"
" \n"
@@ -3459,11 +3329,10 @@ msgid ""
" \t\tPATTERN\n"
" \n"
" Arguments:\n"
-" PATTERN\tPattern specifying a help topic\n"
+" PATTERN\tPattern specifiying a help topic\n"
" \n"
" Exit Status:\n"
-" Returns success unless PATTERN is not found or an invalid option is "
-"given."
+" Returns success unless PATTERN is not found or an invalid option is given."
msgstr ""
"顯示內建命令的相關資訊。\n"
" \n"
@@ -3484,7 +3353,6 @@ msgstr ""
" 回傳æˆåŠŸï¼Œé™¤éž PATTERN 模å¼æ²’有找到或者使用了無效é¸é …。"
#: builtins.c:836
-#, fuzzy
msgid ""
"Display or manipulate the history list.\n"
" \n"
@@ -3493,8 +3361,7 @@ msgid ""
" \n"
" Options:\n"
" -c\tclear the history list by deleting all of the entries\n"
-" -d offset\tdelete the history entry at position OFFSET. Negative\n"
-" \t\toffsets count back from the end of the history list\n"
+" -d offset\tdelete the history entry at position 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"
@@ -3512,8 +3379,7 @@ msgid ""
" \n"
" If the HISTTIMEFORMAT variable is set and not null, its value is used\n"
" as a format string for strftime(3) to print the time stamp associated\n"
-" with each displayed history entry. No time stamps are printed "
-"otherwise.\n"
+" with each displayed history entry. No time stamps are printed otherwise.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or an error occurs."
@@ -3529,7 +3395,7 @@ msgstr ""
" \n"
" -a\t將當å‰æœƒè©±çš„æ­·å²è¨˜éŒ„列追加到歷å²è¨˜éŒ„檔案中\n"
" -n\t從歷å²è¨˜éŒ„檔案中讀å–所有未被讀å–的列\n"
-" -r\t讀å–æ­·å²è¨˜éŒ„檔案並將內容追加到歷å²è¨˜éŒ„列表中\n"
+"\t\t並且將它們追加到歷å²åˆ—表 -r\t讀å–æ­·å²è¨˜éŒ„檔案並將內容追加到歷å²è¨˜éŒ„列表中\n"
" -w\t將當å‰æ­·å²è¨˜éŒ„寫入到歷å²è¨˜éŒ„檔案中,並追加到歷å²è¨˜éŒ„列表中\n"
" \n"
" -p\tå°æ¯ä¸€å€‹ ARG 引數展開歷å²è¨˜éŒ„並顯示çµæžœï¼Œè€Œä¸å„²å­˜åˆ°æ­·å²è¨˜éŒ„列表中\n"
@@ -3545,8 +3411,7 @@ msgstr ""
" 退出狀態:\n"
" 回傳æˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†ç„¡æ•ˆçš„é¸é …或者發生錯誤。"
-#: builtins.c:873
-#, fuzzy
+#: builtins.c:872
msgid ""
"Display status of jobs.\n"
" \n"
@@ -3588,8 +3453,7 @@ msgstr ""
" 回傳æˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†ç„¡æ•ˆçš„é¸é …或者有錯誤發生。\n"
" 如果使用 -x é¸é …,則回傳 COMMAND 命令的退出狀態。"
-#: builtins.c:900
-#, fuzzy
+#: builtins.c:899
msgid ""
"Remove jobs from current shell.\n"
" \n"
@@ -3619,8 +3483,7 @@ msgstr ""
" 退出狀態:\n"
" 回傳æˆåŠŸé™¤éžä½¿ç”¨äº†ç„¡æ•ˆçš„é¸é …或者 JOBSPEC è¦æ ¼ã€‚"
-#: builtins.c:919
-#, fuzzy
+#: builtins.c:918
msgid ""
"Send a signal to a job.\n"
" \n"
@@ -3660,15 +3523,14 @@ msgstr ""
" 退出狀態:\n"
" 回傳æˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†ç„¡æ•ˆçš„é¸é …或者有錯誤發生。"
-#: builtins.c:943
+#: builtins.c:942
msgid ""
"Evaluate arithmetic expressions.\n"
" \n"
" Evaluate each ARG as an arithmetic expression. Evaluation is done in\n"
" fixed-width integers with no check for overflow, though division by 0\n"
" is trapped and flagged as an error. The following list of operators is\n"
-" grouped into levels of equal-precedence operators. The levels are "
-"listed\n"
+" grouped into levels of equal-precedence operators. The levels are listed\n"
" in order of decreasing precedence.\n"
" \n"
" \tid++, id--\tvariable post-increment, post-decrement\n"
@@ -3736,41 +3598,35 @@ msgstr ""
" Shell 變數å…許åšç‚ºé‹ç®—元。表示å¼ä¸­çš„變數å稱會以值å–代\n"
" (強制轉æ›ç‚ºå®šå¯¬çš„整數)。表示å¼ä¸­çš„變數ä¸éœ€è¦é–‹å•Ÿæ•´æ•¸å±¬æ€§ã€‚\n"
" \n"
-" é‹ç®—å­æŒ‰ç…§å„ªå…ˆé †åºé€²è¡Œæ±‚值。括號中的å­è¡¨ç¤ºå¼å°‡è¢«å…ˆæ±‚值,並å¯å–代上述表示"
-"å¼è¦å‰‡ã€‚\n"
+" é‹ç®—å­æŒ‰ç…§å„ªå…ˆé †åºé€²è¡Œæ±‚值。括號中的å­è¡¨ç¤ºå¼å°‡è¢«å…ˆæ±‚值,並å¯å–代上述表示å¼è¦å‰‡ã€‚\n"
" \n"
" 退出狀態:\n"
" 如果最後一個 ARG 引數求值為 0,則 let 回傳 1ï¼› å¦å‰‡ let 回傳 0。"
-#: builtins.c:988
-#, fuzzy
+#: builtins.c:987
msgid ""
"Read a line from the standard input and split it into fields.\n"
" \n"
" Reads a single line from the standard input, or from file descriptor FD\n"
-" if the -u option is supplied. The line is split into fields as with "
-"word\n"
+" if the -u option is supplied. The line is split into fields as with word\n"
" splitting, and the first word is assigned to the first NAME, the second\n"
" word to the second NAME, and so on, with any leftover words assigned to\n"
-" the last NAME. Only the characters found in $IFS are recognized as "
-"word\n"
+" the last NAME. Only the characters found in $IFS are recognized as word\n"
" delimiters.\n"
" \n"
-" If no NAMEs are supplied, the line read is stored in the REPLY "
-"variable.\n"
+" If no NAMEs are supplied, the line read is stored in the REPLY variable.\n"
" \n"
" Options:\n"
" -a array\tassign the words read to sequential indices of the array\n"
" \t\tvariable ARRAY, starting at zero\n"
" -d delim\tcontinue until the first character of DELIM is read, rather\n"
" \t\tthan newline\n"
-" -e\tuse Readline to obtain the line\n"
+" -e\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\n"
" \t\tNCHARS characters are read before the delimiter\n"
-" -N nchars\treturn only after reading exactly NCHARS characters, "
-"unless\n"
+" -N nchars\treturn only after reading exactly NCHARS characters, unless\n"
" \t\tEOF is encountered or read times out, ignoring any\n"
" \t\tdelimiter\n"
" -p prompt\toutput the string PROMPT without a trailing newline before\n"
@@ -3788,20 +3644,15 @@ msgid ""
" -u fd\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"
-" (in which case it's greater than 128), a variable assignment error "
-"occurs,\n"
+" The return code is zero, unless end-of-file is encountered, read times out\n"
+" (in which case it's greater than 128), a variable assignment error occurs,\n"
" or an invalid file descriptor is supplied as the argument to -u."
msgstr ""
"從標準輸入讀å–一列並將其分為ä¸åŒçš„å€åŸŸã€‚\n"
" \n"
-" 從標準輸入讀å–å–®ç¨çš„一列,或者如果使用了 -u é¸é …,從檔案æ述符 FD 中讀"
-"å–。\n"
-" 該列被分割æˆå€åŸŸï¼Œå¦‚åŒå­—詞分割一樣,並且第一個字詞被指派給第一個 NAME 變"
-"數,第二\n"
-" 個字詞被指派給第二個 NAME 變數,如此繼續,直到剩下所有的字詞被指派給最後"
-"一個 NAME\n"
+" 從標準輸入讀å–å–®ç¨çš„一列,或者如果使用了 -u é¸é …,從檔案æ述符 FD 中讀å–。\n"
+" 該列被分割æˆå€åŸŸï¼Œå¦‚åŒå­—詞分割一樣,並且第一個字詞被指派給第一個 NAME 變數,第二\n"
+" 個字詞被指派給第二個 NAME 變數,如此繼續,直到剩下所有的字詞被指派給最後一個 NAME\n"
" 變數。åªæœ‰ $IFS 變數中的字元被èªåšæ˜¯å­—詞分隔符。\n"
" \n"
" 如果沒有æä¾› NAME 變數,則讀å–的列被存放在 REPLY 變數中。\n"
@@ -3813,15 +3664,13 @@ msgstr ""
" -i text\t使用 TEXT 文字åšç‚º Readline çš„åˆå§‹æ–‡å­—\n"
" -n nchars\tè®€å– nchars 個字元之後回傳,而ä¸æ˜¯ç­‰åˆ°è®€å–æ›åˆ—符。\n"
" \t\t但是分隔符ä»ç„¶æœ‰æ•ˆï¼Œå¦‚æžœé‡åˆ°åˆ†éš”符之å‰è®€å–了ä¸è¶³ nchars 個字元。\n"
-" -N nchars\t在準確讀å–了 nchars 個字元之後回傳,除éžé‡åˆ°æª”案çµæŸç¬¦æˆ–者讀"
-"å–逾時,\n"
+" -N nchars\t在準確讀å–了 nchars 個字元之後回傳,除éžé‡åˆ°æª”案çµæŸç¬¦æˆ–者讀å–逾時,\n"
" \t\t任何的分隔符都被忽略\n"
" -p prompt\t在嘗試讀å–之å‰è¼¸å‡º PROMPT æ示符並且ä¸å¸¶\n"
" \t\tæ›åˆ—符\n"
" -r\tä¸å…許å斜線逸出任何字元\n"
" -s\tä¸é¡¯ç¤ºçµ‚端的任何輸入\n"
-" -t timeout\t如果在 TIMEOUT 秒內沒有讀å–一個完整的列則逾時並且回傳失"
-"敗。\n"
+" -t timeout\t如果在 TIMEOUT 秒內沒有讀å–一個完整的列則逾時並且回傳失敗。\n"
" \t\tTMOUT 變數的值是é è¨­é€¾æ™‚時間。\n"
" \t\tTIMEOUT å¯ä»¥æ˜¯å°æ•¸ã€‚如果 TIMEOUT 是 0,那麼僅當在指定的檔案æ述符上\n"
" \t\t輸入有效的時候,read æ‰å›žå‚³æˆåŠŸã€‚\n"
@@ -3832,7 +3681,7 @@ msgstr ""
" 回傳碼為零,除éžé‡åˆ°äº†æª”案çµæŸç¬¦ï¼Œè®€å–逾時,或者無效的文\n"
" 件æ述符åšç‚ºå¼•æ•¸å‚³éžçµ¦äº† -u é¸é …。"
-#: builtins.c:1035
+#: builtins.c:1034
msgid ""
"Return from a shell function.\n"
" \n"
@@ -3852,8 +3701,7 @@ msgstr ""
" 退出狀態:\n"
" 回傳 N,或者如果 shell ä¸åœ¨åŸ·è¡Œä¸€å€‹å‡½æ•¸æˆ–引用指令稿時,失敗。"
-#: builtins.c:1048
-#, fuzzy
+#: builtins.c:1047
msgid ""
"Set or unset values of shell options and positional parameters.\n"
" \n"
@@ -3896,8 +3744,7 @@ msgid ""
" physical same as -P\n"
" pipefail the return value of a pipeline is the status of\n"
" the last command to exit with a non-zero status,\n"
-" or zero if no command exited with a non-zero "
-"status\n"
+" or zero if no command exited with a non-zero status\n"
" posix change the behavior of bash where the default\n"
" operation differs from the Posix standard to\n"
" match the standard\n"
@@ -3921,8 +3768,7 @@ msgid ""
" by default when the shell is interactive.\n"
" -P If set, do not resolve symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
-" -T If set, the DEBUG and RETURN traps are inherited by shell "
-"functions.\n"
+" -T If set, the DEBUG and RETURN traps are 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"
@@ -4001,7 +3847,7 @@ msgstr ""
" 時候這個標識ä½é è¨­é–‹å•Ÿã€‚\n"
" -P 設定之後類似 cd 的會變更當å‰ç›®éŒ„的命令ä¸\n"
" 追蹤符號éˆçµã€‚\n"
-" -T 設定之後 DEBUG 陷阱會被 shell 函數繼承。\n"
+" -T 設定之後 DEBUG 和 RETURN 陷阱會被 shell 函數繼承。\n"
" - 任何剩餘的引數會被指派給ä½ç½®å¼•æ•¸ã€‚\n"
" -x å’Œ -v é¸é …已關閉。\n"
" \n"
@@ -4014,8 +3860,7 @@ msgstr ""
" 退出狀態:\n"
" 回傳æˆåŠŸé™¤éžä½¿ç”¨äº†ç„¡æ•ˆçš„引數。"
-#: builtins.c:1133
-#, fuzzy
+#: builtins.c:1132
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \n"
@@ -4027,8 +3872,7 @@ msgid ""
" -n\ttreat each NAME as a name reference and unset the variable itself\n"
" \t\trather than the variable it references\n"
" \n"
-" Without options, unset first tries to unset a variable, and if that "
-"fails,\n"
+" Without options, unset first tries to unset a variable, and if that fails,\n"
" tries to unset a function.\n"
" \n"
" Some variables cannot be unset; also see `readonly'.\n"
@@ -4045,21 +3889,19 @@ msgstr ""
" -v\tå°‡æ¯å€‹ NAME 視為變數\n"
" -n\tå°‡æ¯å€‹ NAME 視為å稱引用,åªå–消其本身而éžå…¶æŒ‡å‘的變數\n"
" \n"
-" ä¸å¸¶é¸é …時,unset 首先嘗試å–消設定一個變數,如果失敗,å†å˜—試å–消設定一個"
-"函數。\n"
+" ä¸å¸¶é¸é …時,unset 首先嘗試å–消設定一個變數,如果失敗,å†å˜—試å–消設定一個函數。\n"
" \n"
" æŸäº›è®Šæ•¸ä¸å¯ä»¥è¢«å–消設定;åƒè¦‹ã€Œreadonlyã€ã€‚\n"
" \n"
" 退出狀態:\n"
" 回傳æˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†ç„¡æ•ˆçš„é¸é …或者 NAME å稱為唯讀。"
-#: builtins.c:1155
+#: builtins.c:1154
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"
+" executed commands. If VALUE is supplied, assign VALUE before exporting.\n"
" \n"
" Options:\n"
" -f\trefer to shell functions\n"
@@ -4086,8 +3928,7 @@ msgstr ""
" 退出狀態:\n"
" 回傳æˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†ç„¡æ•ˆçš„é¸é …或者 NAME å稱。"
-#: builtins.c:1174
-#, fuzzy
+#: builtins.c:1173
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
@@ -4123,7 +3964,7 @@ msgstr ""
" 退出狀態:\n"
" 回傳æˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†ç„¡æ•ˆçš„é¸é …或者 NAME å稱。"
-#: builtins.c:1196
+#: builtins.c:1195
msgid ""
"Shift positional parameters.\n"
" \n"
@@ -4141,7 +3982,7 @@ msgstr ""
" 退出狀態:\n"
" 回傳æˆåŠŸï¼Œé™¤éž N 為負或者大於 $#。"
-#: builtins.c:1208 builtins.c:1223
+#: builtins.c:1207 builtins.c:1222
msgid ""
"Execute commands from a file in the current shell.\n"
" \n"
@@ -4163,7 +4004,7 @@ msgstr ""
" 退出狀態:\n"
" 回傳 FILENAME 檔案中最後一個命令的狀態;如果 FILENAME 檔案ä¸å¯è®€å‰‡å¤±æ•—。"
-#: builtins.c:1239
+#: builtins.c:1238
msgid ""
"Suspend shell execution.\n"
" \n"
@@ -4187,8 +4028,7 @@ msgstr ""
" 退出狀態:\n"
" 回傳æˆåŠŸï¼Œé™¤éžæ²’有啟用工作控制或者有錯誤發生。"
-#: builtins.c:1255
-#, fuzzy
+#: builtins.c:1254
msgid ""
"Evaluate conditional expression.\n"
" \n"
@@ -4222,8 +4062,7 @@ msgid ""
" -x FILE True if the file is executable by you.\n"
" -O FILE True if the file is effectively owned by you.\n"
" -G FILE True if the file is effectively owned by your group.\n"
-" -N FILE True if the file has been modified since it was last "
-"read.\n"
+" -N FILE True if the file has been modified since it was last read.\n"
" \n"
" FILE1 -nt FILE2 True if file1 is newer than file2 (according to\n"
" modification date).\n"
@@ -4244,8 +4083,7 @@ msgid ""
" STRING1 != STRING2\n"
" True if the strings are not equal.\n"
" STRING1 < STRING2\n"
-" True if STRING1 sorts before STRING2 "
-"lexicographically.\n"
+" True if STRING1 sorts before STRING2 lexicographically.\n"
" STRING1 > STRING2\n"
" True if STRING1 sorts after STRING2 lexicographically.\n"
" \n"
@@ -4342,7 +4180,7 @@ msgstr ""
" 如果 EXPR 表示å¼æ±‚值為真則回傳æˆåŠŸï¼›å¦‚æžœ EXPR 表示å¼æ±‚值\n"
" 為å‡æˆ–者使用了無效的引數則回傳失敗。"
-#: builtins.c:1337
+#: builtins.c:1336
msgid ""
"Evaluate conditional expression.\n"
" \n"
@@ -4354,12 +4192,11 @@ msgstr ""
" 是內建命令「testã€çš„åŒç¾©è©žï¼Œä½†æ˜¯æœ€å¾Œä¸€å€‹å¼•æ•¸å¿…須是\n"
" 字元「]ã€ï¼Œä»¥åŒ¹é…起始的「[ã€ã€‚"
-#: builtins.c:1346
+#: builtins.c:1345
msgid ""
"Display process times.\n"
" \n"
-" Prints the accumulated user and system times for the shell and all of "
-"its\n"
+" Prints the accumulated user and system times for the shell and all of its\n"
" child processes.\n"
" \n"
" Exit Status:\n"
@@ -4373,12 +4210,11 @@ msgstr ""
" 退出狀態:\n"
" 一律æˆåŠŸã€‚"
-#: builtins.c:1358
+#: builtins.c:1357
msgid ""
"Trap signals and other events.\n"
" \n"
-" Defines and activates handlers to be run when the shell receives "
-"signals\n"
+" Defines and activates handlers to be run when the shell receives signals\n"
" or other conditions.\n"
" \n"
" ARG is a command to be read and executed when the shell receives the\n"
@@ -4387,34 +4223,26 @@ msgid ""
" 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"
+" 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"
+" If no arguments are supplied, trap prints the list of commands associated\n"
" with each signal.\n"
" \n"
" Options:\n"
" -l\tprint a list of signal names and their corresponding numbers\n"
" -p\tdisplay the trap commands associated with each SIGNAL_SPEC\n"
" \n"
-" Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal "
-"number.\n"
+" Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal number.\n"
" Signal names are case insensitive and the SIG prefix is optional. A\n"
" signal may be sent to the shell with \"kill -signal $$\".\n"
" \n"
" Exit Status:\n"
-" Returns success unless a SIGSPEC is invalid or an invalid option is "
-"given."
+" Returns success unless a SIGSPEC is invalid or an invalid option is given."
msgstr ""
"å°è¨Šè™Ÿå’Œå…¶ä»–事件設陷阱。\n"
" \n"
@@ -4423,8 +4251,7 @@ msgstr ""
" ARG 引數是當 shell 接收到 SIGNAL_SPEC 訊號時讀å–和執行的命令。\n"
" 如果沒有指定 ARG 引數 (並且åªçµ¦å‡ºä¸€å€‹ SIGNAL_SPEC 訊號) 或者\n"
" ARG 引數為\n"
-" 「-ã€ï¼Œæ¯ä¸€å€‹æŒ‡å®šçš„引數會被é‡ç½®ç‚ºåŽŸå§‹å€¼ã€‚如果 ARG 引數是一個空串,則æ¯ä¸€"
-"個\n"
+" 「-ã€ï¼Œæ¯ä¸€å€‹æŒ‡å®šçš„引數會被é‡ç½®ç‚ºåŽŸå§‹å€¼ã€‚如果 ARG 引數是一個空串,則æ¯ä¸€å€‹\n"
" SIGNAL_SPEC 訊號會被 shell 和它啟動的命令忽略。\n"
" \n"
" 如果一個 SIGNAL_SPEC 訊號是 EXIT (0) ,則 ARG 命令會在 shell 退出時被\n"
@@ -4444,8 +4271,7 @@ msgstr ""
" 退出狀態:\n"
" 回傳æˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†ç„¡æ•ˆçš„é¸é …或者 SIGSPEC。"
-#: builtins.c:1394
-#, fuzzy
+#: builtins.c:1393
msgid ""
"Display information about command type.\n"
" \n"
@@ -4471,8 +4297,7 @@ msgid ""
" 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."
+" Returns success if all of the NAMEs are found; fails if any are not found."
msgstr ""
"顯示命令類型的資訊。\n"
" \n"
@@ -4497,13 +4322,11 @@ msgstr ""
" 退出狀態:\n"
" 如果所有的 NAME 命令都找到則回傳æˆåŠŸï¼›ä»»ä½•æ‰¾ä¸åˆ°å‰‡å¤±æ•—。"
-#: builtins.c:1425
-#, fuzzy
+#: builtins.c:1424
msgid ""
"Modify shell resource limits.\n"
" \n"
-" Provides control over the resources available to the shell and "
-"processes\n"
+" Provides control over the resources available to the shell and processes\n"
" it creates, on systems that allow such control.\n"
" \n"
" Options:\n"
@@ -4561,6 +4384,7 @@ msgstr ""
" -e\tæœ€é«˜çš„æŽ’ç¨‹å„ªå…ˆé †åº (「niceã€)\n"
" -f\t有 shell åŠå…¶å­è¡Œç¨‹å¯ä»¥å¯«å…¥çš„最大檔案尺寸\n"
" -i\t最多å¯ä»¥æ‡¸ç½®çš„訊號數\n"
+" -k\t為這個進程所分é…的最大 kqueues 數é‡\n"
" -l\t一個行程å¯ä»¥éŽ–定的最大記憶體尺寸\n"
" -m\t最大的記憶體進é§å°ºå¯¸\n"
" -n\t最多開啟的檔案æ述符個數\n"
@@ -4568,6 +4392,7 @@ msgstr ""
" -q\tPOSIX 資訊佇列的最大ä½å…ƒçµ„數\n"
" -r\t實時排程的最大優先順åº\n"
" -s\t最大堆疊尺寸\n"
+" -P\tå½çµ‚端的最大數é‡\n"
" -t\t最大的 CPU 時間,以秒為單ä½\n"
" -u\t最大使用者行程數\n"
" -v\t虛擬記憶體尺寸\n"
@@ -4577,8 +4402,7 @@ msgstr ""
" 並éžæ‰€æœ‰é¸é …在所有系統上å¯ç”¨ã€‚\n"
" \n"
" 如果æ供了 LIMIT 變數,則它為指定資æºçš„新值;特別的 LIMIT 值為\n"
-" 「softã€ã€ã€Œhardã€å’Œã€Œunlimitedã€ï¼Œåˆ†åˆ¥è¡¨ç¤ºç•¶å‰çš„軟é™åˆ¶ï¼Œç¡¬é™åˆ¶å’Œç„¡é™"
-"制。\n"
+" 「softã€ã€ã€Œhardã€å’Œã€Œunlimitedã€ï¼Œåˆ†åˆ¥è¡¨ç¤ºç•¶å‰çš„軟é™åˆ¶ï¼Œç¡¬é™åˆ¶å’Œç„¡é™åˆ¶ã€‚\n"
" å¦å‰‡å°å‡ºæŒ‡å®šè³‡æºçš„當å‰é™åˆ¶å€¼ï¼Œä¸å¸¶é¸é …則å‡å®šç‚º -f\n"
" \n"
" å–值都是 1024 ä½å…ƒçµ„為單ä½ï¼Œé™¤äº† -t 以秒為單ä½ï¼Œ-p 以 512 ä½å…ƒçµ„éžå¢žï¼Œ\n"
@@ -4587,7 +4411,7 @@ msgstr ""
" 退出狀態:\n"
" 回傳æˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†ç„¡æ•ˆçš„é¸é …或者錯誤發生。"
-#: builtins.c:1475
+#: builtins.c:1474
msgid ""
"Display or set file mode mask.\n"
" \n"
@@ -4619,24 +4443,19 @@ msgstr ""
" 退出狀態:\n"
" 回傳æˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†ç„¡æ•ˆçš„ MODE 模å¼æˆ–者é¸é …。"
-#: builtins.c:1495
-#, fuzzy
+#: builtins.c:1494
msgid ""
"Wait for job completion and return exit status.\n"
" \n"
-" Waits for each process identified by an ID, which may be a process ID or "
-"a\n"
+" Waits for each process identified by an 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 job specification, waits for all processes\n"
+" status is zero. If ID is a a job specification, waits for all processes\n"
" in that job's pipeline.\n"
" \n"
" If the -n option is supplied, waits for the next job to terminate and\n"
" returns its exit status.\n"
" \n"
-" If the -f option is supplied, and job control is enabled, waits for the\n"
-" specified ID to terminate, instead of waiting for it to change status.\n"
-" \n"
" Exit Status:\n"
" Returns the status of the last ID; fails if ID is invalid or an invalid\n"
" option is given."
@@ -4653,18 +4472,16 @@ msgstr ""
" 退出狀態:\n"
" 回傳最後一個 ID 行程的狀態;如果使用了無效的 ID 或者é¸é …則失敗。"
-#: builtins.c:1519
+#: builtins.c:1515
msgid ""
"Wait for process completion and return exit status.\n"
" \n"
-" Waits for each process specified by a PID and reports its termination "
-"status.\n"
+" Waits for each process specified by a PID and reports its termination status.\n"
" If PID is not given, waits for all currently active child processes,\n"
" and the return status is zero. PID must be a process ID.\n"
" \n"
" Exit Status:\n"
-" Returns the status of the last PID; fails if PID is invalid or an "
-"invalid\n"
+" Returns the status of the last PID; fails if PID is invalid or an invalid\n"
" option is given."
msgstr ""
"等待行程完æˆä¸¦ä¸”回傳退出狀態。\n"
@@ -4673,10 +4490,9 @@ msgstr ""
" å­è¡Œç¨‹éƒ½æœƒè¢«ç­‰å¾…,並且回傳碼為零。PID 必須為行程識別號。\n"
" \n"
" 退出狀態:\n"
-" 回傳行程 ID 的狀態;如果 PID 是無效的行程識別號或者指定了無效的é¸é …則失"
-"敗。"
+" 回傳行程 ID 的狀態;如果 PID 是無效的行程識別號或者指定了無效的é¸é …則失敗。"
-#: builtins.c:1534
+#: builtins.c:1530
msgid ""
"Execute commands for each member in a list.\n"
" \n"
@@ -4697,7 +4513,7 @@ msgstr ""
" 退出狀態:\n"
" 回傳最後執行命令的狀態。"
-#: builtins.c:1548
+#: builtins.c:1544
msgid ""
"Arithmetic for loop.\n"
" \n"
@@ -4727,7 +4543,7 @@ msgstr ""
" 退出狀態:\n"
" 回傳最後執行命令的狀態。"
-#: builtins.c:1566
+#: builtins.c:1562
msgid ""
"Select words from a list and execute commands.\n"
" \n"
@@ -4760,7 +4576,7 @@ msgstr ""
" 退出狀態:\n"
" 回傳最後一個執行命令的狀態。"
-#: builtins.c:1587
+#: builtins.c:1583
msgid ""
"Report time consumed by pipeline's execution.\n"
" \n"
@@ -4788,7 +4604,7 @@ msgstr ""
" 退出狀態:\n"
" å›žå‚³ç‹€æ…‹å³ PIPELINE 的回傳狀態。"
-#: builtins.c:1604
+#: builtins.c:1600
msgid ""
"Execute commands based on pattern matching.\n"
" \n"
@@ -4806,21 +4622,16 @@ msgstr ""
" 退出狀態:\n"
" 回傳最後一個執行命令的狀態。"
-#: builtins.c:1616
+#: builtins.c:1612
msgid ""
"Execute commands based on conditional.\n"
" \n"
-" The `if COMMANDS' list is executed. If its exit status is zero, then "
-"the\n"
-" `then COMMANDS' list is executed. Otherwise, each `elif COMMANDS' list "
-"is\n"
+" The `if COMMANDS' list is executed. If its exit status is zero, then the\n"
+" `then COMMANDS' list is executed. Otherwise, each `elif COMMANDS' list is\n"
" executed in turn, and if its exit status is zero, the corresponding\n"
-" `then COMMANDS' list is executed and the if command completes. "
-"Otherwise,\n"
-" the `else COMMANDS' list is executed, if present. The exit status of "
-"the\n"
-" entire construct is the exit status of the last command executed, or "
-"zero\n"
+" `then COMMANDS' list is executed and the if command completes. Otherwise,\n"
+" the `else COMMANDS' list is executed, if present. The exit status of the\n"
+" entire construct is the exit status of the last command executed, or zero\n"
" if no condition tested true.\n"
" \n"
" Exit Status:\n"
@@ -4837,7 +4648,7 @@ msgstr ""
" 退出狀態:\n"
" 回傳最後一個執行命令的狀態。"
-#: builtins.c:1633
+#: builtins.c:1629
msgid ""
"Execute commands as long as a test succeeds.\n"
" \n"
@@ -4855,7 +4666,7 @@ msgstr ""
" 退出狀態:\n"
" 回傳最後一個執行命令的狀態。"
-#: builtins.c:1645
+#: builtins.c:1641
msgid ""
"Execute commands as long as a test does not succeed.\n"
" \n"
@@ -4873,8 +4684,7 @@ msgstr ""
" 退出狀態:\n"
" 回傳最後一個執行命令的狀態。"
-#: builtins.c:1657
-#, fuzzy
+#: builtins.c:1653
msgid ""
"Create a coprocess named NAME.\n"
" \n"
@@ -4894,15 +4704,14 @@ msgstr ""
" é è¨­çš„ NAME 是「COPROCã€ã€‚\n"
" \n"
" 退出狀態:\n"
-" 回傳 COMMAND 命令的退出狀態。"
+" coprc 指令回傳離開代碼 0。"
-#: builtins.c:1671
+#: builtins.c:1667
msgid ""
"Define shell function.\n"
" \n"
" Create a shell function named NAME. When invoked as a simple command,\n"
-" NAME runs COMMANDs in the calling shell's context. When NAME is "
-"invoked,\n"
+" NAME runs COMMANDs in the calling shell's context. When NAME is invoked,\n"
" the arguments are passed to the function as $1...$n, and the function's\n"
" name is in $FUNCNAME.\n"
" \n"
@@ -4919,7 +4728,7 @@ msgstr ""
" 退出狀態:\n"
" 回傳æˆåŠŸé™¤éž NAME 為唯讀。"
-#: builtins.c:1685
+#: builtins.c:1681
msgid ""
"Group commands as a unit.\n"
" \n"
@@ -4937,7 +4746,7 @@ msgstr ""
" 退出狀態:\n"
" 回傳最後一個執行命令的狀態。"
-#: builtins.c:1697
+#: builtins.c:1693
msgid ""
"Resume job in foreground.\n"
" \n"
@@ -4961,7 +4770,7 @@ msgstr ""
" 退出狀態:\n"
" 回傳被繼續的工作狀態。"
-#: builtins.c:1712
+#: builtins.c:1708
msgid ""
"Evaluate arithmetic expression.\n"
" \n"
@@ -4979,16 +4788,13 @@ msgstr ""
" 退出狀態:\n"
" 如果表示å¼æ±‚值為 0 則回傳 1ï¼›å¦å‰‡å›žå‚³ 0。"
-#: builtins.c:1724
+#: builtins.c:1720
msgid ""
"Execute conditional command.\n"
" \n"
-" Returns a status of 0 or 1 depending on the evaluation of the "
-"conditional\n"
-" expression EXPRESSION. Expressions are composed of the same primaries "
-"used\n"
-" by the `test' builtin, and may be combined using the following "
-"operators:\n"
+" Returns a status of 0 or 1 depending on the evaluation of the conditional\n"
+" expression EXPRESSION. Expressions are composed of the same primaries used\n"
+" by the `test' builtin, and may be combined using the following operators:\n"
" \n"
" ( EXPRESSION )\tReturns the value of EXPRESSION\n"
" ! EXPRESSION\t\tTrue if EXPRESSION is false; else false\n"
@@ -5014,8 +4820,7 @@ msgstr ""
" ( EXPRESSION )\t回傳 EXPRESSION 表示å¼çš„值\n"
" ! EXPRESSION\t\t如果 EXPRESSION 表示å¼ç‚ºå‡å‰‡ç‚ºçœŸï¼Œå¦å‰‡ç‚ºå‡\n"
" EXPR1 && EXPR2\t如果 EXPR1 å’Œ EXPR2 表示å¼å‡ç‚ºçœŸå‰‡ç‚ºçœŸï¼Œå¦å‰‡ç‚ºå‡\n"
-" EXPR1 || EXPR2\t如果 EXPR1 å’Œ EXPR2 表示å¼ä¸­æœ‰ä¸€å€‹ç‚ºçœŸå‰‡ç‚ºçœŸï¼Œå¦å‰‡ç‚º"
-"å‡\n"
+" EXPR1 || EXPR2\t如果 EXPR1 å’Œ EXPR2 表示å¼ä¸­æœ‰ä¸€å€‹ç‚ºçœŸå‰‡ç‚ºçœŸï¼Œå¦å‰‡ç‚ºå‡\n"
" \n"
" 當使用「==ã€å’Œã€Œ!=ã€é‹ç®—å­æ™‚,é‹ç®—å­å³é‚Šçš„字串被用作模å¼ä¸¦ä¸”執行一個\n"
" 匹é…。當使用「=~ã€é‹ç®—å­æ™‚,é‹ç®—å­å³é‚Šçš„字串被當åšæ­£å‰‡è¡¨ç¤ºå¼ä¾†é€²è¡Œ\n"
@@ -5027,7 +4832,7 @@ msgstr ""
" 退出狀態:\n"
" 根據 EXPRESSION 的值為 0 或 1。"
-#: builtins.c:1750
+#: builtins.c:1746
msgid ""
"Common shell variable names and usage.\n"
" \n"
@@ -5122,8 +4927,7 @@ msgstr ""
" HISTIGNORE\t用於決定哪些命令被存入歷å²è¨˜éŒ„檔案的模å¼\n"
" \t\t列表,以冒號分隔。\n"
-#: builtins.c:1807
-#, fuzzy
+#: builtins.c:1803
msgid ""
"Add directories to stack.\n"
" \n"
@@ -5153,9 +4957,9 @@ msgid ""
" Returns success unless an invalid argument is supplied or the directory\n"
" change fails."
msgstr ""
-"從堆疊中刪除目錄。\n"
+"從堆疊中建立目錄。\n"
" \n"
-" 從目錄堆疊中刪除æ¢ç›®ã€‚ä¸å¸¶å¼•æ•¸æ™‚,刪除堆疊頂端目錄,並變更至新的堆疊\n"
+" 從目錄堆疊中建立æ¢ç›®ã€‚ä¸å¸¶å¼•æ•¸æ™‚,建立堆疊頂端目錄,並變更至新的堆疊\n"
" 頂端目錄。\n"
" \n"
" é¸é …:\n"
@@ -5174,8 +4978,7 @@ msgstr ""
" 退出狀態:\n"
" 回傳æˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†ç„¡æ•ˆçš„引數或者目錄變æ›å¤±æ•—。"
-#: builtins.c:1841
-#, fuzzy
+#: builtins.c:1837
msgid ""
"Remove directories from stack.\n"
" \n"
@@ -5222,8 +5025,7 @@ msgstr ""
" 退出狀態:\n"
" 回傳æˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†ç„¡æ•ˆçš„引數或者目錄變æ›å¤±æ•—。"
-#: builtins.c:1871
-#, fuzzy
+#: builtins.c:1867
msgid ""
"Display directory stack.\n"
" \n"
@@ -5272,14 +5074,13 @@ msgstr ""
" 退出狀態:\n"
" 回傳æˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†ç„¡æ•ˆçš„é¸é …或者發生錯誤。"
-#: builtins.c:1902
-#, fuzzy
+#: builtins.c:1898
msgid ""
"Set and unset shell options.\n"
" \n"
" Change the setting of each shell option OPTNAME. Without any option\n"
-" arguments, list each supplied OPTNAME, or all shell options if no\n"
-" OPTNAMEs are given, with an indication of whether or not each is set.\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"
@@ -5309,8 +5110,7 @@ msgstr ""
" 如果 OPTNAME é¸é …被啟用則回傳æˆåŠŸï¼›å¦‚果是\n"
" 無效的é¸é …或 OPTNAME 被åœç”¨å‰‡å¤±æ•—。"
-#: builtins.c:1923
-#, fuzzy
+#: builtins.c:1919
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
" \n"
@@ -5318,34 +5118,27 @@ msgid ""
" -v var\tassign the output to shell variable VAR rather than\n"
" \t\tdisplay it on the standard output\n"
" \n"
-" FORMAT is a character string which contains three types of objects: "
-"plain\n"
-" characters, which are simply copied to standard output; character "
-"escape\n"
+" FORMAT is a character string which contains three types of objects: plain\n"
+" characters, which are simply copied to standard output; character escape\n"
" sequences, which are converted and copied to the standard output; and\n"
-" format specifications, each of which causes printing of the next "
-"successive\n"
+" format specifications, each of which causes printing of the next successive\n"
" argument.\n"
" \n"
-" In addition to the standard format specifications described in printf"
-"(1),\n"
+" In addition to the standard format specifications described in printf(1),\n"
" 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\toutput the date-time string resulting from using FMT as a "
-"format\n"
+" %(fmt)T\toutput the date-time string resulting from using FMT as a format\n"
" \t string for strftime(3)\n"
" \n"
" The format is re-used as necessary to consume all of the arguments. If\n"
" there are fewer arguments than the format requires, extra format\n"
-" specifications behave as if a zero value or null string, as "
-"appropriate,\n"
+" specifications behave as if a zero value or null string, as appropriate,\n"
" had been supplied.\n"
" \n"
" Exit Status:\n"
-" Returns success unless an invalid option is given or a write or "
-"assignment\n"
+" Returns success unless an invalid option is given or a write or assignment\n"
" error occurs."
msgstr ""
"在 FORMAT 的控制下格å¼åŒ–並å°å‡º ARGUMENTS 引數。\n"
@@ -5354,26 +5147,22 @@ msgstr ""
" -v var\t將輸出指派給 shell 變數 VAR 而ä¸é¡¯ç¤ºåœ¨æ¨™æº–輸出上\n"
" \n"
" FORMAT 是包å«ä¸‰ç¨®ç‰©ä»¶çš„字串:簡單地被複製到標準輸出的普通字元;\n"
-" 被變æ›ä¹‹å¾Œè¤‡è£½åˆ°æ¨™æº–輸入的逸出字元;以åŠæ¯å€‹éƒ½æœƒå½±éŸ¿åˆ°ä¸‹å€‹å¼•æ•¸çš„å°å‡ºæ ¼å¼"
-"化è¦æ ¼ã€‚\n"
+" 被變æ›ä¹‹å¾Œè¤‡è£½åˆ°æ¨™æº–輸入的逸出字元;以åŠæ¯å€‹éƒ½æœƒå½±éŸ¿åˆ°ä¸‹å€‹å¼•æ•¸çš„å°å‡ºæ ¼å¼åŒ–è¦æ ¼ã€‚\n"
" \n"
" 在 printf(1) 中æ述的標準控制è¦æ ¼ä¹‹å¤–,printf 解æžï¼š\n"
"〠\n"
" %b\t擴充套件å°æ‡‰å¼•æ•¸ä¸­çš„å斜線逸出åºåˆ—\n"
" %q\t以å¯åšç‚º shell 輸入的格å¼å¼•ç”¨å¼•æ•¸\n"
-" \n"
+" %(fmt)T\t以 FMT 為æä¾› strftime(3) çš„æ ¼å¼è¼¸å‡ºæ—¥æœŸèˆ‡æ™‚間字串 \n"
" 退出狀態:\n"
" 回傳æˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†ç„¡æ•ˆçš„é¸é …或者發生寫入或指派錯誤。"
-#: builtins.c:1957
-#, fuzzy
+#: builtins.c:1953
msgid ""
"Specify how arguments are to be completed by Readline.\n"
" \n"
-" For each NAME, specify how arguments are to be completed. If no "
-"options\n"
-" are supplied, existing completion specifications are printed in a way "
-"that\n"
+" For each NAME, specify how arguments are to be completed. If no options\n"
+" are supplied, existing completion specifications are printed in a way that\n"
" allows them to be reused as input.\n"
" \n"
" Options:\n"
@@ -5410,13 +5199,12 @@ msgstr ""
" 退出狀態:\n"
" 回傳æˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†ç„¡æ•ˆçš„é¸é …或者錯誤發生。"
-#: builtins.c:1985
+#: builtins.c:1981
msgid ""
"Display possible completions depending on the options.\n"
" \n"
" Intended to be used from within a shell function generating possible\n"
-" completions. If the optional WORD argument is supplied, matches "
-"against\n"
+" completions. If the optional WORD argument is supplied, matches against\n"
" WORD are generated.\n"
" \n"
" Exit Status:\n"
@@ -5431,16 +5219,13 @@ msgstr ""
" 退出狀態:\n"
" 除éžä½¿ç”¨äº†ç„¡æ•ˆé¸é …或者錯誤發生,å¦å‰‡å›žå‚³æˆåŠŸã€‚"
-#: builtins.c:2000
+#: builtins.c:1996
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"
+" 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"
@@ -5463,8 +5248,7 @@ msgid ""
msgstr ""
"修改或顯示補完é¸é …。\n"
" \n"
-" 修改æ¯å€‹ NAME å稱的補完é¸é …,或如果沒有æä¾› NAME å稱,執行當å‰çš„補"
-"完。\n"
+" 修改æ¯å€‹ NAME å稱的補完é¸é …,或如果沒有æä¾› NAME å稱,執行當å‰çš„補完。\n"
" 如果ä¸å¸¶é¸é …,å°å‡ºæ¯å€‹ NAME å稱的補完é¸é …或當å‰çš„補完è¦æ ¼ã€‚\n"
" \n"
" é¸é …:\n"
@@ -5483,27 +5267,21 @@ msgstr ""
" 退出狀態:\n"
" 回傳æˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†ç„¡æ•ˆçš„é¸é …或者 NAME å稱沒有定義補完è¦æ ¼ã€‚"
-#: builtins.c:2030
-#, fuzzy
+#: builtins.c:2026
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"
+" 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"
" -d delim\tUse DELIM to terminate lines, instead of newline\n"
-" -n count\tCopy at most COUNT lines. If COUNT is 0, all lines are "
-"copied\n"
-" -O origin\tBegin assigning to ARRAY at index ORIGIN. The default "
-"index is 0\n"
+" -n count\tCopy at most COUNT lines. If COUNT is 0, all lines are copied\n"
+" -O origin\tBegin assigning to ARRAY at index ORIGIN. The default index is 0\n"
" -s count\tDiscard the first COUNT lines read\n"
" -t\tRemove a trailing DELIM from each line read (default newline)\n"
-" -u fd\tRead lines from file descriptor FD instead of the standard "
-"input\n"
+" -u fd\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\n"
" \t\t\tCALLBACK\n"
@@ -5516,13 +5294,11 @@ msgid ""
" 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"
+" 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"
+" Returns success unless an invalid option is given or ARRAY is readonly or\n"
" not an indexed array."
msgstr ""
"從標準輸入讀å–列到索引陣列變數中。\n"
@@ -5531,6 +5307,7 @@ msgstr ""
" 從檔案æ述符 FD 中讀å–。MAPFILE 變數是é è¨­çš„ ARRAY 變數。\n"
" \n"
" é¸é …:\n"
+" -d delim\t使用 DELIM å–代æ›è¡Œç¬¦è™Ÿä¾†æ–·è¡Œ\n"
" -n count\t最多複製 COUNT 列,如果 COUNT 為 0,則複製所有列。\n"
" -O origin\t從索引 ORIGIN 開始 指派給 ARRAY 變數。é è¨­ç´¢å¼•æ˜¯ 0。\n"
" -s count \t丟棄最先讀å–çš„ COUNT 列。\n"
@@ -5550,7 +5327,7 @@ msgstr ""
" 退出狀態:\n"
" 回傳æˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†ç„¡æ•ˆçš„é¸é …,或者 ARRAY 變數唯讀或ä¸æ˜¯ç´¢å¼•é™£åˆ—。"
-#: builtins.c:2066
+#: builtins.c:2062
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
diff --git a/shell.c b/shell.c
index ad76636c..a9659bb8 100644
--- a/shell.c
+++ b/shell.c
@@ -363,7 +363,7 @@ main (argc, argv, env)
#endif /* !NO_MAIN_ENV_ARG */
{
register int i;
- int code, old_errexit_flag;
+ int code, old_errexit_flag, old_onecmd;
#if defined (RESTRICTED_SHELL)
int saverst;
#endif
@@ -1012,7 +1012,7 @@ sh_exit (s)
int s;
{
#if defined (MALLOC_DEBUG) && defined (USING_BASH_MALLOC)
- if (malloc_trace_at_exit)
+ if (malloc_trace_at_exit && (subshell_environment & (SUBSHELL_COMSUB|SUBSHELL_PROCSUB)) == 0)
trace_malloc_stats (get_name_for_error (), (char *)NULL);
/* mlocation_write_table (); */
#endif
diff --git a/sig.c b/sig.c
index 6934f4f9..8daec14b 100644
--- a/sig.c
+++ b/sig.c
@@ -268,7 +268,6 @@ initialize_terminating_signals ()
sigaction (XSIG (i), &oact, (struct sigaction *)NULL);
#endif /* SIGPROF && !_MINIX */
}
-
#else /* !HAVE_POSIX_SIGNALS */
for (i = 0; i < TERMSIGS_LENGTH; i++)
diff --git a/subst.c b/subst.c
index 6d100098..906b7ac5 100644
--- a/subst.c
+++ b/subst.c
@@ -387,10 +387,10 @@ dump_word_flags (flags)
f &= ~W_ASSIGNARRAY;
fprintf (stderr, "W_ASSIGNARRAY%s", f ? "|" : "");
}
- if (f & W_HASCTLESC)
+ if (f & W_SAWQUOTEDNULL)
{
- f &= ~W_HASCTLESC;
- fprintf (stderr, "W_HASCTLESC%s", f ? "|" : "");
+ f &= ~W_SAWQUOTEDNULL;
+ fprintf (stderr, "W_SAWQUOTEDNULL%s", f ? "|" : "");
}
if (f & W_NOPROCSUB)
{
@@ -1178,7 +1178,10 @@ string_extract_verbatim (string, slen, sindex, charlist, flags)
}
#if defined (HANDLE_MULTIBYTE)
- mblength = MBLEN (string + i, slen - i);
+ if (locale_utf8locale && slen > i && UTF8_SINGLEBYTE (string[i]))
+ mblength = (string[i] != 0) ? 1 : 0;
+ else
+ mblength = MBLEN (string + i, slen - i);
if (mblength > 1)
{
wchar_t wc;
@@ -3059,6 +3062,7 @@ do_compound_assignment (name, value, flags)
SHELL_VAR *v;
int mklocal, mkassoc, mkglobal, chklocal;
WORD_LIST *list;
+ char *newname; /* used for local nameref references */
mklocal = flags & ASS_MKLOCAL;
mkassoc = flags & ASS_MKASSOC;
@@ -3067,7 +3071,8 @@ do_compound_assignment (name, value, flags)
if (mklocal && variable_context)
{
- v = find_variable (name);
+ v = find_variable (name); /* follows namerefs */
+ newname = (v == 0) ? nameref_transform_name (name, flags) : v->name;
if (v && ((readonly_p (v) && (flags & ASS_FORCE) == 0) || noassign_p (v)))
{
if (readonly_p (v))
@@ -3076,9 +3081,9 @@ do_compound_assignment (name, value, flags)
}
list = expand_compound_array_assignment (v, value, flags);
if (mkassoc)
- v = make_local_assoc_variable (name);
+ v = make_local_assoc_variable (newname, 0);
else if (v == 0 || (array_p (v) == 0 && assoc_p (v) == 0) || v->context != variable_context)
- v = make_local_array_variable (name, 0);
+ v = make_local_array_variable (newname, 0);
if (v)
assign_compound_array_list (v, list, flags);
if (list)
@@ -3099,13 +3104,15 @@ do_compound_assignment (name, value, flags)
err_readonly (name);
return (v); /* XXX */
}
+ /* sanity check */
+ newname = (v == 0) ? nameref_transform_name (name, flags) : name;
list = expand_compound_array_assignment (v, value, flags);
if (v == 0 && mkassoc)
- v = make_new_assoc_variable (name);
+ v = make_new_assoc_variable (newname);
else if (v && mkassoc && assoc_p (v) == 0)
v = convert_var_to_assoc (v);
else if (v == 0)
- v = make_new_array_variable (name);
+ v = make_new_array_variable (newname);
else if (v && mkassoc == 0 && array_p (v) == 0)
v = convert_var_to_array (v);
if (v)
@@ -3896,15 +3903,17 @@ expand_string_for_pat (string, quoted, dollar_at_p, expanded_p)
{
WORD_DESC td;
WORD_LIST *tresult;
+ int oexp;
if (string == 0 || *string == '\0')
return (WORD_LIST *)NULL;
+ oexp = expand_no_split_dollar_star;
expand_no_split_dollar_star = 1;
td.flags = W_NOSPLIT2; /* no splitting, remove "" and '' */
td.word = string;
tresult = call_expand_word_internal (&td, quoted, 1, dollar_at_p, expanded_p);
- expand_no_split_dollar_star = 0;
+ expand_no_split_dollar_star = oexp;
return (tresult);
}
@@ -6006,10 +6015,7 @@ read_comsub (fd, quoted, flags, rflag)
from the rest of the word expansions (word splitting and globbing.)
This is essentially quote_escapes inline. */
else if (skip_ctlesc == 0 && c == CTLESC)
- {
- tflag |= W_HASCTLESC;
- istring[istring_index++] = CTLESC;
- }
+ istring[istring_index++] = CTLESC;
else if ((skip_ctlnul == 0 && c == CTLNUL) || (c == ' ' && (ifs_value && *ifs_value == 0)))
istring[istring_index++] = CTLESC;
@@ -6840,8 +6846,14 @@ parameter_brace_expand_rhs (name, value, op, quoted, pflags, qdollaratp, hasdoll
temp = string_list_internal (l, " ");
w->flags |= W_SPLITSPACE;
}
+ else if (l_hasdollat || l->next)
+ temp = string_list_dollar_star (l, quoted, 0);
else
- temp = (l_hasdollat || l->next) ? string_list_dollar_star (l, quoted, 0) : string_list (l);
+ {
+ temp = string_list (l);
+ if (temp && (QUOTED_NULL (temp) == 0) && (l->word->flags & W_SAWQUOTEDNULL))
+ w->flags |= W_SAWQUOTEDNULL; /* XXX */
+ }
/* If we have a quoted null result (QUOTED_NULL(temp)) and the word is
a quoted null (l->next == 0 && QUOTED_NULL(l->word->word)), the
@@ -7310,9 +7322,9 @@ get_var_and_type (varname, value, ind, quoted, flags, varp, valp)
vtype = VT_VARIABLE;
*varp = v;
if (quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT))
- *valp = dequote_string (value);
+ *valp = value ? dequote_string (value) : savestring ("");
else
- *valp = dequote_escapes (value);
+ *valp = value ? dequote_escapes (value) : (char *)NULL;
}
else
{
@@ -7696,7 +7708,7 @@ parameter_brace_substring (varname, value, ind, substr, quoted, pflags, flags)
int quoted, pflags, flags;
{
intmax_t e1, e2;
- int vtype, r, starsub, qflags;
+ int vtype, r, starsub;
char *temp, *val, *tt, *oname;
SHELL_VAR *v;
@@ -7745,9 +7757,23 @@ parameter_brace_substring (varname, value, ind, substr, quoted, pflags, flags)
FREE (tt);
break;
case VT_POSPARMS:
- qflags = quoted;
- tt = pos_params (varname, e1, e2, qflags);
- /* string_list_dollar_at will quote the list if ifs_is_null != 0 */
+ case VT_ARRAYVAR:
+ if (vtype == VT_POSPARMS)
+ tt = pos_params (varname, e1, e2, quoted);
+#if defined (ARRAY_VARS)
+ /* assoc_subrange and array_subrange both call string_list_pos_params,
+ so we can treat this case just like VT_POSPARAMS. */
+ else if (assoc_p (v))
+ /* we convert to list and take first e2 elements starting at e1th
+ element -- officially undefined for now */
+ tt = assoc_subrange (assoc_cell (v), e1, e2, starsub, quoted);
+ else
+ /* We want E2 to be the number of elements desired (arrays can be
+ sparse, so verify_substring_values just returns the numbers
+ specified and we rely on array_subrange to understand how to
+ deal with them). */
+ tt = array_subrange (array_cell (v), e1, e2, starsub, quoted);
+#endif
/* We want to leave this alone in every case where pos_params/
string_list_pos_params quotes the list members */
if (tt && quoted == 0 && ifs_is_null)
@@ -7762,21 +7788,7 @@ parameter_brace_substring (varname, value, ind, substr, quoted, pflags, flags)
else
temp = tt;
break;
-#if defined (ARRAY_VARS)
- case VT_ARRAYVAR:
- if (assoc_p (v))
- /* we convert to list and take first e2 elements starting at e1th
- element -- officially undefined for now */
- temp = assoc_subrange (assoc_cell (v), e1, e2, starsub, quoted);
- else
- /* We want E2 to be the number of elements desired (arrays can be sparse,
- so verify_substring_values just returns the numbers specified and we
- rely on array_subrange to understand how to deal with them). */
- temp = array_subrange (array_cell (v), e1, e2, starsub, quoted);
- /* array_subrange now calls array_quote_escapes as appropriate, so the
- caller no longer needs to. */
- break;
-#endif
+
default:
temp = (char *)NULL;
}
@@ -7817,7 +7829,7 @@ pat_subst (string, pat, rep, mflags)
int rptr, mtype, rxpand, mlen;
size_t rsize, l, replen, rslen;
- if (string == 0)
+ if (string == 0)
return (savestring (""));
mtype = mflags & MATCH_TYPEMASK;
@@ -7968,7 +7980,7 @@ pos_params_pat_subst (string, pat, rep, mflags)
qflags = (mflags & MATCH_QUOTED) == MATCH_QUOTED ? Q_DOUBLE_QUOTES : 0;
/* If we are expanding in a context where word splitting will not be
- performed, treat as quoted. This changes how $* will be expanded. */
+ performed, treat as quoted. This changes how $* will be expanded. */
if (pchar == '*' && (mflags & MATCH_ASSIGNRHS) && expand_no_split_dollar_star && ifs_is_null)
qflags |= Q_DOUBLE_QUOTES; /* Posix interp 888 */
@@ -8135,11 +8147,22 @@ parameter_brace_patsub (varname, value, ind, patsub, quoted, pflags, flags)
if ((mflags & MATCH_STARSUB) && (mflags & MATCH_ASSIGNRHS) && ifs_is_null)
mflags |= MATCH_QUOTED; /* Posix interp 888 */
- temp = assoc_p (v) ? assoc_patsub (assoc_cell (v), p, rep, mflags)
- : array_patsub (array_cell (v), p, rep, mflags);
- /* Don't call quote_escapes anymore; array_patsub calls
- array_quote_escapes as appropriate before adding the
- space separators; ditto for assoc_patsub. */
+ /* these eventually call string_list_pos_params */
+ if (assoc_p (v))
+ temp = assoc_patsub (assoc_cell (v), p, rep, mflags);
+ else
+ temp = array_patsub (array_cell (v), p, rep, mflags);
+
+ if (temp && quoted == 0 && ifs_is_null)
+ {
+ /* Posix interp 888 */
+ }
+ else if (temp && (mflags & MATCH_QUOTED) == 0)
+ {
+ tt = quote_escapes (temp);
+ free (temp);
+ temp = tt;
+ }
break;
#endif
}
@@ -8286,7 +8309,7 @@ parameter_brace_casemod (varname, value, ind, modspec, patspec, quoted, pflags,
{
/* Posix interp 888 */
}
- else if (temp && (mflags & MATCH_QUOTED) == 0)
+ else if (temp && (mflags & MATCH_QUOTED) == 0)
{
tt = quote_escapes (temp);
free (temp);
@@ -8304,9 +8327,18 @@ parameter_brace_casemod (varname, value, ind, modspec, patspec, quoted, pflags,
temp = assoc_p (v) ? assoc_modcase (assoc_cell (v), pat, modop, mflags)
: array_modcase (array_cell (v), pat, modop, mflags);
- /* Don't call quote_escapes; array_modcase calls array_quote_escapes
- as appropriate before adding the space separators; ditto for
- assoc_modcase. */
+
+ if (temp && quoted == 0 && ifs_is_null)
+ {
+ /* Posix interp 888 */
+ }
+ else if (temp && (mflags & MATCH_QUOTED) == 0)
+ {
+ tt = quote_escapes (temp);
+ free (temp);
+ temp = tt;
+ }
+
break;
#endif
}
@@ -9870,6 +9902,8 @@ add_string:
if (tword && (tword->flags & W_HASQUOTEDNULL))
had_quoted_null = 1; /* note for later */
+ if (tword && (tword->flags & W_SAWQUOTEDNULL))
+ had_quoted_null = 1; /* XXX */
temp = tword ? tword->word : (char *)NULL;
dispose_word_desc (tword);
@@ -10146,6 +10180,9 @@ add_twochars:
else
temp = (char *)NULL;
+ if (temp == 0 && quoted_state == PARTIALLY_QUOTED)
+ had_quoted_null = 1; /* note for later */
+
/* We do not want to add quoted nulls to strings that are only
partially quoted; we can throw them away. The exception to
this is when we are going to be performing word splitting,
@@ -10416,6 +10453,8 @@ finished_with_string:
tword->word = istring;
if (had_quoted_null && QUOTED_NULL (istring))
tword->flags |= W_HASQUOTEDNULL; /* XXX */
+ else if (had_quoted_null)
+ tword->flags |= W_SAWQUOTEDNULL; /* XXX */
if (tword->word != istring)
free (istring);
istring = 0; /* avoid later free() */
@@ -10596,9 +10635,14 @@ setifs (v)
}
else
{
- size_t ifs_len;
- ifs_len = strnlen (ifs_value, MB_CUR_MAX);
- ifs_firstc_len = MBLEN (ifs_value, ifs_len);
+ if (locale_utf8locale && UTF8_SINGLEBYTE (*ifs_value))
+ ifs_firstc_len = (*ifs_value != 0) ? 1 : 0;
+ else
+ {
+ size_t ifs_len;
+ ifs_len = strnlen (ifs_value, MB_CUR_MAX);
+ ifs_firstc_len = MBLEN (ifs_value, ifs_len);
+ }
if (ifs_firstc_len == 1 || ifs_firstc_len == 0 || MB_INVALIDCH (ifs_firstc_len))
{
ifs_firstc[0] = ifs_value[0];
@@ -10649,10 +10693,24 @@ word_list_split (list)
WORD_LIST *list;
{
WORD_LIST *result, *t, *tresult, *e;
+ WORD_DESC *w;
for (t = list, result = (WORD_LIST *)NULL; t; t = t->next)
{
tresult = word_split (t->word, ifs_value);
+ /* POSIX 2.6: "If the complete expansion appropriate for a word results
+ in an empty field, that empty field shall be deleted from the list
+ of fields that form the completely expanded command, unless the
+ original word contained single-quote or double-quote characters."
+ This is where we handle these words that contain quoted null strings
+ and other characters that expand to nothing after word splitting. */
+ if (tresult == 0 && t->word && (t->word->flags & W_SAWQUOTEDNULL)) /* XXX */
+ {
+ w = alloc_word_desc ();
+ w->word = (char *)xmalloc (1);
+ w->word[0] = '\0';
+ tresult = make_word_list (w, (WORD_LIST *)NULL);
+ }
if (result == 0)
result = e = tresult;
else
diff --git a/support/Makefile.in b/support/Makefile.in
index f684a4d6..0289e0ac 100644
--- a/support/Makefile.in
+++ b/support/Makefile.in
@@ -4,11 +4,12 @@
# documentation support: man2html
# testing support: printenv recho zecho xcase
#
-# bashbug lives here but is created by the top-level makefile
+# bashbug.sh lives here (created by configure), but bashbug is created by
+# the top-level makefile
#
# Currently only man2html is built
#
-# Copyright (C) 1998-2009 Free Software Foundation, Inc.
+# Copyright (C) 1998-2018 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
@@ -82,6 +83,6 @@ clean:
$(RM) man2html$(EXEEXT) $(OBJ1)
distclean maintainer-clean mostlyclean: clean
- $(RM) bash.pc
+ $(RM) bash.pc bashbug.sh
man2html.o: man2html.c
diff --git a/support/config.guess b/support/config.guess
index 770cb5c7..883a6713 100644..100755
--- a/support/config.guess
+++ b/support/config.guess
@@ -1,8 +1,8 @@
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright 1992-2017 Free Software Foundation, Inc.
+# Copyright 1992-2018 Free Software Foundation, Inc.
-timestamp='2017-12-17'
+timestamp='2018-05-19'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -50,7 +50,7 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright 1992-2017 Free Software Foundation, Inc.
+Copyright 1992-2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -106,10 +106,10 @@ trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
dummy=$tmp/dummy ;
tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,) echo "int x;" > $dummy.c ;
+case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
+ ,,) echo "int x;" > "$dummy.c" ;
for c in cc gcc c89 c99 ; do
- if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+ if ($c -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
CC_FOR_BUILD="$c"; break ;
fi ;
done ;
@@ -132,14 +132,14 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-case "${UNAME_SYSTEM}" in
+case "$UNAME_SYSTEM" in
Linux|GNU|GNU/*)
# If the system lacks a compiler, then just pick glibc.
# We could probably try harder.
LIBC=gnu
- eval $set_cc_for_build
- cat <<-EOF > $dummy.c
+ eval "$set_cc_for_build"
+ cat <<-EOF > "$dummy.c"
#include <features.h>
#if defined(__UCLIBC__)
LIBC=uclibc
@@ -149,13 +149,20 @@ Linux|GNU|GNU/*)
LIBC=gnu
#endif
EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
+ eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`"
+
+ # If ldd exists, use it to detect musl libc.
+ if command -v ldd >/dev/null && \
+ ldd --version 2>&1 | grep -q ^musl
+ then
+ LIBC=musl
+ fi
;;
esac
# Note: order is significant - the case branches are not exclusive.
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
*:NetBSD:*:*)
# NetBSD (nbsd) targets should (where applicable) match one or
# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
@@ -169,30 +176,30 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# portion of the name. We always set it to "unknown".
sysctl="sysctl -n hw.machine_arch"
UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
- /sbin/$sysctl 2>/dev/null || \
- /usr/sbin/$sysctl 2>/dev/null || \
+ "/sbin/$sysctl" 2>/dev/null || \
+ "/usr/sbin/$sysctl" 2>/dev/null || \
echo unknown)`
- case "${UNAME_MACHINE_ARCH}" in
+ case "$UNAME_MACHINE_ARCH" in
armeb) machine=armeb-unknown ;;
arm*) machine=arm-unknown ;;
sh3el) machine=shl-unknown ;;
sh3eb) machine=sh-unknown ;;
sh5el) machine=sh5le-unknown ;;
earmv*)
- arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
- endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
- machine=${arch}${endian}-unknown
+ arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
+ endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
+ machine="${arch}${endian}"-unknown
;;
- *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+ *) machine="$UNAME_MACHINE_ARCH"-unknown ;;
esac
# The Operating System including object format, if it has switched
# to ELF recently (or will in the future) and ABI.
- case "${UNAME_MACHINE_ARCH}" in
+ case "$UNAME_MACHINE_ARCH" in
earm*)
os=netbsdelf
;;
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
- eval $set_cc_for_build
+ eval "$set_cc_for_build"
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ELF__
then
@@ -208,10 +215,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
;;
esac
# Determine ABI tags.
- case "${UNAME_MACHINE_ARCH}" in
+ case "$UNAME_MACHINE_ARCH" in
earm*)
expr='s/^earmv[0-9]/-eabi/;s/eb$//'
- abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
+ abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
;;
esac
# The OS release
@@ -219,51 +226,51 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# thus, need a distinct triplet. However, they do not need
# kernel version information, so it can be replaced with a
# suitable tag, in the style of linux-gnu.
- case "${UNAME_VERSION}" in
+ case "$UNAME_VERSION" in
Debian*)
release='-gnu'
;;
*)
- release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
+ release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
;;
esac
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
# contains redundant information, the shorter form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
- echo "${machine}-${os}${release}${abi}"
+ echo "$machine-${os}${release}${abi-}"
exit ;;
*:Bitrig:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
- echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
+ echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE"
exit ;;
*:OpenBSD:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
- echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+ echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE"
exit ;;
*:LibertyBSD:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
- echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE}
+ echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE"
exit ;;
*:MidnightBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-midnightbsd${UNAME_RELEASE}
+ echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE"
exit ;;
*:ekkoBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+ echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE"
exit ;;
*:SolidBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+ echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE"
exit ;;
macppc:MirBSD:*:*)
- echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+ echo powerpc-unknown-mirbsd"$UNAME_RELEASE"
exit ;;
*:MirBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+ echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE"
exit ;;
*:Sortix:*:*)
- echo ${UNAME_MACHINE}-unknown-sortix
+ echo "$UNAME_MACHINE"-unknown-sortix
exit ;;
*:Redox:*:*)
- echo ${UNAME_MACHINE}-unknown-redox
+ echo "$UNAME_MACHINE"-unknown-redox
exit ;;
mips:OSF1:*.*)
echo mips-dec-osf1
@@ -319,7 +326,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# A Tn.n version is a released field test version.
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
+ echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`"
# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
exitcode=$?
trap '' 0
@@ -328,10 +335,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
echo m68k-unknown-sysv4
exit ;;
*:[Aa]miga[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-amigaos
+ echo "$UNAME_MACHINE"-unknown-amigaos
exit ;;
*:[Mm]orph[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-morphos
+ echo "$UNAME_MACHINE"-unknown-morphos
exit ;;
*:OS/390:*:*)
echo i370-ibm-openedition
@@ -343,7 +350,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
echo powerpc-ibm-os400
exit ;;
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
- echo arm-acorn-riscix${UNAME_RELEASE}
+ echo arm-acorn-riscix"$UNAME_RELEASE"
exit ;;
arm*:riscos:*:*|arm*:RISCOS:*:*)
echo arm-unknown-riscos
@@ -370,19 +377,19 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
sparc) echo sparc-icl-nx7; exit ;;
esac ;;
s390x:SunOS:*:*)
- echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
exit ;;
sun4H:SunOS:5.*:*)
- echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
exit ;;
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
- echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
exit ;;
i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
- echo i386-pc-auroraux${UNAME_RELEASE}
+ echo i386-pc-auroraux"$UNAME_RELEASE"
exit ;;
i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
- eval $set_cc_for_build
+ eval "$set_cc_for_build"
SUN_ARCH=i386
# If there is a compiler, see if it is configured for 64-bit objects.
# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
@@ -395,13 +402,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
SUN_ARCH=x86_64
fi
fi
- echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
exit ;;
sun4*:SunOS:6*:*)
# According to config.sub, this is the proper way to canonicalize
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
# it's likely to be more like Solaris than SunOS4.
- echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
exit ;;
sun4*:SunOS:*:*)
case "`/usr/bin/arch -k`" in
@@ -410,25 +417,25 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
;;
esac
# Japanese Language versions have a version number like `4.1.3-JL'.
- echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+ echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`"
exit ;;
sun3*:SunOS:*:*)
- echo m68k-sun-sunos${UNAME_RELEASE}
+ echo m68k-sun-sunos"$UNAME_RELEASE"
exit ;;
sun*:*:4.2BSD:*)
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
- test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3
+ test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
case "`/bin/arch`" in
sun3)
- echo m68k-sun-sunos${UNAME_RELEASE}
+ echo m68k-sun-sunos"$UNAME_RELEASE"
;;
sun4)
- echo sparc-sun-sunos${UNAME_RELEASE}
+ echo sparc-sun-sunos"$UNAME_RELEASE"
;;
esac
exit ;;
aushp:SunOS:*:*)
- echo sparc-auspex-sunos${UNAME_RELEASE}
+ echo sparc-auspex-sunos"$UNAME_RELEASE"
exit ;;
# The situation for MiNT is a little confusing. The machine name
# can be virtually everything (everything which is not
@@ -439,44 +446,44 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# MiNT. But MiNT is downward compatible to TOS, so this should
# be no problem.
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
+ echo m68k-atari-mint"$UNAME_RELEASE"
exit ;;
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
+ echo m68k-atari-mint"$UNAME_RELEASE"
exit ;;
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
+ echo m68k-atari-mint"$UNAME_RELEASE"
exit ;;
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
- echo m68k-milan-mint${UNAME_RELEASE}
+ echo m68k-milan-mint"$UNAME_RELEASE"
exit ;;
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
- echo m68k-hades-mint${UNAME_RELEASE}
+ echo m68k-hades-mint"$UNAME_RELEASE"
exit ;;
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
- echo m68k-unknown-mint${UNAME_RELEASE}
+ echo m68k-unknown-mint"$UNAME_RELEASE"
exit ;;
m68k:machten:*:*)
- echo m68k-apple-machten${UNAME_RELEASE}
+ echo m68k-apple-machten"$UNAME_RELEASE"
exit ;;
powerpc:machten:*:*)
- echo powerpc-apple-machten${UNAME_RELEASE}
+ echo powerpc-apple-machten"$UNAME_RELEASE"
exit ;;
RISC*:Mach:*:*)
echo mips-dec-mach_bsd4.3
exit ;;
RISC*:ULTRIX:*:*)
- echo mips-dec-ultrix${UNAME_RELEASE}
+ echo mips-dec-ultrix"$UNAME_RELEASE"
exit ;;
VAX*:ULTRIX*:*:*)
- echo vax-dec-ultrix${UNAME_RELEASE}
+ echo vax-dec-ultrix"$UNAME_RELEASE"
exit ;;
2020:CLIX:*:* | 2430:CLIX:*:*)
- echo clipper-intergraph-clix${UNAME_RELEASE}
+ echo clipper-intergraph-clix"$UNAME_RELEASE"
exit ;;
mips:*:*:UMIPS | mips:*:*:RISCos)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
+ eval "$set_cc_for_build"
+ sed 's/^ //' << EOF > "$dummy.c"
#ifdef __cplusplus
#include <stdio.h> /* for printf() prototype */
int main (int argc, char *argv[]) {
@@ -497,11 +504,11 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
exit (-1);
}
EOF
- $CC_FOR_BUILD -o $dummy $dummy.c &&
- dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
- SYSTEM_NAME=`$dummy $dummyarg` &&
+ $CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
+ dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+ SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
{ echo "$SYSTEM_NAME"; exit; }
- echo mips-mips-riscos${UNAME_RELEASE}
+ echo mips-mips-riscos"$UNAME_RELEASE"
exit ;;
Motorola:PowerMAX_OS:*:*)
echo powerpc-motorola-powermax
@@ -527,17 +534,17 @@ EOF
AViiON:dgux:*:*)
# DG/UX returns AViiON for all architectures
UNAME_PROCESSOR=`/usr/bin/uname -p`
- if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+ if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ]
then
- if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
- [ ${TARGET_BINARY_INTERFACE}x = x ]
+ if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \
+ [ "$TARGET_BINARY_INTERFACE"x = x ]
then
- echo m88k-dg-dgux${UNAME_RELEASE}
+ echo m88k-dg-dgux"$UNAME_RELEASE"
else
- echo m88k-dg-dguxbcs${UNAME_RELEASE}
+ echo m88k-dg-dguxbcs"$UNAME_RELEASE"
fi
else
- echo i586-dg-dgux${UNAME_RELEASE}
+ echo i586-dg-dgux"$UNAME_RELEASE"
fi
exit ;;
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
@@ -554,7 +561,7 @@ EOF
echo m68k-tektronix-bsd
exit ;;
*:IRIX*:*:*)
- echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+ echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`"
exit ;;
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
@@ -566,14 +573,14 @@ EOF
if [ -x /usr/bin/oslevel ] ; then
IBM_REV=`/usr/bin/oslevel`
else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
fi
- echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+ echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV"
exit ;;
*:AIX:2:3)
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
+ eval "$set_cc_for_build"
+ sed 's/^ //' << EOF > "$dummy.c"
#include <sys/systemcfg.h>
main()
@@ -584,7 +591,7 @@ EOF
exit(0);
}
EOF
- if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+ if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
then
echo "$SYSTEM_NAME"
else
@@ -598,7 +605,7 @@ EOF
exit ;;
*:AIX:*:[4567])
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
- if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+ if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
IBM_ARCH=rs6000
else
IBM_ARCH=powerpc
@@ -607,9 +614,9 @@ EOF
IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
fi
- echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+ echo "$IBM_ARCH"-ibm-aix"$IBM_REV"
exit ;;
*:AIX:*:*)
echo rs6000-ibm-aix
@@ -618,7 +625,7 @@ EOF
echo romp-ibm-bsd4.4
exit ;;
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
- echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
+ echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to
exit ;; # report: romp-ibm BSD 4.3
*:BOSX:*:*)
echo rs6000-bull-bosx
@@ -633,28 +640,28 @@ EOF
echo m68k-hp-bsd4.4
exit ;;
9000/[34678]??:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- case "${UNAME_MACHINE}" in
+ HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
+ case "$UNAME_MACHINE" in
9000/31?) HP_ARCH=m68000 ;;
9000/[34]??) HP_ARCH=m68k ;;
9000/[678][0-9][0-9])
if [ -x /usr/bin/getconf ]; then
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
- case "${sc_cpu_version}" in
+ case "$sc_cpu_version" in
523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
532) # CPU_PA_RISC2_0
- case "${sc_kernel_bits}" in
+ case "$sc_kernel_bits" in
32) HP_ARCH=hppa2.0n ;;
64) HP_ARCH=hppa2.0w ;;
'') HP_ARCH=hppa2.0 ;; # HP-UX 10.20
esac ;;
esac
fi
- if [ "${HP_ARCH}" = "" ]; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
+ if [ "$HP_ARCH" = "" ]; then
+ eval "$set_cc_for_build"
+ sed 's/^ //' << EOF > "$dummy.c"
#define _HPUX_SOURCE
#include <stdlib.h>
@@ -687,13 +694,13 @@ EOF
exit (0);
}
EOF
- (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+ (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
test -z "$HP_ARCH" && HP_ARCH=hppa
fi ;;
esac
- if [ ${HP_ARCH} = hppa2.0w ]
+ if [ "$HP_ARCH" = hppa2.0w ]
then
- eval $set_cc_for_build
+ eval "$set_cc_for_build"
# hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
# 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
@@ -712,15 +719,15 @@ EOF
HP_ARCH=hppa64
fi
fi
- echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+ echo "$HP_ARCH"-hp-hpux"$HPUX_REV"
exit ;;
ia64:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- echo ia64-hp-hpux${HPUX_REV}
+ HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
+ echo ia64-hp-hpux"$HPUX_REV"
exit ;;
3050*:HI-UX:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
+ eval "$set_cc_for_build"
+ sed 's/^ //' << EOF > "$dummy.c"
#include <unistd.h>
int
main ()
@@ -745,7 +752,7 @@ EOF
exit (0);
}
EOF
- $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+ $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
{ echo "$SYSTEM_NAME"; exit; }
echo unknown-hitachi-hiuxwe2
exit ;;
@@ -766,9 +773,9 @@ EOF
exit ;;
i*86:OSF1:*:*)
if [ -x /usr/sbin/sysversion ] ; then
- echo ${UNAME_MACHINE}-unknown-osf1mk
+ echo "$UNAME_MACHINE"-unknown-osf1mk
else
- echo ${UNAME_MACHINE}-unknown-osf1
+ echo "$UNAME_MACHINE"-unknown-osf1
fi
exit ;;
parisc*:Lites*:*:*)
@@ -793,109 +800,109 @@ EOF
echo c4-convex-bsd
exit ;;
CRAY*Y-MP:*:*:*)
- echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
exit ;;
CRAY*[A-Z]90:*:*:*)
- echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+ echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
-e 's/\.[^.]*$/.X/'
exit ;;
CRAY*TS:*:*:*)
- echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
exit ;;
CRAY*T3E:*:*:*)
- echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
exit ;;
CRAY*SV1:*:*:*)
- echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
exit ;;
*:UNICOS/mp:*:*)
- echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
exit ;;
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+ FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit ;;
5000:UNIX_System_V:4.*:*)
FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
+ FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit ;;
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
- echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+ echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE"
exit ;;
sparc*:BSD/OS:*:*)
- echo sparc-unknown-bsdi${UNAME_RELEASE}
+ echo sparc-unknown-bsdi"$UNAME_RELEASE"
exit ;;
*:BSD/OS:*:*)
- echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+ echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE"
exit ;;
*:FreeBSD:*:*)
UNAME_PROCESSOR=`/usr/bin/uname -p`
- case ${UNAME_PROCESSOR} in
+ case "$UNAME_PROCESSOR" in
amd64)
UNAME_PROCESSOR=x86_64 ;;
i386)
UNAME_PROCESSOR=i586 ;;
esac
- echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
exit ;;
i*:CYGWIN*:*)
- echo ${UNAME_MACHINE}-pc-cygwin
+ echo "$UNAME_MACHINE"-pc-cygwin
exit ;;
*:MINGW64*:*)
- echo ${UNAME_MACHINE}-pc-mingw64
+ echo "$UNAME_MACHINE"-pc-mingw64
exit ;;
*:MINGW*:*)
- echo ${UNAME_MACHINE}-pc-mingw32
+ echo "$UNAME_MACHINE"-pc-mingw32
exit ;;
*:MSYS*:*)
- echo ${UNAME_MACHINE}-pc-msys
+ echo "$UNAME_MACHINE"-pc-msys
exit ;;
i*:PW*:*)
- echo ${UNAME_MACHINE}-pc-pw32
+ echo "$UNAME_MACHINE"-pc-pw32
exit ;;
*:Interix*:*)
- case ${UNAME_MACHINE} in
+ case "$UNAME_MACHINE" in
x86)
- echo i586-pc-interix${UNAME_RELEASE}
+ echo i586-pc-interix"$UNAME_RELEASE"
exit ;;
authenticamd | genuineintel | EM64T)
- echo x86_64-unknown-interix${UNAME_RELEASE}
+ echo x86_64-unknown-interix"$UNAME_RELEASE"
exit ;;
IA64)
- echo ia64-unknown-interix${UNAME_RELEASE}
+ echo ia64-unknown-interix"$UNAME_RELEASE"
exit ;;
esac ;;
i*:UWIN*:*)
- echo ${UNAME_MACHINE}-pc-uwin
+ echo "$UNAME_MACHINE"-pc-uwin
exit ;;
amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
echo x86_64-unknown-cygwin
exit ;;
prep*:SunOS:5.*:*)
- echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
exit ;;
*:GNU:*:*)
# the GNU system
- echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+ echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`"
exit ;;
*:GNU/*:*:*)
# other systems with GNU libc and userland
- echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
+ echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC"
exit ;;
i*86:Minix:*:*)
- echo ${UNAME_MACHINE}-pc-minix
+ echo "$UNAME_MACHINE"-pc-minix
exit ;;
aarch64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
aarch64_be:Linux:*:*)
UNAME_MACHINE=aarch64_be
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
alpha:Linux:*:*)
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
@@ -909,63 +916,63 @@ EOF
esac
objdump --private-headers /bin/sh | grep -q ld.so.1
if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
arc:Linux:*:* | arceb:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
arm*:Linux:*:*)
- eval $set_cc_for_build
+ eval "$set_cc_for_build"
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_EABI__
then
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
else
if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_PCS_VFP
then
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi
else
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf
fi
fi
exit ;;
avr32*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
cris:Linux:*:*)
- echo ${UNAME_MACHINE}-axis-linux-${LIBC}
+ echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
exit ;;
crisv32:Linux:*:*)
- echo ${UNAME_MACHINE}-axis-linux-${LIBC}
+ echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
exit ;;
e2k:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
frv:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
hexagon:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
i*86:Linux:*:*)
- echo ${UNAME_MACHINE}-pc-linux-${LIBC}
+ echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
exit ;;
ia64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
k1om:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
m32r*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
m68*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
mips:Linux:*:* | mips64:Linux:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
+ eval "$set_cc_for_build"
+ sed 's/^ //' << EOF > "$dummy.c"
#undef CPU
#undef ${UNAME_MACHINE}
#undef ${UNAME_MACHINE}el
@@ -979,70 +986,70 @@ EOF
#endif
#endif
EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
+ eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`"
+ test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; }
;;
mips64el:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
openrisc*:Linux:*:*)
- echo or1k-unknown-linux-${LIBC}
+ echo or1k-unknown-linux-"$LIBC"
exit ;;
or32:Linux:*:* | or1k*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
padre:Linux:*:*)
- echo sparc-unknown-linux-${LIBC}
+ echo sparc-unknown-linux-"$LIBC"
exit ;;
parisc64:Linux:*:* | hppa64:Linux:*:*)
- echo hppa64-unknown-linux-${LIBC}
+ echo hppa64-unknown-linux-"$LIBC"
exit ;;
parisc:Linux:*:* | hppa:Linux:*:*)
# Look for CPU level
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
- PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
- PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
- *) echo hppa-unknown-linux-${LIBC} ;;
+ PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;;
+ PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;;
+ *) echo hppa-unknown-linux-"$LIBC" ;;
esac
exit ;;
ppc64:Linux:*:*)
- echo powerpc64-unknown-linux-${LIBC}
+ echo powerpc64-unknown-linux-"$LIBC"
exit ;;
ppc:Linux:*:*)
- echo powerpc-unknown-linux-${LIBC}
+ echo powerpc-unknown-linux-"$LIBC"
exit ;;
ppc64le:Linux:*:*)
- echo powerpc64le-unknown-linux-${LIBC}
+ echo powerpc64le-unknown-linux-"$LIBC"
exit ;;
ppcle:Linux:*:*)
- echo powerpcle-unknown-linux-${LIBC}
+ echo powerpcle-unknown-linux-"$LIBC"
exit ;;
riscv32:Linux:*:* | riscv64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
s390:Linux:*:* | s390x:Linux:*:*)
- echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
+ echo "$UNAME_MACHINE"-ibm-linux-"$LIBC"
exit ;;
sh64*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
sh*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
sparc:Linux:*:* | sparc64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
tile*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
vax:Linux:*:*)
- echo ${UNAME_MACHINE}-dec-linux-${LIBC}
+ echo "$UNAME_MACHINE"-dec-linux-"$LIBC"
exit ;;
x86_64:Linux:*:*)
- echo ${UNAME_MACHINE}-pc-linux-${LIBC}
+ echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
exit ;;
xtensa*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
i*86:DYNIX/ptx:4*:*)
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
@@ -1056,34 +1063,34 @@ EOF
# I am not positive that other SVR4 systems won't match this,
# I just have to hope. -- rms.
# Use sysv4.2uw... so that sysv4* matches it.
- echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+ echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION"
exit ;;
i*86:OS/2:*:*)
# If we were able to find `uname', then EMX Unix compatibility
# is probably installed.
- echo ${UNAME_MACHINE}-pc-os2-emx
+ echo "$UNAME_MACHINE"-pc-os2-emx
exit ;;
i*86:XTS-300:*:STOP)
- echo ${UNAME_MACHINE}-unknown-stop
+ echo "$UNAME_MACHINE"-unknown-stop
exit ;;
i*86:atheos:*:*)
- echo ${UNAME_MACHINE}-unknown-atheos
+ echo "$UNAME_MACHINE"-unknown-atheos
exit ;;
i*86:syllable:*:*)
- echo ${UNAME_MACHINE}-pc-syllable
+ echo "$UNAME_MACHINE"-pc-syllable
exit ;;
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
- echo i386-unknown-lynxos${UNAME_RELEASE}
+ echo i386-unknown-lynxos"$UNAME_RELEASE"
exit ;;
i*86:*DOS:*:*)
- echo ${UNAME_MACHINE}-pc-msdosdjgpp
+ echo "$UNAME_MACHINE"-pc-msdosdjgpp
exit ;;
i*86:*:4.*:*)
- UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+ UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
- echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+ echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL"
else
- echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+ echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL"
fi
exit ;;
i*86:*:5:[678]*)
@@ -1093,12 +1100,12 @@ EOF
*Pentium) UNAME_MACHINE=i586 ;;
*Pent*|*Celeron) UNAME_MACHINE=i686 ;;
esac
- echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+ echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}"
exit ;;
i*86:*:3.2:*)
if test -f /usr/options/cb.name; then
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
- echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+ echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL"
elif /bin/uname -X 2>/dev/null >/dev/null ; then
UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
@@ -1108,9 +1115,9 @@ EOF
&& UNAME_MACHINE=i686
(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
&& UNAME_MACHINE=i686
- echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+ echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL"
else
- echo ${UNAME_MACHINE}-pc-sysv32
+ echo "$UNAME_MACHINE"-pc-sysv32
fi
exit ;;
pc:*:*:*)
@@ -1130,9 +1137,9 @@ EOF
exit ;;
i860:*:4.*:*) # i860-SVR4
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
- echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+ echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4
else # Add other i860-SVR4 vendors below as they are discovered.
- echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
+ echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4
fi
exit ;;
mini*:CTIX:SYS*5:*)
@@ -1152,9 +1159,9 @@ EOF
test -r /etc/.relid \
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
&& { echo i486-ncr-sysv4; exit; } ;;
@@ -1163,28 +1170,28 @@ EOF
test -r /etc/.relid \
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
- echo m68k-unknown-lynxos${UNAME_RELEASE}
+ echo m68k-unknown-lynxos"$UNAME_RELEASE"
exit ;;
mc68030:UNIX_System_V:4.*:*)
echo m68k-atari-sysv4
exit ;;
TSUNAMI:LynxOS:2.*:*)
- echo sparc-unknown-lynxos${UNAME_RELEASE}
+ echo sparc-unknown-lynxos"$UNAME_RELEASE"
exit ;;
rs6000:LynxOS:2.*:*)
- echo rs6000-unknown-lynxos${UNAME_RELEASE}
+ echo rs6000-unknown-lynxos"$UNAME_RELEASE"
exit ;;
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
- echo powerpc-unknown-lynxos${UNAME_RELEASE}
+ echo powerpc-unknown-lynxos"$UNAME_RELEASE"
exit ;;
SM[BE]S:UNIX_SV:*:*)
- echo mips-dde-sysv${UNAME_RELEASE}
+ echo mips-dde-sysv"$UNAME_RELEASE"
exit ;;
RM*:ReliantUNIX-*:*:*)
echo mips-sni-sysv4
@@ -1195,7 +1202,7 @@ EOF
*:SINIX-*:*:*)
if uname -p 2>/dev/null >/dev/null ; then
UNAME_MACHINE=`(uname -p) 2>/dev/null`
- echo ${UNAME_MACHINE}-sni-sysv4
+ echo "$UNAME_MACHINE"-sni-sysv4
else
echo ns32k-sni-sysv
fi
@@ -1215,23 +1222,23 @@ EOF
exit ;;
i*86:VOS:*:*)
# From Paul.Green@stratus.com.
- echo ${UNAME_MACHINE}-stratus-vos
+ echo "$UNAME_MACHINE"-stratus-vos
exit ;;
*:VOS:*:*)
# From Paul.Green@stratus.com.
echo hppa1.1-stratus-vos
exit ;;
mc68*:A/UX:*:*)
- echo m68k-apple-aux${UNAME_RELEASE}
+ echo m68k-apple-aux"$UNAME_RELEASE"
exit ;;
news*:NEWS-OS:6*:*)
echo mips-sony-newsos6
exit ;;
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
if [ -d /usr/nec ]; then
- echo mips-nec-sysv${UNAME_RELEASE}
+ echo mips-nec-sysv"$UNAME_RELEASE"
else
- echo mips-unknown-sysv${UNAME_RELEASE}
+ echo mips-unknown-sysv"$UNAME_RELEASE"
fi
exit ;;
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
@@ -1250,39 +1257,39 @@ EOF
echo x86_64-unknown-haiku
exit ;;
SX-4:SUPER-UX:*:*)
- echo sx4-nec-superux${UNAME_RELEASE}
+ echo sx4-nec-superux"$UNAME_RELEASE"
exit ;;
SX-5:SUPER-UX:*:*)
- echo sx5-nec-superux${UNAME_RELEASE}
+ echo sx5-nec-superux"$UNAME_RELEASE"
exit ;;
SX-6:SUPER-UX:*:*)
- echo sx6-nec-superux${UNAME_RELEASE}
+ echo sx6-nec-superux"$UNAME_RELEASE"
exit ;;
SX-7:SUPER-UX:*:*)
- echo sx7-nec-superux${UNAME_RELEASE}
+ echo sx7-nec-superux"$UNAME_RELEASE"
exit ;;
SX-8:SUPER-UX:*:*)
- echo sx8-nec-superux${UNAME_RELEASE}
+ echo sx8-nec-superux"$UNAME_RELEASE"
exit ;;
SX-8R:SUPER-UX:*:*)
- echo sx8r-nec-superux${UNAME_RELEASE}
+ echo sx8r-nec-superux"$UNAME_RELEASE"
exit ;;
SX-ACE:SUPER-UX:*:*)
- echo sxace-nec-superux${UNAME_RELEASE}
+ echo sxace-nec-superux"$UNAME_RELEASE"
exit ;;
Power*:Rhapsody:*:*)
- echo powerpc-apple-rhapsody${UNAME_RELEASE}
+ echo powerpc-apple-rhapsody"$UNAME_RELEASE"
exit ;;
*:Rhapsody:*:*)
- echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+ echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE"
exit ;;
*:Darwin:*:*)
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
- eval $set_cc_for_build
+ eval "$set_cc_for_build"
if test "$UNAME_PROCESSOR" = unknown ; then
UNAME_PROCESSOR=powerpc
fi
- if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
+ if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then
if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
@@ -1310,7 +1317,7 @@ EOF
# that Apple uses in portable devices.
UNAME_PROCESSOR=x86_64
fi
- echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+ echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE"
exit ;;
*:procnto*:*:* | *:QNX:[0123456789]*:*)
UNAME_PROCESSOR=`uname -p`
@@ -1318,22 +1325,25 @@ EOF
UNAME_PROCESSOR=i386
UNAME_MACHINE=pc
fi
- echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+ echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE"
exit ;;
*:QNX:*:4*)
echo i386-pc-qnx
exit ;;
NEO-*:NONSTOP_KERNEL:*:*)
- echo neo-tandem-nsk${UNAME_RELEASE}
+ echo neo-tandem-nsk"$UNAME_RELEASE"
exit ;;
NSE-*:NONSTOP_KERNEL:*:*)
- echo nse-tandem-nsk${UNAME_RELEASE}
+ echo nse-tandem-nsk"$UNAME_RELEASE"
exit ;;
NSR-*:NONSTOP_KERNEL:*:*)
- echo nsr-tandem-nsk${UNAME_RELEASE}
+ echo nsr-tandem-nsk"$UNAME_RELEASE"
+ exit ;;
+ NSV-*:NONSTOP_KERNEL:*:*)
+ echo nsv-tandem-nsk"$UNAME_RELEASE"
exit ;;
NSX-*:NONSTOP_KERNEL:*:*)
- echo nsx-tandem-nsk${UNAME_RELEASE}
+ echo nsx-tandem-nsk"$UNAME_RELEASE"
exit ;;
*:NonStop-UX:*:*)
echo mips-compaq-nonstopux
@@ -1342,7 +1352,7 @@ EOF
echo bs2000-siemens-sysv
exit ;;
DS/*:UNIX_System_V:*:*)
- echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+ echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE"
exit ;;
*:Plan9:*:*)
# "uname -m" is not consistent, so use $cputype instead. 386
@@ -1353,7 +1363,7 @@ EOF
else
UNAME_MACHINE="$cputype"
fi
- echo ${UNAME_MACHINE}-unknown-plan9
+ echo "$UNAME_MACHINE"-unknown-plan9
exit ;;
*:TOPS-10:*:*)
echo pdp10-unknown-tops10
@@ -1374,14 +1384,14 @@ EOF
echo pdp10-unknown-its
exit ;;
SEI:*:*:SEIUX)
- echo mips-sei-seiux${UNAME_RELEASE}
+ echo mips-sei-seiux"$UNAME_RELEASE"
exit ;;
*:DragonFly:*:*)
- echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
exit ;;
*:*VMS:*:*)
UNAME_MACHINE=`(uname -p) 2>/dev/null`
- case "${UNAME_MACHINE}" in
+ case "$UNAME_MACHINE" in
A*) echo alpha-dec-vms ; exit ;;
I*) echo ia64-dec-vms ; exit ;;
V*) echo vax-dec-vms ; exit ;;
@@ -1390,16 +1400,16 @@ EOF
echo i386-pc-xenix
exit ;;
i*86:skyos:*:*)
- echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'`
+ echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`"
exit ;;
i*86:rdos:*:*)
- echo ${UNAME_MACHINE}-pc-rdos
+ echo "$UNAME_MACHINE"-pc-rdos
exit ;;
i*86:AROS:*:*)
- echo ${UNAME_MACHINE}-pc-aros
+ echo "$UNAME_MACHINE"-pc-aros
exit ;;
x86_64:VMkernel:*:*)
- echo ${UNAME_MACHINE}-unknown-esx
+ echo "$UNAME_MACHINE"-unknown-esx
exit ;;
amd64:Isilon\ OneFS:*:*)
echo x86_64-unknown-onefs
@@ -1408,7 +1418,7 @@ esac
echo "$0: unable to guess system type" >&2
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}" in
+case "$UNAME_MACHINE:$UNAME_SYSTEM" in
mips:Linux | mips64:Linux)
# If we got here on MIPS GNU/Linux, output extra information.
cat >&2 <<EOF
@@ -1450,16 +1460,16 @@ hostinfo = `(hostinfo) 2>/dev/null`
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-UNAME_MACHINE = ${UNAME_MACHINE}
-UNAME_RELEASE = ${UNAME_RELEASE}
-UNAME_SYSTEM = ${UNAME_SYSTEM}
-UNAME_VERSION = ${UNAME_VERSION}
+UNAME_MACHINE = "$UNAME_MACHINE"
+UNAME_RELEASE = "$UNAME_RELEASE"
+UNAME_SYSTEM = "$UNAME_SYSTEM"
+UNAME_VERSION = "$UNAME_VERSION"
EOF
exit 1
# Local variables:
-# eval: (add-hook 'write-file-functions 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
diff --git a/support/config.rpath b/support/config.rpath
index b6c4d8ff..fc5913d7 100755
--- a/support/config.rpath
+++ b/support/config.rpath
@@ -2,27 +2,13 @@
# Output a system dependent set of variables, describing how to set the
# run time search path of shared libraries in an executable.
#
-# Copyright 1996-2003 Free Software Foundation, Inc.
+# Copyright 1996-2018 Free Software Foundation, Inc.
# Taken from GNU libtool, 2001
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
#
-# 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/>.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
#
# The first argument passed to this file is the canonical host specification,
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
@@ -39,7 +25,7 @@
# known workaround is to choose shorter directory names for the build
# directory and/or the installation directory.
-# All known linkers require a `.a' archive for static linking (except M$VC,
+# All known linkers require a '.a' archive for static linking (except MSVC,
# which needs '.lib').
libext=a
shrext=.so
@@ -49,7 +35,19 @@ host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC.
+# Code taken from libtool.m4's _LT_CC_BASENAME.
+
+for cc_temp in $CC""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'`
+
+# Code taken from libtool.m4's _LT_COMPILER_PIC.
wl=
if test "$GCC" = yes; then
@@ -59,7 +57,7 @@ else
aix*)
wl='-Wl,'
;;
- mingw* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
;;
hpux9* | hpux10* | hpux11*)
wl='-Wl,'
@@ -67,40 +65,83 @@ else
irix5* | irix6* | nonstopux*)
wl='-Wl,'
;;
- newsos6)
- ;;
- linux*)
- case $CC in
- icc|ecc)
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ ecc*)
+ wl='-Wl,'
+ ;;
+ icc* | ifort*)
+ wl='-Wl,'
+ ;;
+ lf95*)
+ wl='-Wl,'
+ ;;
+ nagfor*)
+ wl='-Wl,-Wl,,'
+ ;;
+ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+ wl='-Wl,'
+ ;;
+ ccc*)
wl='-Wl,'
;;
- ccc)
+ xl* | bgxl* | bgf* | mpixl*)
wl='-Wl,'
;;
+ como)
+ wl='-lopt='
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ F* | *Sun*Fortran*)
+ wl=
+ ;;
+ *Sun\ C*)
+ wl='-Wl,'
+ ;;
+ esac
+ ;;
esac
;;
+ newsos6)
+ ;;
+ *nto* | *qnx*)
+ ;;
osf3* | osf4* | osf5*)
wl='-Wl,'
;;
- sco3.2v5*)
+ rdos*)
;;
solaris*)
- wl='-Wl,'
+ case $cc_basename in
+ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+ wl='-Qoption ld '
+ ;;
+ *)
+ wl='-Wl,'
+ ;;
+ esac
;;
sunos4*)
wl='-Qoption ld '
;;
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ sysv4 | sysv4.2uw2* | sysv4.3*)
wl='-Wl,'
;;
sysv4*MP*)
;;
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ wl='-Wl,'
+ ;;
+ unicos*)
+ wl='-Wl,'
+ ;;
uts4*)
;;
esac
fi
-# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS.
+# Code taken from libtool.m4's _LT_LINKER_SHLIBS.
hardcode_libdir_flag_spec=
hardcode_libdir_separator=
@@ -108,7 +149,7 @@ hardcode_direct=no
hardcode_minus_L=no
case "$host_os" in
- cygwin* | mingw* | pw32*)
+ cygwin* | mingw* | pw32* | cegcc*)
# FIXME: the MSVC++ port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
@@ -116,6 +157,10 @@ case "$host_os" in
with_gnu_ld=no
fi
;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
openbsd*)
with_gnu_ld=no
;;
@@ -123,32 +168,37 @@ esac
ld_shlibs=yes
if test "$with_gnu_ld" = yes; then
+ # Set some defaults for GNU ld with shared library support. These
+ # are reset later if shared libraries are not supported. Putting them
+ # here allows them to be overridden if necessary.
+ # Unlike libtool, we use -rpath here, not --rpath, since the documented
+ # option of GNU ld is called -rpath, not --rpath.
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
case "$host_os" in
- aix3* | aix4* | aix5*)
+ aix[3-9]*)
# On AIX/PPC, the GNU linker is very broken
if test "$host_cpu" != ia64; then
ld_shlibs=no
fi
;;
amigaos*)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
- # that the semantics of dynamic libraries on AmigaOS, at least up
- # to version 4, is to share data among multiple programs linked
- # with the same dynamic library. Since this doesn't match the
- # behavior of shared libraries on other platforms, we can use
- # them.
- ld_shlibs=no
+ case "$host_cpu" in
+ powerpc)
+ ;;
+ m68k)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ esac
;;
beos*)
- if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
- cygwin* | mingw* | pw32*)
+ cygwin* | mingw* | pw32* | cegcc*)
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
hardcode_libdir_flag_spec='-L$libdir'
@@ -158,32 +208,57 @@ if test "$with_gnu_ld" = yes; then
ld_shlibs=no
fi
;;
+ haiku*)
+ ;;
+ interix[3-9]*)
+ hardcode_direct=no
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
netbsd*)
;;
- solaris* | sysv5*)
- if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then
+ solaris*)
+ if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
ld_shlibs=no
- elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
+ elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+ ld_shlibs=no
+ ;;
+ *)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+ ;;
sunos4*)
hardcode_direct=yes
;;
*)
- if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
esac
- if test "$ld_shlibs" = yes; then
- # Unlike libtool, we use -rpath here, not --rpath, since the documented
- # option of GNU ld is called -rpath, not --rpath.
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ if test "$ld_shlibs" = no; then
+ hardcode_libdir_flag_spec=
fi
else
case "$host_os" in
@@ -197,7 +272,7 @@ else
hardcode_direct=unsupported
fi
;;
- aix4* | aix5*)
+ aix[4-9]*)
if test "$host_cpu" = ia64; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
@@ -207,13 +282,14 @@ else
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
# need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
for ld_flag in $LDFLAGS; do
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
aix_use_runtimelinking=yes
break
fi
done
+ ;;
esac
fi
hardcode_direct=yes
@@ -225,7 +301,7 @@ else
strings "$collect2name" | grep resolve_lib_name >/dev/null
then
# We have reworked collect2
- hardcode_direct=yes
+ :
else
# We have old collect2
hardcode_direct=unsupported
@@ -233,6 +309,7 @@ else
hardcode_libdir_flag_spec='-L$libdir'
hardcode_libdir_separator=
fi
+ ;;
esac
fi
# Begin _LT_AC_SYS_LIBPATH_AIX.
@@ -260,14 +337,18 @@ else
fi
;;
amigaos*)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- # see comment about different semantics on the GNU ld section
- ld_shlibs=no
+ case "$host_cpu" in
+ powerpc)
+ ;;
+ m68k)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ esac
;;
- bsdi4*)
+ bsdi[45]*)
;;
- cygwin* | mingw* | pw32*)
+ cygwin* | mingw* | pw32* | cegcc*)
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
@@ -276,25 +357,21 @@ else
libext=lib
;;
darwin* | rhapsody*)
- if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then
- hardcode_direct=no
+ hardcode_direct=no
+ if { case $cc_basename in ifort*) true;; *) test "$GCC" = yes;; esac; }; then
+ :
+ else
+ ld_shlibs=no
fi
;;
dgux*)
hardcode_libdir_flag_spec='-L$libdir'
;;
- freebsd1*)
- ld_shlibs=no
- ;;
- freebsd2.2*)
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- ;;
- freebsd2*)
+ freebsd2.[01]*)
hardcode_direct=yes
hardcode_minus_L=yes
;;
- freebsd*)
+ freebsd* | dragonfly*)
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
;;
@@ -306,24 +383,25 @@ else
# but as the default location of the library.
hardcode_minus_L=yes
;;
- hpux10* | hpux11*)
+ hpux10*)
if test "$with_gnu_ld" = no; then
- case "$host_cpu" in
- hppa*64*)
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_direct=no
- ;;
- ia64*)
- hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ fi
+ ;;
+ hpux11*)
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ case $host_cpu in
+ hppa*64*|ia64*)
hardcode_direct=no
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
;;
*)
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
hardcode_direct=yes
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
@@ -345,19 +423,25 @@ else
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=:
;;
+ *nto* | *qnx*)
+ ;;
openbsd*)
- hardcode_direct=yes
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct=yes
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ else
+ case "$host_os" in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ *)
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
else
- case "$host_os" in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- hardcode_libdir_flag_spec='-R$libdir'
- ;;
- *)
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- ;;
- esac
+ ld_shlibs=no
fi
;;
os2*)
@@ -377,8 +461,6 @@ else
fi
hardcode_libdir_separator=:
;;
- sco3.2v5*)
- ;;
solaris*)
hardcode_libdir_flag_spec='-R$libdir'
;;
@@ -407,14 +489,11 @@ else
ld_shlibs=yes
fi
;;
- sysv4.2uw2*)
- hardcode_direct=yes
- hardcode_minus_L=no
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
;;
- sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*)
- ;;
- sysv5*)
- hardcode_libdir_flag_spec=
+ sysv5* | sco3.2v5* | sco5v6*)
+ hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+ hardcode_libdir_separator=':'
;;
uts4*)
hardcode_libdir_flag_spec='-L$libdir'
@@ -426,35 +505,59 @@ else
fi
# Check dynamic linker characteristics
-# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER.
+# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER.
+# Unlike libtool.m4, here we don't care about _all_ names of the library, but
+# only about the one the linker finds when passed -lNAME. This is the last
+# element of library_names_spec in libtool.m4, or possibly two of them if the
+# linker has special search rules.
+library_names_spec= # the last element of library_names_spec in libtool.m4
libname_spec='lib$name'
case "$host_os" in
aix3*)
+ library_names_spec='$libname.a'
;;
- aix4* | aix5*)
+ aix[4-9]*)
+ library_names_spec='$libname$shrext'
;;
amigaos*)
+ case "$host_cpu" in
+ powerpc*)
+ library_names_spec='$libname$shrext' ;;
+ m68k)
+ library_names_spec='$libname.a' ;;
+ esac
;;
beos*)
+ library_names_spec='$libname$shrext'
;;
- bsdi4*)
+ bsdi[45]*)
+ library_names_spec='$libname$shrext'
;;
- cygwin* | mingw* | pw32*)
+ cygwin* | mingw* | pw32* | cegcc*)
shrext=.dll
+ library_names_spec='$libname.dll.a $libname.lib'
;;
darwin* | rhapsody*)
shrext=.dylib
+ library_names_spec='$libname$shrext'
;;
dgux*)
+ library_names_spec='$libname$shrext'
;;
- freebsd1*)
+ freebsd[23].*)
+ library_names_spec='$libname$shrext$versuffix'
;;
- freebsd*)
+ freebsd* | dragonfly*)
+ library_names_spec='$libname$shrext'
;;
gnu*)
+ library_names_spec='$libname$shrext'
+ ;;
+ haiku*)
+ library_names_spec='$libname$shrext'
;;
hpux9* | hpux10* | hpux11*)
- case "$host_cpu" in
+ case $host_cpu in
ia64*)
shrext=.so
;;
@@ -465,8 +568,13 @@ case "$host_os" in
shrext=.sl
;;
esac
+ library_names_spec='$libname$shrext'
+ ;;
+ interix[3-9]*)
+ library_names_spec='$libname$shrext'
;;
irix5* | irix6* | nonstopux*)
+ library_names_spec='$libname$shrext'
case "$host_os" in
irix5* | nonstopux*)
libsuff= shlibsuff=
@@ -483,42 +591,65 @@ case "$host_os" in
;;
linux*oldld* | linux*aout* | linux*coff*)
;;
- linux*)
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ library_names_spec='$libname$shrext'
+ ;;
+ knetbsd*-gnu)
+ library_names_spec='$libname$shrext'
;;
netbsd*)
+ library_names_spec='$libname$shrext'
;;
newsos6)
+ library_names_spec='$libname$shrext'
;;
- nto-qnx)
+ *nto* | *qnx*)
+ library_names_spec='$libname$shrext'
;;
openbsd*)
+ library_names_spec='$libname$shrext$versuffix'
;;
os2*)
libname_spec='$name'
shrext=.dll
+ library_names_spec='$libname.a'
;;
osf3* | osf4* | osf5*)
+ library_names_spec='$libname$shrext'
;;
- sco3.2v5*)
+ rdos*)
;;
solaris*)
+ library_names_spec='$libname$shrext'
;;
sunos4*)
+ library_names_spec='$libname$shrext$versuffix'
;;
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ sysv4 | sysv4.3*)
+ library_names_spec='$libname$shrext'
;;
sysv4*MP*)
+ library_names_spec='$libname$shrext'
+ ;;
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ library_names_spec='$libname$shrext'
+ ;;
+ tpf*)
+ library_names_spec='$libname$shrext'
;;
uts4*)
+ library_names_spec='$libname$shrext'
;;
esac
sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
+escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
+escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
-sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
+LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
# How to pass a linker flag through the compiler.
wl="$escaped_wl"
@@ -529,6 +660,12 @@ libext="$libext"
# Shared library suffix (normally "so").
shlibext="$shlibext"
+# Format of library name prefix.
+libname_spec="$escaped_libname_spec"
+
+# Library names that the linker finds when passed -lNAME.
+library_names_spec="$escaped_library_names_spec"
+
# Flag to hardcode \$libdir into a binary during linking.
# This must work even if \$libdir does not exist.
hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
diff --git a/support/config.sub b/support/config.sub
index 00f68b8e..f38250f1 100644..100755
--- a/support/config.sub
+++ b/support/config.sub
@@ -1,8 +1,8 @@
#! /bin/sh
# Configuration validation subroutine script.
-# Copyright 1992-2017 Free Software Foundation, Inc.
+# Copyright 1992-2018 Free Software Foundation, Inc.
-timestamp='2017-11-23'
+timestamp='2018-05-19'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -67,7 +67,7 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\
GNU config.sub ($timestamp)
-Copyright 1992-2017 Free Software Foundation, Inc.
+Copyright 1992-2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -94,7 +94,7 @@ while test $# -gt 0 ; do
*local*)
# First pass through any local machine types.
- echo $1
+ echo "$1"
exit ;;
* )
@@ -110,28 +110,434 @@ case $# in
exit 1;;
esac
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
- nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
- linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
- knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
- kopensolaris*-gnu* | cloudabi*-eabi* | \
- storm-chaos* | os2-emx* | rtmk-nova*)
- os=-$maybe_os
- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
- ;;
- android-linux)
- os=-linux-android
- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
- ;;
- *)
- basic_machine=`echo $1 | sed 's/-[^-]*$//'`
- if [ $basic_machine != $1 ]
- then os=`echo $1 | sed 's/.*-/-/'`
- else os=; fi
- ;;
+# Split fields of configuration type
+IFS="-" read -r field1 field2 field3 field4 <<EOF
+$1
+EOF
+
+# Separate into logical components for further validation
+case $1 in
+ *-*-*-*-*)
+ echo Invalid configuration \`"$1"\': more than four components >&2
+ exit 1
+ ;;
+ *-*-*-*)
+ basic_machine=$field1-$field2
+ os=$field3-$field4
+ ;;
+ *-*-*)
+ # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two
+ # parts
+ maybe_os=$field2-$field3
+ case $maybe_os in
+ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc \
+ | linux-newlib* | linux-musl* | linux-uclibc* | uclinux-uclibc* \
+ | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
+ | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
+ | storm-chaos* | os2-emx* | rtmk-nova*)
+ basic_machine=$field1
+ os=$maybe_os
+ ;;
+ android-linux)
+ basic_machine=$field1-unknown
+ os=linux-android
+ ;;
+ *)
+ basic_machine=$field1-$field2
+ os=$field3
+ ;;
+ esac
+ ;;
+ *-*)
+ basic_machine=$field1
+ os=$field2
+ ;;
+ *)
+ # Convert single-component short-hands not valid as part of
+ # multi-component configurations.
+ case $field1 in
+ 386bsd)
+ basic_machine=i386-pc
+ os=bsd
+ ;;
+ a29khif)
+ basic_machine=a29k-amd
+ os=udi
+ ;;
+ adobe68k)
+ basic_machine=m68010-adobe
+ os=scout
+ ;;
+ am29k)
+ basic_machine=a29k-none
+ os=bsd
+ ;;
+ amdahl)
+ basic_machine=580-amdahl
+ os=sysv
+ ;;
+ amigaos | amigados)
+ basic_machine=m68k-unknown
+ os=amigaos
+ ;;
+ amigaunix | amix)
+ basic_machine=m68k-unknown
+ os=sysv4
+ ;;
+ apollo68)
+ basic_machine=m68k-apollo
+ os=sysv
+ ;;
+ apollo68bsd)
+ basic_machine=m68k-apollo
+ os=bsd
+ ;;
+ aros)
+ basic_machine=i386-pc
+ os=aros
+ ;;
+ aux)
+ basic_machine=m68k-apple
+ os=aux
+ ;;
+ balance)
+ basic_machine=ns32k-sequent
+ os=dynix
+ ;;
+ blackfin)
+ basic_machine=bfin-unknown
+ os=linux
+ ;;
+ cegcc)
+ basic_machine=arm-unknown
+ os=cegcc
+ ;;
+ cray)
+ basic_machine=j90-cray
+ os=unicos
+ ;;
+ craynv)
+ basic_machine=craynv-cray
+ os=unicosmp
+ ;;
+ delta88)
+ basic_machine=m88k-motorola
+ os=sysv3
+ ;;
+ dicos)
+ basic_machine=i686-pc
+ os=dicos
+ ;;
+ djgpp)
+ basic_machine=i586-pc
+ os=msdosdjgpp
+ ;;
+ ebmon29k)
+ basic_machine=a29k-amd
+ os=ebmon
+ ;;
+ es1800 | OSE68k | ose68k | ose | OSE)
+ basic_machine=m68k-ericsson
+ os=ose
+ ;;
+ gmicro)
+ basic_machine=tron-gmicro
+ os=sysv
+ ;;
+ go32)
+ basic_machine=i386-pc
+ os=go32
+ ;;
+ h8300hms)
+ basic_machine=h8300-hitachi
+ os=hms
+ ;;
+ h8300xray)
+ basic_machine=h8300-hitachi
+ os=xray
+ ;;
+ h8500hms)
+ basic_machine=h8500-hitachi
+ os=hms
+ ;;
+ harris)
+ basic_machine=m88k-harris
+ os=sysv3
+ ;;
+ hp300bsd)
+ basic_machine=m68k-hp
+ os=bsd
+ ;;
+ hp300hpux)
+ basic_machine=m68k-hp
+ os=hpux
+ ;;
+ hppaosf)
+ basic_machine=hppa1.1-hp
+ os=osf
+ ;;
+ hppro)
+ basic_machine=hppa1.1-hp
+ os=proelf
+ ;;
+ i386mach)
+ basic_machine=i386-mach
+ os=mach
+ ;;
+ vsta)
+ basic_machine=i386-unknown
+ os=vsta
+ ;;
+ isi68 | isi)
+ basic_machine=m68k-isi
+ os=sysv
+ ;;
+ m68knommu)
+ basic_machine=m68k-unknown
+ os=linux
+ ;;
+ magnum | m3230)
+ basic_machine=mips-mips
+ os=sysv
+ ;;
+ merlin)
+ basic_machine=ns32k-utek
+ os=sysv
+ ;;
+ mingw64)
+ basic_machine=x86_64-pc
+ os=mingw64
+ ;;
+ mingw32)
+ basic_machine=i686-pc
+ os=mingw32
+ ;;
+ mingw32ce)
+ basic_machine=arm-unknown
+ os=mingw32ce
+ ;;
+ monitor)
+ basic_machine=m68k-rom68k
+ os=coff
+ ;;
+ morphos)
+ basic_machine=powerpc-unknown
+ os=morphos
+ ;;
+ moxiebox)
+ basic_machine=moxie-unknown
+ os=moxiebox
+ ;;
+ msdos)
+ basic_machine=i386-pc
+ os=msdos
+ ;;
+ msys)
+ basic_machine=i686-pc
+ os=msys
+ ;;
+ mvs)
+ basic_machine=i370-ibm
+ os=mvs
+ ;;
+ nacl)
+ basic_machine=le32-unknown
+ os=nacl
+ ;;
+ ncr3000)
+ basic_machine=i486-ncr
+ os=sysv4
+ ;;
+ netbsd386)
+ basic_machine=i386-unknown
+ os=netbsd
+ ;;
+ netwinder)
+ basic_machine=armv4l-rebel
+ os=linux
+ ;;
+ news | news700 | news800 | news900)
+ basic_machine=m68k-sony
+ os=newsos
+ ;;
+ news1000)
+ basic_machine=m68030-sony
+ os=newsos
+ ;;
+ necv70)
+ basic_machine=v70-nec
+ os=sysv
+ ;;
+ nh3000)
+ basic_machine=m68k-harris
+ os=cxux
+ ;;
+ nh[45]000)
+ basic_machine=m88k-harris
+ os=cxux
+ ;;
+ nindy960)
+ basic_machine=i960-intel
+ os=nindy
+ ;;
+ mon960)
+ basic_machine=i960-intel
+ os=mon960
+ ;;
+ nonstopux)
+ basic_machine=mips-compaq
+ os=nonstopux
+ ;;
+ os400)
+ basic_machine=powerpc-ibm
+ os=os400
+ ;;
+ OSE68000 | ose68000)
+ basic_machine=m68000-ericsson
+ os=ose
+ ;;
+ os68k)
+ basic_machine=m68k-none
+ os=os68k
+ ;;
+ paragon)
+ basic_machine=i860-intel
+ os=osf
+ ;;
+ parisc)
+ basic_machine=hppa-unknown
+ os=linux
+ ;;
+ pw32)
+ basic_machine=i586-unknown
+ os=pw32
+ ;;
+ rdos | rdos64)
+ basic_machine=x86_64-pc
+ os=rdos
+ ;;
+ rdos32)
+ basic_machine=i386-pc
+ os=rdos
+ ;;
+ rom68k)
+ basic_machine=m68k-rom68k
+ os=coff
+ ;;
+ sa29200)
+ basic_machine=a29k-amd
+ os=udi
+ ;;
+ sei)
+ basic_machine=mips-sei
+ os=seiux
+ ;;
+ sps7)
+ basic_machine=m68k-bull
+ os=sysv2
+ ;;
+ stratus)
+ basic_machine=i860-stratus
+ os=sysv4
+ ;;
+ sun2os3)
+ basic_machine=m68000-sun
+ os=sunos3
+ ;;
+ sun2os4)
+ basic_machine=m68000-sun
+ os=sunos4
+ ;;
+ sun3os3)
+ basic_machine=m68k-sun
+ os=sunos3
+ ;;
+ sun3os4)
+ basic_machine=m68k-sun
+ os=sunos4
+ ;;
+ sun4os3)
+ basic_machine=sparc-sun
+ os=sunos3
+ ;;
+ sun4os4)
+ basic_machine=sparc-sun
+ os=sunos4
+ ;;
+ sun4sol2)
+ basic_machine=sparc-sun
+ os=solaris2
+ ;;
+ sv1)
+ basic_machine=sv1-cray
+ os=unicos
+ ;;
+ symmetry)
+ basic_machine=i386-sequent
+ os=dynix
+ ;;
+ t3e)
+ basic_machine=alphaev5-cray
+ os=unicos
+ ;;
+ t90)
+ basic_machine=t90-cray
+ os=unicos
+ ;;
+ toad1)
+ basic_machine=pdp10-xkl
+ os=tops20
+ ;;
+ tpf)
+ basic_machine=s390x-ibm
+ os=tpf
+ ;;
+ udi29k)
+ basic_machine=a29k-amd
+ os=udi
+ ;;
+ ultra3)
+ basic_machine=a29k-nyu
+ os=sym1
+ ;;
+ v810 | necv810)
+ basic_machine=v810-nec
+ os=none
+ ;;
+ vaxv)
+ basic_machine=vax-dec
+ os=sysv
+ ;;
+ vms)
+ basic_machine=vax-dec
+ os=vms
+ ;;
+ vxworks960)
+ basic_machine=i960-wrs
+ os=vxworks
+ ;;
+ vxworks68)
+ basic_machine=m68k-wrs
+ os=vxworks
+ ;;
+ vxworks29k)
+ basic_machine=a29k-wrs
+ os=vxworks
+ ;;
+ xbox)
+ basic_machine=i686-pc
+ os=mingw32
+ ;;
+ ymp)
+ basic_machine=ymp-cray
+ os=unicos
+ ;;
+ *)
+ basic_machine=$1
+ os=
+ ;;
+ esac
+ ;;
esac
### Let's recognize common machines as not being operating systems so
@@ -139,102 +545,102 @@ esac
### recognize some manufacturers as not being operating systems, so we
### can provide default operating systems below.
case $os in
- -sun*os*)
+ sun*os*)
# Prevent following clause from handling this invalid input.
;;
- -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
- -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
- -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
- -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
- -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
- -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
- -apple | -axis | -knuth | -cray | -microblaze*)
+ dec* | mips* | sequent* | encore* | pc532* | sgi* | sony* | \
+ att* | 7300* | 3300* | delta* | motorola* | sun[234]* | \
+ unicom* | ibm* | next | hp | isi* | apollo | altos* | \
+ convergent* | ncr* | news | 32* | 3600* | 3100* | hitachi* |\
+ c[123]* | convex* | sun | crds | omron* | dg | ultra | tti* | \
+ harris | dolphin | highlevel | gould | cbm | ns | masscomp | \
+ apple | axis | knuth | cray | microblaze*)
os=
basic_machine=$1
;;
- -bluegene*)
- os=-cnk
+ bluegene*)
+ os=cnk
;;
- -sim | -cisco | -oki | -wec | -winbond)
+ sim | cisco | oki | wec | winbond)
os=
basic_machine=$1
;;
- -scout)
+ scout)
;;
- -wrs)
- os=-vxworks
+ wrs)
+ os=vxworks
basic_machine=$1
;;
- -chorusos*)
- os=-chorusos
+ chorusos*)
+ os=chorusos
basic_machine=$1
;;
- -chorusrdb)
- os=-chorusrdb
+ chorusrdb)
+ os=chorusrdb
basic_machine=$1
;;
- -hiux*)
- os=-hiuxwe2
+ hiux*)
+ os=hiuxwe2
;;
- -sco6)
- os=-sco5v6
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ sco6)
+ os=sco5v6
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
- -sco5)
- os=-sco3.2v5
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ sco5)
+ os=sco3.2v5
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
- -sco4)
- os=-sco3.2v4
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ sco4)
+ os=sco3.2v4
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
- -sco3.2.[4-9]*)
+ sco3.2.[4-9]*)
os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
- -sco3.2v[4-9]*)
+ sco3.2v[4-9]*)
# Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
- -sco5v6*)
+ sco5v6*)
# Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
- -sco*)
- os=-sco3.2v2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ sco*)
+ os=sco3.2v2
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
- -udk*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ udk*)
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
- -isc)
- os=-isc2.2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ isc)
+ os=isc2.2
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
- -clix*)
+ clix*)
basic_machine=clipper-intergraph
;;
- -isc*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ isc*)
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
- -lynx*178)
- os=-lynxos178
+ lynx*178)
+ os=lynxos178
;;
- -lynx*5)
- os=-lynxos5
+ lynx*5)
+ os=lynxos5
;;
- -lynx*)
- os=-lynxos
+ lynx*)
+ os=lynxos
;;
- -ptx*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+ ptx*)
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'`
;;
- -psos*)
- os=-psos
+ psos*)
+ os=psos
;;
- -mint | -mint[0-9]*)
+ mint | mint[0-9]*)
basic_machine=m68k-atari
- os=-mint
+ os=mint
;;
esac
@@ -249,12 +655,12 @@ case $basic_machine in
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
| arc | arceb \
- | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
+ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv6m | armv[78][arm] \
| avr | avr32 \
| ba \
| be32 | be64 \
| bfin \
- | c4x | c8051 | clipper \
+ | c4x | c8051 | clipper | csky \
| d10v | d30v | dlx | dsp16xx \
| e2k | epiphany \
| fido | fr30 | frv | ft32 \
@@ -293,10 +699,11 @@ case $basic_machine in
| mt \
| msp430 \
| nds32 | nds32le | nds32be \
+ | nfp \
| nios | nios2 | nios2eb | nios2el \
| ns16k | ns32k \
| open8 | or1k | or1knd | or32 \
- | pdp10 | pdp11 | pj | pjl \
+ | pdp10 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle \
| pru \
| pyramid \
@@ -331,20 +738,23 @@ case $basic_machine in
;;
m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
basic_machine=$basic_machine-unknown
- os=-none
+ os=${os:-none}
+ ;;
+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65)
;;
- m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+ m9s12z | m68hcs12z | hcs12z | s12z)
+ basic_machine=s12z-unknown
+ os=${os:-none}
;;
ms1)
basic_machine=mt-unknown
;;
-
strongarm | thumb | xscale)
basic_machine=arm-unknown
;;
xgate)
basic_machine=$basic_machine-unknown
- os=-none
+ os=${os:-none}
;;
xscaleeb)
basic_machine=armeb-unknown
@@ -360,11 +770,6 @@ case $basic_machine in
i*86 | x86_64)
basic_machine=$basic_machine-pc
;;
- # Object if more than one company name word.
- *-*-*)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
- exit 1
- ;;
# Recognize the basic CPU types with company name.
580-* \
| a29k-* \
@@ -378,7 +783,7 @@ case $basic_machine in
| be32-* | be64-* \
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* \
- | c8051-* | clipper-* | craynv-* | cydra-* \
+ | c8051-* | clipper-* | craynv-* | csky-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
| e2k-* | elxsi-* \
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
@@ -419,6 +824,7 @@ case $basic_machine in
| mt-* \
| msp430-* \
| nds32-* | nds32le-* | nds32be-* \
+ | nfp-* \
| nios-* | nios2-* | nios2eb-* | nios2el-* \
| none-* | np1-* | ns16k-* | ns32k-* \
| open8-* \
@@ -456,141 +862,77 @@ case $basic_machine in
;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
- 386bsd)
- basic_machine=i386-unknown
- os=-bsd
- ;;
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
basic_machine=m68000-att
;;
3b*)
basic_machine=we32k-att
;;
- a29khif)
- basic_machine=a29k-amd
- os=-udi
- ;;
abacus)
basic_machine=abacus-unknown
;;
- adobe68k)
- basic_machine=m68010-adobe
- os=-scout
- ;;
alliant | fx80)
basic_machine=fx80-alliant
;;
altos | altos3068)
basic_machine=m68k-altos
;;
- am29k)
- basic_machine=a29k-none
- os=-bsd
- ;;
amd64)
basic_machine=x86_64-pc
;;
amd64-*)
- basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- amdahl)
- basic_machine=580-amdahl
- os=-sysv
+ basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
amiga | amiga-*)
basic_machine=m68k-unknown
;;
- amigaos | amigados)
- basic_machine=m68k-unknown
- os=-amigaos
- ;;
- amigaunix | amix)
- basic_machine=m68k-unknown
- os=-sysv4
- ;;
- apollo68)
- basic_machine=m68k-apollo
- os=-sysv
- ;;
- apollo68bsd)
- basic_machine=m68k-apollo
- os=-bsd
- ;;
- aros)
- basic_machine=i386-pc
- os=-aros
- ;;
asmjs)
basic_machine=asmjs-unknown
;;
- aux)
- basic_machine=m68k-apple
- os=-aux
- ;;
- balance)
- basic_machine=ns32k-sequent
- os=-dynix
- ;;
- blackfin)
- basic_machine=bfin-unknown
- os=-linux
- ;;
blackfin-*)
- basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
- os=-linux
+ basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ os=linux
;;
bluegene*)
basic_machine=powerpc-ibm
- os=-cnk
+ os=cnk
;;
c54x-*)
- basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
c55x-*)
- basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
c6x-*)
- basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
c90)
basic_machine=c90-cray
- os=-unicos
- ;;
- cegcc)
- basic_machine=arm-unknown
- os=-cegcc
+ os=${os:-unicos}
;;
convex-c1)
basic_machine=c1-convex
- os=-bsd
+ os=bsd
;;
convex-c2)
basic_machine=c2-convex
- os=-bsd
+ os=bsd
;;
convex-c32)
basic_machine=c32-convex
- os=-bsd
+ os=bsd
;;
convex-c34)
basic_machine=c34-convex
- os=-bsd
+ os=bsd
;;
convex-c38)
basic_machine=c38-convex
- os=-bsd
- ;;
- cray | j90)
- basic_machine=j90-cray
- os=-unicos
- ;;
- craynv)
- basic_machine=craynv-cray
- os=-unicosmp
+ os=bsd
;;
cr16 | cr16-*)
basic_machine=cr16-unknown
- os=-elf
+ os=${os:-elf}
;;
crds | unos)
basic_machine=m68k-crds
@@ -603,7 +945,7 @@ case $basic_machine in
;;
crx)
basic_machine=crx-unknown
- os=-elf
+ os=${os:-elf}
;;
da30 | da30-*)
basic_machine=m68k-da30
@@ -613,58 +955,38 @@ case $basic_machine in
;;
decsystem10* | dec10*)
basic_machine=pdp10-dec
- os=-tops10
+ os=tops10
;;
decsystem20* | dec20*)
basic_machine=pdp10-dec
- os=-tops20
+ os=tops20
;;
delta | 3300 | motorola-3300 | motorola-delta \
| 3300-motorola | delta-motorola)
basic_machine=m68k-motorola
;;
- delta88)
- basic_machine=m88k-motorola
- os=-sysv3
- ;;
- dicos)
- basic_machine=i686-pc
- os=-dicos
- ;;
- djgpp)
- basic_machine=i586-pc
- os=-msdosdjgpp
- ;;
dpx20 | dpx20-*)
basic_machine=rs6000-bull
- os=-bosx
+ os=${os:-bosx}
;;
dpx2*)
basic_machine=m68k-bull
- os=-sysv3
+ os=sysv3
;;
e500v[12])
basic_machine=powerpc-unknown
os=$os"spe"
;;
e500v[12]-*)
- basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
os=$os"spe"
;;
- ebmon29k)
- basic_machine=a29k-amd
- os=-ebmon
- ;;
- elxsi)
- basic_machine=elxsi-elxsi
- os=-bsd
- ;;
encore | umax | mmax)
basic_machine=ns32k-encore
;;
- es1800 | OSE68k | ose68k | ose | OSE)
- basic_machine=m68k-ericsson
- os=-ose
+ elxsi)
+ basic_machine=elxsi-elxsi
+ os=${os:-bsd}
;;
fx2800)
basic_machine=i860-alliant
@@ -672,45 +994,13 @@ case $basic_machine in
genix)
basic_machine=ns32k-ns
;;
- gmicro)
- basic_machine=tron-gmicro
- os=-sysv
- ;;
- go32)
- basic_machine=i386-pc
- os=-go32
- ;;
h3050r* | hiux*)
basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
- ;;
- h8300hms)
- basic_machine=h8300-hitachi
- os=-hms
- ;;
- h8300xray)
- basic_machine=h8300-hitachi
- os=-xray
- ;;
- h8500hms)
- basic_machine=h8500-hitachi
- os=-hms
- ;;
- harris)
- basic_machine=m88k-harris
- os=-sysv3
+ os=hiuxwe2
;;
hp300-*)
basic_machine=m68k-hp
;;
- hp300bsd)
- basic_machine=m68k-hp
- os=-bsd
- ;;
- hp300hpux)
- basic_machine=m68k-hp
- os=-hpux
- ;;
hp3k9[0-9][0-9] | hp9[0-9][0-9])
basic_machine=hppa1.0-hp
;;
@@ -740,200 +1030,82 @@ case $basic_machine in
hp9k8[0-9][0-9] | hp8[0-9][0-9])
basic_machine=hppa1.0-hp
;;
- hppa-next)
- os=-nextstep3
- ;;
- hppaosf)
- basic_machine=hppa1.1-hp
- os=-osf
- ;;
- hppro)
- basic_machine=hppa1.1-hp
- os=-proelf
- ;;
i370-ibm* | ibm*)
basic_machine=i370-ibm
;;
i*86v32)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv32
+ basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
+ os=sysv32
;;
i*86v4*)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv4
+ basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
+ os=sysv4
;;
i*86v)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv
+ basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
+ os=sysv
;;
i*86sol2)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-solaris2
+ basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
+ os=solaris2
;;
- i386mach)
- basic_machine=i386-mach
- os=-mach
- ;;
- i386-vsta | vsta)
- basic_machine=i386-unknown
- os=-vsta
+ j90 | j90-cray)
+ basic_machine=j90-cray
+ os=${os:-unicos}
;;
iris | iris4d)
basic_machine=mips-sgi
case $os in
- -irix*)
+ irix*)
;;
*)
- os=-irix4
+ os=irix4
;;
esac
;;
- isi68 | isi)
- basic_machine=m68k-isi
- os=-sysv
- ;;
leon-*|leon[3-9]-*)
- basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
- ;;
- m68knommu)
- basic_machine=m68k-unknown
- os=-linux
+ basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'`
;;
m68knommu-*)
- basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
- os=-linux
- ;;
- m88k-omron*)
- basic_machine=m88k-omron
- ;;
- magnum | m3230)
- basic_machine=mips-mips
- os=-sysv
- ;;
- merlin)
- basic_machine=ns32k-utek
- os=-sysv
+ basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ os=linux
;;
microblaze*)
basic_machine=microblaze-xilinx
;;
- mingw64)
- basic_machine=x86_64-pc
- os=-mingw64
- ;;
- mingw32)
- basic_machine=i686-pc
- os=-mingw32
- ;;
- mingw32ce)
- basic_machine=arm-unknown
- os=-mingw32ce
- ;;
miniframe)
basic_machine=m68000-convergent
;;
- *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+ *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*)
basic_machine=m68k-atari
- os=-mint
+ os=mint
;;
mips3*-*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+ basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`
;;
mips3*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
- ;;
- monitor)
- basic_machine=m68k-rom68k
- os=-coff
- ;;
- morphos)
- basic_machine=powerpc-unknown
- os=-morphos
- ;;
- moxiebox)
- basic_machine=moxie-unknown
- os=-moxiebox
- ;;
- msdos)
- basic_machine=i386-pc
- os=-msdos
+ basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown
;;
ms1-*)
- basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
- ;;
- msys)
- basic_machine=i686-pc
- os=-msys
- ;;
- mvs)
- basic_machine=i370-ibm
- os=-mvs
- ;;
- nacl)
- basic_machine=le32-unknown
- os=-nacl
- ;;
- ncr3000)
- basic_machine=i486-ncr
- os=-sysv4
- ;;
- netbsd386)
- basic_machine=i386-unknown
- os=-netbsd
- ;;
- netwinder)
- basic_machine=armv4l-rebel
- os=-linux
- ;;
- news | news700 | news800 | news900)
- basic_machine=m68k-sony
- os=-newsos
- ;;
- news1000)
- basic_machine=m68030-sony
- os=-newsos
+ basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'`
;;
news-3600 | risc-news)
basic_machine=mips-sony
- os=-newsos
- ;;
- necv70)
- basic_machine=v70-nec
- os=-sysv
+ os=newsos
;;
next | m*-next)
basic_machine=m68k-next
case $os in
- -nextstep* )
+ nextstep* )
;;
- -ns2*)
- os=-nextstep2
+ ns2*)
+ os=nextstep2
;;
*)
- os=-nextstep3
+ os=nextstep3
;;
esac
;;
- nh3000)
- basic_machine=m68k-harris
- os=-cxux
- ;;
- nh[45]000)
- basic_machine=m88k-harris
- os=-cxux
- ;;
- nindy960)
- basic_machine=i960-intel
- os=-nindy
- ;;
- mon960)
- basic_machine=i960-intel
- os=-mon960
- ;;
- nonstopux)
- basic_machine=mips-compaq
- os=-nonstopux
- ;;
np1)
basic_machine=np1-gould
;;
@@ -946,43 +1118,26 @@ case $basic_machine in
nsr-tandem)
basic_machine=nsr-tandem
;;
+ nsv-tandem)
+ basic_machine=nsv-tandem
+ ;;
nsx-tandem)
basic_machine=nsx-tandem
;;
op50n-* | op60c-*)
basic_machine=hppa1.1-oki
- os=-proelf
+ os=proelf
;;
openrisc | openrisc-*)
basic_machine=or32-unknown
;;
- os400)
- basic_machine=powerpc-ibm
- os=-os400
- ;;
- OSE68000 | ose68000)
- basic_machine=m68000-ericsson
- os=-ose
- ;;
- os68k)
- basic_machine=m68k-none
- os=-os68k
- ;;
pa-hitachi)
basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
- ;;
- paragon)
- basic_machine=i860-intel
- os=-osf
- ;;
- parisc)
- basic_machine=hppa-unknown
- os=-linux
+ os=hiuxwe2
;;
parisc-*)
- basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
- os=-linux
+ basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ os=linux
;;
pbd)
basic_machine=sparc-tti
@@ -997,7 +1152,7 @@ case $basic_machine in
basic_machine=i386-pc
;;
pc98-*)
- basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
pentium | p5 | k5 | k6 | nexgen | viac3)
basic_machine=i586-pc
@@ -1012,16 +1167,16 @@ case $basic_machine in
basic_machine=i786-pc
;;
pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
- basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
pentiumpro-* | p6-* | 6x86-* | athlon-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
pentium4-*)
- basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
pn)
basic_machine=pn-gould
@@ -1031,43 +1186,27 @@ case $basic_machine in
ppc | ppcbe) basic_machine=powerpc-unknown
;;
ppc-* | ppcbe-*)
- basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
ppcle | powerpclittle)
basic_machine=powerpcle-unknown
;;
ppcle-* | powerpclittle-*)
- basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
ppc64) basic_machine=powerpc64-unknown
;;
- ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
ppc64le | powerpc64little)
basic_machine=powerpc64le-unknown
;;
ppc64le-* | powerpc64little-*)
- basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
ps2)
basic_machine=i386-ibm
;;
- pw32)
- basic_machine=i586-unknown
- os=-pw32
- ;;
- rdos | rdos64)
- basic_machine=x86_64-pc
- os=-rdos
- ;;
- rdos32)
- basic_machine=i386-pc
- os=-rdos
- ;;
- rom68k)
- basic_machine=m68k-rom68k
- os=-coff
- ;;
rm[46]00)
basic_machine=mips-siemens
;;
@@ -1080,10 +1219,6 @@ case $basic_machine in
s390x | s390x-*)
basic_machine=s390x-ibm
;;
- sa29200)
- basic_machine=a29k-amd
- os=-udi
- ;;
sb1)
basic_machine=mipsisa64sb1-unknown
;;
@@ -1092,32 +1227,17 @@ case $basic_machine in
;;
sde)
basic_machine=mipsisa32-sde
- os=-elf
- ;;
- sei)
- basic_machine=mips-sei
- os=-seiux
+ os=${os:-elf}
;;
sequent)
basic_machine=i386-sequent
;;
- sh)
- basic_machine=sh-hitachi
- os=-hms
- ;;
sh5el)
basic_machine=sh5le-unknown
;;
- sh64)
- basic_machine=sh64-unknown
- ;;
- sparclite-wrs | simso-wrs)
+ simso-wrs)
basic_machine=sparclite-wrs
- os=-vxworks
- ;;
- sps7)
- basic_machine=m68k-bull
- os=-sysv2
+ os=vxworks
;;
spur)
basic_machine=spur-unknown
@@ -1125,44 +1245,12 @@ case $basic_machine in
st2000)
basic_machine=m68k-tandem
;;
- stratus)
- basic_machine=i860-stratus
- os=-sysv4
- ;;
strongarm-* | thumb-*)
- basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
sun2)
basic_machine=m68000-sun
;;
- sun2os3)
- basic_machine=m68000-sun
- os=-sunos3
- ;;
- sun2os4)
- basic_machine=m68000-sun
- os=-sunos4
- ;;
- sun3os3)
- basic_machine=m68k-sun
- os=-sunos3
- ;;
- sun3os4)
- basic_machine=m68k-sun
- os=-sunos4
- ;;
- sun4os3)
- basic_machine=sparc-sun
- os=-sunos3
- ;;
- sun4os4)
- basic_machine=sparc-sun
- os=-sunos4
- ;;
- sun4sol2)
- basic_machine=sparc-sun
- os=-solaris2
- ;;
sun3 | sun3-*)
basic_machine=m68k-sun
;;
@@ -1172,25 +1260,9 @@ case $basic_machine in
sun386 | sun386i | roadrunner)
basic_machine=i386-sun
;;
- sv1)
- basic_machine=sv1-cray
- os=-unicos
- ;;
- symmetry)
- basic_machine=i386-sequent
- os=-dynix
- ;;
- t3e)
- basic_machine=alphaev5-cray
- os=-unicos
- ;;
- t90)
- basic_machine=t90-cray
- os=-unicos
- ;;
tile*)
basic_machine=$basic_machine-unknown
- os=-linux-gnu
+ os=linux-gnu
;;
tx39)
basic_machine=mipstx39-unknown
@@ -1198,91 +1270,32 @@ case $basic_machine in
tx39el)
basic_machine=mipstx39el-unknown
;;
- toad1)
- basic_machine=pdp10-xkl
- os=-tops20
- ;;
tower | tower-32)
basic_machine=m68k-ncr
;;
- tpf)
- basic_machine=s390x-ibm
- os=-tpf
- ;;
- udi29k)
- basic_machine=a29k-amd
- os=-udi
- ;;
- ultra3)
- basic_machine=a29k-nyu
- os=-sym1
- ;;
- v810 | necv810)
- basic_machine=v810-nec
- os=-none
- ;;
- vaxv)
- basic_machine=vax-dec
- os=-sysv
- ;;
- vms)
- basic_machine=vax-dec
- os=-vms
- ;;
vpp*|vx|vx-*)
basic_machine=f301-fujitsu
;;
- vxworks960)
- basic_machine=i960-wrs
- os=-vxworks
- ;;
- vxworks68)
- basic_machine=m68k-wrs
- os=-vxworks
- ;;
- vxworks29k)
- basic_machine=a29k-wrs
- os=-vxworks
- ;;
- wasm32)
- basic_machine=wasm32-unknown
- ;;
w65*)
basic_machine=w65-wdc
- os=-none
+ os=none
;;
w89k-*)
basic_machine=hppa1.1-winbond
- os=-proelf
+ os=proelf
;;
x64)
basic_machine=x86_64-pc
;;
- xbox)
- basic_machine=i686-pc
- os=-mingw32
- ;;
xps | xps100)
basic_machine=xps100-honeywell
;;
xscale-* | xscalee[bl]-*)
- basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
- ;;
- ymp)
- basic_machine=ymp-cray
- os=-unicos
- ;;
- z8k-*-coff)
- basic_machine=z8k-unknown
- os=-sim
- ;;
- z80-*-coff)
- basic_machine=z80-unknown
- os=-sim
+ basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'`
;;
none)
basic_machine=none-none
- os=-none
+ os=${os:-none}
;;
# Here we handle the default manufacturer of certain CPU types. It is in
@@ -1308,10 +1321,6 @@ case $basic_machine in
vax)
basic_machine=vax-dec
;;
- pdp10)
- # there are many clones, so DEC is not a safe bet
- basic_machine=pdp10-unknown
- ;;
pdp11)
basic_machine=pdp11-dec
;;
@@ -1321,9 +1330,6 @@ case $basic_machine in
sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
basic_machine=sh-unknown
;;
- sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
- basic_machine=sparc-sun
- ;;
cydra)
basic_machine=cydra-cydrome
;;
@@ -1343,7 +1349,7 @@ case $basic_machine in
# Make sure to match an already-canonicalized machine name.
;;
*)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2
exit 1
;;
esac
@@ -1351,10 +1357,10 @@ esac
# Here we canonicalize certain aliases for manufacturers.
case $basic_machine in
*-digital*)
- basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+ basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'`
;;
*-commodore*)
- basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+ basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'`
;;
*)
;;
@@ -1362,213 +1368,200 @@ esac
# Decode manufacturer-specific aliases for certain operating systems.
-if [ x"$os" != x"" ]
+if [ x$os != x ]
then
case $os in
# First match some system type aliases that might get confused
# with valid system types.
- # -solaris* is a basic system type, with this one exception.
- -auroraux)
- os=-auroraux
+ # solaris* is a basic system type, with this one exception.
+ auroraux)
+ os=auroraux
;;
- -solaris1 | -solaris1.*)
+ solaris1 | solaris1.*)
os=`echo $os | sed -e 's|solaris1|sunos4|'`
;;
- -solaris)
- os=-solaris2
- ;;
- -svr4*)
- os=-sysv4
+ solaris)
+ os=solaris2
;;
- -unixware*)
- os=-sysv4.2uw
+ unixware*)
+ os=sysv4.2uw
;;
- -gnu/linux*)
+ gnu/linux*)
os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
;;
+ # es1800 is here to avoid being matched by es* (a different OS)
+ es1800*)
+ os=ose
+ ;;
# Now accept the basic system types.
# The portable systems comes first.
# Each alternative MUST end in a * to match a version number.
- # -sysv* is not here because it comes later, after sysvr4.
- -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
- | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
- | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
- | -sym* | -kopensolaris* | -plan9* \
- | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
- | -aos* | -aros* | -cloudabi* | -sortix* \
- | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
- | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
- | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
- | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
- | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
- | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
- | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
- | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
- | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
- | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
- | -linux-newlib* | -linux-musl* | -linux-uclibc* \
- | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
- | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
- | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
- | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
- | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
- | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
- | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
- | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*)
+ # sysv* is not here because it comes later, after sysvr4.
+ gnu* | bsd* | mach* | minix* | genix* | ultrix* | irix* \
+ | *vms* | sco* | esix* | isc* | aix* | cnk* | sunos | sunos[34]*\
+ | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
+ | sym* | kopensolaris* | plan9* \
+ | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
+ | aos* | aros* | cloudabi* | sortix* \
+ | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
+ | clix* | riscos* | uniplus* | iris* | rtu* | xenix* \
+ | hiux* | knetbsd* | mirbsd* | netbsd* \
+ | bitrig* | openbsd* | solidbsd* | libertybsd* \
+ | ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \
+ | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
+ | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
+ | udi* | eabi* | lites* | ieee* | go32* | aux* | hcos* \
+ | chorusos* | chorusrdb* | cegcc* | glidix* \
+ | cygwin* | msys* | pe* | psos* | moss* | proelf* | rtems* \
+ | midipix* | mingw32* | mingw64* | linux-gnu* | linux-android* \
+ | linux-newlib* | linux-musl* | linux-uclibc* \
+ | uxpv* | beos* | mpeix* | udk* | moxiebox* \
+ | interix* | uwin* | mks* | rhapsody* | darwin* \
+ | openstep* | oskit* | conix* | pw32* | nonstopux* \
+ | storm-chaos* | tops10* | tenex* | tops20* | its* \
+ | os2* | vos* | palmos* | uclinux* | nucleus* \
+ | morphos* | superux* | rtmk* | windiss* \
+ | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
+ | skyos* | haiku* | rdos* | toppers* | drops* | es* \
+ | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
+ | midnightbsd*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
- -qnx*)
+ qnx*)
case $basic_machine in
x86-* | i*86-*)
;;
*)
- os=-nto$os
+ os=nto-$os
;;
esac
;;
- -nto-qnx*)
+ nto-qnx*)
;;
- -nto*)
+ nto*)
os=`echo $os | sed -e 's|nto|nto-qnx|'`
;;
- -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
- | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
- | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+ sim | xray | os68k* | v88r* \
+ | windows* | osx | abug | netware* | os9* \
+ | macos* | mpw* | magic* | mmixware* | mon960* | lnews*)
;;
- -mac*)
- os=`echo $os | sed -e 's|mac|macos|'`
+ mac*)
+ os=`echo "$os" | sed -e 's|mac|macos|'`
;;
- -linux-dietlibc)
- os=-linux-dietlibc
+ linux-dietlibc)
+ os=linux-dietlibc
;;
- -linux*)
+ linux*)
os=`echo $os | sed -e 's|linux|linux-gnu|'`
;;
- -sunos5*)
- os=`echo $os | sed -e 's|sunos5|solaris2|'`
- ;;
- -sunos6*)
- os=`echo $os | sed -e 's|sunos6|solaris3|'`
+ sunos5*)
+ os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
;;
- -opened*)
- os=-openedition
+ sunos6*)
+ os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
;;
- -os400*)
- os=-os400
+ opened*)
+ os=openedition
;;
- -wince*)
- os=-wince
+ os400*)
+ os=os400
;;
- -osfrose*)
- os=-osfrose
+ wince*)
+ os=wince
;;
- -osf*)
- os=-osf
+ utek*)
+ os=bsd
;;
- -utek*)
- os=-bsd
+ dynix*)
+ os=bsd
;;
- -dynix*)
- os=-bsd
+ acis*)
+ os=aos
;;
- -acis*)
- os=-aos
+ atheos*)
+ os=atheos
;;
- -atheos*)
- os=-atheos
+ syllable*)
+ os=syllable
;;
- -syllable*)
- os=-syllable
- ;;
- -386bsd)
- os=-bsd
+ 386bsd)
+ os=bsd
;;
- -ctix* | -uts*)
- os=-sysv
+ ctix* | uts*)
+ os=sysv
;;
- -nova*)
- os=-rtmk-nova
+ nova*)
+ os=rtmk-nova
;;
- -ns2)
- os=-nextstep2
+ ns2)
+ os=nextstep2
;;
- -nsk*)
- os=-nsk
+ nsk*)
+ os=nsk
;;
# Preserve the version number of sinix5.
- -sinix5.*)
+ sinix5.*)
os=`echo $os | sed -e 's|sinix|sysv|'`
;;
- -sinix*)
- os=-sysv4
+ sinix*)
+ os=sysv4
;;
- -tpf*)
- os=-tpf
+ tpf*)
+ os=tpf
;;
- -triton*)
- os=-sysv3
+ triton*)
+ os=sysv3
;;
- -oss*)
- os=-sysv3
+ oss*)
+ os=sysv3
;;
- -svr4)
- os=-sysv4
+ svr4*)
+ os=sysv4
;;
- -svr3)
- os=-sysv3
+ svr3)
+ os=sysv3
;;
- -sysvr4)
- os=-sysv4
+ sysvr4)
+ os=sysv4
;;
- # This must come after -sysvr4.
- -sysv*)
+ # This must come after sysvr4.
+ sysv*)
;;
- -ose*)
- os=-ose
+ ose*)
+ os=ose
;;
- -es1800*)
- os=-ose
+ *mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
+ os=mint
;;
- -xenix)
- os=-xenix
+ zvmoe)
+ os=zvmoe
;;
- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
- os=-mint
+ dicos*)
+ os=dicos
;;
- -aros*)
- os=-aros
- ;;
- -zvmoe)
- os=-zvmoe
- ;;
- -dicos*)
- os=-dicos
- ;;
- -pikeos*)
+ pikeos*)
# Until real need of OS specific support for
# particular features comes up, bare metal
# configurations are quite functional.
case $basic_machine in
arm*)
- os=-eabi
+ os=eabi
;;
*)
- os=-elf
+ os=elf
;;
esac
;;
- -nacl*)
+ nacl*)
+ ;;
+ ios)
;;
- -ios)
+ none)
;;
- -none)
+ *-eabi)
;;
*)
- # Get rid of the `-' at the beginning of $os.
- os=`echo $os | sed 's/[^-]*-//'`
- echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+ echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2
exit 1
;;
esac
@@ -1586,179 +1579,173 @@ else
case $basic_machine in
score-*)
- os=-elf
+ os=elf
;;
spu-*)
- os=-elf
+ os=elf
;;
*-acorn)
- os=-riscix1.2
+ os=riscix1.2
;;
arm*-rebel)
- os=-linux
+ os=linux
;;
arm*-semi)
- os=-aout
+ os=aout
;;
c4x-* | tic4x-*)
- os=-coff
+ os=coff
;;
c8051-*)
- os=-elf
+ os=elf
;;
hexagon-*)
- os=-elf
+ os=elf
;;
tic54x-*)
- os=-coff
+ os=coff
;;
tic55x-*)
- os=-coff
+ os=coff
;;
tic6x-*)
- os=-coff
+ os=coff
;;
# This must come before the *-dec entry.
pdp10-*)
- os=-tops20
+ os=tops20
;;
pdp11-*)
- os=-none
+ os=none
;;
*-dec | vax-*)
- os=-ultrix4.2
+ os=ultrix4.2
;;
m68*-apollo)
- os=-domain
+ os=domain
;;
i386-sun)
- os=-sunos4.0.2
+ os=sunos4.0.2
;;
m68000-sun)
- os=-sunos3
+ os=sunos3
;;
m68*-cisco)
- os=-aout
+ os=aout
;;
mep-*)
- os=-elf
+ os=elf
;;
mips*-cisco)
- os=-elf
+ os=elf
;;
mips*-*)
- os=-elf
+ os=elf
;;
or32-*)
- os=-coff
+ os=coff
;;
*-tti) # must be before sparc entry or we get the wrong os.
- os=-sysv3
+ os=sysv3
;;
sparc-* | *-sun)
- os=-sunos4.1.1
+ os=sunos4.1.1
;;
pru-*)
- os=-elf
+ os=elf
;;
*-be)
- os=-beos
- ;;
- *-haiku)
- os=-haiku
+ os=beos
;;
*-ibm)
- os=-aix
+ os=aix
;;
*-knuth)
- os=-mmixware
+ os=mmixware
;;
*-wec)
- os=-proelf
+ os=proelf
;;
*-winbond)
- os=-proelf
+ os=proelf
;;
*-oki)
- os=-proelf
+ os=proelf
;;
*-hp)
- os=-hpux
+ os=hpux
;;
*-hitachi)
- os=-hiux
+ os=hiux
;;
i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
- os=-sysv
+ os=sysv
;;
*-cbm)
- os=-amigaos
+ os=amigaos
;;
*-dg)
- os=-dgux
+ os=dgux
;;
*-dolphin)
- os=-sysv3
+ os=sysv3
;;
m68k-ccur)
- os=-rtu
+ os=rtu
;;
m88k-omron*)
- os=-luna
+ os=luna
;;
*-next)
- os=-nextstep
+ os=nextstep
;;
*-sequent)
- os=-ptx
+ os=ptx
;;
*-crds)
- os=-unos
+ os=unos
;;
*-ns)
- os=-genix
+ os=genix
;;
i370-*)
- os=-mvs
- ;;
- *-next)
- os=-nextstep3
+ os=mvs
;;
*-gould)
- os=-sysv
+ os=sysv
;;
*-highlevel)
- os=-bsd
+ os=bsd
;;
*-encore)
- os=-bsd
+ os=bsd
;;
*-sgi)
- os=-irix
+ os=irix
;;
*-siemens)
- os=-sysv4
+ os=sysv4
;;
*-masscomp)
- os=-rtu
+ os=rtu
;;
f30[01]-fujitsu | f700-fujitsu)
- os=-uxpv
+ os=uxpv
;;
*-rom68k)
- os=-coff
+ os=coff
;;
*-*bug)
- os=-coff
+ os=coff
;;
*-apple)
- os=-macos
+ os=macos
;;
*-atari*)
- os=-mint
+ os=mint
;;
*)
- os=-none
+ os=none
;;
esac
fi
@@ -1769,79 +1756,79 @@ vendor=unknown
case $basic_machine in
*-unknown)
case $os in
- -riscix*)
+ riscix*)
vendor=acorn
;;
- -sunos*)
+ sunos*)
vendor=sun
;;
- -cnk*|-aix*)
+ cnk*|-aix*)
vendor=ibm
;;
- -beos*)
+ beos*)
vendor=be
;;
- -hpux*)
+ hpux*)
vendor=hp
;;
- -mpeix*)
+ mpeix*)
vendor=hp
;;
- -hiux*)
+ hiux*)
vendor=hitachi
;;
- -unos*)
+ unos*)
vendor=crds
;;
- -dgux*)
+ dgux*)
vendor=dg
;;
- -luna*)
+ luna*)
vendor=omron
;;
- -genix*)
+ genix*)
vendor=ns
;;
- -mvs* | -opened*)
+ mvs* | opened*)
vendor=ibm
;;
- -os400*)
+ os400*)
vendor=ibm
;;
- -ptx*)
+ ptx*)
vendor=sequent
;;
- -tpf*)
+ tpf*)
vendor=ibm
;;
- -vxsim* | -vxworks* | -windiss*)
+ vxsim* | vxworks* | windiss*)
vendor=wrs
;;
- -aux*)
+ aux*)
vendor=apple
;;
- -hms*)
+ hms*)
vendor=hitachi
;;
- -mpw* | -macos*)
+ mpw* | macos*)
vendor=apple
;;
- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ *mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
vendor=atari
;;
- -vos*)
+ vos*)
vendor=stratus
;;
esac
- basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+ basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"`
;;
esac
-echo $basic_machine$os
+echo "$basic_machine-$os"
exit
# Local variables:
-# eval: (add-hook 'write-file-functions 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
diff --git a/support/man2html.c b/support/man2html.c
index 6ba50616..3ab105f3 100644
--- a/support/man2html.c
+++ b/support/man2html.c
@@ -1992,7 +1992,7 @@ unescape (char *c)
while (i < l && c[i]) {
if (c[i] == '\a') {
if (c[i+1])
- strcpy(c + i, c + i + 1); /* should be memmove */
+ memmove (c + i, c + i + 1, l - i);
else {
c[i] = '\0';
break;
diff --git a/test.c b/test.c
index 3da8c7b3..4cb3343c 100644
--- a/test.c
+++ b/test.c
@@ -622,9 +622,8 @@ unary_test (op, arg)
return (minus_o_option_value (arg) == 1);
case 'v':
- v = find_variable (arg);
#if defined (ARRAY_VARS)
- if (v == 0 && valid_array_reference (arg, 0))
+ if (valid_array_reference (arg, 0))
{
char *t;
int rtype, ret;
@@ -634,7 +633,8 @@ unary_test (op, arg)
free (t);
return ret;
}
- else if (v && invisible_p (v) == 0 && array_p (v))
+ v = find_variable (arg);
+ if (v && invisible_p (v) == 0 && array_p (v))
{
char *t;
/* [[ -v foo ]] == [[ -v foo[0] ]] */
@@ -647,6 +647,8 @@ unary_test (op, arg)
t = assoc_reference (assoc_cell (v), "0");
return (t ? TRUE : FALSE);
}
+#else
+ v = find_variable (arg);
#endif
return (v && invisible_p (v) == 0 && var_isset (v) ? TRUE : FALSE);
diff --git a/tests/array.right b/tests/array.right
index aab4153d..3c465248 100644
--- a/tests/array.right
+++ b/tests/array.right
@@ -621,3 +621,123 @@ arithmetic:
6.declare -A a=([" "]="13" [0]="0" [1]="1" ["\" \""]="11" )
7.declare -A a=([" "]="13" [0]="0" [1]="1" ["\" \""]="11" )
8.declare -A a=([" "]="13" [0]="0" [1]="1" ["\" \""]="13" )
+argv[1] = <aa>
+argv[2] = <bb>
+argv[1] = <aa>
+argv[2] = <bb>
+argv[1] = <aa>
+argv[2] = <bb>
+argv[1] = <aa>
+argv[2] = <bb>
+argv[1] = <aa>
+argv[2] = <bb>
+argv[3] = <aa>
+argv[4] = <bb>
+argv[1] = <aa>
+argv[2] = <bb>
+argv[3] = <aa>
+argv[4] = <bb>
+argv[1] = <aa+bb>
+argv[2] = <aa+bb>
+argv[1] = <aa>
+argv[2] = <bb>
+argv[3] = <aa>
+argv[4] = <bb>
+argv[1] = <xa>
+argv[2] = <bb>
+argv[1] = <xa>
+argv[2] = <bb>
+argv[1] = <xa>
+argv[2] = <bb>
+argv[1] = <xa>
+argv[2] = <bb>
+argv[1] = <xa>
+argv[2] = <bb>
+argv[1] = <xa>
+argv[2] = <bb>
+argv[1] = <xa+bb>
+argv[1] = <xa+bb>
+argv[1] = <xa+bb>
+argv[2] = <xa+bb>
+argv[1] = <xa>
+argv[2] = <bb>
+argv[1] = <xa>
+argv[2] = <bb>
+argv[1] = <xa>
+argv[2] = <bb>
+argv[1] = <xa+bb>
+argv[1] = <xa>
+argv[2] = <bb>
+argv[1] = <xa>
+argv[2] = <bb>
+argv[1] = <xa>
+argv[2] = <bb>
+argv[1] = <xa>
+argv[2] = <bb>
+argv[1] = <xa>
+argv[2] = <bb>
+argv[1] = <xa>
+argv[2] = <bb>
+argv[1] = <xabb>
+argv[1] = <xabb>
+argv[1] = <xabb>
+argv[2] = <xabb>
+argv[1] = <xa>
+argv[2] = <bb>
+argv[1] = <xa>
+argv[2] = <bb>
+argv[1] = <xa>
+argv[2] = <bb>
+argv[1] = <xabb>
+argv[1] = <aa>
+argv[2] = <bb>
+argv[1] = <aa>
+argv[2] = <bb>
+argv[1] = <aa>
+argv[2] = <bb>
+argv[1] = <aa>
+argv[2] = <bb>
+argv[1] = <aa>
+argv[2] = <bb>
+argv[3] = <aa>
+argv[4] = <bb>
+argv[1] = <aa>
+argv[2] = <bb>
+argv[3] = <aa>
+argv[4] = <bb>
+argv[1] = <aa+bb>
+argv[2] = <aa+bb>
+argv[1] = <aa+bb>
+argv[2] = <aa+bb>
+argv[1] = <aa>
+argv[2] = <bb>
+argv[3] = <aa>
+argv[4] = <bb>
+argv[1] = <aa>
+argv[2] = <bb>
+argv[1] = <aa>
+argv[2] = <bb>
+argv[1] = <aa>
+argv[2] = <bb>
+argv[1] = <aa+bb>
+argv[1] = <a>
+argv[2] = <b>
+argv[1] = <a>
+argv[2] = <b>
+argv[1] = <a>
+argv[2] = <b>
+argv[3] = <a>
+argv[4] = <b>
+argv[1] = <a+b>
+argv[2] = <a+b>
+argv[1] = <a>
+argv[2] = <b>
+argv[3] = <a>
+argv[4] = <b>
+argv[1] = <a>
+argv[2] = <b>
+argv[1] = <a>
+argv[2] = <b>
+argv[1] = <a>
+argv[2] = <b>
+argv[1] = <a+b>
diff --git a/tests/array.tests b/tests/array.tests
index e045d5c4..7fa1cdaf 100644
--- a/tests/array.tests
+++ b/tests/array.tests
@@ -404,3 +404,4 @@ ${THIS_SH} ./array22.sub
${THIS_SH} ./array23.sub
${THIS_SH} ./array24.sub
${THIS_SH} ./array25.sub
+${THIS_SH} ./array26.sub
diff --git a/tests/array26.sub b/tests/array26.sub
new file mode 100644
index 00000000..826774f7
--- /dev/null
+++ b/tests/array26.sub
@@ -0,0 +1,118 @@
+# these should produce the same results
+a=(aa bb)
+set -- aa bb
+
+IFS=+
+
+recho ${a[@]}
+recho ${a[@]:0}
+
+recho $@
+recho ${@:1}
+
+A=${a[*]} B=${a[*]:0}
+recho $* ${*:1}
+recho ${a[*]} ${a[*]:0}
+recho "$A" "$B"
+recho $A $B
+
+unset A B
+
+recho ${@/a/x}
+recho ${a[@]/a/x}
+recho "${@/a/x}"
+recho "${a[@]/a/x}"
+
+recho ${*/a/x}
+recho ${a[*]/a/x}
+recho "${*/a/x}"
+recho "${a[*]/a/x}"
+
+A=${*/a/x}
+B=${a[*]/a/x}
+
+recho "$A" "$B"
+
+unset A B
+declare -A A
+A[0]=aa
+A[1]=bb
+
+recho ${A[@]/a/x}
+recho "${A[@]/a/x}"
+recho ${A[*]/a/x}
+recho "${A[*]/a/x}"
+
+unset A
+IFS=
+
+recho ${@/a/x}
+recho ${a[@]/a/x}
+recho "${@/a/x}"
+recho "${a[@]/a/x}"
+
+recho ${*/a/x}
+recho ${a[*]/a/x}
+recho "${*/a/x}"
+recho "${a[*]/a/x}"
+
+A=${*/a/x}
+B=${a[*]/a/x}
+
+recho "$A" "$B"
+
+unset A B
+declare -A A
+A[0]=aa
+A[1]=bb
+
+recho ${A[@]/a/x}
+recho "${A[@]/a/x}"
+recho ${A[*]/a/x}
+recho "${A[*]/a/x}"
+
+unset A
+
+IFS=+
+
+recho ${a[@]}
+recho ${a[@],,}
+recho "${a[@]}"
+recho "${a[@],,}"
+
+A=${a[*]} B=${a[*],,}
+recho $* ${*,,}
+recho ${a[*]} ${a[*],,}
+recho "${a[*]}" "${a[*],,}"
+recho "$A" "$B"
+recho $A $B
+
+unset A B
+declare -A A
+A[0]=aa
+A[1]=bb
+
+recho ${A[@],,}
+recho "${A[@],,}"
+recho ${A[*],,}
+recho "${A[*],,}"
+
+unset A
+
+recho ${a[@]#?}
+recho ${@#?}
+
+A=${a[*]#?} B=${a[*]#?}
+recho ${*#?} ${a[*]#?}
+recho "$A" "$B"
+recho $A $B
+
+unset A B
+declare -A A
+A[0]=aa
+A[1]=bb
+
+recho ${A[@]#?}
+recho "${A[@]#?}"
+recho ${A[*]#?}
+recho "${A[*]#?}"
diff --git a/tests/assoc.right b/tests/assoc.right
index e10636b2..99143f00 100644
--- a/tests/assoc.right
+++ b/tests/assoc.right
@@ -220,3 +220,12 @@ declare -A a=(["80's"]="Depeche Mode" )
1+5
declare -A a=(["\$(date >&2)"]="5" )
declare -A myarray=([foo]="bleh" ["foo[bar"]="bleh" )
+./assoc10.sub: line 1: declare: a: cannot convert indexed to associative array
+f: declare -a a
+./assoc10.sub: line 4: declare: a: cannot convert associative to indexed array
+f: declare -A a
+
+f: declare -a a
+main: declare -- a="7"
+f: declare -A a
+main: declare -- a="42"
diff --git a/tests/assoc.tests b/tests/assoc.tests
index 24ab08c0..84326c9c 100644
--- a/tests/assoc.tests
+++ b/tests/assoc.tests
@@ -217,3 +217,5 @@ ${THIS_SH} ./assoc8.sub
# new shopt option to prevent multiple expansion of assoc array subscripts
${THIS_SH} ./assoc9.sub
+
+${THIS_SH} ./assoc10.sub
diff --git a/tests/assoc10.sub b/tests/assoc10.sub
new file mode 100644
index 00000000..9eef2cac
--- /dev/null
+++ b/tests/assoc10.sub
@@ -0,0 +1,17 @@
+f() { declare -a a; declare -A a; echo -n "$FUNCNAME: " ; declare -p a; }
+f
+
+f() { declare -A a; declare -a a; echo -n "$FUNCNAME: " ; declare -p a; }
+f
+
+echo
+
+f() { declare -a a; echo -n "$FUNCNAME: " ; declare -p a; }
+a=7
+f
+echo -n 'main: '; declare -p a
+
+f() { declare -A a; echo -n "$FUNCNAME: " ; declare -p a; }
+a=42
+f
+echo -n 'main: '; declare -p a
diff --git a/tests/histexp.right b/tests/histexp.right
index bcf5dea6..9dc592cb 100644
--- a/tests/histexp.right
+++ b/tests/histexp.right
@@ -203,3 +203,40 @@ d
e
! !
./histexp4.sub: line 20: !': event not found
+/tmp/Step1
+echo /$(echo tmp)/Step1
+/tmp/Step1
+echo /<(echo tmp)/Step1 > /dev/null
+/tmp/Step1
+echo $(echo /tmp)/Step1
+/tmp/Step1
+echo <(echo /tmp)/Step1 > /dev/null
+/+(one|two|three)/Step1
+echo /+(one|two|three)/Step1
+/+(one|two|three)/Step1
+/*(tmp|dev|usr)/Step1
+echo /*(tmp|dev|usr)/Step1
+/*(tmp|dev|usr)/Step1
++(/one|/two|/three)/Step1
+echo +(/one|/two|/three)/Step1
++(/one|/two|/three)/Step1
+*(/tmp|/dev|/usr)/Step1
+echo *(/tmp|/dev|/usr)/Step1
+*(/tmp|/dev|/usr)/Step1
+one
+ echo echo one
+echo one
+echo one
+echo one
+ 1 set -o histexpand
+ 2 echo one
+ 3 for f in a b c; do echo echo one; done
+ 4 history
+two
+ echo echo two
+echo two
+echo two
+echo two
+ 1 echo two
+ 2 for f in a b c; do echo echo two; done
+ 3 history
diff --git a/tests/histexp.tests b/tests/histexp.tests
index 2901064f..5ae925e1 100644
--- a/tests/histexp.tests
+++ b/tests/histexp.tests
@@ -140,3 +140,5 @@ ${THIS_SH} ./histexp1.sub
${THIS_SH} ./histexp2.sub
${THIS_SH} ./histexp3.sub
${THIS_SH} ./histexp4.sub
+${THIS_SH} ./histexp5.sub
+${THIS_SH} ./histexp6.sub
diff --git a/tests/histexp5.sub b/tests/histexp5.sub
new file mode 100644
index 00000000..0fe62fe4
--- /dev/null
+++ b/tests/histexp5.sub
@@ -0,0 +1,28 @@
+set -o history
+set -o histexpand
+
+# command and process substitutions should be tokenized as a single word
+echo /$(echo tmp)/Step1
+echo !:*
+echo /<(echo tmp)/Step1 >/dev/null
+echo !:*
+
+# same tests at the beginning of a word
+echo $(echo /tmp)/Step1
+echo !:*
+echo <(echo /tmp)/Step1 >/dev/null
+echo !:*
+
+# so should shell extended glob patterns
+shopt -s extglob
+
+echo /+(one|two|three)/Step1
+echo !:*
+echo /*(tmp|dev|usr)/Step1
+echo !:*
+
+# same tests at the beginning of a word
+echo +(/one|/two|/three)/Step1
+echo !:*
+echo *(/tmp|/dev|/usr)/Step1
+echo !:*
diff --git a/tests/histexp6.sub b/tests/histexp6.sub
new file mode 100644
index 00000000..00610b07
--- /dev/null
+++ b/tests/histexp6.sub
@@ -0,0 +1,24 @@
+unset HISTIGNORE
+HISTFILE=$TMPDIR/bashhist-$$
+
+set -o history
+set -o histexpand
+
+echo one
+
+for f in a b c; do
+ echo !!
+done
+
+history
+history -c
+
+echo two
+for f in a b c; do
+ echo !-1
+done
+
+history
+
+set +o history
+rm -f $HISTFILE
diff --git a/tests/intl.right b/tests/intl.right
index 006318e5..7da99192 100644
--- a/tests/intl.right
+++ b/tests/intl.right
@@ -50,7 +50,8 @@ Passed all 1378 Unicode tests
0000003
0000000 101 040 302 243 040 305 222 012
0000010
-./unicode3.sub: line 3: $'5\247@3\231+\306S8\237\242\352\263': command not found
-./unicode3.sub: line 5: cd: $'5\247@3\231+\306S8\237\242\352\263': No such file or directory
+./unicode3.sub: line 5: $'5\247@3\231+\306S8\237\242\352\263': command not found
+./unicode3.sub: line 7: cd: $'5\247@3\231+\306S8\237\242\352\263': No such file or directory
$'5\247@3\231+\306S8\237\242\352\263'
+ : $'5\247@3\231+\306S8\237\242\352\263'
++ set +x
diff --git a/tests/nameref.right b/tests/nameref.right
index 2ab62b09..698002ec 100644
--- a/tests/nameref.right
+++ b/tests/nameref.right
@@ -440,3 +440,46 @@ declare -n foo="bar"
declare -- bar
declare -- foo="bar"
declare -- bar
+declare -a v=([0]="Y")
+r: <Y>
+v: <Y>
+declare -n ref="var"
+declare -a var=([0]="X")
+declare -n ref="var"
+declare -a var=([0]="X")
+declare -n ref="var"
+./nameref20.sub: line 23: declare: var: not found
+outside:
+declare -a foo=([0]="X")
+declare -n ref="var"
+declare -a var=([0]="X")
+outside:
+./nameref20.sub: line 38: declare: ref: not found
+./nameref20.sub: line 38: declare: var: not found
+declare -n ref="var"
+declare -- var="X"
+outside:
+./nameref20.sub: line 45: declare: ref: not found
+./nameref20.sub: line 45: declare: var: not found
+declare -n ref="var"
+declare -a var=([0]="Y")
+declare -- ref="Y"
+declare -- var="X"
+ref=Y
+declare -- ref="Y"
+./nameref20.sub: line 61: declare: var: not found
+ref=Y
+declare -n ref="var"
+declare -A var=([2]="" )
+declare -n ref="var"
+declare -A var=([2]="" )
+declare -n ref="var"
+declare -a var=([2]="")
+declare -n ref="var"
+declare -a var=([2]="")
+declare -n ref="var"
+declare -ai var=([1]="0")
+declare -n ref="var"
+declare -ai var=([1]="0")
+declare -n ref="var"
+declare -- var="1"
diff --git a/tests/nameref20.sub b/tests/nameref20.sub
new file mode 100644
index 00000000..1e6faec9
--- /dev/null
+++ b/tests/nameref20.sub
@@ -0,0 +1,71 @@
+# a collection of cases in bug reports after bash-5.0-alpha was released
+
+declare -n r=v[0]
+v=(X); r=Y
+declare -p ${!v*}
+printf "%s: <%s>\n" "r" "$r" "v" "$v"
+
+unset -n r
+unset -v v
+
+declare -n ref=var; declare -a ref
+ref=(X)
+declare -p ref var
+
+unset -n ref
+unset -v var
+
+f() { declare -n ref=var; declare ref=(X); declare -p ref var; };
+f
+
+unset -f f
+
+f() { declare -n ref=var; declare -g ref=(X); declare -p ref var; };
+
+declare -n ref=foo
+f
+echo outside:
+declare -p foo
+
+unset -n ref
+unset -v foo
+unset -f f
+
+f() { declare -n ref=var; declare -a ref; ref=(X); declare -p ref var; }
+
+f
+echo outside:
+declare -p ref var
+unset -f f
+
+f() { declare -n ref=var; declare ref; ref=X; declare -p ref var; }
+
+f
+echo outside:
+declare -p ref var
+
+unset -f f
+
+unset -n ref; unset var
+
+f()
+{
+ declare var=X; declare -n ref=var; declare ref=(Y)
+ declare -p ref var
+}
+f
+
+unset -f f
+
+declare -n ref=var
+f() { local ref=Y; declare -p ref var; local; }
+
+var=X
+f
+
+unset -v var
+f
+
+unset -n ref
+unset -f f
+
diff --git a/tests/nameref21.sub b/tests/nameref21.sub
new file mode 100644
index 00000000..a555a084
--- /dev/null
+++ b/tests/nameref21.sub
@@ -0,0 +1,56 @@
+# issues with local variables and local namerefs post-bash-4.4
+
+f()
+{
+ local -n ref=var
+ local -A ref=([1]=)
+# declare -p ref var
+ ref=([2]=)
+ declare -p ref var
+}
+
+unset ref var
+f
+
+unset ref; var=0
+f
+
+unset var
+unset -f f
+
+f()
+{
+ local -n ref=var
+ local -a ref=([1]=)
+ ref=([2]=)
+ declare -p ref var
+}
+
+unset ref var
+f
+
+unset ref; var=0
+f
+
+unset var
+unset -f f
+
+f() { local -n ref=var; local -i ref=([1]=); declare -p ref var; }
+
+unset var
+f
+
+var=0
+f
+
+unset var
+unset -f f
+
+f() { local -n ref=var; local ref=1; declare -p ref var; }
+
+var=0
+f
+
+unset var
+unset -f f
+
diff --git a/tests/nquote1.right b/tests/nquote1.right
index 26e16b91..45389ef3 100644
--- a/tests/nquote1.right
+++ b/tests/nquote1.right
@@ -119,3 +119,13 @@ argv[3] = <uv^Aw^Axy>
argv[1] = <@2>
argv[2] = <uv^Aw^Axy>
argv[3] = <uv^Aw^Axy>
+argv[1] = <aa1>
+argv[2] = <uv^A^A>
+argv[1] = <aa2>
+argv[2] = <uv^A^A>
+argv[1] = <aa3>
+argv[2] = <uv^A^Awx>
+argv[3] = <uv^A^Awx>
+argv[1] = <aa4>
+argv[2] = <uv^A^Awx>
+argv[3] = <uv^A^Awx>
diff --git a/tests/nquote1.tests b/tests/nquote1.tests
index 0970e77c..f47ab54e 100644
--- a/tests/nquote1.tests
+++ b/tests/nquote1.tests
@@ -95,3 +95,12 @@ recho d2 "${1:2:2}"
recho @1 ${@:1:2}
recho @2 "${@:1:2}"
+
+declare -A assoc
+assoc=( [0]=$e [1]=$e )
+
+recho aa1 ${assoc:0:4}
+recho aa2 "${assoc:0:4}"
+
+recho aa3 ${assoc[@]:0:2}
+recho aa4 "${assoc[@]:0:2}"
diff --git a/tests/posixexp.right b/tests/posixexp.right
index 1e81eadb..53a08e3b 100644
--- a/tests/posixexp.right
+++ b/tests/posixexp.right
@@ -275,5 +275,9 @@ argv[2] = <b>
[ abc def ghi jkl / abc def ghi jkl ]
[ abc def ghi jkl ]
[ abc def ghi jkl / abc def ghi jkl / abc def ghi jkl ]
-./posixexp.tests: line 82: unexpected EOF while looking for matching `}'
-./posixexp.tests: line 83: syntax error: unexpected end of file
+5: notOK
+OK
+OK
+5: $'not\ttoo\nbad'
+./posixexp.tests: line 83: unexpected EOF while looking for matching `}'
+./posixexp.tests: line 84: syntax error: unexpected end of file
diff --git a/tests/posixexp.tests b/tests/posixexp.tests
index 76dfede9..3368711f 100644
--- a/tests/posixexp.tests
+++ b/tests/posixexp.tests
@@ -76,6 +76,7 @@ ${THIS_SH} ./posixexp3.sub
${THIS_SH} ./posixexp4.sub
${THIS_SH} ./posixexp5.sub
${THIS_SH} ./posixexp6.sub
+${THIS_SH} ./posixexp7.sub
# this will be an error
foo=bar
diff --git a/tests/posixexp5.sub b/tests/posixexp5.sub
index cceeb00c..e477bbb1 100644
--- a/tests/posixexp5.sub
+++ b/tests/posixexp5.sub
@@ -7,7 +7,7 @@ teststring=$(printf '\1\2\3\177')
n=0
trim_od() {
- od -a | sed -n '1 { s/^0*[[:blank:]]*//; s/[[:blank:]]*$//; p; }'
+ od -t a | sed -n '1 { s/^0*[[:blank:]]*//; s/[[:blank:]]*$//; p; }'
}
doTest() {
diff --git a/tests/posixexp7.sub b/tests/posixexp7.sub
new file mode 100644
index 00000000..2e230cf8
--- /dev/null
+++ b/tests/posixexp7.sub
@@ -0,0 +1,13 @@
+# test the effect of quotes on the WORD in the posix pattern removal operators
+# a here document does not behave the same as double quotes
+x=notOK
+cat <<EOF
+5: ${x#$'not'}
+EOF
+
+echo "${x#'not'}"
+echo "${x#$'not'}"
+
+cat <<EOF
+5: $'not\ttoo\nbad'
+EOF
diff --git a/tests/quote.right b/tests/quote.right
index e4c25741..e4eb9bb9 100644
--- a/tests/quote.right
+++ b/tests/quote.right
@@ -86,3 +86,37 @@ test'string
a'b'c
foo b c baz
foo 'bar baz
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+=====
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+=====
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+=====
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
diff --git a/tests/quote.tests b/tests/quote.tests
index 57ee7e58..d7f13cd0 100644
--- a/tests/quote.tests
+++ b/tests/quote.tests
@@ -121,3 +121,4 @@ echo "${foo:-string \\}"
echo ${foo:-string \\\}}
${THIS_SH} ./quote1.sub
+${THIS_SH} ./quote2.sub
diff --git a/tests/quote2.sub b/tests/quote2.sub
new file mode 100644
index 00000000..7deb4cfa
--- /dev/null
+++ b/tests/quote2.sub
@@ -0,0 +1,42 @@
+x=x
+e=
+
+recho ${x:+""}
+recho ${x:+ ""}
+recho ${x:+"" }
+recho ${x:+"$e"}
+recho ${x:+ "$e"}
+recho ${x:+"$e""$e"""}
+recho ${x:+"$e""$e"""}
+recho ${x:+"$e" "$e"""}
+recho ${x:+"$e""$e" ""}
+recho ${x:+ "$e""$e"""}
+
+echo =====
+recho ${x:+''}
+recho ${x:+ ''}
+recho ${x:+'' }
+recho ${x:+'' ''}
+
+recho ${x:+$e''}
+recho ${x:+''$e}
+
+recho ${x:+''$e $e''}
+
+echo =====
+recho ${x:+"$(:)"}
+recho ${x:+ "$(:)"}
+recho ${x:+"$(:)""$(:)"""}
+recho ${x:+"$(:)""$(:)"""}
+recho ${x:+"$(:)" "$(:)"""}
+recho ${x:+"$(:)""$(:)" ""}
+recho ${x:+ "$(:)""$(:)"""}
+
+echo =====
+recho ${x:+"`:`"}
+recho ${x:+ "`:`"}
+recho ${x:+"`:`""`:`"""}
+recho ${x:+"`:`""`:`"""}
+recho ${x:+"`:`" "`:`"""}
+recho ${x:+"`:`""`:`" ""}
+recho ${x:+ "`:`""`:`"""}
diff --git a/tests/redir.right b/tests/redir.right
index ab737d49..75ed4555 100644
--- a/tests/redir.right
+++ b/tests/redir.right
@@ -44,7 +44,7 @@ kl
ab
cd
cd
-./redir.tests: line 154: redir1.*: No such file or directory
+./redir.tests: line 157: redir1.*: No such file or directory
# tests of ksh93-like dup-and-close redirection operators
exec 9<$0
diff --git a/tests/redir.tests b/tests/redir.tests
index 7b74ac53..6af02194 100644
--- a/tests/redir.tests
+++ b/tests/redir.tests
@@ -57,6 +57,9 @@ echo to c 1>&6
cat $TMPDIR/bash-c
echo "Point 5"
+# clean up before running scripts
+exec 4>&- 5>&- 6<&-
+
rm -f $TMPDIR/bash-a $TMPDIR/bash-b $TMPDIR/bash-c
#
diff --git a/tests/run-varenv b/tests/run-varenv
index 5987a7f3..f147d70b 100644
--- a/tests/run-varenv
+++ b/tests/run-varenv
@@ -1,2 +1,2 @@
-${THIS_SH} ./varenv.sh 2>&1 | grep -v '^expect' > ${BASH_TSTOUT}
+${THIS_SH} ./varenv.tests 2>&1 | grep -v '^expect' > ${BASH_TSTOUT}
diff ${BASH_TSTOUT} varenv.right && rm -f ${BASH_TSTOUT}
diff --git a/tests/shopt.right b/tests/shopt.right
index bb0ac696..64c718c8 100644
--- a/tests/shopt.right
+++ b/tests/shopt.right
@@ -27,7 +27,7 @@ shopt -u extglob
shopt -s extquote
shopt -u failglob
shopt -s force_fignore
-shopt -u globasciiranges
+shopt -s globasciiranges
shopt -u globstar
shopt -u gnu_errfmt
shopt -u histappend
@@ -63,6 +63,7 @@ shopt -s complete_fullquote
shopt -s expand_aliases
shopt -s extquote
shopt -s force_fignore
+shopt -s globasciiranges
shopt -s hostcomplete
shopt -s interactive_comments
shopt -s progcomp
@@ -89,7 +90,6 @@ shopt -u execfail
shopt -u extdebug
shopt -u extglob
shopt -u failglob
-shopt -u globasciiranges
shopt -u globstar
shopt -u gnu_errfmt
shopt -u histappend
@@ -130,7 +130,6 @@ execfail off
extdebug off
extglob off
failglob off
-globasciiranges off
globstar off
gnu_errfmt off
histappend off
diff --git a/tests/test-glue-functions b/tests/test-glue-functions
index b958ab71..07ad8215 100644
--- a/tests/test-glue-functions
+++ b/tests/test-glue-functions
@@ -9,5 +9,5 @@ _intl_normalize_spaces()
# avoid whitespace differences in wc implementations
_cut_leading_spaces()
{
- sed -e 's/^[[:space:]]*//g'
+ sed -e 's/^[ ]*//g'
}
diff --git a/tests/unicode3.sub b/tests/unicode3.sub
index b39f1d3c..cb1b8732 100644
--- a/tests/unicode3.sub
+++ b/tests/unicode3.sub
@@ -1,4 +1,6 @@
export LANG=en_US.UTF-8 # make sure
+
+cd $TMPDIR # try to avoid NFS artifacts
payload=$'\065\247\100\063\231\053\306\123\070\237\242\352\263'
"$payload"
@@ -6,4 +8,5 @@ cd "$payload"
printf %q "$payload"
echo
-set -x ; : "$payload"
+set -x ; : "$payload" ; set +x
+cd $OLDPWD
diff --git a/tests/varenv.right b/tests/varenv.right
index 7ca5f661..4e8c0d16 100644
--- a/tests/varenv.right
+++ b/tests/varenv.right
@@ -145,8 +145,68 @@ outside:
declare -x foo="abc"
inside: declare -x var="value"
outside: declare -- var="one"
+inside: declare -x var="value"
+outside: declare -x var="value"
inside: declare -- var="local"
outside: declare -x var="global"
+foo=<unset> environment foo=
+foo=foo environment foo=foo
+foo=foo environment foo=foo
+./varenv13.sub: line 3: `var[0]': not a valid identifier
+./varenv13.sub: line 3: `var[@]': not a valid identifier
+./varenv13.sub: line 1: declare: var: not found
+./varenv13.sub: line 12: var[@]: bad array subscript
+declare -A var=([0]="X" )
+help
+./varenv13.sub: line 21: `var[0]': not a valid identifier
+1
+./varenv14.sub: line 6: warning: var: cannot inherit value from incompatible type
+declare -a var=([0]="X")
+./varenv14.sub: line 9: warning: var: cannot inherit value from incompatible type
+declare -a var=([0]="Y")
+./varenv14.sub: line 10: warning: var: cannot inherit value from incompatible type
+declare -a var=([0]="Y")
+./varenv14.sub: line 11: warning: var: cannot inherit value from incompatible type
+declare -a var=()
+./varenv14.sub: line 12: warning: var: cannot inherit value from incompatible type
+declare -a var=()
+./varenv14.sub: line 18: f: var: cannot convert indexed to associative array
+declare -a a=([0]="X")
+declare -a s=([0]="X")
+declare -a a=([0]="X" [1]="Y")
+declare -a s=([0]="X" [1]="Y")
+declare -a a=([0]="XY")
+declare -a s=([0]="XY")
+f: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
+f1: after: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+done: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
+f3:1
+f3:2
+f3:3
+f3:4
+f3:5
+f3:6
+f3:7
+f3:8
+f3:9
+f3:10
+f3:11
+f3:12
+f3:13
+f3:14
+f3:15
+f3:16
+f3:17
+f3:18
+f3:19
+f3:20
+before source: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+varenv15.in: before set: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+varenv15.in: after set: 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
+after source 1: 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
+varenv15.in: before set: one two three four five six seven eight nine ten
+varenv15.in: after set: 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
+after source 2: 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=z
a=b
a=z
diff --git a/tests/varenv.tests b/tests/varenv.tests
new file mode 100644
index 00000000..34b85596
--- /dev/null
+++ b/tests/varenv.tests
@@ -0,0 +1,246 @@
+#
+# varenv.sh
+#
+# Test the behavior of the shell with respect to variable and environment
+# assignments
+#
+expect()
+{
+ echo expect "$@"
+}
+
+a=1
+b=2
+c=3
+d=4
+e=5
+f=6 g=7 h=8
+
+a=3 b=4 $CHMOD $MODE $FN
+
+# This should echo "3 4" according to Posix.2
+expect "3 4"
+echo $a $b
+
+set -k
+
+# Assignment statements made when no words are left affect the shell's
+# environment
+a=5 b=6 $CHMOD c=7 $MODE d=8 $FN e=9
+
+expect "5 6 7 8 9"
+echo $a $b $c $d $e
+
+$CHMOD f=7 $MODE g=8 $FN h=9
+expect "7 8 9"
+echo $f $g $h
+
+set +k
+
+# The temporary environment does not affect variable expansion, only the
+# environment given to the command
+
+export HOME=/usr/chet
+expect $HOME
+echo $HOME
+
+expect $HOME
+HOME=/a/b/c /bin/echo $HOME
+
+expect $HOME
+echo $HOME
+
+# This should echo /a/b/c
+expect /a/b/c
+HOME=/a/b/c printenv HOME
+
+set -k
+
+# This should echo $HOME 9, NOT /a/b/c 9
+
+expect "$HOME"
+HOME=/a/b/c /bin/echo $HOME c=9
+expect "$HOME 7"
+echo $HOME $c
+
+# I claim the next two echo calls should give identical output.
+# ksh agrees, the System V.3 sh does not
+
+expect "/a/b/c 9 /a/b/c"
+HOME=/a/b/c $ECHO a=$HOME c=9
+echo $HOME $c $a
+
+expect "/a/b/c 9 /a/b/c"
+HOME=/a/b/c a=$HOME c=9
+echo $HOME $c $a
+set +k
+
+# How do assignment statements affect subsequent assignments on the same
+# line?
+expect "/a/b/c /a/b/c"
+HOME=/a/b/c a=$HOME
+echo $HOME $a
+
+# The system V.3 sh does this wrong; the last echo should output "1 1",
+# but the system V.3 sh has it output "2 2". Posix.2 says the assignment
+# statements are processed left-to-right. bash and ksh output the right
+# thing
+c=1
+d=2
+expect "1 2"
+echo $c $d
+d=$c c=$d
+expect "1 1"
+echo $c $d
+
+# just for completeness
+unset d c
+expect unset
+echo ${d-unset}
+
+# no output
+export a
+a=bcde
+export a
+/bin/true 2>/dev/null
+
+func()
+{
+ local YYZ
+
+ YYZ="song by rush"
+ echo $YYZ
+ echo $A
+}
+
+YYZ="toronto airport"
+A="AVAR"
+echo $YYZ
+echo $A
+A=BVAR func
+echo $YYZ
+echo $A
+
+export A
+# Make sure expansion doesn't use assignment statements preceding a builtin
+A=ZVAR echo $A
+
+XPATH=/bin:/usr/bin:/usr/local/bin:.
+func2()
+{
+ local z=yy
+ local -a avar=( ${XPATH//: } )
+ echo ${avar[@]}
+ local
+}
+
+avar=42
+echo $avar
+func2
+echo $avar
+
+# try to set an attribute for an unset variable; make sure it persists
+# when the variable is assigned a value
+declare -i ivar
+
+ivar=10
+
+declare -p ivar
+unset ivar
+
+# export an unset variable, make sure it is not suddenly set, but make
+# sure the export attribute persists when the variable is assigned a
+# value
+export ivar
+echo ${ivar-unset}
+
+ivar=42
+declare -p ivar
+
+# make sure set [-+]o ignoreeof and $IGNOREEOF are reflected
+unset IGNOREEOF
+set +o ignoreeof
+set -o ignoreeof
+if [ "$IGNOREEOF" -ne 10 ]; then
+ echo "./varenv.sh: set -o ignoreeof is not reflected in IGNOREEOF" >&2
+fi
+unset IGNOREEOF
+set +o ignoreeof
+
+# older versions of bash used to not reset RANDOM in subshells correctly
+[[ $RANDOM -eq $(echo $RANDOM) ]] && echo "RANDOM: problem with subshells"
+
+# make sure that shopt -o is reflected in $SHELLOPTS
+# first, get rid of things that might be set automatically via shell
+# variables
+set +o posix
+set +o ignoreeof
+set +o monitor
+echo $-
+echo ${SHELLOPTS}
+shopt -so physical
+echo $-
+echo ${SHELLOPTS}
+
+# and make sure it is readonly
+readonly -p | grep SHELLOPTS
+
+# This was an error in bash versions prior to bash-2.04. The `set -a'
+# should cause the assignment statement that's an argument to typeset
+# to create an exported variable
+unset FOOFOO
+FOOFOO=bar
+set -a
+typeset FOOFOO=abcde
+
+printenv FOOFOO
+
+# test out export behavior of variable assignments preceding builtins and
+# functions
+$THIS_SH ./varenv1.sub
+
+# more tests; bugs in bash up to version 2.05a
+$THIS_SH ./varenv2.sub
+
+# more tests; bugs in bash IFS scoping up through version 4.2
+$THIS_SH ./varenv3.sub
+
+# scoping problems with declare -g through bash-4.2
+${THIS_SH} ./varenv4.sub
+
+# more scoping and declaration problems with -g and arrays through bash-4.2
+${THIS_SH} ./varenv5.sub
+
+# variable scoping in the presence of nameref
+${THIS_SH} ./varenv6.sub
+
+# variable declaration problems with arrays and readonly local variables
+${THIS_SH} ./varenv7.sub
+
+# variable visibility problems with process substitution subshells in
+# redirections
+${THIS_SH} ./varenv8.sub
+
+# make sure that builtins like readonly and export modify local array variables
+# if executed in shell functions, like they modify local scalar variables
+${THIS_SH} ./varenv9.sub
+
+# more tests of unset and local variables with dynamic scoping
+${THIS_SH} ./varenv10.sub
+
+# tests of compound assignments in function scope
+${THIS_SH} ./varenv11.sub
+
+# temporary environment variable propagation and scoping in posix mode
+${THIS_SH} ./varenv12.sub
+
+# temporary environment and invalid shell indentifier names
+${THIS_SH} ./varenv13.sub
+
+# localvar_inherit
+${THIS_SH} ./varenv14.sub
+
+${THIS_SH} ./varenv15.sub
+
+# make sure variable scoping is done right
+tt() { typeset a=b;echo a=$a; };a=z;echo a=$a;tt;echo a=$a
diff --git a/tests/varenv12.sub b/tests/varenv12.sub
index 6aaf512b..edba3c94 100644
--- a/tests/varenv12.sub
+++ b/tests/varenv12.sub
@@ -47,6 +47,28 @@ echo -n 'outside: ' ; declare -p var
unset -v var
unset -f func
+# this will probably change behavior; export shouldn't behave like this when
+# not in posix mode and the sequencing is probably wrong in posix mode. since
+# export is a special builtin, the variable assignment should modify the
+# global variable, leaving the local variable unchanged. all shells, including
+# bash, modify the local variable; bash is the only one that propagates the
+# value out to the calling environment. bash does that only when in posix
+# mode.
+
+func()
+{
+ local var=inside
+ var=value export var
+ echo -n 'inside: ' ; declare -p var
+}
+
+var=outside
+func
+echo -n 'outside: ' ; declare -p var
+
+unset -v var
+unset -f func
+
func()
{
local var=local
@@ -60,3 +82,19 @@ echo -n 'outside: ' ; declare -p var
unset -v var
unset -f func
+
+# test whether or not temporary environment assignments are exported
+# in posix mode
+showfoo()
+{
+ printf %s "foo=${foo-<unset>}"
+ echo -n ' environment foo='
+ printenv foo || echo
+}
+unset foo
+showfoo
+foo=foo showfoo
+showfoo
+
+unset -v foo
+unset -f showfoo
diff --git a/tests/varenv13.sub b/tests/varenv13.sub
new file mode 100644
index 00000000..0e6a42c1
--- /dev/null
+++ b/tests/varenv13.sub
@@ -0,0 +1,23 @@
+f() { declare -p ${!var*} | grep ^var; declare -p var ; }
+
+var[0]=X var[@]=Y f
+
+unset -f f
+unset -v var
+
+typeset -A var
+
+f() { declare -p ${!var*}; }
+
+var[0]=X var[@]=Y
+f
+
+: ${THIS_SH:=./bash}
+env 'v[0]=help' ${THIS_SH} -c 'printenv "v[0]"'
+
+unset -v var
+
+f() { test -v 'var[0]'; echo $?; }
+var[0]=X f
+
+unset -v var
diff --git a/tests/varenv14.sub b/tests/varenv14.sub
new file mode 100644
index 00000000..52b20d81
--- /dev/null
+++ b/tests/varenv14.sub
@@ -0,0 +1,33 @@
+# testing framework for local variable inheritence
+
+shopt -s localvar_inherit
+declare -A var
+
+f() { declare var+=([0]=X); declare -p var; }
+f
+
+f() { declare var=([Y]=Y); declare -p var; }; f
+f() { declare var+=([Y]=Y); declare -p var; }; f
+f() { declare var+=(); declare -p var; }; f
+f() { declare var=(); declare -p var; }; f
+
+unset -f f
+unset -v var
+
+declare -a var=( [0]=12 )
+f() { declare -A var+=([0]=X); declare -p var; }
+f
+
+unset -f f
+unset a s
+
+a=(X) s=X
+
+f() { local -a a s; declare -p a s; }
+f
+
+f() { local a+=(Y) s+=(Y); declare -p a s; }
+f
+
+f() { local -a a+=Y s+=Y; declare -p a s; }
+f
diff --git a/tests/varenv15.in b/tests/varenv15.in
new file mode 100644
index 00000000..e635b12a
--- /dev/null
+++ b/tests/varenv15.in
@@ -0,0 +1,3 @@
+echo varenv15.in: before set: "$@"
+set -- 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
+echo varenv15.in: after set: "$@"
diff --git a/tests/varenv15.sub b/tests/varenv15.sub
new file mode 100644
index 00000000..52c8a940
--- /dev/null
+++ b/tests/varenv15.sub
@@ -0,0 +1,38 @@
+# check saving and restoring positional parameters around function calls
+
+f()
+{
+ echo $FUNCNAME: "$@"
+}
+
+f1()
+{
+ f {1..50}
+ echo $FUNCNAME: after: $@
+}
+
+set -- {1..100}
+
+f1 {1..20}
+echo done: $@
+
+f3()
+{
+ echo $FUNCNAME:$1
+ shift
+ if [ $# -le 0 ]; then
+ return
+ fi
+ f3 "$@"
+}
+
+f3 {1..20}
+
+# now let's try source with and without positional parameters
+
+set -- {1..20}
+echo before source: "$@"
+. ./varenv15.in
+echo after source 1: "$@"
+. ./varenv15.in one two three four five six seven eight nine ten
+echo after source 2: "$@"
diff --git a/variables.c b/variables.c
index 79a90071..00872d64 100644
--- a/variables.c
+++ b/variables.c
@@ -110,6 +110,8 @@ VAR_CONTEXT *shell_variables = (VAR_CONTEXT *)NULL;
the environment. */
HASH_TABLE *shell_functions = (HASH_TABLE *)NULL;
+HASH_TABLE *invalid_env = (HASH_TABLE *)NULL;
+
#if defined (DEBUGGER)
/* The table of shell function definitions that the user defined or that
came from the environment. */
@@ -229,7 +231,9 @@ static SHELL_VAR *get_dirstack __P((SHELL_VAR *));
#if defined (ARRAY_VARS)
static SHELL_VAR *get_groupset __P((SHELL_VAR *));
-
+# if defined (DEBUGGER)
+static SHELL_VAR *get_bashargcv __P((SHELL_VAR *));
+# endif
static SHELL_VAR *build_hashcmd __P((SHELL_VAR *));
static SHELL_VAR *get_hashcmd __P((SHELL_VAR *));
static SHELL_VAR *assign_hashcmd __P((SHELL_VAR *, char *, arrayind_t, char *));
@@ -245,6 +249,10 @@ static SHELL_VAR *init_funcname_var __P((void));
static void initialize_dynamic_variables __P((void));
+static SHELL_VAR *bind_invalid_envvar __P((const char *, char *, int));
+
+static int var_sametype __P((SHELL_VAR *, SHELL_VAR *));
+
static SHELL_VAR *hash_lookup __P((const char *, HASH_TABLE *));
static SHELL_VAR *new_shell_variable __P((const char *));
static SHELL_VAR *make_new_variable __P((const char *, HASH_TABLE *));
@@ -391,7 +399,7 @@ initialize_shell_variables (env, privmode)
}
else
{
- if (temp_var = bind_variable (name, string, 0))
+ if (temp_var = bind_invalid_envvar (name, string, 0))
{
VSETATTR (temp_var, (att_exported | att_imported | att_invisible));
array_needs_making = 1;
@@ -432,17 +440,24 @@ initialize_shell_variables (env, privmode)
if (temp_var)
VUNSETATTR (temp_var, att_readonly);
}
- temp_var = bind_variable (name, string, 0);
- if (temp_var)
+ if (legal_identifier (name))
{
- if (legal_identifier (name))
- VSETATTR (temp_var, (att_exported | att_imported));
- else
+ temp_var = bind_variable (name, string, 0);
+ if (temp_var)
+ {
+ VSETATTR (temp_var, (att_exported | att_imported));
+ if (ro)
+ VSETATTR (temp_var, att_readonly);
+ }
+ }
+ else
+ {
+ temp_var = bind_invalid_envvar (name, string, 0);
+ if (temp_var)
VSETATTR (temp_var, (att_exported | att_imported | att_invisible));
- if (ro)
- VSETATTR (temp_var, att_readonly);
- array_needs_making = 1;
}
+ if (temp_var)
+ array_needs_making = 1;
}
name[char_index] = '=';
@@ -1652,6 +1667,27 @@ get_groupset (self)
return (self);
}
+# if defined (DEBUGGER)
+static SHELL_VAR *
+get_bashargcv (self)
+ SHELL_VAR *self;
+{
+ static int self_semaphore = 0;
+
+ /* Backwards compatibility: if we refer to BASH_ARGV or BASH_ARGC at the
+ top level without enabling debug mode, and we don't have an instance
+ of the variable set, initialize the arg arrays.
+ This will already have been done if debugging_mode != 0. */
+ if (self_semaphore == 0 && variable_context == 0 && debugging_mode == 0) /* don't do it for shell functions */
+ {
+ self_semaphore = 1;
+ init_bash_argv ();
+ self_semaphore = 0;
+ }
+ return self;
+}
+# endif
+
static SHELL_VAR *
build_hashcmd (self)
SHELL_VAR *self;
@@ -1777,6 +1813,11 @@ assign_aliasvar (self, value, ind, key)
arrayind_t ind;
char *key;
{
+ if (legal_alias_name (key, 0) == 0)
+ {
+ report_error (_("`%s': invalid alias name"), key);
+ return (self);
+ }
add_alias (key, value);
return (build_aliasvar (self));
}
@@ -1877,8 +1918,8 @@ initialize_dynamic_variables ()
v = init_dynamic_array_var ("GROUPS", get_groupset, null_array_assign, att_noassign);
# if defined (DEBUGGER)
- v = init_dynamic_array_var ("BASH_ARGC", get_self, null_array_assign, att_noassign|att_nounset);
- v = init_dynamic_array_var ("BASH_ARGV", get_self, null_array_assign, att_noassign|att_nounset);
+ v = init_dynamic_array_var ("BASH_ARGC", get_bashargcv, null_array_assign, att_noassign|att_nounset);
+ v = init_dynamic_array_var ("BASH_ARGV", get_bashargcv, null_array_assign, att_noassign|att_nounset);
# endif /* DEBUGGER */
v = init_dynamic_array_var ("BASH_SOURCE", get_self, null_array_assign, att_noassign|att_nounset);
v = init_dynamic_array_var ("BASH_LINENO", get_self, null_array_assign, att_noassign|att_nounset);
@@ -2226,6 +2267,36 @@ find_variable_nameref_for_assignment (name, flags)
return (var);
}
+/* If find_variable (name) returns NULL, check that it's not a nameref
+ referencing a variable that doesn't exist. If it is, return the new
+ name. If not, return the original name. Kind of like the previous
+ function, but dealing strictly with names. This takes assignment flags
+ so it can deal with the various assignment modes used by `declare'. */
+char *
+nameref_transform_name (name, flags)
+ char *name;
+ int flags;
+{
+ SHELL_VAR *v;
+ char *newname;
+
+ v = 0;
+ if (flags & ASS_MKLOCAL)
+ {
+ v = find_variable_last_nameref (name, 1);
+ /* If we're making local variables, only follow namerefs that point to
+ non-existant variables at the same variable context. */
+ if (v && v->context != variable_context)
+ v = 0;
+ }
+ else if (flags & ASS_MKGLOBAL)
+ v = (flags & ASS_CHKLOCAL) ? find_variable_last_nameref (name, 1)
+ : find_global_variable_last_nameref (name, 1);
+ if (v && nameref_p (v) && valid_nameref_value (nameref_cell (v), 1))
+ return nameref_cell (v);
+ return name;
+}
+
/* Find a variable, forcing a search of the temporary environment first */
SHELL_VAR *
find_variable_tempenv (name)
@@ -2438,6 +2509,42 @@ sh_get_env_value (v)
/* */
/* **************************************************************** */
+static int
+var_sametype (v1, v2)
+ SHELL_VAR *v1;
+ SHELL_VAR *v2;
+{
+ if (v1 == 0 || v2 == 0)
+ return 0;
+#if defined (ARRAY_VARS)
+ else if (assoc_p (v1) && assoc_p (v2))
+ return 1;
+ else if (array_p (v1) && array_p (v2))
+ return 1;
+ else if (array_p (v1) || array_p (v2))
+ return 0;
+ else if (assoc_p (v1) || assoc_p (v2))
+ return 0;
+#endif
+ else
+ return 1;
+}
+
+int
+validate_inherited_value (var, type)
+ SHELL_VAR *var;
+ int type;
+{
+#if defined (ARRAY_VARS)
+ if (type == att_array && assoc_p (var))
+ return 0;
+ else if (type == att_assoc && array_p (var))
+ return 0;
+ else
+#endif
+ return 1; /* should we run convert_var_to_array here or let the caller? */
+}
+
/* Set NAME to VALUE if NAME has no value. */
SHELL_VAR *
set_if_not (name, value)
@@ -2672,13 +2779,31 @@ make_local_array_variable (name, assoc_ok)
ARRAY *array;
var = make_local_variable (name, 0); /* XXX for now */
+ /* If ASSOC_OK is non-zero, assume that we are ok with letting an assoc
+ variable return to the caller without converting it. The caller will
+ either flag an error or do the conversion itself. */
if (var == 0 || array_p (var) || (assoc_ok && assoc_p (var)))
return var;
- array = array_create ();
+ /* Validate any value we inherited from a variable instance at a previous
+ scope and disard anything that's invalid. */
+ if (localvar_inherit && assoc_p (var))
+ {
+ internal_warning ("%s: cannot inherit value from incompatible type", name);
+ VUNSETATTR (var, att_assoc);
+ dispose_variable_value (var);
+ array = array_create ();
+ var_setarray (var, array);
+ }
+ else if (localvar_inherit)
+ var = convert_var_to_array (var); /* XXX */
+ else
+ {
+ dispose_variable_value (var);
+ array = array_create ();
+ var_setarray (var, array);
+ }
- dispose_variable_value (var);
- var_setarray (var, array);
VSETATTR (var, att_array);
return var;
}
@@ -2699,20 +2824,39 @@ make_new_assoc_variable (name)
}
SHELL_VAR *
-make_local_assoc_variable (name)
+make_local_assoc_variable (name, array_ok)
char *name;
+ int array_ok;
{
SHELL_VAR *var;
HASH_TABLE *hash;
var = make_local_variable (name, 0); /* XXX for now */
- if (var == 0 || assoc_p (var))
+ /* If ARRAY_OK is non-zero, assume that we are ok with letting an array
+ variable return to the caller without converting it. The caller will
+ either flag an error or do the conversion itself. */
+ if (var == 0 || assoc_p (var) || (array_ok && array_p (var)))
return var;
- dispose_variable_value (var);
- hash = assoc_create (0);
+ /* Validate any value we inherited from a variable instance at a previous
+ scope and disard anything that's invalid. */
+ if (localvar_inherit && array_p (var))
+ {
+ internal_warning ("%s: cannot inherit value from incompatible type", name);
+ VUNSETATTR (var, att_array);
+ dispose_variable_value (var);
+ hash = assoc_create (0);
+ var_setassoc (var, hash);
+ }
+ else if (localvar_inherit)
+ var = convert_var_to_assoc (var); /* XXX */
+ else
+ {
+ dispose_variable_value (var);
+ hash = assoc_create (0);
+ var_setassoc (var, hash);
+ }
- var_setassoc (var, hash);
VSETATTR (var, att_assoc);
return var;
}
@@ -2911,7 +3055,12 @@ bind_variable_internal (name, value, table, hflags, aflags)
}
else if (entry && nameref_p (entry))
{
- newval = nameref_cell (entry);
+ newval = nameref_cell (entry); /* XXX - newval can't be NULL here */
+ if (valid_nameref_value (newval, 0) == 0)
+ {
+ sh_invalidid (newval);
+ return ((SHELL_VAR *)NULL);
+ }
#if defined (ARRAY_VARS)
/* declare -n foo=x[2] ; foo=bar */
if (valid_array_reference (newval, 0))
@@ -3124,6 +3273,17 @@ bind_global_variable (name, value, flags)
return (bind_variable_internal (name, value, global_variables->table, 0, flags));
}
+static SHELL_VAR *
+bind_invalid_envvar (name, value, flags)
+ const char *name;
+ char *value;
+ int flags;
+{
+ if (invalid_env == 0)
+ invalid_env = hash_create (64); /* XXX */
+ return (bind_variable_internal (name, value, invalid_env, HASH_NOSRCH, flags));
+}
+
/* Make VAR, a simple shell variable, have value VALUE. Once assigned a
value, variables are no longer invisible. This is a duplicate of part
of the internals of bind_variable. If the variable is exported, or
@@ -3374,6 +3534,12 @@ assign_in_env (word, flags)
aflags |= ASS_APPEND;
}
+ if (legal_identifier (name) == 0)
+ {
+ sh_invalidid (name);
+ return (0);
+ }
+
var = find_variable (name);
if (var == 0)
{
@@ -4741,7 +4907,7 @@ maybe_make_export_env ()
{
register char **temp_array;
int new_size;
- VAR_CONTEXT *tcxt;
+ VAR_CONTEXT *tcxt, *icxt;
if (array_needs_making)
{
@@ -4753,7 +4919,7 @@ maybe_make_export_env ()
variables are not (yet) exported, this will always be big enough
for the exported variables and functions. */
new_size = n_shell_variables () + HASH_ENTRIES (shell_functions) + 1 +
- HASH_ENTRIES (temporary_env);
+ HASH_ENTRIES (temporary_env) + HASH_ENTRIES (invalid_env);
if (new_size > export_env_size)
{
export_env_size = new_size;
@@ -4774,11 +4940,23 @@ maybe_make_export_env ()
}
else
tcxt = shell_variables;
+
+ if (invalid_env)
+ {
+ icxt = new_var_context ((char *)NULL, 0);
+ icxt->table = invalid_env;
+ icxt->down = tcxt;
+ }
+ else
+ icxt = tcxt;
- temp_array = make_var_export_array (tcxt);
+ temp_array = make_var_export_array (icxt);
if (temp_array)
add_temp_array_to_env (temp_array, 0, 0);
+ if (icxt != tcxt)
+ free (icxt);
+
if (tcxt != shell_variables)
free (tcxt);
@@ -4893,13 +5071,14 @@ push_var_context (name, flags, tempvars)
/* As of IEEE Std 1003.1-2017, assignment statements preceding shell
functions no longer behave like assignment statements preceding
- special builtins, and do not persist in the current shell environment. */
- posix_func_behavior = posixly_correct; /* placeholder for later */
+ special builtins, and do not persist in the current shell environment.
+ This is austin group interp #654, though nobody implements it yet. */
+ posix_func_behavior = posixly_correct;
vc = new_var_context (name, flags);
/* Posix interp 1009, temporary assignments preceding function calls modify
the current environment *before* the command is executed. */
- if (posix_func_behavior && tempvars == temporary_env)
+ if (posix_func_behavior && (flags & VC_FUNCENV) && tempvars == temporary_env)
merge_temporary_env ();
else if (tempvars)
{
@@ -4923,24 +5102,25 @@ push_var_context (name, flags, tempvars)
calls to the surrounding scope.
It takes variables out of a temporary environment hash table. We take the
- variable in data
+ variable in data.
*/
static void
push_func_var (data)
PTR_T data;
{
SHELL_VAR *var, *v;
- int posix_func_behavior;
+ int posix_var_behavior;
var = (SHELL_VAR *)data;
/* As of IEEE Std 1003.1-2017, assignment statements preceding shell
functions no longer behave like assignment statements preceding
- special builtins, and do not persist in the current shell environment. */
- posix_func_behavior = posixly_correct; /* placeholder for later */
+ special builtins, and do not persist in the current shell environment.
+ This is austin group interp #654, though nobody implements it yet. */
+ posix_var_behavior = posixly_correct;
if (local_p (var) && STREQ (var->name, "-"))
set_current_options (value_cell (var));
- else if (tempvar_p (var) && (posix_func_behavior || (var->attributes & att_propagate)))
+ else if (tempvar_p (var) && (posix_var_behavior || (var->attributes & att_propagate)))
{
/* Make sure we have a hash table to store the variable in while it is
being propagated down to the global variables table. Create one if
@@ -5110,10 +5290,64 @@ pop_scope (is_special)
/* */
/* **************************************************************** */
-static WORD_LIST **dollar_arg_stack = (WORD_LIST **)NULL;
+struct saved_dollar_vars {
+ char **first_ten;
+ WORD_LIST *rest;
+};
+
+static struct saved_dollar_vars *dollar_arg_stack = (struct saved_dollar_vars *)NULL;
static int dollar_arg_stack_slots;
static int dollar_arg_stack_index;
+/* Functions to manipulate dollar_vars array. Need to keep these in sync with
+ whatever remember_args() does. */
+static char **
+save_dollar_vars ()
+{
+ char **ret;
+ int i;
+
+ ret = strvec_create (10);
+ for (i = 1; i < 10; i++)
+ {
+ ret[i] = dollar_vars[i];
+ dollar_vars[i] = (char *)NULL;
+ }
+ return ret;
+}
+
+static void
+restore_dollar_vars (args)
+ char **args;
+{
+ int i;
+
+ for (i = 1; i < 10; i++)
+ dollar_vars[i] = args[i];
+}
+
+static void
+free_dollar_vars ()
+{
+ int i;
+
+ for (i = 1; i < 10; i++)
+ {
+ FREE (dollar_vars[i]);
+ dollar_vars[i] = (char *)NULL;
+ }
+}
+
+static void
+free_saved_dollar_vars (args)
+ char **args;
+{
+ int i;
+
+ for (i = 1; i < 10; i++)
+ FREE (args[i]);
+}
+
/* XXX - should always be followed by remember_args () */
void
push_context (name, is_subshell, tempvars)
@@ -5145,35 +5379,53 @@ push_dollar_vars ()
{
if (dollar_arg_stack_index + 2 > dollar_arg_stack_slots)
{
- dollar_arg_stack = (WORD_LIST **)
+ dollar_arg_stack = (struct saved_dollar_vars *)
xrealloc (dollar_arg_stack, (dollar_arg_stack_slots += 10)
- * sizeof (WORD_LIST *));
+ * sizeof (struct saved_dollar_vars));
}
- dollar_arg_stack[dollar_arg_stack_index++] = list_rest_of_args ();
- dollar_arg_stack[dollar_arg_stack_index] = (WORD_LIST *)NULL;
+
+ dollar_arg_stack[dollar_arg_stack_index].first_ten = save_dollar_vars ();
+ dollar_arg_stack[dollar_arg_stack_index++].rest = rest_of_args;
+ rest_of_args = (WORD_LIST *)NULL;
+
+ dollar_arg_stack[dollar_arg_stack_index].first_ten = (char **)NULL;
+ dollar_arg_stack[dollar_arg_stack_index].rest = (WORD_LIST *)NULL;
}
/* Restore the positional parameters from our stack. */
void
pop_dollar_vars ()
{
- if (!dollar_arg_stack || dollar_arg_stack_index == 0)
+ if (dollar_arg_stack == 0 || dollar_arg_stack_index == 0)
return;
- remember_args (dollar_arg_stack[--dollar_arg_stack_index], 1);
- dispose_words (dollar_arg_stack[dollar_arg_stack_index]);
- dollar_arg_stack[dollar_arg_stack_index] = (WORD_LIST *)NULL;
+ /* Do what remember_args (xxx, 1) would have done. */
+ free_dollar_vars ();
+ dispose_words (rest_of_args);
+
+ rest_of_args = dollar_arg_stack[--dollar_arg_stack_index].rest;
+ restore_dollar_vars (dollar_arg_stack[dollar_arg_stack_index].first_ten);
+ free (dollar_arg_stack[dollar_arg_stack_index].first_ten);
+
+ dollar_arg_stack[dollar_arg_stack_index].first_ten = (char **)NULL;
+ dollar_arg_stack[dollar_arg_stack_index].rest = (WORD_LIST *)NULL;
+
set_dollar_vars_unchanged ();
+ invalidate_cached_quoted_dollar_at ();
}
void
dispose_saved_dollar_vars ()
{
- if (!dollar_arg_stack || dollar_arg_stack_index == 0)
+ if (dollar_arg_stack == 0 || dollar_arg_stack_index == 0)
return;
- dispose_words (dollar_arg_stack[dollar_arg_stack_index]);
- dollar_arg_stack[dollar_arg_stack_index] = (WORD_LIST *)NULL;
+ dispose_words (dollar_arg_stack[--dollar_arg_stack_index].rest);
+ free_saved_dollar_vars (dollar_arg_stack[dollar_arg_stack_index].first_ten);
+ free (dollar_arg_stack[dollar_arg_stack_index].first_ten);
+
+ dollar_arg_stack[dollar_arg_stack_index].first_ten = (char **)NULL;
+ dollar_arg_stack[dollar_arg_stack_index].rest = (WORD_LIST *)NULL;
}
/* Initialize BASH_ARGV and BASH_ARGC after turning on extdebug after the
diff --git a/variables.h b/variables.h
index bc1546d1..2f6e3546 100644
--- a/variables.h
+++ b/variables.h
@@ -251,6 +251,9 @@ extern WORD_LIST *rest_of_args;
extern pid_t dollar_dollar_pid;
extern void initialize_shell_variables __P((char **, int));
+
+extern int validate_inherited_value __P((SHELL_VAR *, int));
+
extern SHELL_VAR *set_if_not __P((char *, char *));
extern void sh_set_lines_and_columns __P((int, int));
@@ -278,6 +281,7 @@ extern SHELL_VAR *find_shell_variable __P((const char *));
extern SHELL_VAR *find_tempenv_variable __P((const char *));
extern SHELL_VAR *find_variable_no_invisible __P((const char *));
extern SHELL_VAR *find_variable_for_assignment __P((const char *));
+extern char *nameref_transform_name __P((char *, int));
extern SHELL_VAR *copy_variable __P((SHELL_VAR *));
extern SHELL_VAR *make_local_variable __P((const char *, int));
extern SHELL_VAR *bind_variable __P((const char *, char *, int));
@@ -380,7 +384,7 @@ extern SHELL_VAR *make_new_array_variable __P((char *));
extern SHELL_VAR *make_local_array_variable __P((char *, int));
extern SHELL_VAR *make_new_assoc_variable __P((char *));
-extern SHELL_VAR *make_local_assoc_variable __P((char *));
+extern SHELL_VAR *make_local_assoc_variable __P((char *, int));
extern void set_pipestatus_array __P((int *, int));
extern ARRAY *save_pipestatus_array __P((void));
diff --git a/y.tab.c b/y.tab.c
index d894bf60..86419834 100644
--- a/y.tab.c
+++ b/y.tab.c
@@ -4703,20 +4703,21 @@ shell_getc (remove_quoted_newline)
{
char *expansions;
# if defined (BANG_HISTORY)
- int old_hist;
-
/* If the current delimiter is a single quote, we should not be
performing history expansion, even if we're on a different
line from the original single quote. */
- old_hist = history_expansion_inhibited;
if (current_delimiter (dstack) == '\'')
- history_expansion_inhibited = 1;
+ history_quoting_state = '\'';
+ else if (current_delimiter (dstack) == '"')
+ history_quoting_state = '"';
+ else
+ history_quoting_state = 0;
# endif
/* Calling with a third argument of 1 allows remember_on_history to
determine whether or not the line is saved to the history list */
expansions = pre_process_line (shell_input_line, 1, 1);
# if defined (BANG_HISTORY)
- history_expansion_inhibited = old_hist;
+ history_quoting_state = 0;
# endif
if (expansions != shell_input_line)
{
@@ -5456,6 +5457,13 @@ reset_parser ()
token_to_read = '\n';
}
+void
+reset_readahead_token ()
+{
+ if (token_to_read == '\n')
+ token_to_read = 0;
+}
+
/* Read the next token. Command can be READ (normal operation) or
RESET (to normalize state). */
static int