Bash 5.2-Shell verfügbar

Nach zwanzigmonatiger Entwicklungszeit wurde eine neue Version des GNU Bash 5.2-Befehlsinterpreters veröffentlicht, der standardmäßig in den meisten Linux-Distributionen verwendet wird. Gleichzeitig wurde eine Veröffentlichung der Readline 8.2-Bibliothek erstellt, die in Bash zum Organisieren der Befehlszeilenbearbeitung verwendet wird.

Zu den wichtigsten Verbesserungen gehören:

  • Neu geschriebener Code zum Parsen von Befehlssubstitutionskonstrukten (Befehlssubstitution, Substitution der Ausgabe bei der Ausführung eines anderen Befehls, zum Beispiel „$(command)“ oder „command“). Die neue Implementierung nutzt einen rekursiven Aufruf des Bison-Parsers und bietet eine bessere Syntaxprüfung und Früherkennung von Fehlern in ersetzten Strukturen.
  • Verbessertes Parsen und Erweitern von Array-Indizes. Es wurde die Möglichkeit implementiert, die Parameter „@“ und „*“ im integrierten Unset-Befehl zu verwenden, um einen Schlüssel mit einem bestimmten Wert zurückzusetzen, anstatt das gesamte Array zurückzusetzen.
  • Es wurde eine neue Einstellung „patsub_replacement“ hinzugefügt. Wenn diese festgelegt ist, wird das Zeichen „&“ in der ersetzten Zeichenfolge verwendet, um einen Teil der Zeichenfolge zu ersetzen, der dem angegebenen Muster entspricht. Um das Literal „&“ einzufügen, müssen Sie es mit einem Backslash maskieren.
  • Die Anzahl der Situationen, in denen zusätzliche Prozesse nicht geforkt werden, wurde erweitert, z. B. wird fork nicht mehr verwendet, wenn die Funktion „$(“ verwendet wird.
  • Ein neues internes Framework für Timer und Timeout-Berechnungen wurde implementiert.
  • Es ist möglich, eine alternative Implementierung von Arrays in der Build-Phase zu aktivieren (configure —enable-alt-array-implementation), die darauf optimiert ist, maximale Zugriffsgeschwindigkeit auf Kosten eines erhöhten Speicherverbrauchs zu erreichen.
  • Die Verwendung der bei der Lokalisierung verwendeten Substitutionen $'…' und $"..." wurde erweitert. Die Einstellung „noexpand_translations“ und die Build-Option „configure --enable-translatable-strings“ wurden hinzugefügt, um zu steuern, ob die Unterstützung für lokalisierbare Ersetzungen „$“…“ aktiviert ist.
  • Die Einstellung „globskipdots“ wurde hinzugefügt und standardmäßig aktiviert, wodurch die Rückgabe von „.“ deaktiviert wird. und „..“ beim Öffnen von Pfaden.

Source: opennet.ru

Kommentar hinzufügen