免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1736 | 回复: 0
打印 上一主题 下一主题

改变linux终端颜色 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-02-22 17:59 |只看该作者 |倒序浏览
改变linux终端颜色


  对于兼容ANSI的终端,如xterm、rxvt、konsole等,可以彩色显示终端文本中的底色或前景颜色,本文将详细讨论如何实现随意修改和定制这些终端的颜色。

转义序列符

  为了添加个人风格的彩色提示符,我们需要使用转义序列符。一个转义序列符是一个控制命令,它控制Shell执行某个特定的动作。一个转义序列符通常以 ESC开始,在Shell中被记录为"^[",有时候也被常常记录为3(因为ESC在ASCII编码中是27,八进制就被记录为033)。为了直接在 Shell中输入一个转义序列符,一般会以¡°Ctrl+V¡±作为前导,也就是¡°Ctrl-v ESC¡±。

使用Shell颜色

  首先使用一个例子来说明如何实现Shell彩色:
PS1="[ 3[0;32;40mu@h:w$ 3[0m ]"
这时候就会显示如下的提示符:
在上面命令中,¡°3[0;32;40m¡±表示定义后面文本的颜色,¡°3¡±表示启动一个转义序列,¡°[¡±定义开始颜色定义,¡°0¡±定义默认的字体颜色,其它部分稍后定义。¡°32¡±定义文本的前景色,这里32表示绿色;¡°40¡±定义文本的背景色,40表示黑色。在字符串的最后定义了¡° 3[0m¡±,它是用来恢复了默认的文本颜色设置,这样就只会得到一个彩色提示符,而不会影响命令和其输出的颜色显示(即黑底白字)。

  我们一共有8种字体颜色可供选择,它们分别是30 (黑色)、31 (红色)、32 (绿色)、33 (黄色)、34 (蓝色)、35 ( 紫红色)、36 (青色)和37 (白色)。对于底色也有8种颜色可供选择,只需要将字体颜色的3修改为4即可,例如40、41、42、43、44、45、46、47。

前景      背景      颜色
---------------------------------------
30          40          黑色
31           41          红色
32          42          绿色
33          43          黄色
34          44          蓝色
35          45          紫红色
36          46          青蓝色
37          47          白色
代码      意义
-------------------------
0            OFF
1            高亮显示
4            下划线
5            闪烁
7            反白显示
8            不可见

【例子】
# echo -e '\033[34mYour input invaild !!\033[0m'
你将看到下面的输出
Your input invaild !!

echo -e '\033[4mhttp://www.baidu.com\033[0m'
你将看到下面的输出
http://www.baidu.com






本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/111961/showart_2184098.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP