Differences between revisions 27 and 28
Revision 27 as of 2015-03-30 12:08:54
Size: 2384
Editor: geirha
Comment: long awaited mapfile -d coming in next release
Revision 28 as of 2015-06-09 13:38:00
Size: 2408
Editor: geirha
Comment:
Deletions are marked like this. Additions are marked like this.
Line 16: Line 16:
||test -R||4.3-alpha||

Is there a list of which features were added to specific releases (versions) of Bash?

Here are some links to official Bash documentation:

  • NEWS: a file tersely listing the notable changes between the current and previous versions

  • CHANGES: a "complete" bash change history (back to 2.0 only)

  • COMPAT: compatibility issues between bash3 and previous versions

A more extensive, partial list than the one below can be found at http://wiki.bash-hackers.org/scripting/bashchanges

Here's a partial list of the changes, in a more compact format:

Feature

Added in version

mapfile -d

4.4 (not released yet)

wait -n

4.3-alpha

test -R

4.3-alpha

declare/typeset -n and associated changes to ${!ref} and for..in

4.3-alpha

array[-idx] (in assignments, read, unset, etc)

4.3-alpha

\uXXXX and \UXXXXXXXX

4.2-alpha

declare -g

4.2-alpha

test -v

4.2-alpha

printf %(fmt)T

4.2-alpha

${array[-idx]} and ${var:start:-len}

4.2-alpha

lastpipe (shopt)

4.2-alpha

read -N

4.1-alpha

{var}> or {var}< etc. (FD variable assignment)

4.1-alpha

syslog history (compile option)

4.1-alpha

BASH_XTRACEFD

4.1-alpha

;& and ;;& fall-throughs for case

4.0-alpha

associative arrays

4.0-alpha

&>> and |&

4.0-alpha

command_not_found_handle

4.0-alpha

coproc

4.0-alpha

globstar

4.0-alpha

mapfile/readarray

4.0-alpha

${var,[,]} and ${var^[^]}

4.0-alpha

{009..012} (leading zeros in brace expansions)

4.0-alpha

{x..y..incr}

4.0-alpha

read -t 0

4.0-alpha

read -i

4.0-alpha

x+=string array+=(string)

3.1-alpha1

printf -v var

3.1-alpha1

{x..y}

3.0-alpha

${!array[@]}

3.0-alpha

[[ =~

3.0-alpha

printf %q produces $'...'

2.05b-alpha1

<<<

2.05b-alpha1

i++

2.04-devel

for ((;;))

2.04-devel

/dev/fd/N, /dev/tcp/host/port, etc.

2.04-devel

read -t, -n, -d and -s

2.04-devel

a=(*.txt) file expansion

2.03-alpha

extglob

2.02-alpha1

[[

2.02-alpha1

builtin printf

2.02-alpha1

$(< filename)

2.02-alpha1

** (exponentiation)

2.02-alpha1

\xNNN

2.02-alpha1

(( ))

2.0-beta2

BashFAQ/061 (last edited 2024-03-27 00:26:48 by larryv)