Bash 5.2 уже выпущен и содержит новости, исправления и многое другое.

колотить

Bash (Bourne Again SHell) — это проект GNU, полная реализация спецификации оболочки POSIX.

После почти 2 лет разработки (двадцать месяцев разработки, если быть точным) запуск новая версия оболочки GNU Баш 5.2, который является обновлением пятой ветки (5.x), и этот выпуск исправляет несколько заметных ошибок в bash-5.1 и вводит ряд новых функций.

Те из вас, кто плохо знаком с bash, должны знать, что это оболочка по умолчанию в большинстве дистрибутивов Linux.

Основные новые возможности Bash 5.2

В этой новой версии, представленной от Bash 5.2 отмечается, что велась работа по переписыванию кода для анализа конструкций подстановки команд и замена вывода при выполнении другой команды, такой как "$(command)" или `command`. Новая реализация вызывает синтаксический анализатор bison рекурсивно. Это заменяет специальный синтаксический анализ, использовавшийся в предыдущих версиях, и позволяет лучше проверять синтаксис и выявлять синтаксические ошибки намного раньше.

Еще одно изменение, которое выделяется в этой новой версии Bash 5.2, — это улучшен разбор и расширение индексов массива, плюс реализована возможность использовать параметры "@" и "*" во встроенной команде для сброса ключа на заданное значение вместо сброса всего массива.

В дополнение к этому упоминается также, что добавлена ​​новая настройка «patsub_replacement», когда он установлен, символ '&' в заменяемой строке используется для замены части строки, которая соответствует заданному шаблону.

также подчеркивается, что существует новая структура для времени ожидания readline, который включает новые
общедоступные функции для установки тайм-аутов и просмотра того, сколько времени осталось до истечения времени ожидания, а также есть новый параметр конфигурации: --with-shared-termcap-library, который заставляет общую библиотеку readline связываться с общей библиотекой termcap (или curses /ncurses/termlib), поэтому приложениям это не нужно.

Из других изменений которые выделяются из этой новой версии Bash 5.2:

  • Расширено количество ситуаций, когда дополнительные процессы не разветвляются, например, больше не используется разветвление при использовании конструкции "$("
  • Реализована новая внутренняя структура для расчета таймера и времени ожидания.
  • Предусмотрена возможность включения во время компиляции (configure --enable-alt-array-implementation) альтернативной реализации массива, оптимизированной для максимальной скорости доступа за счет увеличения потребления памяти.
  • Расширенное использование замен $'…' и $»…», используемых в локализации.
  •  'printf' имеет новый спецификатор формата '%Q'. Это действует как "%q", но применяет любую указанную точность к исходному аргументу без кавычек, затем заключает в кавычки и выводит результат.
  • Добавлен параметр noexpand_translations и параметр сборки «configure --enable-translatable-strings», чтобы контролировать, включена ли поддержка локализуемых замен $"...".
  • В режиме posix `printf' теперь можно использовать long double для спецификаторов преобразования с плавающей запятой, если они присутствуют, в противном случае он должен быть просто double.
  • Добавлены и включены по умолчанию "globskipdots", чтобы избежать "." и ".." при расширении маршрутов..

В то же время была выпущена библиотека readline 8.2, которая используется в bash для организации редактирования командной строки.

Наконец, следует упомянуть, что эта версия bash может быть связана с библиотекой Readline уже установлен вместо приватной версии в lib/readline, если хотите. Важно лишь отметить, что версия readline-8.1 и более поздние версии могут предоставлять все символы, которые требуются bash-5.2, поэтому более ранние версии библиотеки Readline не будут работать правильно.

Наконец, для тех, кто хочет узнать немного больше, а также для тех, кто хочет получить эту новую версию сейчас, вы можете перейти по следующей ссылке.

Как получить Bash 5.2 для Linux?

Момент Осталось только дождаться включения этой новой версии Bash. в репозиториях дистрибутивов Linux, поскольку это лучший вариант.


Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Будьте первым, чтобы комментировать

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован.

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.