How is bash scripting affected by the bash4 release?
The bash NEWS file, repro'd here with some summary, has some good info. Big new features include:
- Associative arrays: name members in array using
array[name]
, and access with${array[name]}
- The special
**
glob pattern: match all files and "zero or more" directories - Co-processes: use the
coproc
keyword to spawn another process, then redirect its I/O to the currently existing shell (or another process, if you so desire) - Case-modifying expansions: match names without regard to character case
There is a compatibility document that covers all versions of bash through to 4.1.
Tightening up of POSIX compliance is one area where differences with version 3.2 have arisen.