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 ~]$

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 今天我想给大家分享一个比较繁琐的问题,shell 的提示符。为什么要介绍这个呢?有人可能会问了,你之前不是介绍过了...
    错过了过去阅读 3,933评论 0 1
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 9,942评论 0 5
  • 喜欢玩Linux的人,一般都是一个爱折腾的人,哈哈~~好巧 我就是这么一个爱折腾的人。 好了,那么接下...
    四月不见阅读 4,982评论 0 1
  • 转自网络,来源不可考. 在这里,我想每天来更新一些关于CPP的,我们应该知道的知识,日积月累,我相信一定能够到达一...
    Yihulee阅读 8,844评论 0 3
  • 荐 语 在爱与被爱的过程中,我们都曾经历过痛苦、恐惧,也体验过狂喜与极乐,我们渴望建立真挚的亲密关系,却又害怕再度...
    晨峰_02c6阅读 1,878评论 0 1