What's New in GNU Bash 5?

Published: , Last Updated:
May 11, 2020
Tags:  news linux bash

The version 5 of GNU Bash has been released and packed with quite a few improvements and fixes.

  1. You can now skip the use of date '+%s' with the new EPOCHSECONDS variable which expand the time in seconds since the Unix epoch, and EPOCHREALTIME with microsecond granularity. See below examples.
  2. The wait builtin command can now wait for the last process substition and it also includes a -f option to wait for the specified job or process to terminates.
  3. New BASH_ARGV0 variable that expands to $0 and sets $0 on assignment.
  4. New localvar_inherit shopt option for local variables to inherits the value of a variable with the same name at the nearest preceding scope.
  5. Few improvement and fixes in associative arrays including assoc_expand_once shell option, subscripts with white spaces, etc.
  6. globasciiranges is now the default which solve the common mistake of [a-z] vs [A-Z] matching.
  7. Many improvement on the history builtin.
  8. Many regressions/bug fixes since version 4 which address some potential out-of-bounds memory errors, changes in the expansion of $@ and $* to conform to Posix standards.

👉 For the full list of changes, check the official announcement.

⚠️ Most Linux distributions don't seem to come compiled with the new feature, syslog_history shell option, for disabling at runtime whether history is sent to syslog.

Examples: $EPOCHSECONDS and $EPOCHREALTIME

$ date '+%s' # Before Bash version 5
1547092066

$ echo $EPOCHSECONDS
1547092066

$ echo $EPOCHREALTIME
1547092066.749218

👉 To read more on how to manipulate and format dates in bash see the post How To Format Date and Time in Linux, macOS, and Bash?.

Related news posts that you may like
What's New in Focal Fossa Ubuntu 20.04 LTS?
Ubuntu 20.04 LTS is available for download. Find out some of the major security and performance improvements from this new distribution, including the introduction of WireGuard VPN, upgraded suite of software packages, faster boot time, etc.
Top 5 Machine Learning and Self-Healing Techniques used by SRE
Applying Machine Learning and Self-Healing techniques to the day operations of a production system has become common practices for most SREs. This post cover some real production use cases like automated failover, forecasting, anomalies detection, risk classification and so on.
Adobe Advertising Cloud: The Reality of Cloud Bursting with OpenStack
Presentation at the Openstack Summit on how Adobe Advertising Cloud, formerly TubeMogul, leverage cloud bursting with OpenStack to scale a large-scale infrastructure.