1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
o Here-documents within $(...) command substitutions may once more be
delimited by the closing right paren, instead of requiring a newline.
o Bash's file status checks (executable, readable, etc.) now take file
system ACLs into account on file systems that support them.
o Bash now passes environment variables with names that are not valid
shell variable names through into the environment passed to child
processes.
o The `execute-unix-command' readline function now attempts to clear and
reuse the current line rather than move to a new one after the command
executes.
o `printf -v' can now assign values to array indices.
o New `complete -E' and `compopt -E' options that work on the "empty"
completion: completion attempted on an empty command line.
o New complete/compgen/compopt -D option to define a `default' completion:
a completion to be invoked on command for which no completion has been
defined. If this function returns 124, programmable completion is
attempted again, allowing a user to dynamically build a set of completions
as completion is attempted by having the default completion function
install individual completion functions each time it is invoked.
o When displaying associative arrays, subscripts are now quoted.
o Changes to dabbrev-expand to make it more `emacs-like': no space appended
after matches, completions are not sorted, and most recent history entries
are presented first.
o The [[ and (( commands are now subject to the setting of `set -e' and the
ERR trap.
o The source/. builtin now removes NUL bytes from the file before attempting
to parse commands.
o There is a new configuration option (in config-top.h) that forces bash to
forward all history entries to syslog.
o A new variable $BASHOPTS to export shell options settable using `shopt' to
child processes.
o There is a new confgure option that forces the extglob option to be
enabled by default.
o New variable $BASH_XTRACEFD; when set to an integer bash will write xtrace
output to that file descriptor.
o If the optional left-hand-side of a redirection is of the form {var}, the
shell assigns the file descriptor used to $var or uses $var as the file
descriptor to move or close, depending on the redirection operator.
o The < and > operators to the [[ conditional command now do string
comparison according to the current locale.
o Programmable completion now uses the completion for `b' instead of `a'
when completion is attempted on a line like: a $(b c.
o Force extglob on temporarily when parsing the pattern argument to
the == and != operators to the [[ command, for compatibility.
o Changed the behavior of interrupting the wait builtin when a SIGCHLD is
received and a trap on SIGCHLD is set to be Posix-mode only.
o The read builtin has a new `-N nchars' option, which reads exactly NCHARS
characters, ignoring delimiters like newline.
o The mapfile/readarray builtin no longer stores the commands it invokes via
callbacks in the history list.
o There is a new `compat40' shopt option.
o The < and > operators to [[ do string comparisons using the current locale
only if the compatibility level is greater than 40 (set to 41 by default).
o New bindable readline function: menu-complete-backward.
o In the readline vi-mode insertion keymap, C-n is now bound to menu-complete
by default, and C-p to menu-complete-backward.
o When in readline vi command mode, repeatedly hitting ESC now does nothing,
even when ESC introduces a bound key sequence. This is closer to how
historical vi behaves.
o New bindable readline function: skip-csi-sequence. Can be used as a
default to consume key sequences generated by keys like Home and End
without having to bind all keys.
o New bindable readline variable: skip-completed-text, active when
completing in the middle of a word. If enabled, it means that characters
in the completion that match characters in the remainder of the word are
"skipped" rather than inserted into the line.
o The pre-readline-6.0 version of menu completion is available as
"old-menu-complete" for users who do not like the readline-6.0 version.
o New bindable readline variable: echo-control-characters. If enabled, and
the tty ECHOCTL bit is set, controls the echoing of characters
corresponding to keyboard-generated signals.
o New bindable readline variable: enable-meta-key. Controls whether or not
readline sends the smm/rmm sequences if the terminal indicates it has a
meta key that enables eight-bit characters.
|