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

17.12.2020      28164

Разработчики представили свежую версию командного интерпретатора – 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


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


См. также

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

Минцифры подготовило проект постановления по запуску платформы, на которой ИТ-специалисты могут пройти добровольное тестирование и подтвердить свою квалификацию.

11.12.2024    454    user1915669    2       

2

Новость ИТ-Новость ФНС ЭДО

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

03.12.2024    564    user2114475    0       

2

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

Российский Альянс по искусственному интеллекту обновил требования к специалистам по ИИ: вышла новая модель с основными профессиями и навыками. Теперь базовых профессий в сфере ИИ осталось только четыре.

01.11.2024    785    user1915669    0       

3

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

Система платежей «Волна» по планам сделает возможной бесконтактную оплату для владельцев IPhone в России, а BRICS Pay позволит совершать безналичные расчеты иностранцам по картам Visa и Mastercard.

23.10.2024    1000    AnastasiaKl    0       

4

Новость ИТ-компания ИТ-Новость

Конструктор сайтов Wix уходит из России с 12 сентября 2024 года – перестанут работать все российский аккаунты. Сайты, привязанные к аккаунтам, также перестанут работать.

11.09.2024    1006    user1915669    2       

2

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

ИИ научат разработке цифровых интегральных микросхем – несколько российских научных институтов заявили об участии в проекте. Проект рассчитан на 3 года – с 2024 по 2026.

23.07.2024    642    user1915669    0       

2

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

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

18.07.2024    788    AnastasiaKl    0       

1

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

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

17.07.2024    857    user1915669    0       

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