终端提示符的配置

     当安装完成一个Linux系统后,默认的终端一般是黑白颜色的,如何将提示符变成彩色的呢,这就需要在$HOME/.bashrc文件中通过对PS1的修改进行配置。下面是详细介绍。

     注:本篇文章借鉴的是http://wsunwind.blog.sohu.com/192388839.html的相关说明

1 简单理解PS1

直接在termial中修改PS1变量就可以改变当前环境的提示符,选到自己喜欢的就可以写进.bashrc文件了。

例如,把PS1="This is my terminal:>"加入.bashrc中,你的提示符就会变成

注:PS1后面没有空格。

 

有时我们想要在提示符里显示当前目录、主机名等等的有用信息,这时就要用到反斜杠转义的字符序列,如下:

\u  用户名
\h  主机名第一部分
\H  主机名全称
\w  当前工作目录(如 “/home/username/mywork”)
\W  当前工作目录的“基名 (basename)”(如 “mywork”)
\t   24 小时制时间
\T  12 小时制时间
\@ 带有 am/pm 的 12 小时制时间
\d  “Sat Dec 18″ 格式的日期
\s  shell 的名称(如 “bash”)
\v  bash 的版本(如 2.04)
\V  Bash 版本(包括补丁级别)
\n  换行符
\r  回车符
\\  反斜杠
\a  ASCII 响铃字符(也可以键入 07)
\e  ASCII 转义字符(也可以键入 33)
\[  这个序列应该出现在不移动光标的字符序列(如颜色转义序列)之前。它使 bash 能够正确计算自动换行。
\]  这个序列应该出现在非打印字符序列之后。

知道了全部的转义序列,就可以对自己的终端提示符进行定制了。

例如我想将当前目录以及主机名显示到提示符中,只需要把PS1改成"\u@\h:\w>"即可,效果如下

2 颜色配置

      我们设计好提示符内容之后就可以给他们添加颜色,添加颜色就是添加终端(而不是 bash)可识别的专用转义序列,以使它以彩色显示文本的某些部分。标准 Linux 终端和 X 终端允许您设置前景(文字)颜色和背景颜色,如果需要,还可以启用 “bold” 字符。有八种颜色可供我们选择(用数字表示)。

前景   背景     颜色
—————————————
30      40      黑色
31      41      红色
32      42      绿色
33      43      黄色
34      44      蓝色
35      45      紫红色
36      46      青蓝色
37      47      白色

代码   意义
————————-
0       OFF
1       高亮显示
4       下划线
5       闪烁                 #闪烁这个选项在我机子上没反应,所以就没有验证,不知道是否可以哈
7       反白显示
8       不可见

 

现在我们可以定义有颜色的提示符了!

格式为:\[\e[1;2m\]...

1是前景色,2为后景色或者是代码(高亮,闪烁之类的,此时默认后景色为系统默认颜色),...为用户要添加的内容。

 

当所有设置完成后,此时若希望用户输入的命令不受颜色影响,则加入\[\e[0m\]。

例如:PS1="\[\e[36;1m\]\u@\h:\[\e[31;1m\]\w\[\e[34;1m\]> \[\e[0m\]",这个设置全是字符高亮,用户主机部分设置成了青蓝色,目录设置成了红色,>为蓝色,效果如下

      但是,当我们把这个配置写入.bashrc文件后,会发现一个问题,那就是 terminal的标题栏变成了一个永恒不变的“Termianl”了,这可能并不是我们希望的,默认的显示用户名、主机名和当前工作路径(我比较喜欢这 个默认的哈),我们可能希望把他配回来。其实配置标题栏和上面说过的配置提示符内容差不多,只是要加上:

 \e]2;…\a

...为用户输入内容

 

posted @ 2016-07-11 19:04  va_chester  阅读(1847)  评论(0编辑  收藏  举报