美文网首页每天写500字每天写1000字
linux命令行学习(56):提示符中怎样设置颜色?

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

作者: 金石明镜 | 来源:发表于2019-12-14 21:27 被阅读0次

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

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

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

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

    \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):提示符中怎样设置颜色?

        本文链接:https://www.haomeiwen.com/subject/gguhnctx.html