mirror of
https://https.git.savannah.gnu.org/git/bash.git
synced 2026-08-06 02:02:42 +02:00
bash-5.2-alpha release
This commit is contained in:
@@ -2,11 +2,11 @@ Compatibility with previous versions
|
||||
====================================
|
||||
|
||||
This document details the incompatibilities between this version of bash,
|
||||
bash-5.1, and the previous widely-available versions, bash-3.2 (which is
|
||||
bash-5.2, and the previous widely-available versions, bash-3.2 (which is
|
||||
still the `standard' version for Mac OS X), 4.2/4.3 (which are still
|
||||
standard on a few Linux distributions), and bash-4.4/bash-5.0, the current
|
||||
widely-available versions. These were discovered by users of bash-2.x
|
||||
through 5.x, so this list is not comprehensive. Some of these
|
||||
standard on a few Linux distributions), and bash-4.4/bash-5.0/bash-5.1,
|
||||
the current widely-available versions. These were discovered by users of
|
||||
bash-2.x through 5.x, so this list is not comprehensive. Some of these
|
||||
incompatibilities occur between the current version and versions 2.0 and
|
||||
above.
|
||||
|
||||
@@ -419,6 +419,14 @@ above.
|
||||
options that posix mode modifies to the state they had before enabling
|
||||
posix mode. Previous versions restored these options to default values.
|
||||
|
||||
66. Bash-5.2 attempts to prevent double-expansion of array subscripts under
|
||||
certain circumstances, especially arithmetic evaluation, by acting as if
|
||||
the `assoc_expand_once' shell option were set.
|
||||
|
||||
67. The `unset' builtin in bash-5.2 treats array subscripts `@' and `*'
|
||||
differently than previous versions, and differently depending on whether
|
||||
the array is indexed or associative.
|
||||
|
||||
|
||||
Shell Compatibility Level
|
||||
=========================
|
||||
@@ -543,6 +551,28 @@ compat50 (set using BASH_COMPAT)
|
||||
output in a format that can be reused as input (-l). Bash-5.1
|
||||
suppresses that message if -l is supplied
|
||||
|
||||
compat51 (set using BASH_COMPAT)
|
||||
- The `unset' builtin will unset the array a given an argument like
|
||||
`a[@]'. Bash-5.2 will unset an element with key `@' (associative
|
||||
arrays) or remove all the elements without unsetting the array
|
||||
(indexed arrays)
|
||||
- arithmetic commands ( ((...)) ) and the expressions in an arithmetic
|
||||
for statement can be expanded more than once
|
||||
- expressions used as arguments to arithmetic operators in the [[
|
||||
conditional command can be expanded more than once
|
||||
- the expressions in substring parameter brace expansion can be
|
||||
expanded more than once
|
||||
- the expressions in the $(( ... )) word expansion can be expanded
|
||||
more than once
|
||||
- arithmetic expressions used as indexed array subscripts can be
|
||||
expanded more than once;
|
||||
- `test -v', when given an argument of A[@], where A is an existing
|
||||
associative array, will return true if the array has any set
|
||||
elements. Bash-5.2 will look for a key named `@';
|
||||
- the ${param[:]=value} word expansion will return VALUE, before any
|
||||
variable-specific transformations have been performed (e.g.,
|
||||
converting to lowercase). Bash-5.2 will return the final value
|
||||
assigned to the variable, as POSIX specifies
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
|
||||
Reference in New Issue
Block a user