Nach zwanzigmonatiger Entwicklung wurde die neue Version des GNU Bash-Kommandointerpreters 5.2 veröffentlicht, die standardmĂ€Ăig in den meisten Linux-Distributionen verwendet wird. Gleichzeitig wurde die neue Version der readline-Bibliothek 8.2 herausgegeben, die in Bash zur Organisation der Bearbeitung der Eingabeaufforderung verwendet wird.
Zu den wichtigsten Verbesserungen gehören:
- Der Code zur Analyse von Befehlsersetzungen wurde ĂŒberarbeitet. Die neue Implementierung verwendet einen rekursiven Aufruf des Bison-Parsers und bietet eine qualitativ hochwertigere SyntaxprĂŒfung und frĂŒhzeitige Fehlererkennung in den ersetzenden Konstruktionen.
- Die Analyse und Erweiterung von Array-Indizes wurde verbessert. Es wurde die Möglichkeit realisiert, die Parameter â@â und â*â in dem eingebauten Befehl unset zu verwenden, um einem SchlĂŒssel mit einem bestimmten Wert anstelle des gesamten Arrays den RĂŒcksetzvorgang zu ermöglichen.
- Eine neue Einstellung âpatsub_replacementâ wurde hinzugefĂŒgt, bei der das Zeichen â&â in der zu ersetzenden Zeichenfolge zum EinfĂŒgen eines Teils der Zeichenfolge verwendet wird, der dem angegebenen Muster entspricht. Um das Literal â&â einzufĂŒgen, muss es mit einem RĂŒckwĂ€rtsschrĂ€gstrich maskiert werden.
- Die Anzahl der Situationen, in denen kein Fork zusĂ€tzlicher Prozesse durchgefĂŒhrt wird, wurde erweitert. Fork wird nun beispielsweise nicht verwendet, wenn die Konstruktion â$(<datei)â verwendet wird.
- Ein neues internes Framework fĂŒr Timer und die Berechnung von Timeouts wurde implementiert.
- Die Möglichkeit zur Aktivierung einer alternativen Implementierung von Arrays auf der Build-Ebene (configure âenable-alt-array-implementation) wurde bereitgestellt, die optimiert ist, um maximale Zugriffsgeschwindigkeit bei erhöhtem Speicherverbrauch zu erreichen.
- Die Nutzung der Platzhalter $ââŠâ und $»âŠÂ», die bei der Lokalisierung verwendet werden, wurde erweitert. Neue Einstellungen noexpand_translations und die Build-Option âconfigure âenable-translatable-stringsâ steuern die Aktivierung der UnterstĂŒtzung fĂŒr lokalisierbare Platzhalter $»âŠÂ».
- Die Einstellung âglobskipdotsâ wurde hinzugefĂŒgt und standardmĂ€Ăig aktiviert, um das ZurĂŒckgeben von â.â und â..â beim Erweitern von Pfaden zu verhindern.
Quelle: opennet.ru
