ANSI 是美国国家标准协会(American National Standards Institute)的简称,ANSI escape codes 是用来控制终端中的光标位置、文字颜色、字体样式等信息的字符串,因为它总是以 escape 字符为开头,所以叫 escape codes。
格式是 \033[XXXm
,其中 \033
就是 escape 字符,XXX
是一个以 ;
分隔的字符串,用来控制终端的显示,支持的各种字符可以参考 stackoverflow 的这个问答。
例如:
echo "\033[1;5;31m科技微讯"
echo "\033[3;4;6;40;37m科技微讯"
开源社区有两个 npm package 可以让你方便地生成所需的 escape codes:
chalk/ansi-regex 提供了一个匹配所有 ANSI escape codes 的正则法则。