LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 758|回复: 1

终端下的彩色字

[复制链接]
发表于 2004-6-3 23:41:00 | 显示全部楼层 |阅读模式
Bash是通过读取环境变量PS1来确定提示符的格式的,你可以通过这个环境变量来更改提示符内容,给提示符加颜色等。

首先PS1需要用\[\]括起来,\是转义字符,某个字符被加上了、说明已经代表了另外的意思,这里就是这样,还有\033表示033这个字符,就是ESC。

PS1中的颜色信息需要括到\033[和m中间颜色信息可以包括字符属性,前景颜色和背景颜色三个内容,用分号隔开,比如\033[0;30;41m表示字符属性为默认值,前景为黑色,背景为红色i\033[0m表示所有都是默认(见下面的字符属性)。

比如export PS1="\[\033[0;30;41m\u@\h>\]",表示字符属性为默认,前景色为黑色,背景色为红色,你可以看一下是什么效果    。

一个颜色描述只对后面的字符起作用,你可以改为export PS1="\[\033[0;30;41m\u@\033[0;33;40m\h>\033[0m\]"看看有什么变化。
(\u和\h的意义见下文)

这里是三个部分所能取的值:

字符属性:
0、1、22、4、24、5、25、7、27, 分别表示:默认值、粗体、非粗体、下划线、非下划线、闪烁、非闪烁、 反显、非反显。

前景色:
30(黑色)、31(红色)、32(绿色)、 33(黄色)、34(蓝色)、35(洋红)、36(青色)、37(白色)。

背景色:
40、(黑色)、41(红色)、42(绿色)、43(黄色)、44(蓝色)、45(洋红)、46(青色)、47(白色)。。

还有那个例子中使用了\u和\h,这个是u和h的转义,分别表示用户名和主机名,下面是一些可用的转义:
\u 用户名
\h 主机名
\s Shell名称
\v Shell版本号
\w 工作目录

好了,就这些,祝大家玩得愉快   
发表于 2004-6-3 23:57:30 | 显示全部楼层
呵呵,总结的不错,这里有个不错的连接,我想,值得一看
http://www.linuxsir.cn/bbs/showthread.php?threadid=20558
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表