[Настройка Linux, Разработка под Linux, Софт] Новая версия командного интерпретатора GNU Bash 5.1 уже в строю

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
08-Дек-2020 22:32

Сегодня стало известно о выходе новой версии командного интерпретатора GNU Bash 5.1. На ее разработку ушло целых два года. Кроме того, есть и еще новость — сформирован релиз библиотеки readline 8.1, которая применяется в bash для организации редактирования командной строки.
О том, что появилось нового и полезного — под катом.
  • Полностью переработан движок генерации псевдослучайных чисел. Теперь добавлена переменная SRANDOM, которая содержит случайное 32-разрядное число из системного генератора псевдослучайных чисел. Вместо LCRNG использованы вызовы getrandom/getentropy, /dev/urandom или arc4random. Ну а последовательность, которая выдается, не является линейной, так что она не повторяется при идентичном следовании запросов.
  • Кроме того, добавлена переменная PROMPT_COMMANDS. Она введена для запуска нескольких команд перед выводом приглашения командной строки.
  • В Readline включили режим выделенной вставки (bracketed-paste), при котором извлекаемые из буфера обмена данные обрамляются escape-последовательностями ("\e[200~" и "\e[201~") для визуального выделения поступивших из буфера обмена данных. Теперь здесь есть подсветка подобных вставок, плюс подсветка текста, который найден при инкрементальном и неинкрементальном поиске в истории.
  • Для ассоциативных массивов добавлена поддержка составных присвоений. В них передается набор из пар в формате ключ/значение ("[key]=value"). Плюс ко всему, разработчики реализовали динамическое увеличение размера хэш-таблицы в зависимости от типа данных, которые добавляются в ассоциативный массив.
  • Еще стоит выделить факт добавления новых параметров операторов преобразования. Так, «U», «u» и «L» используются для преобразования в верхний регистр всей строки, преобразования в верхний регистр первого символа и преобразования в нижний регистр, а параметр «K» — для отображения ассоциативного массива в формате ключ/значение.
  • Чтобы активировать режим совместимости с прошлыми версиями, нужно использовать переменную BASH_COMPAT. Compat50 для включения режима совместимости с версией 5.0 не получится.
  • Разработчики решили вернуть старое поведение, которое связано с раскрытием файлового пути при указании слов, включающих обратные слэши, но без использования спецсимволов раскрытия маски. Поведение унаследовано из версии 4.4. В «пятерке» был введен стандарт POSIX, но пользователи негативно отнеслись к этому нововведению.
  • В том же POSIX-режиме добавлена возможность замещения процесса, в ходе которого ввод и вывод команды обрабатывается другими командами как файл. В качестве примера можно привести «diff <(sort file1) <(sort file2)».
  • Появились новые загружаемые команды asort, mktemp, accept, mkfifo, csv и cut/lcut.
  • А еще в команду wait добавили опцию "-p имя переменной". Она нужна для сохранения в переменной информации о PID процесса, который возвращен при выполнении «wait -n» или вызова wait без аргументов.
  • Команда rl-clear-display используется для очистки содержимого экрана и буфера прокрутки.
  • Модифицирован способ обработки исключений при чтении данных с терминала при помощи read и select. Последняя команда запускает trap-обработчики в случа прерывания сигналом внутреннего вызова команды read. Плюс разрешен рекурсивный запуск обработчиков SIGINT.
  • Команда shell-transpose-words, появившаяся в readline, использует то же определение слов, что и в shell-forward-word. По дефолту используются клавиатурные привязки для команд shell-forward-word, shell-backward-word, shell-transpose-words и shell-kill-word.
  • Новый оператор «test-N» определяет время с наносекундной точностью.
  • Разрешена запись в переменную BASH_REMATCH.
  • В ulimit появилась команда "-R" для просмотра и установки ресурса RLIMIT_RTTIME.
  • В случае выхода из командной оболочки bash закрывает все FIFO-каналы, вне зависимости от завершения связанных процессов.

С полным списком изменений можно ознакомиться вот здесь.

===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_nastrojka_linux (Настройка Linux), #_razrabotka_pod_linux (Разработка под Linux), #_soft (Софт), #_bash, #_komandnaja_obolochka (командная оболочка), #_bash_5.1, #_linux, #_blog_kompanii_selectel (
Блог компании Selectel
)
, #_nastrojka_linux (
Настройка Linux
)
, #_razrabotka_pod_linux (
Разработка под Linux
)
, #_soft (
Софт
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 22-Ноя 02:45
Часовой пояс: UTC + 5