Приглашения строки sh, tcsh, csh в FreeBSD и не только.

06 Июн

Приглашения строки sh, tcsh, csh в FreeBSD и не только. Статья позаимствована, но мне очень сильно помогла.

Приглашение csh/tcsh

Автор: SHPAk.

Вид командной строки в csh/tcsh по умолчанию мне не очень нравится, после гугления я нарыл вот такую вот инфу.Вид задается несколькими переменными окружения. Главная из них - prompt. По умолчанию приглашение командной строки имеет вид:

% 

что ессно совершенно не устраивает. Введем команду

set prompt="%m%#" 

где %m - имя компьютера, %# - символ > (или первый символ переменной promptchars) для обычных пользователей или символ # (или второй символ переменной promptchars) для суперпользователя.
Ур-р-а чёт поменялось!!!!!

machine> 

Далее добавим имя текущего пользователя (%n) и полное имя директории, где мы сидим в данный момент(%/)

set prompt="%n@%m [%/]%# " 

Вид меняется на:

user@machine [/usr/local/etc]> 

Приглашение стало более информативным. Но полный путь занимает слишком много места. Меняем %/ на %c, урезающий отображаемый путь до имени текущей директории

set prompt="%n@%m [%c]%#" 

и чё получилось ?

user@machine [etc]> 

Вот уже что-то. Добавим текущее время :))))

set prompt="%T %n@%m [%c]%#" 

и опа...

23:01 user@machine [etc]> 

Наверное кого-то сильно напрягает символ > в конце приглашения. Для смены символа используем переменную promptchars

set promptchars="$#" 

Первый символ подставляется вместо %# если вы обычный пользователь, а второй - если вы суперпользователь.
Теперь записываем полученный результат в ~/.cshrc или в /etc/csh.cshrc.

Ниже приведен список допустимых подстановок (подробности в man csh):
%/ Текущая рабочая директория
%~ Текущая рабочая директория, но домашная директория текущего пользователя представлено тильдой ~ и домашние директории остальных пользователей представлены как ~user. Подстановка ~user действует только в случае если оболочка (shell) уже использует ~user в имени пути в текущей сессии
%c[[0]n],
%.[[0]n]
Отслеживает конечный компонент пути к текущей рабочей директории или n конечных компонентов, при заданном n. Если n начинается с 0 количество пропущенных компонентов предваряет конечные в формате /<skipped>trailing. Если установлена переменная оболочки ellipsis, пропущенные компоненты будут представлены как …trailing. Подстановка ~ действует аналогично %~, но будет игнорироваться при количестве конечных компонентов больше одного
%C Аналогично %c, но без подстановок ~
%h, %!, ! Номер события в текущей истории
%M Полное имя машины
%m Сокращенное имя машины. Отображается часть до первой точки
%S (%s) Включить (отключить) стандартный режим
%B (%b) Включить (отключить) режим жирного шрифта
%U (%u) Включить (отключить) режим подчеркивания
%t, %@ Время в 12-часовом (AM/PM) формате
%T Аналогично %t, но в 24-часовом формате (зависит от переменной ampm оболочки)
%p Точное время суток в 12-часовом (AM/PM) формате, с секундами
%P Аналогично %p, но в 24-часовом формате (зависит от переменной ampm оболочки)
\c c будет распознан как код символа
%% Символ %
%n Имя пользователя
%j Количество запущенных в оболочке работ (jobs)
%d День недели в текстовом формате
%D День недели в числовом формате
%w Месяц в текстовом формате
%W Месяц в числовом формате
%y Год в двухзначном формате
%Y Год в четырехзначном формате
%l tty оболочки
%L Очищает от конца приглашения до конца экрана или строки
%$ Подставляет значение переменной оболочки или окружения с именем, заданным сразу после $ (например %$PATH)
%{string%} Включает строку как управляющая escape последовательность. Может использоваться для изменения атрибутов терминала (например для раскраски приглашения) и может не воздействовать на положение курсора. Не может быть последней последовательностью в приглашении
%? Возвращает код ошибки команды, запущенной непосредственно перед приглашением


Исходник статьи находится тут:http://mr-tacitus.blogspot.com/2008/02/cshtcsh.html

Теги: , , , , , , , ,

Написать

Deth's Blog

Мои мысли, мои скакуны…