След двайсет месеца разработка е публикувана нова версия на командния интерпретатор GNU Bash 5.2, използван по подразбиране в повечето дистрибуции на Linux. В същото време е формулиран релийз на библиотеката readline 8.2, която се използва в bash за организиране на редактиране на командния ред.
Ключовите подобрения включват:
- Преписан е кодът за разбиране на конструкции за заместване на команди (command substitution, подмяна на изход от изпълнение на друга команда, например, «$(command)» или `command`). Новата реализация използва рекурсивно извикване на парсера bison и се отличава с по-качествена проверка на синтаксиса и ранно откриване на грешки в заместваните конструкции.
- Подобрено е разбирането и разширяването на индексите на масиви. Реализирана е възможността за използване на параметрите «@» и «*» в вградена команда unset за нулиране на ключ с дадено значение вместо нулиране на целия масив.
- Добавена е нова настройка «patsub_replacement», при активиране на която символът «&» в заменената стринг се използва за подмяна на част от стринга, съответстваща на зададения шаблон. За вмъкване на литерал «&» е необходимо да го ескейпнем с обратен наклон.
- Разширен е броят на ситуациите, при които не се извършва създаване на допълнителни процеси, например, fork вече не се прилага при използване на конструкцията «$(<file)».
- Реализиран е нов вътрешен фреймуърк за таймер и изчисление на таймаути.
- Предоставена е възможност за включване на етапа на сглобяване (configure —enable-alt-array-implementation) на алтернативна реализация на масиви, която е оптимизирана за максимална скорост на достъп за сметка на повишено потребление на памет.
- Разширено е използването на замествания $’…’ и $»…», прилагани при локализация. Добавени са настройките noexpand_translations и опцията за сглобяване «configure —enable-translatable-strings», управляващи включването на поддръжка за локализуеми замествания $»…».
- Добавена и включена по подразбиране настройка «globskipdots», която забранява връщането на «.» и «..» при разширяване на пътища.
Източник: opennet.ru
