Релиз командного интерпретатора Bash 5.1
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
После двух лет разработки опубликована новая версия командного интерпретатора GNU Bash 5.1, используемого по умолчанию в большинстве дистрибутивов Linux. Одновременно сформирован релиз библиотеки readline 8.1, применяемой в bash для организации редактирования командной строки.
Из ключевых улучшений можно отметить:
- Переработан движок генерации псевдослучайных чисел. Добавлена переменная SRANDOM, содержащая случайное 32-разрядное число из системного генератора псевдослучайных чисел (вместо LCRNG использованы вызовы getrandom/getentropy, /dev/urandom или arc4random, в зависимости от ОС). Выдаваемая последовательность теперь не является линейной и не повторяется при идентичном следовании запросов.
- Для ассоциативных массивов реализована поддержка составных присвоений, в которых передаётся набор из пар в формате ключ/значение ("[key]=value"). Реализовано динамическое увеличение размера хэш-таблицы в зависимости от типа данных, добавляемых в ассоциативный массив.
- Добавлена переменная PROMPT_COMMANDS, которую можно использовать для запуска нескольких команд перед выводом приглашения командной строки.
- В команду wait добавлена опция "-p имя переменной" для сохранения в переменной информации о PID процесса, возвращённого при выполнении "wait -n" или вызова wait без аргументов. В "wait -n" теперь допускается передача списка работ (wait будет ожидать изменения состояния любой задачи из списка).
- Добавлены новые загружаемые встроенные команды: asort, mktemp, accept, mkfifo, csv и cut/lcut.
- В POSIX-режиме реализована возможность замещения процесса (process substitution), при которой ввод и вывод команды обрабатывается другими командами как файл (например, "diff <(sort file1) <(sort file2)").
- Добавлены новые параметры операторов преобразования: "U", "u" и "L" для преобразования в верхний регистр всей строки, преобразования в верхний регистр первого символа и преобразования в нижний регистр, а также параметр "K" для отображения ассоциативного массива в формате ключ/значение.
- Для включения режима совместимости с прошлыми версиями теперь нужно использовать переменную BASH_COMPAT (через опцию compat50 установить режим совместимости с bash 5.0 не получится).
- В Readline по умолчанию включён режим выделенной вставки (bracketed-paste), при котором извлекаемые из буфера обмена данные обрамляются escape-последовательностями ("\e[200~" и "\e[201~") для визуального выделения поступивших из буфера обмена данных. В Readline обеспечена подсветка подобных вставок, а также подсветка текста, найденного при инкрементальном и неинкрементальном поиске в истории. Расширено число команд и ситуаций, для которых подставляются метки для подсветки.
- Readline реализовано автоматическое включение горизонтальной прокрутки на однострочных терминалах.
- Добавлена команда rl-clear-display для очистки содержимого экрана и буфера прокрутки.
- Возвращено старое поведение, связанное с раскрытием файлового пути при указании слов, включающих обратные слэши, но не использующих спецсимволы раскрытия маски. Как и в bash 4.4 подобные пути теперь не раскрываются (изменённое поведение Bash 5.0 соответствовало стандарту POSIX, но было отрицательно воспринято пользователями и комитет POSIX согласился изменить спецификацию). Кроме того режим GLOBIGNORE теперь игнорирует указание "." и ".." в качестве указанных в терминале компонентов пути.
- Изменена обработка исключений (trap) при чтении данных с терминала при помощи конструкций read и select. Встроенная команда select теперь запускает trap-обработчики в случае прерывания сигналом внутреннего вызова команды read. Разрешён рекурсивный запуск обработчиков SIGINT.
- Разрешено использование команды "read -e" с произвольными файловыми дескрипторами (read -u N).
- Добавлена возможность связывания с уже установленной в системе библиотекой Readline, вместо встроенной версии lib/readline (для подобного связывания требуется версия Readline 8.1).
- В команде "bind -x" добавлена поддержка определения разных привязок клавиатурных комбинаций для разных режимов редактирования и разных раскладок клавиатуры.
- Реализована оптимизация числа форков, выполняемых при запуске команд в subshell или при помощи "bash -c". При выполнении "bash -c" статус выполнения работ теперь можно узнать командой jobs.
- Код сопоставления по шаблону теперь использует вызов fnmatch для учёта одинаково выглядящих строк, но отличающихся по кодам символов.
- В readline добавлена команда shell-transpose-words, использующая то же определение слов, что и в команде shell-forward-word. По умолчанию добавлены клавиатурные привязки для команд shell-forward-word,
shell-backward-word, shell-transpose-words и shell-kill-word.
- В начальном окружении командной оболочки теперь доступна переменная ARGV0, которой присвоено значение $0.
- Добавлен оператор "test -N", определяющий время с наносекундной точностью.
- Разрешена запись в переменную BASH_REMATCH.
- В ulimit добавлена команда "-R" для просмотра и установки ресурса RLIMIT_RTTIME.
- Вызов malloc на 64-разрядных системах теперь выравнивает возвращаемую память по 16 байтовой границе.
- При выходе из командной оболочки bash теперь пытается закрыть все FIFO-каналы, независимо от того, завершены ли связанные с ними процессы.
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://lists.gnu.org/archive/...)
- OpenNews: Релиз командного интерпретатора Bash 5.0
- OpenNews: Выпуск командной оболочки fish 3.0
- OpenNews: Xonsh - командная оболочка, сочетающая Python с лучшими возможностями Bash, zsh и fish
- OpenNews: В Bash выявлено ещё четыре уязвимости, эксплуатируемые через переменные окружения
- OpenNews: Релиз командной оболочки zsh 5.1
Похожие новости:
- [Python, Сетевые технологии, Беспроводные технологии] Небольшой рассказ, как мы модернизировали и расширяли сеть Wi-Fi до 14 000 точек доступа
- [Настройка Linux, Разработка под Linux] Многозадачность в shell скриптах
- [*nix] Использование локального .bashrc через ssh и консолидация истории выполнения команд
- [Настройка Linux, Разработка на Raspberry Pi, DIY или Сделай сам] Как сделать из планшетного USB-сканера сетевой с памятью, используя Raspberry Pi. Видеолекция с демонстрацией
- topalias - утилита для генерации коротких алиасов по истории bash/zsh
- [Настройка Linux, Atlassian, Софт] Миграция Jira Service Desk из «облака» на сервер
- [Open source, Разработка под iOS, Разработка под Linux, IT-компании] Apple запрещает приложения эмулятора терминала на iPhone: в текущих версиях через них можно скачивать код
- [Системное администрирование, Серверное администрирование] Автоматизируем установку WordPress с NGINX Unit и Ubuntu (перевод)
- [Assembler, Информационная безопасность, Разработка под Windows, Реверс-инжиниринг] Пишем шеллкод под Windows на ассемблере
- [Системное администрирование, PowerShell, Периферия] Корректное завершение работы гипервизора VMWare ESXi при критическом уровне заряда батарей ИБП APC
Теги для поиска: #_bash, #_shell
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 06:34
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
После двух лет разработки опубликована новая версия командного интерпретатора GNU Bash 5.1, используемого по умолчанию в большинстве дистрибутивов Linux. Одновременно сформирован релиз библиотеки readline 8.1, применяемой в bash для организации редактирования командной строки. Из ключевых улучшений можно отметить:
=========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 06:34
Часовой пояс: UTC + 5