Вид командной строки в 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]>По правде говоря, лично меня символ
> в конце приглашения раздражает. Для смены символа используем переменную promptcharsset promptchars="$#"Первый символ подставляется вместо
%# если вы обычный пользователь, а второй - если вы  суперпользователь.Теперь записываем полученный результат в
~/.tcshrc или в /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- Год в четырехзначном формате.
 %lttyоболочки.%L- Очищает от конца приглашения до конца экрана или строки.
 %$- Подставляет значение переменной оболочки или окружения с именем, заданным сразу после 
$(например%$PATH). %#>(или первый символ из переменной оболочки promptchars) для обычных пользователей и#(или второй символ изpromptchars).%{string%}- Включает строку как управляющая escape последовательность. Может использоваться для изменения атрибутов терминала (например для раскраски приглашения) и может не воздействовать на положение курсора. Не может быть последней последовательностью в приглашении.
 %?- Возвращает код ошибки команды, запущенной непосредственно перед приглашением.
 

9 комментариев:
:) как в тему то мне тут что то тоже наскучал стандартный вид, но я пока решил раскрасить консоль в старорежимную черно зеленую гамму, если кому пригодится делается например вот так
setenv TERM xterm-color
setenv CLICOLOR
vidcontrol green black
пока искал попалось так же как можно оживить алиасы ls
alias ll ls -lA --color=auto
попробуй мою... :) имхо красяво и информативно
set prompt = "\\
%{^[[3;20;3m%}$USER@$HOST%{^[[m%} %{^[[3;36;3m%}%T%{^[[m%} %{ESC[3;33;3m%}%//%{ESC[m%} \\
%{^[[3;33;3m%}:>%{^[[m%} "
не забудь что ^[[ это не набор символов, а esc-последовательность ;)
set prompt = "\\
%{^[[3;20;3m%}%n@%m%{^[[m%} %{^[[3;36;3m%}%T%{^[[m%} %{^[[3;33;3m%}%//%{^[[m%} \\
%{^[[3;33;3m%}:>%{^[[m%} "
Чуть подправил твой вариант :)
Mogno ewe tak:
set prompt="\n%B%{\033[34m%}[%h] %d %D.%w.%Y %P\n%{\033[31m%}[%n][%m][%~]\n%{\033[30m%}%b"
i tak
my
set prompt = "%{\033[1;34m%} [%d %T %{\033[0;32m%}%n%{\033[1;34m%}@%{\033[1;31m%}%m%{\033[1;34m%}] %{\033[0;32m%}%/%{\033[0;32m%}%#"
set prompt = "%{\033[1;34m%} [%d %T %{\033[0;32m%}`/rescue/whoami`%{\033[1;34m%}@%{\033[1;31m%}%m%{\033[1;34m%}] %{\033[0;32m%}%/%{\033[0;32m%}%#"
Вот... так правильнее.. после su верно пользователя выдаёт..
Спасибо. Весьма полезно
Статья полезная, но до сих пор не понятно как задавать цвет? Вернее место где это писать показано, а вот что означает та или иная цифра, толи зеленный толи красный?
http://www.funtoo.org/images/1/1c/Colortable.gif
Отправить комментарий