Мы — долго запрягаем, быстро ездим, и сильно тормозим.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
www.lissyara.su
—> статьи
—> FreeBSD
|
|
что ессно совершенно не устраивает. Введем команду
|
где %m - имя компьютера, %# - символ > (или первый символ переменной promptchars) для обычных пользователей или символ # (или второй символ переменной promptchars) для суперпользователя.
Ур-р-а чёт поменялось!!!!!
|
Далее добавим имя текущего пользователя (%n) и полное имя директории, где мы сидим в данный момент(%/)
|
Вид меняется на:
|
Приглашение стало более информативным. Но полный путь занимает слишком много места. Меняем %/ на %c, урезающий отображаемый путь до имени текущей директории
|
и чё получилось ?
|
Вот уже что-то. Добавим текущее время :))))
|
и опа...
|
Наверное кого-то сильно напрягает символ > в конце приглашения. Для смены символа используем переменную 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
ЗЫ Лично для меня подошёл самый лаконичный вариант
|
и выглядит это примерно так:
[10:08] /root > |
размещено: 2008-04-14,
последнее обновление: 2008-04-14,
автор: SHPAk
Sk1f3r, 2008-04-14 в 10:15:47
Забыли про rprompt.
Моё приглашение:
set prompt = "[%U%n@%m%u]|$shlvl|%?|%B#%b "
# Promt like [user@host]|shell-level|errorcode|#
set rprompt = "[%c02 ]"
# RightPrompt like [previous/current workdir]
Morty, 2008-04-14 в 11:28:04
спс -)
приятная тема
Schax, 2008-04-14 в 18:45:40
Мое приглашение
set prompt = '%{^[[3;33;1m%}[%$USER@'`/bin/hostname -s`"] %{^[[3;36;2m%}%t%{^[[40;34;1m%}#%{^[[2;32;3m%} "
Zerox, 2008-04-17 в 15:48:00
Спасибо, давно хотел изменить приглашение, да все руки не доходили.
unknownDaemon, 2008-04-17 в 17:34:07
Тады ловите мой /.cshrc :)
alias h history 25
alias j jobs -l
alias ls ls -FG
alias la ls -aFG
alias me tail -50 -f /var/log/messages
alias cgrep 'grep --colour -B 999999'
alias clz 'colorize'
# A righteous umask
umask 22
set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin $HOME/bin)
setenv EDITOR mcedit
setenv PAGER more
setenv BLOCKSIZE K
setenv LSCOLORS ExGxFxdxCxDxDxBxBxExEx
#setenv LSCOLORS ExFxBxDxCxEgEdAbAgAcAd
setenv CLICOLOR
setenv GREP_COLOR '1;33'
setenv GREP_OPTIONS ' --color=auto'
if ($?prompt) then
# An interactive shell — set some stuff up
# set prompt="%m[%c]%#"
set prompt="%B%{\033[34m%}%m%{\033[31m%}[%c]%{\033[30m%}%b"
set filec
set history = 100
set savehist = 100
set mail = (/var/mail/$USER)
set autolist
set complet all
set autocorrect
set nobeep
set matchbeep = nomatch
set correct = cmd
set color
if ( $?tcsh ) then
bindkey "^W" backward-delete-word
bindkey -k up history-search-backward
bindkey -k down history-search-forward
endif
endif
lookout, 2008-04-17 в 17:55:45
внесу свой вклад данной статьи ..хоть она мне и не открыла мне ничего нового, вдруг кому то мой опыт поможет.
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias cal='cal -m'
alias tls='tail -f /var/log/ssh/secure'
alias tlm='tail -f /var/log/mail/maillog'
alias tree='tree -Csu | more'
alias h='history'
alias ll='ls -lhap --color=tty | more'
alias du="du -h"
alias df="df -h"
alias ..="cd .."
alias e='emacs'
alias port='netstat -nlpt'
alias path='echo -e ${PATH//:/\\n}'
alias ipshow='iptables -n -v -L --line-numbers'
PROMPT_COMMAND='history -a'
shopt -s cdspell;
shopt -s cmdhist;
shopt -s cdable_vars;
shopt -s checkhash;
shopt -s checkwinsize;
shopt -s cmdhist;
shopt -s dotglob;
shopt -s no_empty_cmd_completion;
shopt -s sourcepath;
shopt -s histappend histreedit histverify;
shopt -s extglob;
ulimit -S -c 0
set -o notify
set -o noclobber
#set -o ignoreeof
set -o nounset
#alias mc='mc -b'
alias pd='postsuper -d ALL'
alias d='postsuper -d'
alias pr='postsuper -r ALL'
export PS1="[\t] \h [\u]\w < "
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
Харон, 2008-04-21 в 11:22:38
мой промпт:
set MainC = 'ESC[=3FESC[=0G'
set HostC = 'ESC[36m'
set TimeC = 'ESC[32m'
set DayC = 'ESC[1mESC[32m'
set DateC = 'ESC[0mESC[32m'
set ttyC = 'ESC[32m'
set EvntC = 'ESC[0mESC[36m'
set PathC = 'ESC[0mESC[32m'
set GtC = 'ESC[1mESC[37m'
set ttyS = `expr ${tty} : 'tty\(.*\)'`
set HostS = %m
set Sep1 = ':'
set Sep2 = '-'
set Sep3 = '/'
if( `id -un` == 'root' ) then
set SUColor = 'ESC[1mESC[31m'
set Sep2 = "%{$SUColor%}#%{ESC[0m%}"
endif
set prompt = "%{$DayC%d$DateC${Sep3}%W.%y${Sep1}$PathC%B%/%b\n%}%B%{$HostC%}${HostS}%b${
Sep1}%B%{$ttyC%}${ttyS}%b${Sep2}%{$EvntC%}%h%{$TimeC%}${Sep3}%T%{$GtC>ESC[0%}m"
Замечательная вещь в том, что при работе с правами рута символ решетки выводится красным цветом.
STEALTH, 2008-09-19 в 11:37:16
спасибо
это моё писанное, созданноё по этой статье
set prompt="%{^[[40;35;1m%}|%{^[[40;30;1m%}%T%{^[[40;35;1m%}|\
%B%{\033[34m%}%{\033[31m%}[%{^[[40;36;1m%}%c%{\033[34m%}%{\033[31m%}]\
%{\033[30m%}%b %{^[[40;34;1m%}%# "
, 2008-12-06 в 11:57:18
[code]
if ( $?prompt ) then
# example - :phoenix (~/dist/freebsd).
set promptchars = '.!'
# look into termcap(5) for `AF', `md', `me' definitions
set prompt = "%{`echotc md``echotc AF 1`%}:%{`echotc AF 4`%}%m %{`echotc AF 1`%}(%{`echotc AF 3`%}%~%{`echotc AF 1`%})%{`echotc AF 2`%}%#%{`echotc me`%} "
endif
[/code]
lexy, 2009-07-17 в 18:53:38
маленький поправочка по поводу
set promptchars="$#"
работать не будет, т.к. $# - переменная и в кавычках будет транслироваться в значение.
так:
set promptchars='$#'
работает без проблем
Den, 2011-08-23 в 11:20:57
Народ.. у меня на 8.2 при изменении .cshrc постоянно происходит вход с такой ошибкой -
$ su
Password:
Too many (\'s.
в чём грабли? уже моск не варит
SHPAk, 2011-08-23 в 11:39:21
А пользователь входит в группу wheel?
Den, 2011-08-23 в 11:45:30
конечно
Wallenberg, 2012-04-21 в 0:02:23
можно ли сделать, чтобы вывод программ не оставался на экране после выхода из них?.. как в том же bash, чтобы после less к примеру не оставался весь вывод, в переменных шела не нашел ничего похожего..
Alex Keda, 2012-04-21 в 11:41:32
ужасное поведение.
надо видеть чего на экране было - откройте вторую консоль и там маны читайте, логи смотрите.
а вот когда кусок мана остаётся на экране - очень удобно.
Wallenberg, 2012-05-14 в 11:59:21
я лишь спросил о такой возможности, возможно ли вообще..
логи/маны я и так в других табах открываю всегда, а вот выходя из vim\'а хотелось бы так сказать историю работы, а не открываемый файл
или те же утилиты мониторинга, как top и прочие
Крол, 2016-10-11 в 7:58:05
Товарищи, а можно изменить вид курсора в консоли? Хочу подчёркивание чтобы было, это меня так успокаивает, как в светлые старые ламповые времена :)
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
Комментарии пользователей [17 шт.]