Bash-4.4 distribution sources and documentation
This commit is contained in:
parent
30a978b7d8
commit
a0c0a00fc4
588 changed files with 130746 additions and 80164 deletions
42
COMPAT
42
COMPAT
|
@ -2,9 +2,9 @@ Compatibility with previous versions
|
|||
====================================
|
||||
|
||||
This document details the incompatibilities between this version of bash,
|
||||
bash-4.3, and the previous widely-available versions, bash-3.x (which is
|
||||
still the `standard' version for Mac OS X), 4.0/4.1 (which are still
|
||||
standard on a few Linux distributions), and bash-4.2, the current
|
||||
bash-4.4, and the previous widely-available versions, bash-3.x (which is
|
||||
still the `standard' version for Mac OS X), 4.1/4.2 (which are still
|
||||
standard on a few Linux distributions), and bash-4.3, the current
|
||||
widely-available version. These were discovered by users of bash-2.x
|
||||
through 4.x, so this list is not comprehensive. Some of these
|
||||
incompatibilities occur between the current version and versions 2.0 and
|
||||
|
@ -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
|
||||
=========================
|
||||
|
||||
|
@ -389,6 +408,9 @@ to this variable (a decimal version number like 4.2, or an integer
|
|||
corresponding to the compatNN option, like 42) determines the compatibility
|
||||
level.
|
||||
|
||||
Bash-4.4 has begun deprecating older compatibility levels. Eventually, the
|
||||
options will be removed in favor of the BASH_COMPAT variable.
|
||||
|
||||
compat31 set
|
||||
- the < and > operators to the [[ command do not consider the current
|
||||
locale when comparing strings; they use ASCII ordering
|
||||
|
@ -408,7 +430,7 @@ compat40 set
|
|||
|
||||
compat41 set
|
||||
- interrupting a command list such as "a ; b ; c" causes the execution
|
||||
of the entire list to be aborted (in versions before bash-4.1,
|
||||
of the entire list to be aborted (in versions before bash-4.0,
|
||||
interrupting one command in a list caused the next to be executed)
|
||||
- when in posix mode, single quotes in the `word' portion of a
|
||||
double-quoted parameter expansion define a new quoting context and
|
||||
|
@ -417,6 +439,18 @@ compat41 set
|
|||
compat42 set
|
||||
- the replacement string in double-quoted pattern substitution is not
|
||||
run through quote removal, as in previous versions
|
||||
|
||||
compat43 set
|
||||
- the shell does not print a warning message if an attempt is made to
|
||||
use a quoted compound assignment as an argument to declare
|
||||
(declare -a foo='(1 2)')
|
||||
- word expansion errors are considered non-fatal errors that cause the
|
||||
current command to fail, even in Posix mode
|
||||
- when executing a shell function, the loop state (while/until/etc.) is
|
||||
not reset, so `break' or `continue' in a shell function will break or
|
||||
continue loops in the calling context. Bash-4.4 and later reset the
|
||||
loop state to prevent this.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Copying and distribution of this file, with or without modification,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue