样式开启
echo -e "\033[43mhello\033[0m"
其中的\033[nm,代表的就是开启样式,一般而言,习惯使用
\033[0m作为结尾。
但实际上所谓结尾是不必要的,死记硬背你也能发现一些莫名其妙的点。
为什么开始是
[但是却没有收尾的]
尝试一下这个

后面的全部都会变色,好像真的是需要关闭一样,不过等会知道模式以后,你会发现这个关其实也是开。
字体样式
echo -e "\033[1mhello\033[0m"
发现没有,第一个粗一点,这个就是模式,列表如下
type | description |
| 关闭( |
| 高亮 |
| 指定前景色 需要指定参数 |
| 单独使用指定下划线 有参数指定背景色 |
| 闪烁 |
| 反显 前景色和背景色调换 |
| 隐藏 |
试验

5的时候闪烁刚好隐掉了,自己试验肯定能看到效果。
指定颜色
number | color |
| 黑 |
| 红 |
| 绿 |
| 黄 |
| 蓝 |
| 紫 |
| 深绿 |
| 白 |
颜色只算是二级参数,需要
开启颜色开关。
3是指定前景色。
4是指定背景色。
回顾一下echo -e "\033[43mhello\033[0m"。

43,背景色是黄色。
前景色,也就是字体颜色,默认是白色。
然后换一换

结果符合预期,并且可以总结如下
- 前景默认白色,背景默认黑色,
37;40没啥效果 - 多个选项之间使用
;进行分隔 - 前景色和背景色不能一样,否则看不见内容
还能扩展两个点
- 可以同时指定多个样式
- 隐藏时前景色和背景色同为黑
试验

7的时候,前景色和背景色的确对调了。
4的下划线也很明显。
同时0黑色,的确看不见。
光标位置
光标的样式指定就不是
m了,m是关于字体的。光标的设置样式如下,模式各异。
command | description |
| 上移 |
| 下移 |
| 左移 |
| 右移 |
| 隐藏前面信息 |
| 清除光标到行尾内容 |
| 保存光标位置 |
| 恢复光标位置 |
| 隐藏光标 |
| 显示光标 |
ABCD需要指定移动长度,使用时为nA这样。
方位

方位问题呢,试出两个坑
-
D的左移不顶用,不采用任何模式才是左移效果 -
A的上移一行,导致结果会打印在命令之上(前)
关于
A你在已有内容的时候去执行此命令,重复执行会有更深的感触。
抹黑
echo -e "\033[2Jhello\033[0m"
前面是结果,后面是命令。
别问我为什么这么截,因为运行了前面的就会被隐藏,结果就是一片黑。
如何证明是被抹黑?你多运行几次,就会发现结果在慢慢下移了。
空模式是直接不显示后面几行,而这个,就是抹黑前面几行了。
清理行

K后面跟上\n就会清空。不过更多是跟上光标移动使用的。
位置记录

先记录一下位置,顺便留空,然后再覆盖,简直骚气。
显示和隐藏

中途光标丢了,不见了,打个命令都心惊胆战的。
你可以去阴一下别人。
小结
个人体会,如果是为了显示信息格式,不得不用到PS1甚至PS2。
如果只是单纯的字体颜色控制,使用echo -e就可以直接指定就是了。
你说设置的光标的隐藏,还有字体颜色,只要不\033[0m去指定默认样式,它就会在控制台生效。
不过设置了黑色以外的背景色的话,需要好好考虑一下。
你只要
clear就会知道背景色这种方法设置真的好难受。
最后一句,\033[0m真的不是结束,只能说默认样式而已。
算作默认样式的快捷开启办法,也就是\033[37;40m的快捷方式。
















