
5 июля 2025 года вышла версия командного интерпретатора GNU Bash 5.3, используемого по умолчанию в большинстве дистрибутивов Linux. Одновременно с этим релизом также сформирован выпуск библиотеки Readline 8.3, применяемой в Bash для организации редактирования командной строки. Предыдущая версия Bash 5.2 была представлена в сентябре 2022 года.
По информации OpenNET, основные улучшения и изменения в Bash 5.2:
реализованы новые формы подстановки команд «${ command; }» и «${|command;}», позволяющие перехватить вывод команды без ответвления отдельного дочернего процесса и без использования неименованных каналов. Результаты выполнения команды отдаются как результат подстановки или записываются в переменную REPLY;
добавлена новая переменная GLOBSORT, определяющая способ сортировки при дополнении файлового пути. Например, можно выбрать сортировку по имени (GLOBSORT=name), размеру (GLOBSORT=size) или времени изменения (GLOBSORT=mtime), а также определить прямой (от меньшего к большему) или обратный (от большего к меньшему) порядок сортировки (например, при «GLOBSORT=‑size» вначале будут показаны самые большие файлы);
во встроенную команду «compgen» добавлена опция «‑V varname» для сохранения сгенерированных дополнений в переменную, вместо вывода в стандартный поток;
во встроенную команду «read» добавлена опция «‑E», при вводе данных задействующая библиотеку readline с правилами автодополнения конструкций bash;
во встроенную команду «source» добавлена опция «‑p PATH», позволяющая переопределить список поиска в файловых путях (указанное значение используется вместо переменной $PATH);
исходный код переведён на использование стандарта C23. Прекращена возможность сборки компиляторами в режиме «K&R C» (стиль, соответствующий описанию языка Си в книге «The C Programming Language» Кернигана и Ритчи);
во встроенной команде «umask» обеспечена полная совместимость со спецификациями POSIX;
добавлена загружаемая команда «kv», формирующая ассоциативный массив на основе набора данных в формате «ключ значение»;
добавлена загружаемая команда «strptime», преобразующая текстовое представление даты и времени в эпохальное время (число секунд с 1 января 1970 года);
добавлена загружаемая команда «fltexpr», позволяющая выполнять арифметические операции с плавающей запятой по аналогии с командой let;
добавлена динамически выставляемая переменная BASH_MONOSECONDS, которая содержит текущее значение системных монотонных часов, которые непрерывно увеличиваются, даже при изменении времени в прошлое значение;
в режиме POSIX сравнение строк в команде «test», используя операторы «<» и «>», теперь производится с учётом текущей локали;
в команде «bind ‑x» разрешено разделение пробелом клавиши и вызываемой команды, если последовательность заключена в двойные кавычки;
в новой версии Readline предложена опция «search‑ignore‑case» для поиска в истории без учёта регистра символов. Добавлена команда «export‑completions» для экспорта вариантов дополнения слова для обработки в других процессах. Добавлена команда «execute‑named‑command» для выполнения команды, имя которой получено из стандартного входного потока.