Настройка и работа в Linux



              

Еще один великолепный Shell



Автор: Алексей Федорчук, alv@newmail.ru
Опубликовано: 25.05.2002
Оригинал: http://www.softerra.ru/freeos/18055/

Немало дискового пространства [1] извел я на тезиса о несравненных достоинствах командных сред в текстовой консоли, сиречь shell'ов. Пора обратиться к вопросу – а какой же из всех этих замечательных shell'ов лучший?

Рискну предположить, что подавляющее большинство пользователей Linux'а используют в качестве командной среды не что иное, как bash – и при этом не жалуются. В BSD-системах более принят csh (вернее, его свободный клон tcsh – я в нем сам работаю, и вреда – ни малейшего). Вполне вероятно, что кто-то предпочитает /bin/sh из FreeBSD (римейк классического shell'а Борна) – из соображений экономии ресурсов. Или – столь же аскетичный ash, помещаемый обычно на resque-дискеты Linux.

А вот о чем слышать не доводилось – так это об использовании оболочки Корна (ksh), даже в ее public domain модификации (pdksh). Хотя стандарт POSIX 1003.2 на переносимые оболочки Unix, к коему апеллируют адепты sh-образных командных сред, именно из нее позаимствовал большинство своих «продвинутых» (то есть выходящих за рамки исходного Борновского shell'а) особенностей – историю команд, редактирование командной строки и переопределение его режимов, автодополнение и т.д., без чего ныне работа в командной строке Unix если и мыслима, то – с трудом.

Конечно, идеи большинства этих функций имеется и в csh, а в tcsh – так даже и прекрасная их реализация. Однако в силу особенностей синтаксиса ни та, ни другая среда даже не претендуют на совместимость с POSIX-стандартом.

И потому для меня было весьма интересно ознакомиться с оболочкой, аккумулирующей, по словам Андрея Шевеля  [2], полезные свойства развитых сред типа bash, tcsh и pdksh. Имя ей – zsh. Которое я, применительно случаю, интерпретировал бы как финальную точку в shell'остроении, звездный момент последнего (или, по простому, звездеZ).

Сразу замечу – некоторые основания для такой интерпретации имеются. Действительно, zsh с точки зрения синтаксиса командного языка принадлежит к семейству shell'ов Борна, то есть может претендовать на некоторую совместимость со стандартом. Далее, она имеет все стандартные для современных полнофункциональных оболочек возможности интерактивной работы, как то:




    Содержание  Назад  Вперед