Вид командной строки в 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="$#"Первый символ подставляется вместо
%#
если вы обычный пользователь, а второй - если вы суперпользователь.Теперь записываем полученный результат в
~/.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
- Год в четырехзначном формате.
%l
tty
оболочки.%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
Отправить комментарий