
Vor ein paar Tagen Das GNU-Projekt hat die Veröffentlichung der neuen Version von Bash 5.3 angekündigt. der beliebte Befehlsinterpreter, der bei den meisten Linux-Distributionen die Standardauswahl bleibt.
Diese neue Version stellt die Arbeit von fast drei Jahren dar, das nicht nur Verbesserungen an der Sprache und dem Verhalten der Shell implementiert, sondern auch neue Funktionen einführt, die sie an moderne Standards wie C23 anpassen. Es wird außerdem mit der Veröffentlichung der Bibliothek Readline 8.3 geliefert.
Was ist neu in Bash 5.3
Eine der bemerkenswertesten Änderungen in Bash 5.3 ist die Einführung neuer Formen der Befehlsersetzung: ${command;} und ${|command;}Diese ermöglichen das Abfangen der Befehlsausgabe, ohne einen untergeordneten Prozess zu erstellen oder Pipelines zu verwenden. Dadurch wird der Ressourcenverbrauch reduziert und die Leistung verbessert. Das Ergebnis kann direkt in der Variable REPLY gespeichert werden, was gängige Aufgaben zur Ausgabeerfassung vereinfacht.
Eine weitere neue Funktion, die in GNU Bash 5.3 eingeführt wurde, ist die neue Variable GLOBSORT ermöglicht Definieren Sie die Sortierreihenfolge beim Erweitern von Dateipfaden. Benutzer können nach Name, Größe, Änderungsdatum und mehr sortieren, mit Optionen für aufsteigende und absteigende Reihenfolge.
Darüber hinaus führt Bash 5.3 Verbesserungen an mehreren integrierten Befehlen ein. Der Befehl compgen kann nun generierte Vervollständigungen in einer Variable speichern (-V varname), während read die Option -E hinzufügt, um die Readline-Bibliothek mit den Autovervollständigungsregeln von Bash zu verwenden. Auch Source wurde verbessert und unterstützt nun -p PATH zum Ändern des Suchpfads.
Ebenso der Befehl umask wurde angepasst, um die POSIX-Spezifikation vollständig zu erfüllen, und printf wurde mit neuen Optionen für Multibyte-Strings und alternativer Darstellung von Zeichen und Strings verbessert.
C23-Kompatibilität und Abschied vom K&R C
Eine der wichtigsten strukturellen Veränderungen ist die Übernahme des C23-Standards im Bash-Quellcode. Als Ergebnis Die Unterstützung für das Kompilieren im „K&R C“-Modus wurde entfernt, eine Technik, die auf die Anfänge der C-Sprache zurückgeht.
Andererseits führt Bash 5.3 mehrere ladbare Befehle ein, wie zum Beispiel:
- kv: um assoziative Arrays aus Daten im Schlüssel-Wert-Format zu generieren.
- strptime: konvertiert Datumsangaben im Textformat in Unix-Zeit.
- fltexpr: ermöglicht Ihnen die Durchführung von Gleitkomma-Rechenoperationen und emuliert das Verhalten von let.
Zusätzlich Die dynamische Variable BASH_MONOSECONDS wird hinzugefügtDass bietet einen monotonen Zähler der Systemzeit, nützlich für Aufgaben, bei denen zeitliche Stabilität entscheidend ist.
Im POSIX-Modus führt Bash jetzt Zeichenfolgenvergleiche mit den Operatoren < und > durch. Unter Berücksichtigung der regionalen Einstellungen. Außerdem wird das Verhalten von Befehlen wie Test, Trap, Wait und Binding angepasst und folgt genau den Anforderungen des Standards. Beispielsweise können Sie mit trap -P die Trap-Aktion jedes Signals ausgeben, und wait -n verbessert die Verwaltung beendeter Prozesse und Ersetzungen.
Readline 8.3
Auch die Readline-Bibliothek, ein Begleiter von Bash, wurde umfassend aktualisiert. Zu den wichtigsten Neuerungen zählen:
- Suche-Groß-/Kleinschreibung ignorieren: ermöglicht die Groß-/Kleinschreibung ignorierende Suche im Verlauf.
- Export-Abschlüsse: exportiert die möglichen Vervollständigungen eines Wortes zur externen Verarbeitung.
- Führen Sie den benannten Befehl aus: Führt Befehle aus, deren Namen aus der Standardeingabe gelesen werden. Nützlich für Skripting und Anpassung.
- Verbesserte Makrounterstützung, neue konfigurierbare Variablen und bessere Handhabung der Bildschirmabmessungen nach einer Wiederaufnahme (SIGCONT).
Installieren und/oder Aktualisieren von Bash unter Linux
Wenn Sie Bash unter Linux installieren oder aktualisieren möchten, sollten Sie wissen, dass dies von der verwendeten Distribution abhängt. Im Folgenden erkläre ich, wie es bei den wichtigsten Distributionen funktioniert:
Auf Debian-basierten Distributionen (wie Ubuntu, Linux Mint)
sudo apt install --only-upgrade bash
Dadurch wird Bash auf die neueste Version aktualisiert, die in den offiziellen Repositories verfügbar ist.
Wenn Sie es von Grund auf neu installieren möchten (z. B. auf einem sehr minimalen System):
sudo apt installiere bash
Auf Red Hat-basierten Distributionen (wie Fedora, CentOS, RHEL)
sudo dnf update bash So installieren Sie Bash (falls es noch nicht installiert ist):
sudo dnf installiere bash
Auf Arch Linux und Derivaten (wie Manjaro)
sudo pacman -Syu bash
Dadurch wird Bash zusammen mit dem gesamten System aktualisiert. So installieren Sie nur Bash:
sudo pacman -S bash