GNU Bash 4.0
Рубрика: Новости
Метки: bash | readline
Понедельник, 23 февраля 2009 г.
Просмотров: 3498
Подписаться на комментарии по RSS
Метки: bash | readline
Понедельник, 23 февраля 2009 г.
Просмотров: 3498
Подписаться на комментарии по RSS
Вышла новая версия Bourne Again SHell - GNU Bash 4.0. Подробности находятся в файле NEWS внутри архива с BASH. Полные описания, как всегда находятся в руководстве man на странице (doc/bash.1).
Здесь находится перевод на русский язык основных изменений в логе по сравнению с Bash 3.2:
1. Новые возможности в Bash.
- Встроенный 'Help' отображает свои колонки с записями, отсортированными по вертикали , а не горизонтально.
- Новая переменная, $BASHPID, которая всегда возвращает идентификатор процесса текущего шелла.
- Новая опция 'autocd', при включении использует возвращаемое командой `cd' имя каталога, которое подставляет в качестве первого слова прямой команды.
- Новая опция 'checkjobs', которая вызывает оболочку для проверки и сообщает при выполнении о всех работающих или остановленных задачах.
- Программируемый код экспорта новой COMP_TYPE переменной, определяет характеристики, описывающие тип попытки завершения.
- Программируемый код экспорта новой COMP_KEY переменной, устанавливает характеристики, которые будут вызывать процесс завершения(например, TAB).
- Если при создании дочернего процесса произойдет сбой из-за нехватки ресурсов, bash будет несколько раз пытаться запустить его после сообщения о ошибке.
- Программируемый код теперь использует один и тот же набор символов как readline, если есть разрыв командной строки в списке слов.
- Блок множитель для опций ulimit -c и -f в настоящее время равен 512, когда в Posix режиме, как это указывается Posix.
- Встроенный 'ulimit' теперь включает опции -b (размер буфера для сокетов) и -T (число потоков).
- Параметр -p в `declare' теперь показывает все значения переменных и параметров (или значения и атрибуты функций, если используется с -f).
- Новый встроенный 'compopt', что позволяет завершать функции при изменении конечных опций для существующих дополнений или дополнений, выполняющихся в настоящее время.
- У встроенного 'read' появился новый параметр -i, который вставляет текст в ответ буфера с помощью ReadLine.
- Новая опция '-E' позволяет контролировать поведение по умолчанию, вместо завершения на пустую строку.
- Теперь существует ограниченная поддержка для завершения команды названием слов, содержащих символы globbing.
- Изменен формат внутренней справочной документации для всех builtins, поддерживается формат страниц man.
- Встроенный 'help' теперь имеет новую опцию -d, показывает краткие описания, и опцию -m, распечатывает справку в формате man page-like.
- Новый встроенный 'mapfile' заполняет массив строк заданного файла. Имя 'readarray' является синонимом.
- Если команда не найдена, шелл пытается выполнить оболочку функцию 'command_not_found_handle', которая восполняет слова команды, как аргументы функции.
- 2 варианта нового шелла: 'globstar' и 'dirspell'.
- Опция '-t' для 'read' теперь поддерживает дробные значения тайм-аута.
- CDPATH и GLOBIGNORE игнорируются, когда оболочка работает в привилегированном режиме.
2. Новые возможности в ReadLine
- Новая переменная, rl_sort_completion_matches; позволяет приложениям запрещать сравнение с списком сортировки (но будьте осторожны: некоторые вещи не работают после применения).
- Новая переменная, rl_completion_invoking_key; позволяет приложениям обнаружить ключ, который ссылается на rl_complete или rl_menu_complete.
- Функции rl_block_sigint и rl_release_sigint теперь открытые и доступны вызывающим приложениям, которые хотят защитить критичные сегменты.
- Новая настраиваемая пользователем переменная `history-size', которая позволяет настраивать максимальное количество записей в списке истории.
- В меню завершения кода теперь используется переменная rl_menu_completion_entry_function, что позволяет приложениям предоставлять собственные меню генераторов завершения.
- Новая переменная `revert-all-at-newline'. Если включено, readline будет отменять все оставшиеся изменения во всех строках истории, когда `accept-line' завершится.
- Если ядро поддерживает это, readline отображает специальные символы соответствующие генерируемому сигналу клавиатуры, когда получает сигнал.
Исходный код можно скачать .