我负责管理一堆服务器,我想在每个服务器上设置我的提示,这样我就不会对我登录的位置感到困惑。
我已编辑了.cshrc
个文件并将其放入其中:
set prompt=`whoami`@`hostname -s`:$cwd'$ '
但是我想给那个提示加上颜色,以便它更突出。也许绿色与白色文字或东西。我怎样才能做到这一点?我对shell语法不是很熟悉。
我正在使用Ubuntu附带的标准终端进行SSH连接,如果这是相关的。
答案 0 :(得分:12)
This page有一个很好的解释,虽然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
实际更新。 see here
%{ ... %}
表示之间的东西应该取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%}
答案 1 :(得分:3)
据我所知,FreeBSD默认带有tcsh。看看examples。
另外list for other shells也可用(bash, csh ,tcsh,ksh等)。取自该链接并使用tcsh进行测试(我没有安装csh):
要为提示设置颜色,您需要在提示中放置此符号。
%{\033[Xm%}
。某些颜色需要分号才能显示。黄色[...]为1; 33不使用仅33或它会变成棕色。如果您有0; 31,则不需要放置0。
颜色为ANSI。看看ANSI colours list;只需使用颜色代码替换X
。
X = 0重置颜色:%{\033[0m%}
。
答案 2 :(得分:1)
# 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