Документация по ОС FreeBSD Пятница, 19.04.2024, 07:48
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Shell [40]

Главная » Статьи » Программирование » Shell

Приглашение csh/tcsh [2008]
Вид командной строки в 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://www.lissyara.su/scripts/redirect_link.php?link=http%3A%2F%2Fmr-tacitus.blogspot.com%2F2008%2F02%2Fcshtcsh.html

ЗЫ Лично для меня подошёл самый лаконичный вариант
set prompt="%{^[[40;33;1m%}[%T] %{^[[40;32;1m%} %/ >"

и выглядит это примерно так:
[10:08] /root >



Источник: http://www.lissyara.su/?id=1635
Категория: Shell | Добавил: oleg (14.04.2008) | Автор: SHPAk
Просмотров: 1465 | Комментарии: 1 | Рейтинг: 0.0/0 |
Всего комментариев: 1
1 demius  
0
Спасибо огромное. Редко где найдешь такое полный список модификаторов командной строки с подробным описанием.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024