给点颜色给PS1
这里介绍了一堆关于彩色显示的代码...
1.字体颜色
用下面的代码可以让PS1变成蓝色:
export PS1="\e[0;34m\u@\h \w> \e[m "
知道这是为什么嘛?
因为我们在中间嵌入了颜色代码:\e[0;34m 以及关闭颜色的代码:\e[m
下面的命令会让颜色变得更亮, 还带有加粗效果:
export PS1="\e[1;34m\u@\h \w> \e[m "
慢慢介绍里面的东西都是什么意思:
\e[颜色开启x;ym颜色的类型: x,y自己定义\e[m关闭颜色
下面是一张颜色代码表:
| 颜色 | 代码 | 
|---|---|
| 黑色 | 0;30 | 
| 蓝色 | 0;34 | 
| 绿色 | 0;32 | 
| 青色 | 0;36 | 
| 红色 | 0;31 | 
| 紫色 | 0;35 | 
| 棕色 | 0;33 | 
如果把上面代码中的0替换成1就会使颜色加深, 字体加粗.
2.字体背景色
我们不仅可以更改显示的字体的颜色, 我们还可以改变字体的背景颜色:
export PS1="\e[47m\u@\h \w> \e[m "
上面的命令使我们得到了一个浅灰色的背景.
3.组合
没错, 我们当然可以把上两种结果组合起来, 实现任何你想要的结果:
export PS1="\e[0;34m\e[47m\u@\h \w> \e[m "
`
比如利用上面的代码就可以得到一个字体颜色为蓝色, 字体背景色为浅灰的效果.
下面是我自己截的图, 不要看花眼...

每一行命令都对应它下一行开头的颜色.
这里还是希望你亲自实验一下, 而不是看一遍...
4.tput 命令
说实话, 我对这里也是第一次见, 长知识了.
例子:
$ export PS1="\[$(tput bold)$(tput setb 4)$(tput setaf
7)\]\u@\h:\w $ \[$(tput sgr0)\]"
其中:
tput setb [1-7]- 设置背景色tput setf [1-7]- 设置前景色tput setab [1-7]- 用ANSI escape设置背景色(我查了,但不懂...)tput setaf [1-7]- 用ANSI escape设置前景色
前两个好使, 就算用echo输出也是很漂亮的.
还有一些设置字体的选项:
tput bold粗体tput dim亮度减半tput smul开启下划线tput rmul关闭下划线tput rev颜色反转, 类似于高对比度那种tput smso开启高对比度模式tput rmso关闭高对比度模式tput sgr0关闭所有特效
颜色代码:
0– 黑色1– 红色2– 绿色3– 黄色4– 蓝色5– 洋红6– 青色7- 白色
扩展阅读
9 UNIX / Linux tput Examples: Control Your Terminal Color and Cursor