Релиз командного интерпретатора Bash 4.3

После трёх лет разработки вышла новая версия командного интерпретатора GNU Bash 4.3, используемого по умолчанию в большинстве дистрибутивов Linux.

Из улучшений можно отметить:

  • Поддержка назначения и использования элементов массивов с отрицательными значениями индекса (например, a[-1]=2, echo ${a[-1]}), при этом, отрицательное значение задаёт обратный отчёт с последнего элемента массива (a[-1] — последний элемент, a[-2] — предпоследний и т.п.).
  • В командах return и exit добавлена возможность указания отрицательных кодов завершения работы;
  • В коде автодополнения имён файлов и команд обеспечено раскрытие переменных, определяющих часть пути. Если автодополнение связано с директорией, то в конце теперь добавляется символ «/»;
  • Встроенная команда read теперь игнорирует нулевые байты при вводе;
  • При автодополнении команды в коде сопоставления теперь игнорируются пробелы и операторы присваивания;
  • Опции «-nt» и «-ot» команды test теперь позволяют осуществлять проверки c наносекундной точностью;
  • Механизм подстановки теперь допускает использование внутри блоков {} Добавлена переменная BASH_COMPAT для управления совместимостью с прошлыми реализациями командной оболочки;
  • В cd добавлена опция «-@» для показа в случае ошибки доступа расширенных атрибутов файла на системах с поддержкой O_XATTR;
  • В бинарном операторе test/[/[[ ‘-v variable’ добавлена поддержка ссылок на массивы;
  • Изменения в библиотеке Readline:
    • Добавлена поддержка переменной colored-stats для организации выделения цветом разных типов файлов (цветной аналог visible-stats);
    • Добавлена переменная show-mode-in-prompt для включения индикации режима редактирования в приглашении командной строки;
    • Улучшена обработка поступления SIGHUP и других фатальных сигналов в процессе ввода;
    • Добавлены команды history-substring-search-forward и history-substring-search-backward для поиска по истории с учётом текущей позиции;
    • Обеспечено создание резервной копии файла с историей ввода и его восстановление при возникновении ошибки при записи в основной файл;
  • Улучшение встроенной системы подсказки. Для команды helptopic реализовано автодополнение всех разделов помощи, а не только встроенных команд. Изменён порядок выборки ключевых слов поиска, вместо выборки по маске теперь вначале осуществляется проверка точного совпадения;
  • Добавлена возможность сборки оболочки с отключением вывода сообщений о завершении процессов по SIGTERM;
  • Добавлена новая опция globasciiranges, при активации которой в операциях сортировки принудительно используется порядок символов, определённый в локали C;
  • Попытка определения в режиме POSIX функции, имя которой пересекается с предопределёнными функциями, теперь приводит к выводу ошибки;
  • Указание в переменных HISTSIZE, history-size и HISTFILESIZE отрицательных значений теперь воспринимается как снятие ограничений на число элементов списка и размер файла с историей операций;
  • Добавлена новая опция «bind -X», которая выводит список привязки всех клавиатурных комбинаций с командам Unix;
  • История ввода команд теперь сохраняется во всех сеансах оболочки для которых включено ведение истории и установлена переменная HISTFILE, а не только интерактивных;
  • Поддержка переменных nameref, опций -n(/+n) для их установки и команды «test -R» для их проверки;
  • Добавлена переменная CHILD_MAX для управления числом запоминаемых состояний завершения выполнения дочерних процессов;
  • Добавлена опция сборки «—enable-direxpand-default» для включения по умолчанию опции direxpand;
  • Во встроенную команду wait добавлена опция «-n» для ожидания изменения статуса следующего дочернего процесса;
  • При указании %(…)T в printf без явного указания аргументов формата теперь выводится текущее время.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.