基本语法
echo "\033[41;36m something \033[0m"
可以看到 "\033[ " 是成对出现的,这是固定语法,知道就行 , 然后第一个"\033[ "后面是 41;36m , 第二个"\033[ " 后面是0m" ,具体含义下面介绍:
第一个"\033[
中括号后面可以有一个值,也可以有两个值,以分号隔开,代表着要显示的文字的背景和颜色,默认都是窗口原本的颜色。
其中41的位置代表背景底色 ,36m的位置是代表文字的颜色 , 背景底色不加m , 文字颜色要加m
颜色对应的值分别如下:
背景的颜色范围是 40 -- 47
echo -e “\033[40;37m 黑底白字 \033[0m”
echo -e “\033[41;37m 红底白字 \033[0m”
echo -e “\033[42;37m 绿底白字 \033[0m”
echo -e “\033[43;37m 黄底白字 \033[0m”
echo -e “\033[44;37m 蓝底白字 \033[0m”
echo -e “\033[45;37m 紫底白字 \033[0m”
echo -e “\033[46;37m 天蓝底白字 \033[0m”
echo -e “\033[47;30m 白底黑字 \033[0m”
字体的颜色范围是 30m -- 37m
echo -e “\033[30m 黑色字 \033[0m”
echo -e “\033[31m 红色字 \033[0m”
echo -e “\033[32m 绿色字 \033[0m”
echo -e “\033[33m 黄色字 \033[0m”
echo -e “\033[34m 蓝色字 \033[0m”
echo -e “\033[35m 紫色字 \033[0m”
echo -e “\033[36m 天蓝字 \033[0m”
echo -e “\033[37m 白色字 \033[0m”
---------------------------------------------------------------------------------------------------
第二个"\033[
后面只有一个0m, 这个是控制某些特殊显示效果的,比如显示时光标的控制、闪烁等,基本上用不到。下面列出来,以供参考:
\33[0m 关闭所有属性
\33[1m 设置高亮度
\33[4m 下划线
\33[5m 闪烁
\33[7m 反显
\33[8m 消隐
\33[30m — \33[37m 设置前景色
\33[40m — \33[47m 设置背景色
\33[nA 光标上移n行
\33[nB 光标下移n行
\33[nC 光标右移n行
\33[nD 光标左移n行
\33[y;xH设置光标位置
\33[2J 清屏
\33[K 清除从光标到行尾的内容
\33[s 保存光标位置
\33[u 恢复光标位置
\33[?25l 隐藏光标
\33[?25h 显示光标
echo –e 参数可根据自己的系统选择,不加 –e 也可以。如果不加显示不出来,就加上,这个主要涉及到转义的问题。
我自己用到的部分shell如下:
#!/bin/bash
text=`cat /etc/passwd`
echo “\033[41;37m $text \033[0m”