GNU project made version 5.0 of its popular POSIX shell Bash ( Bourne Again Shell) available yesterday. Bash 5.0 explores new improvements and features such as BASH_ARGV0, EPOCHSECONDS, and EPOCHREALTIME among others.
Bash was first released in 1989 and was created for the GNU project as a replacement for their Bourne shell. It is capable of performing functions such as interactive command line editing, and job control on architectures that support it. It is a complete implementation of the IEEE POSIX shell and tools specification.
- Bash 5.0 comes with a newly added EPOCHSECONDS variable, which is capable of expanding to the time in seconds.
- There is another newly added EPOCHREALTIME variable which is similar to EPOCHSECONDS in Bash 5.0. EPOCHREALTIME is capable of obtaining the number of seconds since the Unix Epoch, the only difference being that this variable is a floating point with microsecond granularity.
- BASH_ARGV0 is also a newly added variable in Bash 5.0 that expands to $0 and sets $0 on assignment.
- There is a newly defined config-top.h in Bash 5.0. This allows the shell to use a static value for $PATH.
- Bash 5.0 has a new shell option that can enable and disable sending history to syslog at runtime.
- The `globasciiranges’ option is now enabled by default in Bash 5.0 and can be set to
off by default at configuration time.
- POSIX mode is now capable of enabling the `shift_verbose’ option.
- The `history’ builtin option in Bash 5.0 can now delete ranges of history entries using `-d start-end’.
- A change that caused strings containing + backslashes to be flagged as glob patterns has been reverted in Bash 5.0.
For complete information on bash 5.0, check out its official release notes.