Как раскрасить подсказку во 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%},

Другие вопросы по тегам