分类: LINUX
2013-10-25 11:47:03
Linux下Shell脚本输出带颜色文字
linux终端下,可以输出带颜色、背景和闪烁的字体,要输出特殊变化字体时,echo -e(需要接-e参数);
输出格式:
echo -e "\033[字体背景色;[前景颜色;]特殊效果m 字符串 \033[0m"
echo -e "\033[41;34;5m hello,color\033[0m"
红色背景,蓝色字体,闪烁。
注:前景颜色和特殊效果一起存在的时候,前景色相当于字体颜色(默认白色)。
不需要特殊效果时,此时前景颜色相当于字体颜色,需要再数字后面加上m。
打印完之后,把颜色恢复成"\033[m",不然再后面的打印都会跟着变色
颜色分为背景色和字体色,30~39用来设置字体色,40~49设置背景:
背景色 字体色
40: 黑 30: 黑
41: 红 31: 红
42: 绿 32: 绿
43: 黄 33: 黄
44: 蓝 34: 蓝
45: 紫 35: 紫
46: 深绿 36: 深绿
47: 白色 37: 白色
ANSI控制码
\033[0m 关闭所有属性
\033[30m ~~ \033[37m 设置前景色
\033[40m ~~ \033[47m 设置背景色
\033[1m 设置高亮度
\033[4m 下划线
\033[5m 闪烁
\033[7m 反显
\033[8m 消隐
\033[nA 光标上移n行
\033[nB 光标下移n行
\033[nC 光标右移n行
\033[nD 光标左移n行
\033[y;xH 设置光标位置
\033[2J 清屏
\033[K 清除从光标到行尾的内容
\033[s 保存光标位置
\033[u 恢复光标位置
\033[?25l 隐藏光标
\033[?25h 显示光标
例子1:
1)、黄色字体;
2)、红色背景和黄色字体;
3)、红色背景,蓝色字体,闪烁;
echo -e "\033[41;34;5m hello,color\033[0m"
4)、没有指定字体颜色,默认是白色,且闪烁;
$ echo -e "\033[41;5m hello,color\033[0m"
例子2:
$ cat color.sh
#!/bin/bash
RED="\033[0;32;31m"
LIGHT_RED="\033[1;31m"
GREEN="\033[0;32;32m"
LIGHT_GREEN="\033[1;32m"
BLUE="\033[0;32;34m"
LIGHT_BLUE="\033[1;34m"
DARY_GRAY="\033[1;30m"
CYAN="\033[0;36m"
LIGHT_CYAN="\033[1;36m"
PURPLE="\033[0;35m"
LIGHT_PURPLE="\033[1;35m"
BROWN="\033[0;33m"
YELLOW="\033[1;33m"
LIGHT_GRAY="\033[0;37m"
WHITE="\033[1;37m"
NONE="\033[m"
R_B_F="\033[41;34;5m"
echo -e ${RED}hello red${NONE}
echo -e ${GREEN}hello green${NONE}
echo -e ${R_B_F}red blue flash${NONE}
运行结果