Bashプロジェクトは1月7日(米国時間)、メーリングリストに投函した「Bash-5.0 release available」において、Bashの最新版となる「Bash 5.0」の公開を伝えた。Bashは人気の高いシェルの1つで、macOSや多くのLinuxディストリビューションでデフォルトのインタラクティブシェルとして採用されている。
Bash 5.0ではBash 4.4に存在していたいくつかのバグが修正されているほか、新機能が追加されている。Bash 5.0における主な注目ポイントは次のとおり。
- 新しいシェル変数の導入: BASH_ARGV0、EPOCHSECONDS、EPOCHREALTIME
- BASH_ARGV0: $0のようにシェル名やシェルスクリプト名を保持
- EPOCHSECONDS: UNIX時間(UNIXエポック)を秒で保持
- EPOCHREALTIME: UNIX時間(UNIXエポック)をマイクロ秒で保持
- history組み込みコマンドによるコマンド履歴削除機能(マンド履歴末尾からの範囲指定削除も可能)の追加
- 先行するスコープに存在する同じ名前の変数を引き継ぐオプションを追加
- 連想配列の添字を一度だけ拡張するオプションを追加
- globasciirangesシェルオプションをデフォルトで有効化
UNIX時間を保持する変数が導入されたことで、動作時間を計測する処理がこれまでよりも簡単かつ正確に実施できるようになると見られる。システムのシェルスクリプトにdashなどより軽量で高速なシェルが使われることがあるが、インタラクティブシェルとしてはBashが使われることが多い。
masOSやLinuxディストリビューションが今回公開されたBash 5.0をデフォルトのインタラクティブシェルとして採用するかどうかは、ベンダーやプロジェクト次第。Linuxディストリビューションにおいては、比較的早い段階でBash 5.0にアップグレードが実施されるのではないかと見られる。