Как раскрасить подсказку во FreeBSD/cshrc?
Я отвечаю за управление группой серверов, я хочу настроить свои подсказки на каждом из них, чтобы не запутаться в том, где я вошел в систему.
Я отредактировал мой .cshrc
файлы и поместите это в них:
set prompt=`whoami`@`hostname -s`:$cwd'$ '
Но я хотел бы раскрасить это приглашение, чтобы оно выделялось чуть больше. Может быть зеленый с белым текстом или что-то. Как я могу это сделать? Я не очень знаком с синтаксисом оболочки.
Я использую SSH со стандартного терминала, который поставляется с Ubuntu, если это актуально.
2 ответа
Эта страница имеет довольно хорошее объяснение, хотя синтаксис немного отличается в csh
, Вот что я придумал:
set prompt="%{\e[32;1m%}%n%{\e[37m%}@%{\e[33m%}%m%{\e[37m%}:%{\e[36m%}%~%{\e[37m%}"\$"%{\e[0m%} "
# root variation:
set prompt="%{\e[31;1m%}root%{\e[37m%}@%{\e[33m%}%m%{\e[37m%}:%{\e[36m%}%/%{\e[37m%}#%{\e[0m%} "
обновление: предыдущая подсказка, которая была у меня здесь, фактически не обновлялась, когда вы меняли каталоги. с помощью %n
, %~
а также %m
вместо $cwd
или же pwd
на самом деле обновить. смотрите здесь.
%{ ... %}
означает, что материал между должен принимать 0-ширину\e[ ... m
определяет цвета и жирный шрифт. \e
избегает [
что кажется необходимым (я считаю, что это эквивалентно \033
), m
означает конец.
использование 0
как ваш цвет, чтобы сбросить по умолчанию.
Если вы хотите установить цвет и фон, просто разделите числа точкой с запятой. использование 1
включить жирный шрифт
Обратитесь к этой таблице, чтобы выбрать ваши цвета:
http://www.funtoo.org/images/1/1c/Colortable.gif
Так, например, "Hello World", выделенный жирным шрифтом, голубой на красном фоне будет %{\e[36;41;1m%}Hello World%{\e[0m%}
# Add these lines to your ~/.cshrc.mine file on the linux grace machines...
# Colors!
set red="%{\033[1;31m%}"
set green="%{\033[0;32m%}"
set yellow="%{\033[1;33m%}"
set blue="%{\033[1;34m%}"
set magenta="%{\033[1;35m%}"
set cyan="%{\033[1;36m%}"
set white="%{\033[0;37m%}"
set end="%{\033[0m%}" # This is needed at the end... :(
# Setting the actual prompt
set prompt="${green}%n${blue}@%m ${white}%~ ${green}%%${end} "
# Clean up
unset red green yellow blue magenta cyan yellow white end
Насколько мне известно, FreeBSD поставляется с tcsh по умолчанию. Посмотрите на примеры.
Также доступен другой список для других оболочек (bash, csh, tcsh, ksh и т. Д.). Взято из этой ссылки и протестировано с tcsh (у меня не установлен csh):
Чтобы раскрасить подсказку, вы захотите поместить этот символ в вашу подсказку.
%{\033[Xm%}
,Для отображения некоторых цветов нужна точка с запятой. Желтый […] равен 1;33 не используйте только 33, иначе он станет коричневым. Если у вас 0;31, вам не нужно ставить 0.
Цвета ANSI. Посмотрите на список цветов ANSI; просто заменить X
с цветным кодом.
X = 0 сбрасывает цвета: %{\033[0m%}
,