Linux

Bash 5.0 Released With New Features

bash 5.0

It’s official as the first public release of bash 5.0 is now available for download.  Bash 5.0 is the fifth major release of bash.

Bash 5.0 Released With New Features

From the mailing list:

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 [email protected] 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


New Features in Bash:

READ THIS ALSO  How To Install Ansible On Linux Distributions
  1. The `wait’ builtin can now wait for the last process substitution created.
  2. There is an EPOCHSECONDS variable, which expands to the time in seconds
    since the Unix epoch.
  3. There is an EPOCHREALTIME variable, which expands to the time in seconds
    since the Unix epoch with microsecond granularity.
  4. New loadable builtins: rm, stat, fdflags.
  5. BASH_ARGV0: a new variable that expands to $0 and sets $0 on assignment.
  6. When supplied a numeric argument, the shell-expand-line bindable readline
    command does not perform quote removal and suppresses command and process
    substitution.