Menü
iX Magazin

Bourne-Again Shell: Bash 5.0 bringt neue Funktionen

Mit der Bash 5.0 müssen sich Shell-Skripter beim Umstieg von 4.4 auf kleine Änderungen einstellen, bekommen dafür aber mehr Built-Ins und Umgebungsvariablen.

Von
vorlesen Drucken Kommentare lesen 69 Beiträge
Bash 5.0 bringt neue Funktionen

(Bild: Free Software Foundation )

Knapp zehn Jahre nach dem bisher letzten großen Update haben die Entwickler des GNU-Projekts mit der Bash 5.0 die nächste Major-Release der Bourne-Again Shell freigegeben. Sie führen einige Dutzend Bugfixes und Verbesserungen auf. Der Gutteil betrifft Substitutionen und Ergänzungen, während andere nur sehr selten auftretende Abstürze der Shell aus der Welt schaffen.

Neu sind drei Umgebungsvariablen: EPOCHSECONDS, EPOCHREALTIME und BASH_ARGV0. Die ersten beiden geben die seit der Epoche verstrichene Zeit in Sekunden und in Millisekunden zurück, während die letzte die Interaktion mit dem Wert $0 erleichtert. In aus mehreren Kontexten bestehenden Skripten können lokale Variable nun den Wert ihrer Namensvetter aus dem Vorgängerkontext übernehmen (localvar_inherit). Auf dem Built-in wait basierende Skripte warten jetzt “genauer”. Der optionale Parameter -f weist einen Warteprozess an, der erst beim Sterben des angegebenen Jobs oder Prozesses endet – “normale” Zustandsänderungen fallen unter den Tisch.

Nutzer des Select-Statements dürfen sich auf neue Formen der Selektion freuen, die ohne eine Wortliste nach dem Codewort in auskommen. Zu guter Letzt – dies dürfte manche Skripte aus dem Takt bringen – verändert sich die Art der Auflösung von namerefs. Ein weiteres potenzielles Ärgernis ist, dass die Option globasciiranges in Bash 5.0 von Haus aus gesetzt ist. Mit Hilfe des Analysewerkzeugs Coverity konnten die Entwickler zudem einige Speicherlecks im Code aufspüren und schließen. In der zu Bash gehörenden Readline-Bibliothek – Bash 5.0 arbeitet hier nur noch mit der Version 8.0 zusammen – gibt es analoge Fehlerkorrekturen.

Wie immer gilt, dass sich Linux-Distributionen mit dem Umstieg auf die neue Version ihre Zeit lassen werden. Wer die neuen Funktionen schon jetzt ausprobieren möchte, findet die Software im offiziellen Git-Repository. Die Deploymentanweisungen finden sich, ganz im alten Stil, in der Datei INSTALL.
(Tam Hanna) / (avr)