如何在FreeBSD/cshrc上为提示添加颜色?

mpe*_*pen 8 freebsd csh tcsh

我负责管理一堆服务器,我想在每个服务器上设置我的提示,这样我就不会对我登录的位置感到困惑.

我已经编辑了我的.cshrc文件并将其放入其中:

set prompt=`whoami`@`hostname -s`:$cwd'$ '
Run Code Online (Sandbox Code Playgroud)

但我想给这个提示加上颜色,以便它更突出.也许绿色与白色文字或东西.我怎样才能做到这一点?我对shell语法不太熟悉.

我正在使用Ubuntu附带的标准终端进行SSH连接,如果这是相关的.

mpe*_*pen 12

这个页面有一个很好的解释,虽然语法有点不同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%} "
Run Code Online (Sandbox Code Playgroud)

更新:我在此处的上一个提示在您更改目录时实际上没有更新.使用%n,%~%m不是$cwdpwd实际更新.看到这里.

%{ ... %}意味着之间的东西应采取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%}