echo 显现的色彩
在 Linux 系统中,echo 除了可以直接回显字符串信息外,还可以给回显的信息带来色彩的一面。
首先,说说 echo 实现的原理:实际上是通过 转义序列
的方式,来为回显的信息添色的。
- 具体格式:
echo -e "\033[颜色1;颜色2m回显信息\033[0m"
- 格式详解:
- -e:启用反斜杠转义。
- \033[颜色1;颜色2m:
- \033[:转义序列的开始,对应的是 ASCII 的 ESC(033),也可以使用
-E
或者-e
代替。- 颜色1,颜色2:字体的背景色与前景色。
- m:转义序列的结束。
- \033[0m:恢复原来的配色。
- \033[:转义序列的开始,对应的是 ASCII 的 ESC(033),也可以使用
颜色对应表可参考:Bash tips: Colors and formatting (ANSI/VT100 Control sequences)
记忆技巧: 前景色 3 开头,背景色 4 开头。
使用技巧
- 定义颜色变量
将需要转义的序列作为一个变量,在 echo 时直接引用对应的变量即可。具体可参考 Bash echo in color。
- 定义颜色动作
将回显色彩定义成一个函数。这样可以免去重复 echo 以及转义序列的麻烦,只要用到时,直接调用即可。例如:
red_echo () { echo -e "\033[031;1m$@\033[0m"; }