π» Geeky Vibes! Check out our partner WrinkledT: Sustainable Style With a POP π₯ π for the Soul (and the Planet!) ππ
The version 5 of GNU Bash has been released and packed with quite a few improvements and fixes.
- You can now skip the use of
date '+%s'
with the newEPOCHSECONDS
variable which expand the time in seconds since the Unix epoch, andEPOCHREALTIME
with microsecond granularity. See below examples. - 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. - New
BASH_ARGV0
variable that expands to $0 and sets $0 on assignment. - New
localvar_inherit
shopt option for local variables to inherits the value of a variable with the same name at the nearest preceding scope. - Few improvement and fixes in
associative arrays including
assoc_expand_once
shell option, subscripts with white spaces, etc. globasciiranges
is now the default which solve the common mistake of [a-z] vs [A-Z] matching.- Many improvement on the
history
builtin. - 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?.
π» Geeky Vibes! Check out our partner WrinkledT: Sustainable Style With a POP π₯ π for the Soul (and the Planet!) ππ