您的位置:首页 > 运维架构 > Linux

Linux/UNIX下终端和控制台彩色字体的实现

2009-09-15 11:47 253 查看
刚刚复试完,不出以外的话可以上班了,希望能获得自己喜欢的工作。同时更新两篇小技巧。

一个小技巧,shell编程中不用也可以,但是用了之后会有异常醒目的效果,可以用来显示成功、失败或者是警告等关键信息。
如下:

# /etc/init.d/xinetd restart
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]

最早我也是在服务启动时看到的,当时反应是一定有什么命令可以生成颜色,最后查看其相关的脚本发现它只是终端的一个特性而以。可以自己定义显示的字体、颜色及其它终端特性。

先看我写的示例函数。

#!/bin/bash
# wang_xiaoyu@qq.com
# 第一行不是必须
# . color.function 请运行前做这样的操作
color() {
COLOR_OK="\033[0;32;40m"
# COLOR_OK="\033[0;34;40m"
COLOR_RESET="\033[0m"
USAGE="color \"strings\""
usage2="eg. color \"Usage: color \"strings\"\n\""
usage3="eg. color Reset\nThis is the way of reset CONSOLE! \n"
if [ $# -lt 1 ]; then
# echo "$USAGE" >&2
echo -e "Usage: $USAGE" >&2
echo "$usage2" >&2
(echo -en "${COLOR_OK}"; echo -ne "Usage: color \"strings\"\n"; echo -ne "${COLOR_RESET}") >&2
echo -en "$usage3" >&2
return 1
elif [ "$1" = "Reset" ]; then
echo -ne "${COLOR_RESET}"
echo "reset sucessfully! "
return 0
else
echo -ne "${COLOR_OK}"; echo -ne $@;echo -ne "${COLOR_RESET}"
return 0
fi
}

如果测试请先导入函数 . color.function,而后运行color查看帮助,按帮助操作。
其中 color的Reset参数只是为了在破坏了终端默认的颜色的时候重置用的。

其它用法请查看Linux 下的/etc/init.d/functions脚本。
其它的颜色代码,可以参考这里边的函数。

还有兴趣的话可以看看这篇E文:
http://www.everyjoe.com/newlinuxuser/linux-console-codes/
包括改变终端字体的背景和前景颜色,大小和特殊效果文章中都有简单说明。

附件:http://down.51cto.com/data/2354034
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux UNIX shell 字体 color