Доступний командний інтерпретатор Bash 5.2

Після двадцяти місяців розробки опубліковано нову версію командного інтерпретатора GNU Bash 5.2, що використовується за замовчуванням у більшості дистрибутивів Linux. Одночасно сформовано реліз бібліотеки readline 8.2, що застосовується в bash для організації редагування командного рядка.

З ключових покращень можна відзначити:

  • Переписаний код для аналізу конструкцій заміщення команд (command substitution, підстановка виведення від виконання іншої команди, наприклад, «$(command)» або `command`). Нова реалізація використовує рекурсивний виклик парсера bison і відрізняється більш якісною перевіркою синтаксису і раннім виявленням помилок у конструкціях, що заміщаються.
  • Покращено розбір та розкриття індексів масивів. Реалізовано можливість використання параметрів «@» і «*» у вбудованій команді unset для скидання ключа із заданим значенням замість скидання всього масиву.
  • Додано нове налаштування «patsub_replacement», під час встановлення якого символ «&» у рядку, що замінюється, використовується для підстановки частини рядка, що відповідає заданому шаблону. Для вставки літералу «&» необхідне його екранування зворотним слешем.
  • Розширено число ситуацій, у яких не виконується відгалуження додаткових процесів, наприклад, fork тепер не застосовується під час використання конструкції «$(<file)».
  • Реалізовано новий внутрішній фреймворк для таймера та розрахунку таймаутів.
  • Надано можливість включення на етапі складання (сonfigure - enable-alt-array-implementation) альтернативної реалізації масивів, яка оптимізована для досягнення максимальної швидкості доступу ціною підвищення споживання пам'яті.
  • Розширено використання підстановок $'…' і $»…», що застосовуються під час локалізації. Додані налаштування noexpand_translations і збірна опція "configure -enable-translatable-strings", що управляють включенням підтримки локалізованих підстановок $"...".
  • Додана та включена за замовчуванням налаштування «globskipdots», що забороняє повернення «.» та «..» при розкритті шляхів.

Джерело: opennet.ru

Додати коментар або відгук