Next: 6.7 tcsh, csh
Up: 6. Оболочки
Previous: 6.5 bash
6.6 zsh
Оболочка (zsh) представляет собой командный интерпретатор.
По своим свойствам она ближе всего к Korn оболочке (ksh). С момента
появления
zsh ее совместимость с ksh значительно улучшилась. Улучшились
свойства редактирования командной строки, возможности определения
поведения оболочки, особенности, позволяющие пользователям знакомым с
языком C
и оболочкой (csh) чувствовать себя уверенней, а также часть полезных
возможностей, взятых из tcsh (дополнительная "пользовательская" оболочка).
Трудно утверждать, что лишь zsh аккумулирует
полезные свойства всех остальных оболочек, поскольку все они в той или
иной степени наследуют полезные свойства более ранних оболочек. Тем не
менее, можно обратить внимание на═следующие позиции, по которым zsh
имеет некоторое преимущества по сравнению с другими оболочками (csh, bash,
tcsh).
- редактирование командной строки:
- программируемое завершение: встроенная возможность использовать
всю мощность свойства глобализации имен файлов (compctl-g),
- редактирование команд, состоящих из нескольких строк, как
единый буфер (даже файлы!),
- редактирование переменных (vared),
- стек команд,
- печать текста прямо в буфер для последующего редактирования
print -z),
- выполнение не связанных (unbound) команд,
- меню завершения,
- расширение внутри строки переменных, команд═из истории.
- глобализация имен файлов (globbing) - исключительно мощная:
- рекурсивная глобализация (сравни с find),
- задание параметров файла (размер, тип, прочее, снова
сравни с find),
- полные альтернативы и отрицания образцов имен файлов.
- Управление множественными перенаправлениями (проще, тем известная
команда tee).
- Большое количество возможностей подстройки.
- Расширение пути поиска программы (=foo -> /usr/bin/foo).
- Подстраиваемые сообщения (включая условные выражения).
- Именованные каталоги.
- Гибкая целочисленная арифметика.
- Манипулирование массивами (включая обратное индексирование).
- Коррекция неверно написанных слов.
Next: 6.7 tcsh, csh
Up: 6. Оболочки
Previous: 6.5 bash
Andrei Chevel
Andrei.Chevel@pnpi.spb.ru