Download Bash 5.0
Bash can be used as a shell on many Linux, Unix, and BSD systems and can be used to enter commands through a commandline interface. An overview of what else Bash can and does, in this manual be read. The developers have released version 5.0 with the following announcement:
New Features
This is the fifth major release of bash.
Read the file NEWS in the bash-5.0 distribution for a complete description of the new features. A copy of the relevant portions is included below.
This release fixes several outstanding bugs in bash-4.4 and introduces several new features. The most significant bug fixes are an overhaul of how nameref variables resolve and a number of potential out-of-bounds memory errors discovered via fuzzing. There are a number of changes to the expansion of $@ and $* in various contexts where word splitting is not performed to conform to a Posix standard interpretation, and additional changes to resolve corner cases for Posix conformance.
The most notable new features are several new shell variables: BASH_ARGV0, EPOCHSECONDS, and EPOCHREALTIME. The `history’ builtin can remove ranges of history entries and understands negative arguments as offsets from the end of the history list. There is an option to allow local variables to inherit the value of a variable with the same name at a preceding scope. There is a new shell option that, when enabled, causes the shell to attempt to expand associative array subscripts only once (this is an issue when they are used in arithmetic expressions). The `globasciiranges’ shell option is now enabled by default; it can be set to off by default at configuration time.
There are a few incompatible changes between bash-4.4 and bash-5.0. The changes to how nameref variables are resolved means that some uses of namerefs will behave differently, though I have tried to minimize the compatibility issues. By default, the shell only sets BASH_ARGC and BASH_ARGV at startup if extended debugging mode is enabled; it was an oversight that it was set unconditionally and caused performance issues when scripts were passed large numbers of arguments.
Bash can be linked against an already-installed Readline library rather than the private version in lib/readline if desired. Only readline-8.0 and later versions are able to provide all of the symbols that bash-5.0 requires; earlier versions of the Readline library will not work correctly.
A complete list of changes between bash-4.4 and bash-5.0 is available in the file CHANGES; the complete list is too large to include in this message.
Version number | 5.0 |
Release status | stable |
Operating systems | Windows 7, Linux, BSD, macOS, Solaris, UNIX, Windows Server 2012, Windows 8, Windows 10, Windows Server 2016 |
Website | The GNU Bourne-Again Shell |
Download | ftp://ftp.gnu.org/gnu/bash/bash-5.0.tar.gz |
License type | GPL |