Nach zwanzig Monaten Entwicklung wurde die neue Version des GNU Bash-Kommandointerpretators 5.2 veröffentlicht, die standardmĂ€Ăig in den meisten Linux-Distributionen verwendet wird. Gleichzeitig wurde die Version der readline-Bibliothek 8.2 freigegeben, die in bash zur Bearbeitung von Eingabeaufforderungen eingesetzt wird.
Zu den wichtigsten Verbesserungen gehören:
- Der Code zur Analyse von Kommandosubstitutionen wurde neu geschrieben. Die neue Implementierung nutzt rekursive Aufrufe des Bison-Parsers und bietet eine qualitativ hochwertigere SyntaxĂŒberprĂŒfung sowie eine frĂŒhzeitige Fehlererkennung in den Substitutionskonstruktionen.
- Die Analyse und Auflösung von Array-Indizes wurde verbessert. Es wurde die Möglichkeit implementiert, die Parameter â@â und â*â im eingebetteten unset-Befehl zu verwenden, um einen SchlĂŒssel mit dem angegebenen Wert zurĂŒckzusetzen, anstatt das gesamte Array zurĂŒckzusetzen.
- Eine neue Einstellung âpatsub_replacementâ wurde hinzugefĂŒgt, bei der das Zeichen â&â in der ersetzten Zeichenfolge verwendet wird, um den Teil der Zeichenfolge, der dem angegebenen Muster entspricht, zu ersetzen. Um das Literal â&â einzufĂŒgen, muss es mit einem RĂŒckwĂ€rtsschrĂ€gstrich escape sein.
- Die Anzahl der Situationen, in denen zusĂ€tzliche Prozesse nicht abgeleitet werden, wurde erweitert. Beispielsweise wird fork jetzt bei der Verwendung der Konstruktion â$(<file)â nicht mehr verwendet.
- Ein neues internes Framework fĂŒr Timer und Timeout-Berechnungen wurde implementiert.
- Die Möglichkeit, wĂ€hrend des Builds (configure âenable-alt-array-implementation) eine alternative Implementierung von Arrays zu aktivieren, die optimiert ist, um die Zugriffsgeschwindigkeit auf Kosten eines erhöhten Speicherverbrauchs zu maximieren, wurde bereitgestellt.
- Die Verwendung der Platzhalter $ââŠâ und $ââŠâ wurde erweitert, die bei der Lokalisierung angewendet werden. Es wurden die Einstellung noexpand_translations und die Build-Option âconfigure âenable-translatable-stringsâ hinzugefĂŒgt, die die UnterstĂŒtzung fĂŒr lokaliserbare Platzhalter $ââŠâ steuern.
- Die Einstellung âglobskipdotsâ, die die RĂŒckgabe von â.â und â..â beim Entpacken von Pfaden verbietet, wurde hinzugefĂŒgt und ist standardmĂ€Ăig aktiviert.
Quelle: opennet.ru
