Bash 5.2 wurde bereits veröffentlicht und kommt mit Neuigkeiten, Korrekturen und mehr

bash

Bash (Bourne Again SHell) ist ein GNU-Projekt, eine vollständige Implementierung der POSIX-Shell-Spezifikation

Nach fast 2 Jahren Entwicklung (XNUMX Monate Entwicklungszeit um genau zu sein) der Start von die neue Version der GNU-Shell bash 5.2, das ein Update für den fünften Zweig (5.x) ist und dass diese Version mehrere bemerkenswerte Fehler in bash-5.1 behebt und eine Reihe neuer Funktionen einführt.

Für diejenigen unter Ihnen, die neu in Bash sind, sollten Sie wissen, dass dies eine Standard-Shell auf den meisten Linux-Distributionen ist.

Hauptneufunktionen von Bash 5.2

In dieser neuen Version, die von Bash 5.2 vorgestellt wird Es wird darauf hingewiesen, dass am Umschreiben des Codes gearbeitet wurde, um die Befehlssubstitutionskonstrukte zu analysieren und Ersetzen der Ausgabe beim Ausführen eines anderen Befehls, wie z. B. "$(command)" oder "command". Die neue Implementierung ruft den Bison-Parser rekursiv auf. Dies ersetzt das in früheren Versionen verwendete Ad-hoc-Parsing und ermöglicht eine bessere Syntaxprüfung und fängt Syntaxfehler viel früher ab.

Eine weitere hervorstechende Änderung in dieser neuen Version von Bash 5.2 ist die verbessertes Parsing und Erweiterung von Array-Indizes, Außerdem wurde die Möglichkeit implementiert, die Parameter "@" und "*" im integrierten Befehl zu verwenden, um einen Schlüssel auf einen bestimmten Wert zurückzusetzen, anstatt das gesamte Array zurückzusetzen.

Darüber hinaus wird auch das erwähnt neue Einstellung „patsub_replacement“ hinzugefügt, wenn es gesetzt ist, wird das '&'-Zeichen in der ersetzten Zeichenkette verwendet, um den Teil der Zeichenkette zu ersetzen, der dem gegebenen Muster entspricht.

Auch es wird hervorgehoben, dass es einen neuen Rahmen für Warteschleifen gibt, was neu beinhaltet
öffentliche Funktionen, um Timeouts festzulegen und zu sehen, wie viel Zeit bis zum Timeout verbleibt, außerdem gibt es eine neue Konfigurationsoption: --with-shared-termcap-library, die die gemeinsam genutzte readline-Bibliothek zwingt, sich mit der gemeinsam genutzten termcap-Bibliothek (oder flus /ncurses/termlib), sodass Anwendungen dies nicht tun müssen.

Von den anderen Änderungen die sich von dieser neuen Version von Bash 5.2 abheben:

  • Die Anzahl der Situationen, in denen zusätzliche Prozesse nicht geforkt werden, wurde erweitert, z. B. wird Forking nicht mehr verwendet, wenn das Konstrukt "$(" verwendet wird
  • Ein neues internes Framework für Timer- und Timeout-Berechnung implementiert.
  • Bietet die Möglichkeit, zur Kompilierzeit (configure --enable-alt-array-implementation) eine alternative Array-Implementierung zu aktivieren, die für maximale Zugriffsgeschwindigkeit auf Kosten eines erhöhten Speicherverbrauchs optimiert ist.
  • Erweiterte Verwendung von $'…'- und $»…»-Substitutionen, die bei der Lokalisierung verwendet werden.
  •  'printf' hat einen neuen Formatbezeichner '%Q'. Dies verhält sich wie "%q", wendet jedoch eine beliebige angegebene Genauigkeit ohne Anführungszeichen auf das ursprüngliche Argument an, setzt es dann in Anführungszeichen und gibt das Ergebnis aus.
  • noexpand_translations-Einstellung und "configure --enable-translatable-strings"-Build-Option hinzugefügt, um zu steuern, ob die Unterstützung für lokalisierbare $"..."-Substitutionen aktiviert ist.
  • Im Posix-Modus kann das `printf' jetzt als long double für Fließkommakonvertierungsspezifizierer verwendet werden, falls vorhanden, andernfalls muss es andernfalls einfach double sein.
  • "Globskipdots" hinzugefügt und standardmäßig aktiviert, um "." und ".." beim Erweitern von Routen..

Gleichzeitig wurde die readline 8.2-Bibliothek veröffentlicht, die in der Bash verwendet wird, um die Befehlszeilenbearbeitung zu organisieren.

Das sei abschließend noch erwähnt Diese Version von Bash kann mit einer Readline-Bibliothek verknüpft werden bereits anstelle der privaten Version in lib/readline installiert, wenn Sie dies wünschen. Es ist nur wichtig zu erwähnen, dass die Version von readline-8.1 und spätere Versionen können alle Symbole bereitstellen, die bash-5.2 benötigt, sodass frühere Versionen der Readline-Bibliothek nicht korrekt funktionieren.

Abschließend für diejenigen, die daran interessiert sind, ein wenig mehr zu erfahren, und auch für diejenigen, die diese neue Version jetzt erhalten möchten, Sie können den folgenden Link besuchen.

Wie bekomme ich Bash 5.2 unter Linux?

Moment Es bleibt nur zu warten, bis diese neue Version von Bash aufgenommen wurde innerhalb der Repositories von Linux-Distributionen, da dies die beste Option ist.


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: AB Internet Networks 2008 SL
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.