Ваше рабочее окружение FreeBSD

| 25.10.2013

Ваше рабочее окружение

Ваш командный процессор является самой важной частью вашего рабочего окружения. В DOS обычной оболочкой является command.com. Оболочка занимается интерпретацией команд, которые вы вводите в командной строке, и таким образом взаимодействует с остальной частью операционной системы. Вы можете также писать скрипты командного процессора, которые похожи на .bat-файлы DOS: это последовательности команд, которые должны выполняться без вашего участия.

Вместе с FreeBSD устанавливаются два командный процессора: csh и sh. csh хорош для работы в командной строке, однако скрипты должны писаться на языке оболочек sh (или bash). Вы можете выяснить, какой командный процессор у вас используется, набравecho$SHELL.

Оболочка csh подходящая, однако tcsh может всё, что умеет csh и ещё больше. Она позволяет вам восстанавливать прошлые команды клавишами со стрелками и редактировать их. В нём есть автозавершение имён файлов по нажатию клавиши табуляции (в cshиспользуется клавиша Esc) и он позволяет вам переключаться в каталог, в котором вы были ранее, по команде cd -. Также в tcsh гораздо легче изменять системное приглашение. Это гораздо упрощает жизнь.

Вот три шага по установке нового командного процессора:

Установите командный процессор как порт или пакадж, как вы обычно это делаете с другим портом или пакаджем. Используйтеrehash и which tcsh (предполагается, что вы устанавливаете tcsh) для проверки того, что командный процессор установлен.

Работая как пользователь root, отредактируйте файл/etc/shells, добавив в него строку с новой оболочкой, в нашем случае это/usr/local/bin/tcsh, и сохраните файл. (Некоторые порты могут делать это за вас.)

Воспользуйтесь командой chsh для смены постоянно используемой вами оболочки на tcsh, либо наберите tcshв командной строке для смены вашей оболочки без повторного входа в систему.

Note: Менять командный процессор для пользователя rootна что-то, отличающееся от sh или csh, в ранних версияхFreeBSD и во многих других версиях UNIX® опасно; вы можете лишиться работающей оболочки при переходе системы в однопользовательский режим. Решением является использование su -m для того, чтобы стать пользователемroot, что даст в качестве оболочки tcsh, но вы будете являться пользователем root, потому что оболочка является частью окружения. Вы можете сделать это постоянным, добавив в ваш файл .tcshrc в качестве алиаса по такой команде:

alias su su -m

При запуске tcsh он будет считывать файлы/etc/csh.cshrc и /etc/csh.login, как и csh. Эта оболочка также читает файл .login из вашего домашнего каталога, а также файл .cshrc, если только вы не создали файл .tcshrc. Это вы можете сделать простым копированием файла .cshrc в .tcshrc.

Теперь, когда у вас установлен командный процессорtcsh, вы можете настроить приглашение командной строки. Все подробности можно найти на странице справки поtcsh, но всё же вот строка, которая помещается в ваш файл .tcshrc, которая может показать, сколько команд вы уже набрали, сколько сейчас времени и в каком каталоге вы находитесь. Она также выдаёт >, если вы являетесь обычным пользователем, и #, если вы являетесь пользователем root, однако tsch будет делать это в любом случае:

set prompt = "%h %t %~ %# "

Эта строка должна быть поставлена на то же самое место, что и существующая строка установки приглашения, если она есть, либо после строки "if($?prompt) then", если её нет. Закомментируйте старую строку; вы всегда сможете вернуться к ней обратно, если предпочтёте её. Не забудьте о пробелах и кавычках. Вы можете заставить перечитать .tcshrc, набрав source .tcshrc.

Перечень других установленных переменных окружения вы можете получить, набрав env в приглашении командной строки. В результате, кроме всего прочего, будут показаны редактор, используемый по умолчанию, программа постраничной выдачи и тип терминала. Командой, полезной при входе в систему с удалённого места и невозможности запуска программы, потому что терминал не обладает некоторыми возможностями, является команда setenv TERM vt100.

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

10 − девять =

Подтвердите, что Вы не бот — выберите человечка с поднятой рукой: