mirror of
https://https.git.savannah.gnu.org/git/bash.git
synced 2026-06-28 16:09:51 +02:00
commit bash-20160909 snapshot
This commit is contained in:
@@ -1,3 +1,28 @@
|
||||
This document details the changes between this version, bash-4.4-release, and
|
||||
the previous version, bash-4.4-rc2.
|
||||
|
||||
1. Changes to Bash
|
||||
|
||||
a. Fixed a bug that could potentially result in a crash due to an integer
|
||||
overflow.
|
||||
|
||||
b. Fixed a bug in where commands printed due to `set -x' could be incorrectly
|
||||
quoted if being printed in contexts where they haven't yet been expanded.
|
||||
|
||||
c. Fixed several memory leaks.
|
||||
|
||||
d. Fixed a bug that could potentially cause the terminal attributes to be
|
||||
set incorrectly by a command run from a programmable completion.
|
||||
|
||||
e. Fixed several potential buffer overflow issues in the word expansion code.
|
||||
|
||||
2. Changes to Readline
|
||||
|
||||
3. New Features in Bash
|
||||
|
||||
4. New Features in Readline
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
This document details the changes between this version, bash-4.4-rc2, and
|
||||
the previous version, bash-4.4-beta2.
|
||||
|
||||
@@ -233,15 +258,15 @@ q. Fixed a bug that allowed subshells begun to execute process substitutions
|
||||
r. Fixed a bug that could cause the shell to dump core when receiving a
|
||||
SIGCHLD for which a trap has been set while running in posix mode.
|
||||
|
||||
s. Fixed a bug that caused bash to not restore BASH_ARGC, BASH_ARGV, BASH_SOURCE,
|
||||
BASH_LINENO, and FUNCNAME if the shell received a SIGINT while reading
|
||||
commands from a file while executing `.'.
|
||||
s. Fixed a bug that caused bash to not restore BASH_ARGC, BASH_ARGV,
|
||||
BASH_SOURCE, BASH_LINENO, and FUNCNAME if the shell received a SIGINT
|
||||
while reading commands from a file while executing `.'.
|
||||
|
||||
t. Fixed a bug that caused the `-o history' option to have no effect when
|
||||
supplied on the command line when starting a new shell.
|
||||
|
||||
u. Fixed a bug that caused history expansions occurring in command substitutions
|
||||
to not be performed.
|
||||
u. Fixed a bug that caused history expansions occurring in command
|
||||
substitutions to not be performed.
|
||||
|
||||
v. Fixed a bug that caused `eval' run in a non-interactive shell to disable
|
||||
history expansion for the remainder of the shell script, even if the script
|
||||
@@ -592,7 +617,7 @@ dd. Fixed a bug that caused patterns containing `*' to match pathnames in cases
|
||||
where slashes must be matched explicitly.
|
||||
|
||||
ee. Fixed a problem with patterns containing `:' in colon-separated variables
|
||||
lik GLOBIGNORE.
|
||||
like GLOBIGNORE.
|
||||
|
||||
ff. Fixed a bug that caused indirect variable expansion using indexed arrays to
|
||||
always use index 0.
|
||||
|
||||
+31
-7
@@ -1,3 +1,28 @@
|
||||
This document details the changes between this version, bash-4.4-release, and
|
||||
the previous version, bash-4.4-rc2.
|
||||
|
||||
1. Changes to Bash
|
||||
|
||||
a. Fixed a bug that could potentially result in a crash due to an integer
|
||||
overflow.
|
||||
|
||||
b. Fixed a bug in where commands printed due to `set -x' could be incorrectly
|
||||
quoted if being printed in contexts where they haven't yet been expanded.
|
||||
|
||||
c. Fixed several memory leaks.
|
||||
|
||||
d. Fixed a bug that could potentially cause the terminal attributes to be
|
||||
set incorrectly by a command run from a programmable completion.
|
||||
|
||||
e. Fixed several potential buffer overflow issues in the word expansion code.
|
||||
|
||||
2. Changes to Readline
|
||||
|
||||
3. New Features in Bash
|
||||
|
||||
4. New Features in Readline
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
This document details the changes between this version, bash-4.4-rc2, and
|
||||
the previous version, bash-4.4-beta2.
|
||||
|
||||
@@ -233,15 +258,15 @@ q. Fixed a bug that allowed subshells begun to execute process substitutions
|
||||
r. Fixed a bug that could cause the shell to dump core when receiving a
|
||||
SIGCHLD for which a trap has been set while running in posix mode.
|
||||
|
||||
s. Fixed a bug that caused bash to not restore BASH_ARGC, BASH_ARGV, BASH_SOURCE,
|
||||
BASH_LINENO, and FUNCNAME if the shell received a SIGINT while reading
|
||||
commands from a file while executing `.'.
|
||||
s. Fixed a bug that caused bash to not restore BASH_ARGC, BASH_ARGV,
|
||||
BASH_SOURCE, BASH_LINENO, and FUNCNAME if the shell received a SIGINT
|
||||
while reading commands from a file while executing `.'.
|
||||
|
||||
t. Fixed a bug that caused the `-o history' option to have no effect when
|
||||
supplied on the command line when starting a new shell.
|
||||
|
||||
u. Fixed a bug that caused history expansions occurring in command substitutions
|
||||
to not be performed.
|
||||
u. Fixed a bug that caused history expansions occurring in command
|
||||
substitutions to not be performed.
|
||||
|
||||
v. Fixed a bug that caused `eval' run in a non-interactive shell to disable
|
||||
history expansion for the remainder of the shell script, even if the script
|
||||
@@ -592,7 +617,7 @@ dd. Fixed a bug that caused patterns containing `*' to match pathnames in cases
|
||||
where slashes must be matched explicitly.
|
||||
|
||||
ee. Fixed a problem with patterns containing `:' in colon-separated variables
|
||||
lik GLOBIGNORE.
|
||||
like GLOBIGNORE.
|
||||
|
||||
ff. Fixed a bug that caused indirect variable expansion using indexed arrays to
|
||||
always use index 0.
|
||||
@@ -1004,4 +1029,3 @@ h. The insert-char function attempts to batch-insert all pending typeahead
|
||||
i. rl_callback_sigcleanup: a new application function that can clean up and
|
||||
unset any state set by readline's callback mode. Intended to be used
|
||||
after a signal.
|
||||
|
||||
|
||||
@@ -372,6 +372,25 @@ above.
|
||||
characters in the replacement string as special; if it treats them as
|
||||
special, then quote removal should remove them.
|
||||
|
||||
54. Bash-4.4 no longer considers a reference to ${a[@]} or ${a[*]}, where `a'
|
||||
is an array without any elements set, to be a reference to an unset
|
||||
variable. This means that such a reference will not cause the shell to
|
||||
exit when the `-u' option is enabled.
|
||||
|
||||
55. Bash-4.4 allows double quotes to quote the history expansion character (!)
|
||||
when in Posix mode, since Posix specifies the effects of double quotes.
|
||||
|
||||
56. Bash-4.4 does not inherit $PS4 from the environment if running as root.
|
||||
|
||||
57. Bash-4.4 doesn't allow a `break' or `continue' in a function to affect
|
||||
loop execution in the calling context.
|
||||
|
||||
58. Bash-4.4 no longer expands tildes in $PATH elements when in Posix mode.
|
||||
|
||||
59. Bash-4.4 does not attempt to perform a compound array assignment if an
|
||||
argument to `declare' or a similar builtin expands to a word that looks
|
||||
like a compound array assignment (e.g. declare w=$x where x='(foo)').
|
||||
|
||||
Shell Compatibility Level
|
||||
=========================
|
||||
|
||||
|
||||
@@ -11677,3 +11677,22 @@ subst.c
|
||||
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
|
||||
|
||||
[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
|
||||
|
||||
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>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#! /bin/sh
|
||||
# From configure.ac for Bash 4.4, version 4.081.
|
||||
# From configure.ac for Bash 4.4, version 4.082.
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated by GNU Autoconf 2.69 for bash 4.4-releng.
|
||||
# Generated by GNU Autoconf 2.69 for bash 4.4-maint.
|
||||
#
|
||||
# Report bugs to <bug-bash@gnu.org>.
|
||||
#
|
||||
@@ -581,8 +581,8 @@ MAKEFLAGS=
|
||||
# Identity of this package.
|
||||
PACKAGE_NAME='bash'
|
||||
PACKAGE_TARNAME='bash'
|
||||
PACKAGE_VERSION='4.4-releng'
|
||||
PACKAGE_STRING='bash 4.4-releng'
|
||||
PACKAGE_VERSION='4.4-maint'
|
||||
PACKAGE_STRING='bash 4.4-maint'
|
||||
PACKAGE_BUGREPORT='bug-bash@gnu.org'
|
||||
PACKAGE_URL=''
|
||||
|
||||
@@ -1393,7 +1393,7 @@ if test "$ac_init_help" = "long"; then
|
||||
# Omit some internal or obsolete options to make the list less imposing.
|
||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||
cat <<_ACEOF
|
||||
\`configure' configures bash 4.4-releng to adapt to many kinds of systems.
|
||||
\`configure' configures bash 4.4-maint to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
@@ -1458,7 +1458,7 @@ fi
|
||||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
short | recursive ) echo "Configuration of bash 4.4-releng:";;
|
||||
short | recursive ) echo "Configuration of bash 4.4-maint:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
@@ -1651,7 +1651,7 @@ fi
|
||||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
bash configure 4.4-releng
|
||||
bash configure 4.4-maint
|
||||
generated by GNU Autoconf 2.69
|
||||
|
||||
Copyright (C) 2012 Free Software Foundation, Inc.
|
||||
@@ -2360,7 +2360,7 @@ cat >config.log <<_ACEOF
|
||||
This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
|
||||
It was created by bash $as_me 4.4-releng, which was
|
||||
It was created by bash $as_me 4.4-maint, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
@@ -2754,7 +2754,7 @@ ac_config_headers="$ac_config_headers config.h"
|
||||
|
||||
|
||||
BASHVERS=4.4
|
||||
RELSTATUS=releng
|
||||
RELSTATUS=maint
|
||||
|
||||
case "$RELSTATUS" in
|
||||
alp*|bet*|dev*|rc*|releng*|maint*) DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
|
||||
@@ -16705,7 +16705,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 4.4-releng, which was
|
||||
This file was extended by bash $as_me 4.4-maint, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
@@ -16771,7 +16771,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 4.4-releng
|
||||
bash config.status 4.4-maint
|
||||
configured by $0, generated by GNU Autoconf 2.69,
|
||||
with options \\"\$ac_cs_config\\"
|
||||
|
||||
|
||||
+2
-2
@@ -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 4.4, version 4.081])dnl
|
||||
AC_REVISION([for Bash 4.4, version 4.082])dnl
|
||||
|
||||
define(bashvers, 4.4)
|
||||
define(relstatus, releng)
|
||||
define(relstatus, maint)
|
||||
|
||||
AC_INIT([bash], bashvers-relstatus, [bug-bash@gnu.org])
|
||||
|
||||
|
||||
+180
-173
@@ -2,9 +2,9 @@ This is bash.info, produced by makeinfo version 6.1 from
|
||||
bashref.texi.
|
||||
|
||||
This text is a brief description of the features that are present in the
|
||||
Bash shell (version 4.4, 26 August 2016).
|
||||
Bash shell (version 4.4, 7 September 2016).
|
||||
|
||||
This is Edition 4.4, last updated 26 August 2016, of 'The GNU Bash
|
||||
This is Edition 4.4, last updated 7 September 2016, of 'The GNU Bash
|
||||
Reference Manual', for 'Bash', Version 4.4.
|
||||
|
||||
Copyright (C) 1988-2016 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 4.4, 26 August 2016). The Bash home page is
|
||||
Bash shell (version 4.4, 7 September 2016). The Bash home page is
|
||||
<http://www.gnu.org/software/bash/>.
|
||||
|
||||
This is Edition 4.4, last updated 26 August 2016, of 'The GNU Bash
|
||||
This is Edition 4.4, last updated 7 September 2016, of 'The GNU Bash
|
||||
Reference Manual', for 'Bash', Version 4.4.
|
||||
|
||||
Bash contains features that appear in other popular shells, and some
|
||||
@@ -6420,158 +6420,165 @@ startup files.
|
||||
14. POSIX special builtins are found before shell functions during
|
||||
command lookup.
|
||||
|
||||
15. Literal tildes that appear as the first character in elements of
|
||||
15. 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
|
||||
the 'PATH' variable are not expanded as described above under *note
|
||||
Tilde Expansion::.
|
||||
|
||||
16. The 'time' reserved word may be used by itself as a command. When
|
||||
17. 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.
|
||||
|
||||
17. When parsing and expanding a ${...} expansion that appears within
|
||||
18. 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.
|
||||
|
||||
18. The parser does not recognize 'time' as a reserved word if the
|
||||
19. The parser does not recognize 'time' as a reserved word if the
|
||||
next token begins with a '-'.
|
||||
|
||||
19. The '!' character does not introduce history expansion within a
|
||||
20. The '!' character does not introduce history expansion within a
|
||||
double-quoted string, even if the 'histexpand' option is enabled.
|
||||
|
||||
20. If a POSIX special builtin returns an error status, a
|
||||
21. If a POSIX special builtin returns an error status, a
|
||||
non-interactive shell exits. The fatal errors are those listed in
|
||||
the POSIX standard, and include things like passing incorrect
|
||||
options, redirection errors, variable assignment errors for
|
||||
assignments preceding the command name, and so on.
|
||||
|
||||
21. A non-interactive shell exits with an error status if a variable
|
||||
22. 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.
|
||||
|
||||
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 in an assignment statement preceding a
|
||||
special builtin, but not with any other simple command.
|
||||
|
||||
23. A non-interactive shell exits with an error status if the
|
||||
24. A non-interactive shell exits with an error status if the
|
||||
iteration variable in a 'for' statement or the selection variable
|
||||
in a 'select' statement is a readonly variable.
|
||||
|
||||
24. Non-interactive shells exit if FILENAME in '.' FILENAME is not
|
||||
25. Non-interactive shells exit if FILENAME in '.' FILENAME is not
|
||||
found.
|
||||
|
||||
25. Non-interactive shells exit if a syntax error in an arithmetic
|
||||
26. Non-interactive shells exit if a syntax error in an arithmetic
|
||||
expansion results in an invalid expression.
|
||||
|
||||
26. Non-interactive shells exit on word expansion errors.
|
||||
27. Non-interactive shells exit if a parameter expansion error occurs.
|
||||
|
||||
27. Non-interactive shells exit if there is a syntax error in a script
|
||||
28. 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.
|
||||
|
||||
28. Process substitution is not available.
|
||||
29. Process substitution is not available.
|
||||
|
||||
29. While variable indirection is available, it may not be applied to
|
||||
30. While variable indirection is available, it may not be applied to
|
||||
the '#' and '?' special parameters.
|
||||
|
||||
30. Assignment statements preceding POSIX special builtins persist in
|
||||
31. 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
|
||||
the shell environment after the builtin completes.
|
||||
|
||||
31. Assignment statements preceding shell function calls persist in
|
||||
33. 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.
|
||||
|
||||
32. The 'command' builtin does not prevent builtins that take
|
||||
34. 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'.
|
||||
|
||||
33. The 'bg' builtin uses the required format to describe each job
|
||||
35. 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.
|
||||
|
||||
34. The output of 'kill -l' prints all the signal names on a single
|
||||
36. The output of 'kill -l' prints all the signal names on a single
|
||||
line, separated by spaces, without the 'SIG' prefix.
|
||||
|
||||
35. The 'kill' builtin does not accept signal names with a 'SIG'
|
||||
37. The 'kill' builtin does not accept signal names with a 'SIG'
|
||||
prefix.
|
||||
|
||||
36. The 'export' and 'readonly' builtin commands display their output
|
||||
38. The 'export' and 'readonly' builtin commands display their output
|
||||
in the format required by POSIX.
|
||||
|
||||
37. The 'trap' builtin displays signal names without the leading
|
||||
39. The 'trap' builtin displays signal names without the leading
|
||||
'SIG'.
|
||||
|
||||
38. The 'trap' builtin doesn't check the first argument for a possible
|
||||
40. 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.
|
||||
|
||||
39. The '.' and 'source' builtins do not search the current directory
|
||||
41. The '.' and 'source' builtins do not search the current directory
|
||||
for the filename argument if it is not found by searching 'PATH'.
|
||||
|
||||
40. Enabling POSIX mode has the effect of setting the
|
||||
42. 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.
|
||||
|
||||
41. When the 'alias' builtin displays alias definitions, it does not
|
||||
43. When the 'alias' builtin displays alias definitions, it does not
|
||||
display them with a leading 'alias ' unless the '-p' option is
|
||||
supplied.
|
||||
|
||||
42. When the 'set' builtin is invoked without options, it does not
|
||||
44. When the 'set' builtin is invoked without options, it does not
|
||||
display shell function names and definitions.
|
||||
|
||||
43. When the 'set' builtin is invoked without options, it displays
|
||||
45. 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.
|
||||
|
||||
44. When the 'cd' builtin is invoked in LOGICAL mode, and the pathname
|
||||
46. 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.
|
||||
|
||||
45. The 'pwd' builtin verifies that the value it prints is the same as
|
||||
47. 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.
|
||||
|
||||
46. When listing the history, the 'fc' builtin does not include an
|
||||
48. When listing the history, the 'fc' builtin does not include an
|
||||
indication of whether or not a history entry has been modified.
|
||||
|
||||
47. The default editor used by 'fc' is 'ed'.
|
||||
49. The default editor used by 'fc' is 'ed'.
|
||||
|
||||
48. The 'type' and 'command' builtins will not report a non-executable
|
||||
50. 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'.
|
||||
|
||||
49. The 'vi' editing mode will invoke the 'vi' editor directly when
|
||||
51. The 'vi' editing mode will invoke the 'vi' editor directly when
|
||||
the 'v' command is run, instead of checking '$VISUAL' and
|
||||
'$EDITOR'.
|
||||
|
||||
50. When the 'xpg_echo' option is enabled, Bash does not attempt to
|
||||
52. 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.
|
||||
|
||||
51. The 'ulimit' builtin uses a block size of 512 bytes for the '-c'
|
||||
53. The 'ulimit' builtin uses a block size of 512 bytes for the '-c'
|
||||
and '-f' options.
|
||||
|
||||
52. The arrival of 'SIGCHLD' when a trap is set on 'SIGCHLD' does not
|
||||
54. 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.
|
||||
|
||||
53. The 'read' builtin may be interrupted by a signal for which a trap
|
||||
55. 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.
|
||||
|
||||
54. Bash removes an exited background process's status from the list
|
||||
56. 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
|
||||
@@ -11344,134 +11351,134 @@ D.5 Concept Index
|
||||
|
||||
|
||||
Tag Table:
|
||||
Node: Top893
|
||||
Node: Introduction2809
|
||||
Node: What is Bash?3025
|
||||
Node: What is a shell?4139
|
||||
Node: Definitions6677
|
||||
Node: Basic Shell Features9628
|
||||
Node: Shell Syntax10847
|
||||
Node: Shell Operation11873
|
||||
Node: Quoting13166
|
||||
Node: Escape Character14466
|
||||
Node: Single Quotes14951
|
||||
Node: Double Quotes15299
|
||||
Node: ANSI-C Quoting16577
|
||||
Node: Locale Translation17830
|
||||
Node: Comments18726
|
||||
Node: Shell Commands19344
|
||||
Node: Simple Commands20216
|
||||
Node: Pipelines20847
|
||||
Node: Lists23590
|
||||
Node: Compound Commands25319
|
||||
Node: Looping Constructs26322
|
||||
Node: Conditional Constructs28785
|
||||
Node: Command Grouping39707
|
||||
Node: Coprocesses41186
|
||||
Node: GNU Parallel43018
|
||||
Node: Shell Functions46991
|
||||
Node: Shell Parameters52197
|
||||
Node: Positional Parameters56610
|
||||
Node: Special Parameters57510
|
||||
Node: Shell Expansions60847
|
||||
Node: Brace Expansion62941
|
||||
Node: Tilde Expansion65722
|
||||
Node: Shell Parameter Expansion68070
|
||||
Node: Command Substitution82202
|
||||
Node: Arithmetic Expansion83557
|
||||
Node: Process Substitution84489
|
||||
Node: Word Splitting85609
|
||||
Node: Filename Expansion87553
|
||||
Node: Pattern Matching89837
|
||||
Node: Quote Removal93535
|
||||
Node: Redirections93830
|
||||
Node: Executing Commands103250
|
||||
Node: Simple Command Expansion103920
|
||||
Node: Command Search and Execution105850
|
||||
Node: Command Execution Environment108186
|
||||
Node: Environment111170
|
||||
Node: Exit Status112829
|
||||
Node: Signals114499
|
||||
Node: Shell Scripts116466
|
||||
Node: Shell Builtin Commands118981
|
||||
Node: Bourne Shell Builtins121015
|
||||
Node: Bash Builtins141615
|
||||
Node: Modifying Shell Behavior170260
|
||||
Node: The Set Builtin170605
|
||||
Node: The Shopt Builtin181018
|
||||
Node: Special Builtins196817
|
||||
Node: Shell Variables197796
|
||||
Node: Bourne Shell Variables198233
|
||||
Node: Bash Variables200264
|
||||
Node: Bash Features228644
|
||||
Node: Invoking Bash229543
|
||||
Node: Bash Startup Files235492
|
||||
Node: Interactive Shells240595
|
||||
Node: What is an Interactive Shell?241005
|
||||
Node: Is this Shell Interactive?241654
|
||||
Node: Interactive Shell Behavior242469
|
||||
Node: Bash Conditional Expressions245844
|
||||
Node: Shell Arithmetic250084
|
||||
Node: Aliases252901
|
||||
Node: Arrays255449
|
||||
Node: The Directory Stack260533
|
||||
Node: Directory Stack Builtins261317
|
||||
Node: Controlling the Prompt264285
|
||||
Node: The Restricted Shell267031
|
||||
Node: Bash POSIX Mode268856
|
||||
Node: Job Control278909
|
||||
Node: Job Control Basics279369
|
||||
Node: Job Control Builtins284088
|
||||
Node: Job Control Variables288618
|
||||
Node: Command Line Editing289774
|
||||
Node: Introduction and Notation291445
|
||||
Node: Readline Interaction293068
|
||||
Node: Readline Bare Essentials294259
|
||||
Node: Readline Movement Commands296042
|
||||
Node: Readline Killing Commands297002
|
||||
Node: Readline Arguments298920
|
||||
Node: Searching299964
|
||||
Node: Readline Init File302150
|
||||
Node: Readline Init File Syntax303297
|
||||
Node: Conditional Init Constructs323484
|
||||
Node: Sample Init File326009
|
||||
Node: Bindable Readline Commands329126
|
||||
Node: Commands For Moving330330
|
||||
Node: Commands For History331473
|
||||
Node: Commands For Text335762
|
||||
Node: Commands For Killing339151
|
||||
Node: Numeric Arguments341632
|
||||
Node: Commands For Completion342771
|
||||
Node: Keyboard Macros346962
|
||||
Node: Miscellaneous Commands347649
|
||||
Node: Readline vi Mode353453
|
||||
Node: Programmable Completion354360
|
||||
Node: Programmable Completion Builtins361821
|
||||
Node: A Programmable Completion Example371707
|
||||
Node: Using History Interactively376959
|
||||
Node: Bash History Facilities377643
|
||||
Node: Bash History Builtins380644
|
||||
Node: History Interaction384641
|
||||
Node: Event Designators387605
|
||||
Node: Word Designators388824
|
||||
Node: Modifiers390461
|
||||
Node: Installing Bash391863
|
||||
Node: Basic Installation393000
|
||||
Node: Compilers and Options395691
|
||||
Node: Compiling For Multiple Architectures396432
|
||||
Node: Installation Names398095
|
||||
Node: Specifying the System Type398913
|
||||
Node: Sharing Defaults399629
|
||||
Node: Operation Controls400302
|
||||
Node: Optional Features401260
|
||||
Node: Reporting Bugs411517
|
||||
Node: Major Differences From The Bourne Shell412711
|
||||
Node: GNU Free Documentation License429563
|
||||
Node: Indexes454740
|
||||
Node: Builtin Index455194
|
||||
Node: Reserved Word Index462021
|
||||
Node: Variable Index464469
|
||||
Node: Function Index479928
|
||||
Node: Concept Index493085
|
||||
Node: Top897
|
||||
Node: Introduction2817
|
||||
Node: What is Bash?3033
|
||||
Node: What is a shell?4147
|
||||
Node: Definitions6685
|
||||
Node: Basic Shell Features9636
|
||||
Node: Shell Syntax10855
|
||||
Node: Shell Operation11881
|
||||
Node: Quoting13174
|
||||
Node: Escape Character14474
|
||||
Node: Single Quotes14959
|
||||
Node: Double Quotes15307
|
||||
Node: ANSI-C Quoting16585
|
||||
Node: Locale Translation17838
|
||||
Node: Comments18734
|
||||
Node: Shell Commands19352
|
||||
Node: Simple Commands20224
|
||||
Node: Pipelines20855
|
||||
Node: Lists23598
|
||||
Node: Compound Commands25327
|
||||
Node: Looping Constructs26330
|
||||
Node: Conditional Constructs28793
|
||||
Node: Command Grouping39715
|
||||
Node: Coprocesses41194
|
||||
Node: GNU Parallel43026
|
||||
Node: Shell Functions46999
|
||||
Node: Shell Parameters52205
|
||||
Node: Positional Parameters56618
|
||||
Node: Special Parameters57518
|
||||
Node: Shell Expansions60855
|
||||
Node: Brace Expansion62949
|
||||
Node: Tilde Expansion65730
|
||||
Node: Shell Parameter Expansion68078
|
||||
Node: Command Substitution82210
|
||||
Node: Arithmetic Expansion83565
|
||||
Node: Process Substitution84497
|
||||
Node: Word Splitting85617
|
||||
Node: Filename Expansion87561
|
||||
Node: Pattern Matching89845
|
||||
Node: Quote Removal93543
|
||||
Node: Redirections93838
|
||||
Node: Executing Commands103258
|
||||
Node: Simple Command Expansion103928
|
||||
Node: Command Search and Execution105858
|
||||
Node: Command Execution Environment108194
|
||||
Node: Environment111178
|
||||
Node: Exit Status112837
|
||||
Node: Signals114507
|
||||
Node: Shell Scripts116474
|
||||
Node: Shell Builtin Commands118989
|
||||
Node: Bourne Shell Builtins121023
|
||||
Node: Bash Builtins141623
|
||||
Node: Modifying Shell Behavior170268
|
||||
Node: The Set Builtin170613
|
||||
Node: The Shopt Builtin181026
|
||||
Node: Special Builtins196825
|
||||
Node: Shell Variables197804
|
||||
Node: Bourne Shell Variables198241
|
||||
Node: Bash Variables200272
|
||||
Node: Bash Features228652
|
||||
Node: Invoking Bash229551
|
||||
Node: Bash Startup Files235500
|
||||
Node: Interactive Shells240603
|
||||
Node: What is an Interactive Shell?241013
|
||||
Node: Is this Shell Interactive?241662
|
||||
Node: Interactive Shell Behavior242477
|
||||
Node: Bash Conditional Expressions245852
|
||||
Node: Shell Arithmetic250092
|
||||
Node: Aliases252909
|
||||
Node: Arrays255457
|
||||
Node: The Directory Stack260541
|
||||
Node: Directory Stack Builtins261325
|
||||
Node: Controlling the Prompt264293
|
||||
Node: The Restricted Shell267039
|
||||
Node: Bash POSIX Mode268864
|
||||
Node: Job Control279215
|
||||
Node: Job Control Basics279675
|
||||
Node: Job Control Builtins284394
|
||||
Node: Job Control Variables288924
|
||||
Node: Command Line Editing290080
|
||||
Node: Introduction and Notation291751
|
||||
Node: Readline Interaction293374
|
||||
Node: Readline Bare Essentials294565
|
||||
Node: Readline Movement Commands296348
|
||||
Node: Readline Killing Commands297308
|
||||
Node: Readline Arguments299226
|
||||
Node: Searching300270
|
||||
Node: Readline Init File302456
|
||||
Node: Readline Init File Syntax303603
|
||||
Node: Conditional Init Constructs323790
|
||||
Node: Sample Init File326315
|
||||
Node: Bindable Readline Commands329432
|
||||
Node: Commands For Moving330636
|
||||
Node: Commands For History331779
|
||||
Node: Commands For Text336068
|
||||
Node: Commands For Killing339457
|
||||
Node: Numeric Arguments341938
|
||||
Node: Commands For Completion343077
|
||||
Node: Keyboard Macros347268
|
||||
Node: Miscellaneous Commands347955
|
||||
Node: Readline vi Mode353759
|
||||
Node: Programmable Completion354666
|
||||
Node: Programmable Completion Builtins362127
|
||||
Node: A Programmable Completion Example372013
|
||||
Node: Using History Interactively377265
|
||||
Node: Bash History Facilities377949
|
||||
Node: Bash History Builtins380950
|
||||
Node: History Interaction384947
|
||||
Node: Event Designators387911
|
||||
Node: Word Designators389130
|
||||
Node: Modifiers390767
|
||||
Node: Installing Bash392169
|
||||
Node: Basic Installation393306
|
||||
Node: Compilers and Options395997
|
||||
Node: Compiling For Multiple Architectures396738
|
||||
Node: Installation Names398401
|
||||
Node: Specifying the System Type399219
|
||||
Node: Sharing Defaults399935
|
||||
Node: Operation Controls400608
|
||||
Node: Optional Features401566
|
||||
Node: Reporting Bugs411823
|
||||
Node: Major Differences From The Bourne Shell413017
|
||||
Node: GNU Free Documentation License429869
|
||||
Node: Indexes455046
|
||||
Node: Builtin Index455500
|
||||
Node: Reserved Word Index462327
|
||||
Node: Variable Index464775
|
||||
Node: Function Index480234
|
||||
Node: Concept Index493391
|
||||
|
||||
End Tag Table
|
||||
|
||||
Binary file not shown.
+12
-5
@@ -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 4.4, 26 August 2016).
|
||||
the Bash shell (version 4.4, 7 September 2016).
|
||||
|
||||
This is Edition 4.4, last updated 26 August 2016,
|
||||
This is Edition 4.4, last updated 7 September 2016,
|
||||
of The GNU Bash Reference Manual,
|
||||
for Bash, Version 4.4.
|
||||
|
||||
@@ -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 4.4, 26 August 2016).
|
||||
the Bash shell (version 4.4, 7 September 2016).
|
||||
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 4.4, last updated 26 August 2016,
|
||||
<p>This is Edition 4.4, last updated 7 September 2016,
|
||||
of <cite>The GNU Bash Reference Manual</cite>,
|
||||
for <code>Bash</code>, Version 4.4.
|
||||
</p>
|
||||
@@ -8787,6 +8787,9 @@ builtins.
|
||||
</li><li> <small>POSIX</small> special builtins are found before shell functions
|
||||
during command lookup.
|
||||
|
||||
</li><li> When printing shell function definitions (e.g., by <code>type</code>), Bash does
|
||||
not print the <code>function</code> keyword.
|
||||
|
||||
</li><li> Literal tildes that appear as the first character in elements of
|
||||
the <code>PATH</code> variable are not expanded as described above
|
||||
under <a href="#Tilde-Expansion">Tilde Expansion</a>.
|
||||
@@ -8834,7 +8837,7 @@ is not found.
|
||||
</li><li> Non-interactive shells exit if a syntax error in an arithmetic expansion
|
||||
results in an invalid expression.
|
||||
|
||||
</li><li> Non-interactive shells exit on word expansion errors.
|
||||
</li><li> Non-interactive shells exit if a parameter expansion error occurs.
|
||||
|
||||
</li><li> Non-interactive shells exit if there is a syntax error in a script read
|
||||
with the <code>.</code> or <code>source</code> builtins, or in a string processed by
|
||||
@@ -8845,6 +8848,10 @@ the <code>eval</code> builtin.
|
||||
</li><li> While variable indirection is available, it may not be applied to the
|
||||
‘<samp>#</samp>’ and ‘<samp>?</samp>’ special parameters.
|
||||
|
||||
</li><li> When expanding the ‘<samp>*</samp>’ special parameter in a pattern context where the
|
||||
expansion is double-quoted does not treat the <code>$*</code> as if it were
|
||||
double-quoted.
|
||||
|
||||
</li><li> Assignment statements preceding <small>POSIX</small> special builtins
|
||||
persist in the shell environment after the builtin completes.
|
||||
|
||||
|
||||
+180
-173
@@ -2,9 +2,9 @@ This is bashref.info, produced by makeinfo version 6.1 from
|
||||
bashref.texi.
|
||||
|
||||
This text is a brief description of the features that are present in the
|
||||
Bash shell (version 4.4, 26 August 2016).
|
||||
Bash shell (version 4.4, 7 September 2016).
|
||||
|
||||
This is Edition 4.4, last updated 26 August 2016, of 'The GNU Bash
|
||||
This is Edition 4.4, last updated 7 September 2016, of 'The GNU Bash
|
||||
Reference Manual', for 'Bash', Version 4.4.
|
||||
|
||||
Copyright (C) 1988-2016 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 4.4, 26 August 2016). The Bash home page is
|
||||
Bash shell (version 4.4, 7 September 2016). The Bash home page is
|
||||
<http://www.gnu.org/software/bash/>.
|
||||
|
||||
This is Edition 4.4, last updated 26 August 2016, of 'The GNU Bash
|
||||
This is Edition 4.4, last updated 7 September 2016, of 'The GNU Bash
|
||||
Reference Manual', for 'Bash', Version 4.4.
|
||||
|
||||
Bash contains features that appear in other popular shells, and some
|
||||
@@ -6420,158 +6420,165 @@ startup files.
|
||||
14. POSIX special builtins are found before shell functions during
|
||||
command lookup.
|
||||
|
||||
15. Literal tildes that appear as the first character in elements of
|
||||
15. 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
|
||||
the 'PATH' variable are not expanded as described above under *note
|
||||
Tilde Expansion::.
|
||||
|
||||
16. The 'time' reserved word may be used by itself as a command. When
|
||||
17. 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.
|
||||
|
||||
17. When parsing and expanding a ${...} expansion that appears within
|
||||
18. 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.
|
||||
|
||||
18. The parser does not recognize 'time' as a reserved word if the
|
||||
19. The parser does not recognize 'time' as a reserved word if the
|
||||
next token begins with a '-'.
|
||||
|
||||
19. The '!' character does not introduce history expansion within a
|
||||
20. The '!' character does not introduce history expansion within a
|
||||
double-quoted string, even if the 'histexpand' option is enabled.
|
||||
|
||||
20. If a POSIX special builtin returns an error status, a
|
||||
21. If a POSIX special builtin returns an error status, a
|
||||
non-interactive shell exits. The fatal errors are those listed in
|
||||
the POSIX standard, and include things like passing incorrect
|
||||
options, redirection errors, variable assignment errors for
|
||||
assignments preceding the command name, and so on.
|
||||
|
||||
21. A non-interactive shell exits with an error status if a variable
|
||||
22. 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.
|
||||
|
||||
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 in an assignment statement preceding a
|
||||
special builtin, but not with any other simple command.
|
||||
|
||||
23. A non-interactive shell exits with an error status if the
|
||||
24. A non-interactive shell exits with an error status if the
|
||||
iteration variable in a 'for' statement or the selection variable
|
||||
in a 'select' statement is a readonly variable.
|
||||
|
||||
24. Non-interactive shells exit if FILENAME in '.' FILENAME is not
|
||||
25. Non-interactive shells exit if FILENAME in '.' FILENAME is not
|
||||
found.
|
||||
|
||||
25. Non-interactive shells exit if a syntax error in an arithmetic
|
||||
26. Non-interactive shells exit if a syntax error in an arithmetic
|
||||
expansion results in an invalid expression.
|
||||
|
||||
26. Non-interactive shells exit on word expansion errors.
|
||||
27. Non-interactive shells exit if a parameter expansion error occurs.
|
||||
|
||||
27. Non-interactive shells exit if there is a syntax error in a script
|
||||
28. 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.
|
||||
|
||||
28. Process substitution is not available.
|
||||
29. Process substitution is not available.
|
||||
|
||||
29. While variable indirection is available, it may not be applied to
|
||||
30. While variable indirection is available, it may not be applied to
|
||||
the '#' and '?' special parameters.
|
||||
|
||||
30. Assignment statements preceding POSIX special builtins persist in
|
||||
31. 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
|
||||
the shell environment after the builtin completes.
|
||||
|
||||
31. Assignment statements preceding shell function calls persist in
|
||||
33. 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.
|
||||
|
||||
32. The 'command' builtin does not prevent builtins that take
|
||||
34. 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'.
|
||||
|
||||
33. The 'bg' builtin uses the required format to describe each job
|
||||
35. 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.
|
||||
|
||||
34. The output of 'kill -l' prints all the signal names on a single
|
||||
36. The output of 'kill -l' prints all the signal names on a single
|
||||
line, separated by spaces, without the 'SIG' prefix.
|
||||
|
||||
35. The 'kill' builtin does not accept signal names with a 'SIG'
|
||||
37. The 'kill' builtin does not accept signal names with a 'SIG'
|
||||
prefix.
|
||||
|
||||
36. The 'export' and 'readonly' builtin commands display their output
|
||||
38. The 'export' and 'readonly' builtin commands display their output
|
||||
in the format required by POSIX.
|
||||
|
||||
37. The 'trap' builtin displays signal names without the leading
|
||||
39. The 'trap' builtin displays signal names without the leading
|
||||
'SIG'.
|
||||
|
||||
38. The 'trap' builtin doesn't check the first argument for a possible
|
||||
40. 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.
|
||||
|
||||
39. The '.' and 'source' builtins do not search the current directory
|
||||
41. The '.' and 'source' builtins do not search the current directory
|
||||
for the filename argument if it is not found by searching 'PATH'.
|
||||
|
||||
40. Enabling POSIX mode has the effect of setting the
|
||||
42. 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.
|
||||
|
||||
41. When the 'alias' builtin displays alias definitions, it does not
|
||||
43. When the 'alias' builtin displays alias definitions, it does not
|
||||
display them with a leading 'alias ' unless the '-p' option is
|
||||
supplied.
|
||||
|
||||
42. When the 'set' builtin is invoked without options, it does not
|
||||
44. When the 'set' builtin is invoked without options, it does not
|
||||
display shell function names and definitions.
|
||||
|
||||
43. When the 'set' builtin is invoked without options, it displays
|
||||
45. 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.
|
||||
|
||||
44. When the 'cd' builtin is invoked in LOGICAL mode, and the pathname
|
||||
46. 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.
|
||||
|
||||
45. The 'pwd' builtin verifies that the value it prints is the same as
|
||||
47. 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.
|
||||
|
||||
46. When listing the history, the 'fc' builtin does not include an
|
||||
48. When listing the history, the 'fc' builtin does not include an
|
||||
indication of whether or not a history entry has been modified.
|
||||
|
||||
47. The default editor used by 'fc' is 'ed'.
|
||||
49. The default editor used by 'fc' is 'ed'.
|
||||
|
||||
48. The 'type' and 'command' builtins will not report a non-executable
|
||||
50. 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'.
|
||||
|
||||
49. The 'vi' editing mode will invoke the 'vi' editor directly when
|
||||
51. The 'vi' editing mode will invoke the 'vi' editor directly when
|
||||
the 'v' command is run, instead of checking '$VISUAL' and
|
||||
'$EDITOR'.
|
||||
|
||||
50. When the 'xpg_echo' option is enabled, Bash does not attempt to
|
||||
52. 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.
|
||||
|
||||
51. The 'ulimit' builtin uses a block size of 512 bytes for the '-c'
|
||||
53. The 'ulimit' builtin uses a block size of 512 bytes for the '-c'
|
||||
and '-f' options.
|
||||
|
||||
52. The arrival of 'SIGCHLD' when a trap is set on 'SIGCHLD' does not
|
||||
54. 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.
|
||||
|
||||
53. The 'read' builtin may be interrupted by a signal for which a trap
|
||||
55. 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.
|
||||
|
||||
54. Bash removes an exited background process's status from the list
|
||||
56. 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
|
||||
@@ -11344,134 +11351,134 @@ D.5 Concept Index
|
||||
|
||||
|
||||
Tag Table:
|
||||
Node: Top893
|
||||
Node: Introduction2809
|
||||
Node: What is Bash?3025
|
||||
Node: What is a shell?4139
|
||||
Node: Definitions6677
|
||||
Node: Basic Shell Features9628
|
||||
Node: Shell Syntax10847
|
||||
Node: Shell Operation11873
|
||||
Node: Quoting13166
|
||||
Node: Escape Character14466
|
||||
Node: Single Quotes14951
|
||||
Node: Double Quotes15299
|
||||
Node: ANSI-C Quoting16577
|
||||
Node: Locale Translation17830
|
||||
Node: Comments18726
|
||||
Node: Shell Commands19344
|
||||
Node: Simple Commands20216
|
||||
Node: Pipelines20847
|
||||
Node: Lists23590
|
||||
Node: Compound Commands25319
|
||||
Node: Looping Constructs26322
|
||||
Node: Conditional Constructs28785
|
||||
Node: Command Grouping39707
|
||||
Node: Coprocesses41186
|
||||
Node: GNU Parallel43018
|
||||
Node: Shell Functions46991
|
||||
Node: Shell Parameters52197
|
||||
Node: Positional Parameters56610
|
||||
Node: Special Parameters57510
|
||||
Node: Shell Expansions60847
|
||||
Node: Brace Expansion62941
|
||||
Node: Tilde Expansion65722
|
||||
Node: Shell Parameter Expansion68070
|
||||
Node: Command Substitution82202
|
||||
Node: Arithmetic Expansion83557
|
||||
Node: Process Substitution84489
|
||||
Node: Word Splitting85609
|
||||
Node: Filename Expansion87553
|
||||
Node: Pattern Matching89837
|
||||
Node: Quote Removal93535
|
||||
Node: Redirections93830
|
||||
Node: Executing Commands103250
|
||||
Node: Simple Command Expansion103920
|
||||
Node: Command Search and Execution105850
|
||||
Node: Command Execution Environment108186
|
||||
Node: Environment111170
|
||||
Node: Exit Status112829
|
||||
Node: Signals114499
|
||||
Node: Shell Scripts116466
|
||||
Node: Shell Builtin Commands118981
|
||||
Node: Bourne Shell Builtins121015
|
||||
Node: Bash Builtins141615
|
||||
Node: Modifying Shell Behavior170260
|
||||
Node: The Set Builtin170605
|
||||
Node: The Shopt Builtin181018
|
||||
Node: Special Builtins196817
|
||||
Node: Shell Variables197796
|
||||
Node: Bourne Shell Variables198233
|
||||
Node: Bash Variables200264
|
||||
Node: Bash Features228644
|
||||
Node: Invoking Bash229543
|
||||
Node: Bash Startup Files235492
|
||||
Node: Interactive Shells240595
|
||||
Node: What is an Interactive Shell?241005
|
||||
Node: Is this Shell Interactive?241654
|
||||
Node: Interactive Shell Behavior242469
|
||||
Node: Bash Conditional Expressions245844
|
||||
Node: Shell Arithmetic250084
|
||||
Node: Aliases252901
|
||||
Node: Arrays255449
|
||||
Node: The Directory Stack260533
|
||||
Node: Directory Stack Builtins261317
|
||||
Node: Controlling the Prompt264285
|
||||
Node: The Restricted Shell267031
|
||||
Node: Bash POSIX Mode268856
|
||||
Node: Job Control278909
|
||||
Node: Job Control Basics279369
|
||||
Node: Job Control Builtins284088
|
||||
Node: Job Control Variables288618
|
||||
Node: Command Line Editing289774
|
||||
Node: Introduction and Notation291445
|
||||
Node: Readline Interaction293068
|
||||
Node: Readline Bare Essentials294259
|
||||
Node: Readline Movement Commands296042
|
||||
Node: Readline Killing Commands297002
|
||||
Node: Readline Arguments298920
|
||||
Node: Searching299964
|
||||
Node: Readline Init File302150
|
||||
Node: Readline Init File Syntax303297
|
||||
Node: Conditional Init Constructs323484
|
||||
Node: Sample Init File326009
|
||||
Node: Bindable Readline Commands329126
|
||||
Node: Commands For Moving330330
|
||||
Node: Commands For History331473
|
||||
Node: Commands For Text335762
|
||||
Node: Commands For Killing339151
|
||||
Node: Numeric Arguments341632
|
||||
Node: Commands For Completion342771
|
||||
Node: Keyboard Macros346962
|
||||
Node: Miscellaneous Commands347649
|
||||
Node: Readline vi Mode353453
|
||||
Node: Programmable Completion354360
|
||||
Node: Programmable Completion Builtins361821
|
||||
Node: A Programmable Completion Example371707
|
||||
Node: Using History Interactively376959
|
||||
Node: Bash History Facilities377643
|
||||
Node: Bash History Builtins380644
|
||||
Node: History Interaction384641
|
||||
Node: Event Designators387605
|
||||
Node: Word Designators388824
|
||||
Node: Modifiers390461
|
||||
Node: Installing Bash391863
|
||||
Node: Basic Installation393000
|
||||
Node: Compilers and Options395691
|
||||
Node: Compiling For Multiple Architectures396432
|
||||
Node: Installation Names398095
|
||||
Node: Specifying the System Type398913
|
||||
Node: Sharing Defaults399629
|
||||
Node: Operation Controls400302
|
||||
Node: Optional Features401260
|
||||
Node: Reporting Bugs411517
|
||||
Node: Major Differences From The Bourne Shell412711
|
||||
Node: GNU Free Documentation License429563
|
||||
Node: Indexes454740
|
||||
Node: Builtin Index455194
|
||||
Node: Reserved Word Index462021
|
||||
Node: Variable Index464469
|
||||
Node: Function Index479928
|
||||
Node: Concept Index493085
|
||||
Node: Top897
|
||||
Node: Introduction2817
|
||||
Node: What is Bash?3033
|
||||
Node: What is a shell?4147
|
||||
Node: Definitions6685
|
||||
Node: Basic Shell Features9636
|
||||
Node: Shell Syntax10855
|
||||
Node: Shell Operation11881
|
||||
Node: Quoting13174
|
||||
Node: Escape Character14474
|
||||
Node: Single Quotes14959
|
||||
Node: Double Quotes15307
|
||||
Node: ANSI-C Quoting16585
|
||||
Node: Locale Translation17838
|
||||
Node: Comments18734
|
||||
Node: Shell Commands19352
|
||||
Node: Simple Commands20224
|
||||
Node: Pipelines20855
|
||||
Node: Lists23598
|
||||
Node: Compound Commands25327
|
||||
Node: Looping Constructs26330
|
||||
Node: Conditional Constructs28793
|
||||
Node: Command Grouping39715
|
||||
Node: Coprocesses41194
|
||||
Node: GNU Parallel43026
|
||||
Node: Shell Functions46999
|
||||
Node: Shell Parameters52205
|
||||
Node: Positional Parameters56618
|
||||
Node: Special Parameters57518
|
||||
Node: Shell Expansions60855
|
||||
Node: Brace Expansion62949
|
||||
Node: Tilde Expansion65730
|
||||
Node: Shell Parameter Expansion68078
|
||||
Node: Command Substitution82210
|
||||
Node: Arithmetic Expansion83565
|
||||
Node: Process Substitution84497
|
||||
Node: Word Splitting85617
|
||||
Node: Filename Expansion87561
|
||||
Node: Pattern Matching89845
|
||||
Node: Quote Removal93543
|
||||
Node: Redirections93838
|
||||
Node: Executing Commands103258
|
||||
Node: Simple Command Expansion103928
|
||||
Node: Command Search and Execution105858
|
||||
Node: Command Execution Environment108194
|
||||
Node: Environment111178
|
||||
Node: Exit Status112837
|
||||
Node: Signals114507
|
||||
Node: Shell Scripts116474
|
||||
Node: Shell Builtin Commands118989
|
||||
Node: Bourne Shell Builtins121023
|
||||
Node: Bash Builtins141623
|
||||
Node: Modifying Shell Behavior170268
|
||||
Node: The Set Builtin170613
|
||||
Node: The Shopt Builtin181026
|
||||
Node: Special Builtins196825
|
||||
Node: Shell Variables197804
|
||||
Node: Bourne Shell Variables198241
|
||||
Node: Bash Variables200272
|
||||
Node: Bash Features228652
|
||||
Node: Invoking Bash229551
|
||||
Node: Bash Startup Files235500
|
||||
Node: Interactive Shells240603
|
||||
Node: What is an Interactive Shell?241013
|
||||
Node: Is this Shell Interactive?241662
|
||||
Node: Interactive Shell Behavior242477
|
||||
Node: Bash Conditional Expressions245852
|
||||
Node: Shell Arithmetic250092
|
||||
Node: Aliases252909
|
||||
Node: Arrays255457
|
||||
Node: The Directory Stack260541
|
||||
Node: Directory Stack Builtins261325
|
||||
Node: Controlling the Prompt264293
|
||||
Node: The Restricted Shell267039
|
||||
Node: Bash POSIX Mode268864
|
||||
Node: Job Control279215
|
||||
Node: Job Control Basics279675
|
||||
Node: Job Control Builtins284394
|
||||
Node: Job Control Variables288924
|
||||
Node: Command Line Editing290080
|
||||
Node: Introduction and Notation291751
|
||||
Node: Readline Interaction293374
|
||||
Node: Readline Bare Essentials294565
|
||||
Node: Readline Movement Commands296348
|
||||
Node: Readline Killing Commands297308
|
||||
Node: Readline Arguments299226
|
||||
Node: Searching300270
|
||||
Node: Readline Init File302456
|
||||
Node: Readline Init File Syntax303603
|
||||
Node: Conditional Init Constructs323790
|
||||
Node: Sample Init File326315
|
||||
Node: Bindable Readline Commands329432
|
||||
Node: Commands For Moving330636
|
||||
Node: Commands For History331779
|
||||
Node: Commands For Text336068
|
||||
Node: Commands For Killing339457
|
||||
Node: Numeric Arguments341938
|
||||
Node: Commands For Completion343077
|
||||
Node: Keyboard Macros347268
|
||||
Node: Miscellaneous Commands347955
|
||||
Node: Readline vi Mode353759
|
||||
Node: Programmable Completion354666
|
||||
Node: Programmable Completion Builtins362127
|
||||
Node: A Programmable Completion Example372013
|
||||
Node: Using History Interactively377265
|
||||
Node: Bash History Facilities377949
|
||||
Node: Bash History Builtins380950
|
||||
Node: History Interaction384947
|
||||
Node: Event Designators387911
|
||||
Node: Word Designators389130
|
||||
Node: Modifiers390767
|
||||
Node: Installing Bash392169
|
||||
Node: Basic Installation393306
|
||||
Node: Compilers and Options395997
|
||||
Node: Compiling For Multiple Architectures396738
|
||||
Node: Installation Names398401
|
||||
Node: Specifying the System Type399219
|
||||
Node: Sharing Defaults399935
|
||||
Node: Operation Controls400608
|
||||
Node: Optional Features401566
|
||||
Node: Reporting Bugs411823
|
||||
Node: Major Differences From The Bourne Shell413017
|
||||
Node: GNU Free Documentation License429869
|
||||
Node: Indexes455046
|
||||
Node: Builtin Index455500
|
||||
Node: Reserved Word Index462327
|
||||
Node: Variable Index464775
|
||||
Node: Function Index480234
|
||||
Node: Concept Index493391
|
||||
|
||||
End Tag Table
|
||||
|
||||
+34
-40
@@ -1,12 +1,9 @@
|
||||
This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/MacPorts 2016_1) (preloaded format=pdfetex 2016.7.6) 31 AUG 2016 10:24
|
||||
This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/MacPorts 2016_1) (preloaded format=pdftex 2016.7.6) 7 SEP 2016 17:14
|
||||
entering extended mode
|
||||
restricted \write18 enabled.
|
||||
file:line:error style messages enabled.
|
||||
%&-line parsing enabled.
|
||||
**\catcode126=12 \def\normaltilde{~}\catcode126=13 \let~\normaltilde \input /u
|
||||
sr/homes/chet/src/bash/src/doc/bashref.texi
|
||||
(/usr/homes/chet/src/bash/src/doc/bashref.texi
|
||||
(/Users/chet/src/bash/src/doc/texinfo.tex
|
||||
**/usr/homes/chet/src/bash/src/doc/bashref.texi
|
||||
(/usr/homes/chet/src/bash/src/doc/bashref.texi (./texinfo.tex
|
||||
Loading texinfo [version 2015-11-22.14]:
|
||||
\outerhsize=\dimen16
|
||||
\outervsize=\dimen17
|
||||
@@ -162,22 +159,19 @@ This is `epsf.tex' v2.7.4 <14 February 2011>
|
||||
texinfo.tex: doing @include of version.texi
|
||||
|
||||
|
||||
(/Users/chet/src/bash/src/doc/version.texi) [1{/opt/local/var/db/texmf/fonts/ma
|
||||
p/pdftex/updmap/pdftex.map}] [2] (/Users/chet/src/bash/src/doc/bashref.toc
|
||||
[-1] [-2] [-3]) [-4] (/Users/chet/src/bash/src/doc/bashref.toc)
|
||||
(/Users/chet/src/bash/src/doc/bashref.toc) Chapter 1
|
||||
(./version.texi) [1{/opt/local/var/db/texmf/fonts/map/pdftex/updmap/pdftex.map}
|
||||
] [2] (./bashref.toc [-1] [-2] [-3]) [-4] (./bashref.toc) (./bashref.toc)
|
||||
Chapter 1
|
||||
\openout0 = `bashref.toc'.
|
||||
|
||||
|
||||
(/Users/chet/src/bash/src/doc/bashref.aux)
|
||||
(./bashref.aux)
|
||||
\openout1 = `bashref.aux'.
|
||||
|
||||
Chapter 2 [1] [2]
|
||||
@cpindfile=@write2
|
||||
\openout2 = `bashref.cp'.
|
||||
|
||||
[3] Chapter 3
|
||||
[4] [5] [6]
|
||||
[3] Chapter 3 [4] [5] [6]
|
||||
@vrindfile=@write3
|
||||
\openout3 = `bashref.vr'.
|
||||
|
||||
@@ -185,7 +179,8 @@ p/pdftex/updmap/pdftex.map}] [2] (/Users/chet/src/bash/src/doc/bashref.toc
|
||||
@rwindfile=@write4
|
||||
\openout4 = `bashref.rw'.
|
||||
|
||||
[8] [9] [10]
|
||||
|
||||
[8] [9] [10]
|
||||
Overfull \hbox (38.26587pt too wide) in paragraph at lines 872--872
|
||||
[]@texttt case @textttsl word @texttt in [ [(] @textttsl pat-tern @texttt [| @
|
||||
textttsl pattern@texttt ][]) @textttsl command-list @texttt ;;][] esac[]
|
||||
@@ -384,35 +379,34 @@ texinfo.tex: doing @include of hsuser.texi
|
||||
Appendix C [155]
|
||||
texinfo.tex: doing @include of fdl.texi
|
||||
|
||||
(/Users/chet/src/bash/src/doc/fdl.texi [156] [157] [158]
|
||||
[159] [160] [161] [162]) Appendix D [163] [164] [165] [166] [167] [168]
|
||||
[169] [170] [171] [172] )
|
||||
(./fdl.texi [156] [157] [158] [159] [160] [161] [162])
|
||||
Appendix D [163] [164] [165] [166] [167] [168] [169] [170] [171] [172] )
|
||||
Here is how much of TeX's memory you used:
|
||||
4060 strings out of 497105
|
||||
47057 string characters out of 6206776
|
||||
136596 words of memory out of 5000000
|
||||
4059 strings out of 497105
|
||||
46636 string characters out of 6206779
|
||||
137600 words of memory out of 5000000
|
||||
4846 multiletter control sequences out of 15000+600000
|
||||
34315 words of font info for 116 fonts, out of 8000000 for 9000
|
||||
51 hyphenation exceptions out of 8191
|
||||
16i,6n,16p,394b,968s stack positions out of 5000i,500n,10000p,200000b,80000s
|
||||
{/opt/local/share/texmf-texlive/fonts/enc/dvips/cm-sup
|
||||
er/cm-super-t1.enc}</opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/
|
||||
cm/cmbx12.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cm
|
||||
csc10.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmmi10
|
||||
.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmmi12.pfb>
|
||||
</opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmmi9.pfb></opt/
|
||||
local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmr10.pfb></opt/local/
|
||||
share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmr9.pfb></opt/local/share/t
|
||||
exmf-texlive/fonts/type1/public/amsfonts/cm/cmsl10.pfb></opt/local/share/texmf-
|
||||
texlive/fonts/type1/public/amsfonts/cm/cmsltt10.pfb></opt/local/share/texmf-tex
|
||||
live/fonts/type1/public/amsfonts/cm/cmsy10.pfb></opt/local/share/texmf-texlive/
|
||||
fonts/type1/public/amsfonts/cm/cmti10.pfb></opt/local/share/texmf-texlive/fonts
|
||||
/type1/public/amsfonts/cm/cmtt10.pfb></opt/local/share/texmf-texlive/fonts/type
|
||||
1/public/amsfonts/cm/cmtt12.pfb></opt/local/share/texmf-texlive/fonts/type1/pub
|
||||
lic/amsfonts/cm/cmtt9.pfb></opt/local/share/texmf-texlive/fonts/type1/public/cm
|
||||
-super/sfrm1095.pfb></opt/local/share/texmf-texlive/fonts/type1/public/cm-super
|
||||
/sfrm1440.pfb>
|
||||
Output written on bashref.pdf (178 pages, 734126 bytes).
|
||||
16i,6n,16p,319b,968s stack positions out of 5000i,500n,10000p,200000b,80000s
|
||||
{/opt/l
|
||||
ocal/share/texmf-texlive/fonts/enc/dvips/cm-super/cm-super-t1.enc}</opt/local/s
|
||||
hare/texmf-texlive/fonts/type1/public/amsfonts/cm/cmbx12.pfb></opt/local/share/
|
||||
texmf-texlive/fonts/type1/public/amsfonts/cm/cmcsc10.pfb></opt/local/share/texm
|
||||
f-texlive/fonts/type1/public/amsfonts/cm/cmmi10.pfb></opt/local/share/texmf-tex
|
||||
live/fonts/type1/public/amsfonts/cm/cmmi12.pfb></opt/local/share/texmf-texlive/
|
||||
fonts/type1/public/amsfonts/cm/cmmi9.pfb></opt/local/share/texmf-texlive/fonts/
|
||||
type1/public/amsfonts/cm/cmr10.pfb></opt/local/share/texmf-texlive/fonts/type1/
|
||||
public/amsfonts/cm/cmr9.pfb></opt/local/share/texmf-texlive/fonts/type1/public/
|
||||
amsfonts/cm/cmsl10.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfo
|
||||
nts/cm/cmsltt10.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts
|
||||
/cm/cmsy10.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/c
|
||||
mti10.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmtt10
|
||||
.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmtt12.pfb>
|
||||
</opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmtt9.pfb></opt/
|
||||
local/share/texmf-texlive/fonts/type1/public/cm-super/sfrm1095.pfb></opt/local/
|
||||
share/texmf-texlive/fonts/type1/public/cm-super/sfrm1440.pfb>
|
||||
Output written on bashref.pdf (178 pages, 734389 bytes).
|
||||
PDF statistics:
|
||||
2577 PDF objects out of 2984 (max. 8388607)
|
||||
2354 compressed objects within 24 object streams
|
||||
|
||||
Binary file not shown.
+204
-196
@@ -1,7 +1,7 @@
|
||||
%!PS-Adobe-2.0
|
||||
%%Creator: dvips(k) 5.996 Copyright 2016 Radical Eye Software
|
||||
%%Title: bashref.dvi
|
||||
%%CreationDate: Wed Aug 31 10:24:23 2016
|
||||
%%CreationDate: Wed Sep 7 17:14:23 2016
|
||||
%%Pages: 178
|
||||
%%PageOrder: Ascend
|
||||
%%BoundingBox: 0 0 612 792
|
||||
@@ -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 2016.08.31:1024
|
||||
%DVIPSSource: TeX output 2016.09.07:1714
|
||||
%%BeginProcSet: tex.pro 0 0
|
||||
%!
|
||||
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
|
||||
@@ -7596,23 +7596,24 @@ 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(4.4,)g(for)f
|
||||
Ft(Bash)g Fu(V)-8 b(ersion)31 b(4.4.)3252 1697 y(August)f(2016)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
|
||||
Ft(Bash)g Fu(V)-8 b(ersion)31 b(4.4.)3118 1697 y(Septem)m(b)s(er)f
|
||||
(2016)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
|
||||
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(4.4,)c(26)f(August)f
|
||||
(2016\).)150 4523 y(This)e(is)g(Edition)h(4.4,)h(last)f(up)s(dated)e
|
||||
(26)i(August)f(2016,)j(of)e Fr(The)f(GNU)h(Bash)f(Reference)h(Man)m
|
||||
(ual)p Fu(,)h(for)150 4633 y Ft(Bash)p Fu(,)f(V)-8 b(ersion)31
|
||||
b(4.4.)150 4767 y(Cop)m(yrigh)m(t)602 4764 y(c)577 4767
|
||||
y Fq(\015)f Fu(1988{2016)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
|
||||
(to)g(cop)m(y)-8 b(,)24 b(distribute)c(and/or)h(mo)s(dify)e(this)i(do)s
|
||||
(cumen)m(t)f(under)f(the)390 5011 y(terms)25 b(of)h(the)f(GNU)h(F)-8
|
||||
(the)h(Bash)f(shell)h(\(v)m(ersion)150 4389 y(4.4,)c(7)e(Septem)m(b)s
|
||||
(er)g(2016\).)150 4523 y(This)h(is)h(Edition)g(4.4,)i(last)f(up)s
|
||||
(dated)d(7)i(Septem)m(b)s(er)g(2016,)i(of)e Fr(The)f(GNU)i(Bash)f
|
||||
(Reference)h(Man)m(ual)p Fu(,)150 4633 y(for)d Ft(Bash)p
|
||||
Fu(,)g(V)-8 b(ersion)31 b(4.4.)150 4767 y(Cop)m(yrigh)m(t)602
|
||||
4764 y(c)577 4767 y Fq(\015)f Fu(1988{2016)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(to)g(cop)m(y)-8
|
||||
b(,)24 b(distribute)c(and/or)h(mo)s(dify)e(this)i(do)s(cumen)m(t)f
|
||||
(under)f(the)390 5011 y(terms)25 b(of)h(the)f(GNU)h(F)-8
|
||||
b(ree)27 b(Do)s(cumen)m(tation)g(License,)g(V)-8 b(ersion)26
|
||||
b(1.3)g(or)f(an)m(y)h(later)g(v)m(ersion)390 5121 y(published)43
|
||||
b(b)m(y)h(the)h(F)-8 b(ree)46 b(Soft)m(w)m(are)g(F)-8
|
||||
@@ -15008,281 +15009,288 @@ Fu(builtin.)p eop end
|
||||
TeXDict begin 96 101 bop 150 -116 a Fu(Chapter)30 b(6:)41
|
||||
b(Bash)30 b(F)-8 b(eatures)2484 b(96)225 299 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 430 y Fq(\017)60 b
|
||||
(disabled)f(shell)g(builtins.)225 434 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 560 y Fq(\017)60 b Fu(T)-8
|
||||
Ft(command)d Fu(builtin.)225 569 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 712 y(These)g(restrictions)h(are)g(enforced)f(after)h(an)m(y)
|
||||
g(startup)f(\014les)g(are)h(read.)275 843 y(When)j(a)i(command)e(that)i
|
||||
Fu('.)275 729 y(These)g(restrictions)h(are)g(enforced)f(after)h(an)m(y)
|
||||
g(startup)f(\014les)g(are)h(read.)275 865 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 952 y(Scripts],)25 b(page)e(40\),)j
|
||||
(Section)g(3.8)g([Shell)150 974 y(Scripts],)25 b(page)e(40\),)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 1185
|
||||
y Fs(6.11)68 b(Bash)45 b(POSIX)f(Mo)t(de)150 1345 y Fu(Starting)39
|
||||
h(spa)m(wned)e(to)i(execute)g(the)g(script.)150 1216
|
||||
y Fs(6.11)68 b(Bash)45 b(POSIX)f(Mo)t(de)150 1376 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
|
||||
1454 y(Bash)26 b(is)g(running)e(will)j(cause)f(Bash)g(to)h(conform)f
|
||||
1485 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 1564 y(the)31 b(b)s(eha)m(vior)f(to)h(matc)m(h)g(that)g
|
||||
(hanging)150 1595 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 1694 y(When)f(in)m(v)m(ok)m(ed)h(as)g
|
||||
(Bash)f(default)h(di\013ers.)275 1730 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 1825 y(The)f(follo)m(wing)j
|
||||
(reading)g(the)f(startup)g(\014les.)275 1866 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 1956 y(1.)61 b(When)28
|
||||
Fu(mo)s(de')h(is)f(in)g(e\013ect:)199 2001 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
|
||||
2065 y(the)i(new)e(lo)s(cation.)43 b(This)29 b(is)i(also)g(a)m(v)-5
|
||||
2111 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 2196 y(2.)61 b(The)42 b(message)h(prin)m(ted)e(b)m(y)h(the)g
|
||||
Fu('.)199 2246 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 2305 y(non-zero)31 b(status)g(is)f(`Done\(status\)'.)199
|
||||
2436 y(3.)61 b(The)40 b(message)h(prin)m(ted)f(b)m(y)g(the)h(job)f(con)
|
||||
(with)f(a)330 2355 y(non-zero)31 b(status)g(is)f(`Done\(status\)'.)199
|
||||
2490 y(3.)61 b(The)40 b(message)h(prin)m(ted)f(b)m(y)g(the)h(job)f(con)
|
||||
m(trol)h(co)s(de)g(and)f(builtins)f(when)h(a)g(job)g(is)h(stopp)s(ed)e
|
||||
(is)330 2546 y(`Stopp)s(ed\()p Fr(signame)5 b Fu(\)',)31
|
||||
(is)330 2600 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 2676 y(4.)61 b(Alias)31 b(expansion)g(is)f(alw)m
|
||||
Ft(SIGTSTP)p Fu(.)199 2735 y(4.)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
|
||||
2807 y(5.)61 b(Reserv)m(ed)40 b(w)m(ords)g(app)s(earing)f(in)h(a)g(con)
|
||||
2870 y(5.)61 b(Reserv)m(ed)40 b(w)m(ords)g(app)s(earing)f(in)h(a)g(con)
|
||||
m(text)i(where)d(reserv)m(ed)h(w)m(ords)f(are)i(recognized)g(do)f(not)
|
||||
330 2917 y(undergo)30 b(alias)h(expansion.)199 3047 y(6.)61
|
||||
330 2979 y(undergo)30 b(alias)h(expansion.)199 3114 y(6.)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 3157 y(enabled,)26
|
||||
Ft(!!)p Fu(')h(to)g(`)p Ft(!)p Fu(')h(are)330 3224 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
|
||||
3266 y(of)31 b(the)f(setting)i(of)e(the)h Ft(promptvars)c
|
||||
Fu(option.)199 3397 y(7.)61 b(The)30 b Fm(posix)g Fu(startup)f(\014les)
|
||||
3333 y(of)31 b(the)f(setting)i(of)e(the)h Ft(promptvars)c
|
||||
Fu(option.)199 3468 y(7.)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 3528 y(8.)61 b(Tilde)30 b(expansion)g(is)f(only)h
|
||||
f(Bash)g(\014les.)199 3603 y(8.)61 b(Tilde)30 b(expansion)g(is)f(only)h
|
||||
(p)s(erformed)f(on)h(assignmen)m(ts)g(preceding)g(a)g(command)g(name,)g
|
||||
(rather)330 3637 y(than)g(on)g(all)i(assignmen)m(t)f(statemen)m(ts)h
|
||||
(on)e(the)h(line.)199 3768 y(9.)61 b(The)30 b(default)g(history)h
|
||||
(rather)330 3713 y(than)g(on)g(all)i(assignmen)m(t)f(statemen)m(ts)h
|
||||
(on)e(the)h(line.)199 3848 y(9.)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 3899
|
||||
g(v)-5 b(alue)30 b(of)h Ft($HISTFILE)p Fu(\).)154 3982
|
||||
y(10.)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 4008 y(unless)30 b(the)g(shell)h(is)f(in)m(teractiv)m(e.)154
|
||||
4139 y(11.)61 b(Redirection)31 b(op)s(erators)g(do)f(not)h(p)s(erform)e
|
||||
330 4092 y(unless)30 b(the)g(shell)h(is)f(in)m(teractiv)m(e.)154
|
||||
4227 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
|
||||
4269 y(12.)61 b(F)-8 b(unction)35 b(names)g(m)m(ust)f(b)s(e)g(v)-5
|
||||
4362 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 4379 y(other)e(than)g(letters,)h
|
||||
g(not)g(con)m(tain)g(c)m(haracters)330 4472 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 4489 y(a)31 b(function)f(with)g(an)g(in)m(v)
|
||||
(digit.)49 b(Declaring)330 4581 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 4619 y(13.)61 b(F)-8
|
||||
(non-in)m(teractiv)m(e)j(shells.)154 4716 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
|
||||
4750 y(14.)61 b Fm(posix)30 b Fu(sp)s(ecial)h(builtins)e(are)i(found)e
|
||||
4851 y(14.)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
|
||||
4881 y(15.)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 4990 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(22.)154 5121 y(16.)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 5230 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 5340 y Fu(v)-5 b(ariable)31
|
||||
b(con)m(trols)h(the)e(format)h(of)g(the)f(timing)h(information.)p
|
||||
eop end
|
||||
4986 y(15.)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 5095 y Ft(function)28
|
||||
b Fu(k)m(eyw)m(ord.)154 5230 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
|
||||
5340 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(22.)p eop end
|
||||
%%Page: 97 103
|
||||
TeXDict begin 97 102 bop 150 -116 a Fu(Chapter)30 b(6:)41
|
||||
b(Bash)30 b(F)-8 b(eatures)2484 b(97)154 299 y(17.)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 408 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 518 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 628 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 768 y(18.)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
|
||||
877 y(`)p Ft(-)p Fu('.)154 1017 y(19.)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
|
||||
1127 y(ev)m(en)g(if)f(the)h Ft(histexpand)d Fu(option)i(is)h(enabled.)
|
||||
154 1267 y(20.)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 1377 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 1486 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 1596 y(command)30
|
||||
b(name,)h(and)f(so)g(on.)154 1736 y(21.)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
|
||||
1845 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
|
||||
1955 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 2095 y(22.)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 2205 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 2314 y(command.)154
|
||||
2454 y(23.)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 2564 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 2704 y(24.)61 b(Non-in)m(teractiv)m(e)
|
||||
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 408 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 518 y Fu(v)-5 b(ariable)31
|
||||
b(con)m(trols)h(the)e(format)h(of)g(the)f(timing)h(information.)154
|
||||
646 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 756 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 865
|
||||
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
|
||||
975 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
|
||||
1103 y(19.)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 1212 y(`)p Ft(-)p Fu('.)154
|
||||
1340 y(20.)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 1450 y(ev)m(en)g(if)f(the)h
|
||||
Ft(histexpand)d Fu(option)i(is)h(enabled.)154 1577 y(21.)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 1687 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 1797 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 1906 y(command)30 b(name,)h(and)f(so)g(on.)154
|
||||
2034 y(22.)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 2144 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 2253 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 2381
|
||||
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 2491 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 2600 y(command.)154 2728 y(24.)61
|
||||
b(A)43 b(non-in)m(teractiv)m(e)i(shell)e(exits)h(with)f(an)f(error)h
|
||||
(status)g(if)g(the)g(iteration)h(v)-5 b(ariable)44 b(in)f(a)g
|
||||
Ft(for)330 2838 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 2966 y(25.)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
|
||||
2844 y(25.)61 b(Non-in)m(teractiv)m(e)41 b(shells)d(exit)h(if)f(a)g
|
||||
3093 y(26.)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 2953 y(in)m(v)-5 b(alid)31 b(expression.)154
|
||||
3093 y(26.)61 b(Non-in)m(teractiv)m(e)34 b(shells)c(exit)h(on)g(w)m
|
||||
(ord)f(expansion)g(errors.)154 3233 y(27.)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
|
||||
3343 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 3483 y(28.)61 b(Pro)s(cess)30
|
||||
b(substitution)g(is)h(not)f(a)m(v)-5 b(ailable.)154 3623
|
||||
y(29.)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
|
||||
3733 y(parameters.)154 3873 y(30.)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 3982
|
||||
y(after)31 b(the)f(builtin)g(completes.)154 4122 y(31.)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
|
||||
4232 y(after)d(the)f(function)h(returns,)e(as)i(if)f(a)h
|
||||
(an)330 3203 y(in)m(v)-5 b(alid)31 b(expression.)154
|
||||
3331 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 3459
|
||||
y(28.)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 3568 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
|
||||
3696 y(29.)61 b(Pro)s(cess)30 b(substitution)g(is)h(not)f(a)m(v)-5
|
||||
b(ailable.)154 3824 y(30.)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 3934 y(parameters.)154 4061
|
||||
y(31.)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 4171 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
|
||||
4299 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 4408 y(after)31 b(the)f(builtin)g(completes.)154
|
||||
4536 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 4646 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 4372 y(32.)61 b(The)31 b Ft(command)e
|
||||
(executed.)154 4774 y(34.)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 4482 y(gumen)m(ts)40
|
||||
h(assignmen)m(t)f(statemen)m(ts)h(as)f(ar-)330 4883 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 4591
|
||||
b(when)38 b(not)i(in)f Fm(posix)f Fu(mo)s(de,)330 4993
|
||||
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 4701
|
||||
y(ceded)31 b(b)m(y)f Ft(command)p Fu(.)154 4841 y(33.)61
|
||||
(t)h(expansion)d(prop)s(erties)g(when)g(pre-)330 5103
|
||||
y(ceded)31 b(b)m(y)f Ft(command)p Fu(.)154 5230 y(35.)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
|
||||
4950 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
|
||||
5090 y(34.)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 5200
|
||||
y(without)30 b(the)h(`)p Ft(SIG)p Fu(')f(pre\014x.)154
|
||||
5340 y(35.)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.)p
|
||||
5340 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.)p
|
||||
eop end
|
||||
%%Page: 98 104
|
||||
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)154 299 y(36.)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
|
||||
408 y(quired)30 b(b)m(y)g Fm(posix)p Fu(.)154 544 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 408 y(without)30 b(the)h(`)p
|
||||
Ft(SIG)p Fu(')f(pre\014x.)154 542 y(37.)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 676 y(38.)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 786
|
||||
y(quired)30 b(b)m(y)g Fm(posix)p Fu(.)154 920 y(39.)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 679 y(38.)61
|
||||
(without)g(the)h(leading)g Ft(SIG)p Fu(.)154 1054 y(40.)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 789 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 898 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
|
||||
(eci\014cation)330 1163 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 1273 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
|
||||
1008 y(for)h(a)g(giv)m(en)h(signal)g(to)f(the)h(original)g(disp)s
|
||||
1383 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 1143 y(39.)61 b(The)21 b Ft(.)h Fu(and)f
|
||||
f(argumen)m(t.)154 1517 y(41.)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
|
||||
1253 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 1388 y(40.)61 b(Enabling)21 b Fm(posix)g
|
||||
1626 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 1760 y(42.)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
|
||||
1498 y(spa)m(wned)27 b(to)i(execute)g(command)e(substitutions)h
|
||||
1870 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 1608 y(paren)m(t)37 b(shell.)62
|
||||
Fu(option)h(from)g(the)330 1979 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 1717 y Fu(option)31
|
||||
b(in)f(suc)m(h)g(subshells.)154 1852 y(41.)61 b(When)43
|
||||
(enabled,)h(Bash)e(clears)h(the)g Ft(-e)330 2089 y Fu(option)31
|
||||
b(in)f(suc)m(h)g(subshells.)154 2223 y(43.)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
|
||||
1962 y(leading)31 b(`)p Ft(alias)e Fu(')i(unless)f(the)g
|
||||
Ft(-p)g Fu(option)h(is)f(supplied.)154 2097 y(42.)61
|
||||
2332 y(leading)31 b(`)p Ft(alias)e Fu(')i(unless)f(the)g
|
||||
Ft(-p)g Fu(option)h(is)f(supplied.)154 2466 y(44.)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 2207 y(names)30 b(and)g(de\014nitions.)154
|
||||
2342 y(43.)61 b(When)36 b(the)g Ft(set)g Fu(builtin)g(is)g(in)m(v)m(ok)
|
||||
(function)330 2576 y(names)30 b(and)g(de\014nitions.)154
|
||||
2710 y(45.)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 2452 y(quotes,)26 b(unless)d(they)i
|
||||
b(v)-5 b(alues)37 b(without)330 2819 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 2562 y(c)m(haracters.)154
|
||||
2697 y(44.)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 2929 y(c)m(haracters.)154
|
||||
3063 y(46.)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 2807 y Ft($PWD)i Fu(and)h(the)h(directory)f
|
||||
(constructed)g(from)330 3173 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 2916 y(directory)-8 b(,)32 b Ft(cd)d
|
||||
(an)f(existing)330 3282 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 3051 y(45.)61 b(The)36
|
||||
Fr(ph)m(ysical)j Fu(mo)s(de.)154 3416 y(47.)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 3161 y(ev)m(en)31 b(if)f(it)h(is)g(not)f(ask)m
|
||||
(directory)-8 b(,)330 3526 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 3296 y(46.)61 b(When)35 b(listing)g(the)g
|
||||
Ft(-P)e Fu(option.)154 3660 y(48.)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 3406
|
||||
(include)g(an)f(indication)i(of)f(whether)f(or)330 3769
|
||||
y(not)d(a)f(history)h(en)m(try)f(has)g(b)s(een)g(mo)s(di\014ed.)154
|
||||
3541 y(47.)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 3677 y(48.)61 b(The)37
|
||||
3903 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 4037 y(50.)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
|
||||
3786 y(found,)26 b(though)h(the)g(shell)g(will)g(attempt)h(to)g
|
||||
4147 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 3896 y(found)i(in)h Ft($PATH)p Fu(.)154
|
||||
4031 y(49.)61 b(The)33 b Ft(vi)f Fu(editing)i(mo)s(de)f(will)g(in)m(v)m
|
||||
g(\014le)330 4256 y(found)i(in)h Ft($PATH)p Fu(.)154
|
||||
4390 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 4141 y(instead)e(of)f(c)m(hec)m
|
||||
(king)i Ft($VISUAL)d Fu(and)g Ft($EDITOR)p Fu(.)154 4276
|
||||
y(50.)61 b(When)41 b(the)g Ft(xpg_echo)e Fu(option)i(is)g(enabled,)j
|
||||
Ft(v)p Fu(')f(command)g(is)g(run,)330 4500 y(instead)e(of)f(c)m(hec)m
|
||||
(king)i Ft($VISUAL)d Fu(and)g Ft($EDITOR)p Fu(.)154 4634
|
||||
y(52.)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
|
||||
4386 y(gumen)m(ts)35 b(to)g Ft(echo)e Fu(as)i(options.)54
|
||||
4743 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 4495 y(con)m(v)m(erted.)154
|
||||
4631 y(51.)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 4853 y(con)m(v)m(erted.)154
|
||||
4987 y(53.)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 4766 y(52.)61 b(The)39
|
||||
Fu(and)g Ft(-f)f Fu(options.)154 5121 y(54.)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 4876 y Fu(builtin)c(and)h(cause)g(it)h(to)f(return)f
|
||||
Ft(wait)330 5230 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 4985 y(c)m(hild)31 b(that)g(exits.)154
|
||||
5121 y(53.)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 5230 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
|
||||
5340 y Fu(returns)29 b(an)h(exit)i(status)e(greater)i(than)e(128.)p
|
||||
(for)f(eac)m(h)330 5340 y(c)m(hild)31 b(that)g(exits.)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(54.)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
|
||||
408 y(the)k Ft(wait)e Fu(builtin)h(is)g(used)g(to)h(obtain)g(it.)275
|
||||
568 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 677 y Fm(posix)d Fu(mo)s(de.)40 b(Sp)s(eci\014cally:)199
|
||||
812 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 922 y(rather)g(than)g(defaulting)h
|
||||
b(Bash)30 b(F)-8 b(eatures)2484 b(99)154 299 y(55.)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 408 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 518 y Fu(returns)29 b(an)h(exit)i(status)e(greater)i
|
||||
(than)e(128.)154 653 y(56.)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 762 y(the)k Ft(wait)e Fu(builtin)h(is)g(used)
|
||||
g(to)h(obtain)g(it.)275 922 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 1031 y Fm(posix)d
|
||||
Fu(mo)s(de.)40 b(Sp)s(eci\014cally:)199 1166 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 1275 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 1056 y(2.)61
|
||||
Ft(ed)g Fu(if)g Ft(EDITOR)f Fu(is)h(unset.)199 1410 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 1166 y(to)j(b)s(e)f(fully)g(conforman)m(t.)275
|
||||
1325 y(Bash)c(can)g(b)s(e)f(con\014gured)h(to)g(b)s(e)g
|
||||
Ft(echo)f Fu(builtin)330 1519 y(to)j(b)s(e)f(fully)g(conforman)m(t.)275
|
||||
1679 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 1435 y(strict-posix-default)c
|
||||
(ecifying)g(the)g Ft(--enable-)150 1788 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 1544 y(page)31 b(144\).)p
|
||||
([Optional)g(F)-8 b(eatures],)150 1898 y(page)31 b(144\).)p
|
||||
eop end
|
||||
%%Page: 100 106
|
||||
TeXDict begin 100 105 bop 3614 -116 a Fu(100)150 299
|
||||
|
||||
+10
-1
@@ -7392,6 +7392,10 @@ builtins.
|
||||
@sc{posix} special builtins are found before shell functions
|
||||
during command lookup.
|
||||
|
||||
@item
|
||||
When printing shell function definitions (e.g., by @code{type}), Bash does
|
||||
not print the @code{function} keyword.
|
||||
|
||||
@item
|
||||
Literal tildes that appear as the first character in elements of
|
||||
the @env{PATH} variable are not expanded as described above
|
||||
@@ -7451,7 +7455,7 @@ Non-interactive shells exit if a syntax error in an arithmetic expansion
|
||||
results in an invalid expression.
|
||||
|
||||
@item
|
||||
Non-interactive shells exit on word expansion errors.
|
||||
Non-interactive shells exit if a parameter expansion error occurs.
|
||||
|
||||
@item
|
||||
Non-interactive shells exit if there is a syntax error in a script read
|
||||
@@ -7465,6 +7469,11 @@ Process substitution is not available.
|
||||
While variable indirection is available, it may not be applied to the
|
||||
@samp{#} and @samp{?} special parameters.
|
||||
|
||||
@item
|
||||
When expanding the @samp{*} special parameter in a pattern context where the
|
||||
expansion is double-quoted does not treat the @code{$*} as if it were
|
||||
double-quoted.
|
||||
|
||||
@item
|
||||
Assignment statements preceding @sc{posix} special builtins
|
||||
persist in the shell environment after the builtin completes.
|
||||
|
||||
+3
-3
@@ -2,10 +2,10 @@
|
||||
Copyright (C) 1988-2016 Free Software Foundation, Inc.
|
||||
@end ignore
|
||||
|
||||
@set LASTCHANGE Fri Aug 26 09:44:56 EDT 2016
|
||||
@set LASTCHANGE Wed Sep 7 17:12:22 EDT 2016
|
||||
|
||||
@set EDITION 4.4
|
||||
@set VERSION 4.4
|
||||
|
||||
@set UPDATED 26 August 2016
|
||||
@set UPDATED-MONTH August 2016
|
||||
@set UPDATED 7 September 2016
|
||||
@set UPDATED-MONTH September 2016
|
||||
|
||||
+5
-1
@@ -1492,7 +1492,11 @@ execute_in_subshell (command, asynchronous, pipe_in, pipe_out, fds_to_close)
|
||||
login_shell = interactive = 0;
|
||||
|
||||
if (user_subshell)
|
||||
subshell_environment = SUBSHELL_PAREN; /* XXX */
|
||||
{
|
||||
subshell_environment = SUBSHELL_PAREN; /* XXX */
|
||||
if (asynchronous)
|
||||
subshell_environment |= SUBSHELL_ASYNC;
|
||||
}
|
||||
else
|
||||
{
|
||||
subshell_environment = 0; /* XXX */
|
||||
|
||||
@@ -3920,11 +3920,11 @@ eof_error:
|
||||
{
|
||||
nestret = substring (ret, lex_firstind, retind);
|
||||
heredelim = string_quote_removal (nestret, 0);
|
||||
free (nestret);
|
||||
hdlen = STRLEN(heredelim);
|
||||
/*itrace("parse_comsub:%d: found here doc delimiter `%s' (%d)", line_number, heredelim, hdlen);*/
|
||||
if (STREQ (heredelim, nestret) == 0)
|
||||
tflags |= LEX_QUOTEDDOC;
|
||||
free (nestret);
|
||||
}
|
||||
if (ch == '\n')
|
||||
{
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
BUILD_DIR=/usr/local/build/chet/bash/bash-current
|
||||
BUILD_DIR=/usr/local/build/bash/bash-current
|
||||
THIS_SH=$BUILD_DIR/bash
|
||||
PATH=$PATH:$BUILD_DIR
|
||||
|
||||
|
||||
@@ -210,13 +210,11 @@ argv[1] = <correct>
|
||||
argv[2] = <a>
|
||||
argv[1] = <correct>
|
||||
argv[2] = <a>
|
||||
./exp7.sub: line 5: INFORM: dequote_string: string with bare CTLESC
|
||||
argv[1] = <^A>
|
||||
argv[1] = <3>
|
||||
argv[2] = <^C>
|
||||
argv[3] = <^C>
|
||||
argv[4] = <^C>
|
||||
./exp7.sub: line 10: INFORM: dequote_string: string with bare CTLESC
|
||||
argv[1] = <^A>
|
||||
argv[1] = <x^Ay^?z>
|
||||
argv[1] = <x^Ay^?z>
|
||||
|
||||
@@ -1087,8 +1087,9 @@ run_debug_trap ()
|
||||
close_pgrp_pipe ();
|
||||
restore_pgrp_pipe (save_pipe);
|
||||
# endif
|
||||
if (pipeline_pgrp > 0)
|
||||
if (pipeline_pgrp > 0 && ((subshell_environment & (SUBSHELL_ASYNC|SUBSHELL_PIPE)) == 0))
|
||||
give_terminal_to (pipeline_pgrp, 1);
|
||||
|
||||
notify_and_cleanup ();
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* version.c -- distribution and version numbers. */
|
||||
|
||||
/* Copyright (C) 1989-2015 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1989-2016 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Bash, the Bourne Again SHell.
|
||||
|
||||
@@ -43,7 +43,7 @@ const char * const release_status = (char *)0;
|
||||
#endif
|
||||
const char * const sccs_version = SCCSVERSION;
|
||||
|
||||
const char * const bash_copyright = N_("Copyright (C) 2015 Free Software Foundation, Inc.");
|
||||
const char * const bash_copyright = N_("Copyright (C) 2016 Free Software Foundation, Inc.");
|
||||
const char * const bash_license = N_("License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n");
|
||||
|
||||
/* If == 31, shell compatible with bash-3.1, == 32 with bash-3.2, and so on */
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
/* version.c -- distribution and version numbers. */
|
||||
|
||||
/* Copyright (C) 1989-2014 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1989-2016 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Bash, the Bourne Again SHell.
|
||||
|
||||
@@ -43,7 +43,7 @@ const char * const release_status = (char *)0;
|
||||
#endif
|
||||
const char * const sccs_version = SCCSVERSION;
|
||||
|
||||
const char * const bash_copyright = N_("Copyright (C) 2014 Free Software Foundation, Inc.");
|
||||
const char * const bash_copyright = N_("Copyright (C) 2016 Free Software Foundation, Inc.");
|
||||
const char * const bash_license = N_("License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n");
|
||||
|
||||
/* If == 31, shell compatible with bash-3.1, == 32 with bash-3.2, and so on */
|
||||
|
||||
Reference in New Issue
Block a user