技术解析
改变 Shell 文字样式,本质上就是用 ANSI Escape Code 来改变终端模拟器的行为,可以做到很多事,比如改变文字颜色,文字闪烁,改变鼠标位置,清屏等等。比如执行 echo -e '\e[2J'
来清屏,或者 echo -e '\e[2J\e[u'
清屏并重置鼠标位置(跟 ctrl-l 同样效果)。这也跟 tput
命令是异曲同工的。
看了一些文章,还是挺有趣的,分享给大家。
然后我写了一个简单的生成这些变量的命令行脚本: https://github.com/adoyle-h/shell-general-colors
其实也有类似的工具 ansi,只是我觉得调用函数还是有点慢,不如直接调用变量。写死变量可能会造成命名冲突,于是做成一个生成器。