概述
Shell 显示带颜色字体
格式: echo “ 33[字背景颜色;字体颜色m字符串 33[控制码”
如果单纯显示字体颜色可以固定控制码位0m。
格式: echo “ 33[字背景颜色;字体颜色m字符串 33[0m”
字背景颜色范围:40 - 49
40:黑
41:深红
42:绿
43:黄色
44:蓝色
45:紫色
46:深绿
47:白色
字颜色:30 - 39
30:黑
31:红
32:绿
33:黄
34:蓝色
35:紫色
36:深绿
37:白色
ANSI控制码
33[0m 关闭所有属性
33[01m 设置高亮度
33[04m 下划线
33[05m 闪烁
33[07m 反显
33[08m 消隐
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 “ 33[31m 33[05m 请确认您的操作,输入 [Y/N] 33[0m”
或者
echo -e “ 33[31m 33[05m 请确认您的操作,,输入 [Y/N] 33[0m”
shell脚本彩色化
作者: kelvin_yin
ANSI Color, 也就是美国国家标准化组织(实际上某种程度上就是世界标准)制定的终端颜色标准,在这个标准里规定了终端显示颜色的标准.简单来说就是定制了当终端接受何种信息时显示颜色.
通常情况下,终端接受的就是字符.当你在终端上输入字符回车,字符被传递给远端(或者local,通过shell解析给OS),远端处理后返回字符信息.ANSI 定义当返回信息为以下格式时不显示字符而根据其格式显示相应的颜色:
[Nm
解释下:这里的意思是接受到Esc这个键盘映射的字符(不是Esc这三个字符,更不是这五个字符)后紧跟着”[“(方括号这个字符)然后N代表一个数字最后以m结尾的这么一个古怪的字符串.
当终端接受这个信息,若是终端本身支持ANSI color的标准(xterm gnome-terminal kconsole SecureCRT 等等均支持)终端就会显示颜色.注意是终端支持,而不是某个shell支持(和使用那种shell无关)
明白如上信息后,就只需要了解N所代表的数字到底对应什么颜色即可了:
效果设置
0 重置设置
1 高亮
2 灰度
4 下划线
5 闪烁
7 反转(字符颜色和背景颜色反转)
竟然没有6,奇怪
8 隐藏(估计这就是平时输入密码用的)
字符颜色Foreground Colours
30 黑色
31 红色
32 绿色
33 黄色
34 蓝色
35 粉色
36 青色
37 白色
背景颜色Background Colours
40 黑色
41 红色
42 绿色
43 黄色
44 蓝色
45 粉色
46 青色
47 白色
另外Esc这个字符实际上很难直接操作出来,所以可以使用转移方法: 33或者有些终端支持e.因此尝试用echo命令就可以测试当前终端是否支持ANSI color:
echo -en “ 33[31m”(linux) echo “ 33[31m”(aix) 正常情况下后续的字符将显示为红色.
当需要效果设置,前景,背景多种效果同时设置可以使用分号间隔”;”譬如: “ 33[5;31;43m”意思为红色字体,黄色背景,同时不停的在做闪烁.测试完毕后使用” 33[0m”恢复默认设置
最后
以上就是爱笑小馒头为你收集整理的Shell 显示带颜色字体echo -e “\033[31m \033[05m 请确认您的操作,输入 [Y/N] \033[0m”echo -e “\033[31m \033[05m 请确认您的操作,,输入 [Y/N] \033[0m”的全部内容,希望文章能够帮你解决Shell 显示带颜色字体echo -e “\033[31m \033[05m 请确认您的操作,输入 [Y/N] \033[0m”echo -e “\033[31m \033[05m 请确认您的操作,,输入 [Y/N] \033[0m”所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复