Выпущена Bash Shell 5.3 с новой заменой команд

Почти через три года после выхода Bash 5.2 и после годичного цикла бета-версий и релиз-кандидатов самая популярная оболочка командной строки и язык сценариев, используемые в операционных системах типа Unix, выпустили версию 5.3.
Главной особенностью является пара новых форм подстановки ${ command; }
и ${|command;}
, которые запускаются в текущем контексте оболочки, а не в дочернем процессе. Это изменение означает, что скрипты могут захватывать вывод (или позволять команде писать в REPLY
) без обычных накладных расходов fork-and-pipe — удобно для плотных циклов и встроенных систем.
Еще одним полезным дополнением является GLOBSORT
переменная оболочки, которая позволяет пользователям определять порядок раскрытия путей — по имени, размеру, различным временным меткам или даже без сортировки — а также порядок сортировки списка: по возрастанию или по убыванию.
Опытные пользователи, которые живут в автодополнении по вкладке, оценят compgen -V
, который может вставлять сгенерированные автодополнения непосредственно в переменную, и read -E
, который теперь заимствует программируемое автодополнение Readline при захвате интерактивного ввода. Между тем, source -p PATH
позволяет скриптам «вставлять» сопутствующие файлы из явного пути поиска вместо $PATH
.
Под капотом кодовая база была обновлена для обеспечения соответствия C23 (последняя редакция стандарта языка программирования C). Как следствие, Bash больше не будет собираться с помощью компиляторов эпохи K&R — сноска для большинства дистрибутивов, но сигнал о том, что устаревшие инструментальные цепочки должны двигаться дальше.
И последнее, но не менее важное: близнец Bash 5.3, Readline 8.3, был выпущен в тот же день. Отдельная библиотека теперь предлагает поиск без учета регистра ( search-ignore-case
), вызываемый execute-named-command
, и export-completions
возможность передачи данных о завершении внешним программам.
Более подробную информацию смотрите в объявлении: https://lists.gnu.org/archive/html/bug-bash/2025-07/msg00005.html.
Редактор: AndreyEx