当安装完成一个Linux系统后,默认的终端通常是黑白颜色的,如何将提示符变成彩色的呢,这就须要在$HOME/.bashrc文件中经过对PS1的修改进行配置。下面是详细介绍。html
注:本篇文章借鉴的是http://wsunwind.blog.sohu.com/192388839.html的相关说明shell
直接在termial中修改PS1变量就能够改变当前环境的提示符,选到本身喜欢的就能够写进.bashrc文件了。bash
例如,把PS1="This is my terminal:>"加入.bashrc中,你的提示符就会变成spa
注:PS1后面没有空格。设计
有时咱们想要在提示符里显示当前目录、主机名等等的有用信息,这时就要用到反斜杠转义的字符序列,以下:htm
\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 可以正确计算自动换行。
\] 这个序列应该出如今非打印字符序列以后。blog
知道了所有的转义序列,就能够对本身的终端提示符进行定制了。terminal
例如我想将当前目录以及主机名显示到提示符中,只须要把PS1改为"\u@\h:\w>"便可,效果以下get
咱们设计好提示符内容以后就能够给他们添加颜色,添加颜色就是添加终端(而不是 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
...为用户输入内容