TENEX C-shell: общий обзор
Со времени создания tcsh
прошло много лет, в течении которых эта оболочка активно развивалась. Ныне местом своего обитания она имеет
Как уже было сказано, tcsh
входит в состав базового комплекта FreeBSD Distributions, который устанавливается при любом типе инсталляции этой системы. И также обязательно эта оболочка имеется в составе OpenBSD и DragonFlyBSD (вероятно, она есть и в базовом наборе NetBSD). Но и дистрибутивы Linux общего назначения ею не обделены: если её не найдется на установочных дисках, то почти наверняка прекомпилированный для данного дистрибутива пакет tcsh
имеется в его официальном или пользовательском репозитории, откуда может быть установлен штатными средствами. Так что к скачиванию исходников и их сборке придётся прибегнуть лишь в особых случаях -- в разделе о настройках я скажу, в каких именно.
Текущая версия tcsh
на данный момент -- 6.15, датированная мартом 2007 года. И из истории её обновлений можно видеть (например, tcsh
замер: просто оболочка дошла в своём развитии до некоторой логической черты, после которой требует лишь косметических улучшений.
Одно из таких косметических улучшений вылилось в самостоятельный проект tcsh
. О нем мы подробно поговорим в разделе о настройке нашего шелла.
Как и все другие оболочки, tcsh
объединяет в себе интерактивный командный процессор и интерпретатор собственного языка сценариев, превращающий ее в простую в обращении, но весьма мощную среду программирования.
Как интерактивная среда, tcsh
предоставляет в распоряжение пользователя следующие функции:
- большое количество встроенных в оболочку команд, в том числе, команд для управления (определения и отмены) псевдонимами и переменными -- как переменными оболочки, так и переменными среды, а также операторами;
- средства навигации по командной строке и редактирования её компонентов с помощью как стандартных клавиш управления курсором, так и многочисленных встроенных управляющих последовательностей (keybindings);
- возможность автодополнения не полностью введённых элементов командных конструкций; в отличие от изначального csh, автодополнение распространяется не только на пути к файлам в аргументах команд, но и на сами команды;
- использование шаблонов в именах файлов, задаваемых в качестве аргументов команд;
- просмотр буфера истории команд, поиск в нём и извлечение команд для повторного исполнения;
- фоновое исполнение команд и средства управления запущенными заданиями;
- средства тонкой настройки поведения оболочки в интерактивном режиме, в том числе, вида приглашения командной строки с целью придания ему наибольшей информативности и (или) компактности.
Разумеется, в tcsh
, как и в любой развитой оболочке, поддерживаются стандартные для всех Unix-подобных систем командные конструкции -- группировка команд, операторы последовательного и условно-последовательного выполнения, операторы перенаправления ввода-вывода и командные конвейеры, что может использоваться как в интерактивном режиме, так и при составлении сценариев.
Наконец, целям csh-скриптинга служат операторы -- условные, циклические и многовариантные.
Содержание . .