linux命令行学习(56):提示符中怎样设置颜色?

提示符可以设置颜色,包括文本颜色和背景色。

设置颜色不是使用单个的转义符,而是使用转义序列。实际使用时,要在这个序列的前后加上\[和\],将它们括住。

还有一个问题,我们一般是设置提示符的颜色(文本和背景),如果只是设置颜色,则会影响到输入的文字(包括文本和背景)。为了使设置的颜色只对提示符起作用,一般在提示符末尾要用一个转义序列恢复原来的颜色,这样我们的设置就只会对提示符起作用。

设置颜色的转义字符是下面这个样子的,以设置文本的红色为例:

\033[0;31m

\033[1;31m

设置背景的类似,就是最后一部分不一样。

文本是从30m到37m。

背景是从40m到47m。

另外,设置背景的序列中,第6位只有0,没有1,所以只有8种,而文本颜色有16种。

一个例子:

PS1="\[\033[0;31m\][\u \! \#@\h \W]\$[\033[0m\]"

这命令使提示符显示为红色。

其中,前面的

\[\033[0;31m\]

设置了文体显示为红色。

其前面的\[和\]相当于括号,中间是设置文本为红色的转义序列。

后面的

[\033[0m\]

用来将颜色恢复为原来颜色,如果没有它,则用户输入的字符都会显示为红色。

中间的

[\u \! \#@\h \W]\$

是提示符的字符显示,这里\u是用户名,\!是命令的历史编号,\#是本次会话的命令个数,\h是主机名,\W是当前工作目录,\$可能显示为#(对超级用户)或$(对普通用户)。

一个实际的显示例子:

[me 760 9@localhost ~]$

你可能感兴趣的:(linux命令行学习(56):提示符中怎样设置颜色?)