Крупное обновление: вышел GNU bash 5.1

17.12.2020      28078

Разработчики представили свежую версию командного интерпретатора – GNU bash 5.1, используемого по умолчанию в большинстве дистрибутивов Linux. Также обновили библиотеку GNU readline 8.1, которую используют в bash для консольного интерфейса и редактирования строк.

Основные изменения

GNU bash 5.1 получил обновленный движок генерации псевдослучайных чисел. Теперь 32-разрядное значение от системного генератора псевдослучайных чисел записывается в переменную SRANDOM, а вместо вызова LCRNG (линейного конгруэнтного генератора) задействуются getrandom/getentropy, /dev/urandom или arc4random. Результирующая последовательность нелинейна. Даже если список запросов повторится, вы получите новую цепочку чисел.

В ассоциативных массивах, например, в словарях, появились составные присвоения с помощью пар «ключ/значение» – «[key]=value». А размер хэш-таблицы теперь увеличивается динамически и зависит от типа данных.

Переменная BASH_COMPAT активирует режим совместимости с прошлыми версиями bash. А вот POSIX-режим для раскрытия путей, который добавили в пятой редакции, из bash 5.1 по просьбе пользователей убрали. Зато в этом режиме появилась возможность замещать процесс, который другие команды обрабатывают как файл.

Еще одно нововведение касается выхода из командной оболочки. Теперь в этой ситуации bash закрывает все FIFO-каналы, даже если они связаны с выполняемыми процессами.

Обновления команд

  • В bash 5.1 добавили загружаемые команды asort, mktemp, accept, mkfifo, csv и cut/lcut.
  • Новая команда rl-clear-display очистит экран и буфер прокрутки.
  • В ulimit теперь доступен ключ «-R»: он позволяет считать или изменить значение ресурса RLIMIT_RTTIME.
  • Для определения времени с точностью до наносекунды появился новый оператор test-N.
  • В команде wait появилась опция «-p имя_переменной». Она сохранит в переменной PID (идентификатор процесса), который вернула команда wait с ключом «-n» или без аргументов.
  • Для операторов преобразования доступны новые ключи. «U» и «u» предназначены для перевода в верхний регистр всей строки и первого символа соответственно, «L» – для преобразования строки в нижний регистр, «K» — для представления ассоциативного массива в формате ключ/значение.
  • Механизм обработки исключений при чтении данных с терминала командами read и select изменили. Так, select запускает trap-обработчики, если внутренний вызов команды read вызвал прерывание. А обработчики SIGINT можно вызывать рекурсивно.
  • Чтобы запустить несколько команд перед выводом приглашения командной строки, добавлена переменная PROMPT_COMMANDS.

Что нового в readline 8.1

Readline – библиотека с открытым исходным кодом. Она нужна для работы командной строки в bash и используется при обработке строк текста из консоли.

Readline позволяет, например, пользоваться комбинациями клавиш. Когда вы нажимаете Ctrl+R, вызывается функция readline для поиска среди команд, которые вы уже вводили. Ctrl+F (forward) передвигает курсор на позицию вперед, Ctrl+B (back) – назад. Также библиотека позволяет дополнять команды по первым символам после нажатия Tab и поддерживает буфер обмена.

В новой версии библиотеки появился режим выделенной вставки bracketed-paste. Данные, которые берутся из буфера обмена, оборачиваются в escape-последовательностями (»\e[200~» и «\e[201~»). Это позволяет визуально выделить такие фрагменты подсветкой синтаксиса

Кроме того, стал подсвечиваться текст, найденный в истории при инкрементальном и неинкрементальном поиске в истории. Это облегчает работу с большими фрагментами кода и других данных в консоли.

Наконец, добавили команду shell-transpose-words. Она использует то же определение слов, что и в shell-forward-word. Также внедрили привязки по умолчанию для всех команд этого семейства (shell-forward-word, shell-backward-word, shell-transpose-words и shell-kill-word).

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


Автор:
Обозреватель


См. также

Новость Дата-центры Искусственный интеллект ИТ-Новость

Развитие искусственного интеллекта и цифровых сервисов в России стало причиной роста потребности в мощных центрах обработки данных. Эксперты прогнозируют, что дефицит ЦОД, который уже наблюдается сегодня, в ближайшие годы будет только усиливаться.

18.07.2024    214    AnastasiaKl    0       

1

Новость ИТ-Новость

В сентябре 2024 года видеоигры в России начнут маркировать – пока на добровольной основе. Геймерам будут сообщать о семи видах чувствительного (неприятного) контента в игре.

17.07.2024    265    user1915669    0       

1

Новость Законодательство ИТ-Новость

Депутаты Госдумы работают над законопроектом по ужесточению контроля за электросамокатами. Среди мер: обязательная регистрация СИМ (средств индивидуальной мобильности) и разработка системы отслеживания их перемещений.

10.07.2024    499    AnastasiaKl    2       

1

Новость Искусственный интеллект ИТ-Новость

В 2024 году «Сколково» выделит пилотным проектам в сфере искусственного интеллекта гранты на общую сумму 554 млн рублей. В результате отбора финансирование получат проекты с применением ИИ в областях производства, операционной деятельности и в работе предоставляемых сервисов.

12.04.2024    1028    AnastasiaKl    3       

3

Новость ИТ-Новость

Пятничное: в России вступил в силу стандарт подготовки по дисциплине «спортивное программирование». В стандарт вошли требования к физическим показателям спортсменов и скорости набора текста.

16.02.2024    851    VKuser24342747    2       

1

Новость ИТ-Новость

Федеральное агентство по техническому регулированию и метрологии (Росстандарт) утвердило национальный стандарт протокола LoRaWAN RU, таким образом он получил официальный статус. Технология используется для беспроводной передачи данных между устройствами интернета вещей.

19.01.2024    641    VKuser24342747    0       

2

Новость Законодательство ИТ-Новость

12 декабря вступил в силу Федеральный закон, меняющий срок, к которому все владельцы сайтов должны внести изменения в порядок авторизации пользователей на сайте. Закон вводит переходный период до 1 января 2025 года.

20.12.2023    791    VKuser24342747    2       

1

Новость Мобильные приложения ИТ-Новость

Новая версия Android Studio под номером 2023.1 получила имя Hedgehog. Появились возможности контролировать производительность приложений и управлять подключенными устройствами.

07.12.2023    1025    VKuser24342747    2       

3
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
Оставьте свое сообщение