Tcsh: начало истории

Изначально tcsh создавалась по образу и подобию командного интерпретатора операционной системы TENEX -- собственно, имя её и означает TENEX csh. А особенностью TENEX -- древней, ещё до-Unix'овой, операционки (из недр которой, кстати, происходит и знаменитая "собака" в адресах электронной почты) были чрезвычайно длинные команды, да ещё и с избыточными словами "для ясности". С такими командными директивами было бы трудно работать без развитых средств навигации и редактирования командной строки, каковые и стали отличительными особенностями TENEX C-shell.

Таким образом, tcsh утвердился в роли стандартной оболочки FreeBSD, а позднее OpenBSD, DragonFlyBSD и юзер-ориентированных потомков BSD-клана, таких как PC-BSD и DesktopBSD. Однако и имя csh было оставлено в файловой иерархии FreeBSD как реликт предшествующей эпохи. Однако теперь оно соответствовало не самостоятельной оболочке, а было, как уже говорилось, лишь жесткой ссылкой на тот же tcsh.

Поведение csh и tcsh при прочих равных условиях (то есть одних и тех же файлах конфигурации) абсолютно идентично: tcsh, запущенный под именем tcsh, не эмулирует изначальный C-shell (как это имеет место для bash и zsh, запускаемых в качестве /bin/sh). А кажущаяся бедность умолчального csh в севежеустановленной FreeBSD обусловлена исключительно его настройками -- точнее, почти полным отсутствием таковых по умолчанию. В этом легко убедиться, заглянув в конфигурационные файлы /etc/csh.cshrc, /etc/csh.login, /root/.cshrc и /root/.login.

Однако настройка tcsh будет темой отдельного разговора, а пока бросим общий взгляд на эту командную оболочку.


Содержание

. .