Релиз командного интерпретатора Bash 4.3
27 февраля 2014 года
После трёх лет разработки вышла новая версия командного интерпретатора 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, при активации которой в операциях принудительно используется маски символов ([a-z]), определённый в локали 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 без явного указания аргументов формата теперь выводится текущее время.
Источники[править]
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.