BASH输出着色显示
通过将其输出着色,可以使BASH脚本更漂亮。使用ANSI转义序列设置文本属性,例如前景色和背景色。
使用以下模板格式来编写彩色文本:
echo -e "\e[前景色值;背景色值;2m文本\e[0m" 或 echo -e "\033[前景色值;背景色值;2m文本\033[0m"
Option | description |
-e | 启用反斜杠转义 |
\e[ | 开始修改颜色 |
\e[0m | 结束颜色修改 |
2m | ANSI编码 |
前景色值和背景色值使用分号间隔,不分先后,因为两种值的颜色范围不一样,比如 黑色 30 40 。另外分开写同样生效。
Examples:
ANSI--彩色转义码:
Color | Foreground Code | Background Code | Sample |
---|---|---|---|
Black | 30 | 40 | |
Red | 31 | 41 | |
Green | 32 | 42 | |
Brown | 33 | 43 | |
Blue | 34 | 44 | |
Purple | 35 | 45 | |
Cyan | 36 | 46 | |
Light Gray | 37 | 47 |
字体显示方式选项说明:
ANSI 码 | 含义 |
---|---|
0 | 常规文本 |
1 | 粗体文本 |
4 | 含下划线文本 |
5 | 闪烁文本 |
7 | 反色(补色)文本 |
Examples:
其它示例
#!/bin/bash for clbg in {40..47} {100..107} 49 ; do #Foreground for clfg in {30..37} {90..97} 39 ; do #Formatting for attr in 0 1 2 4 5 7 ; do #Print the result echo -en "\e[${attr};${clbg};${clfg}m ^[${attr};${clbg};${clfg}m \e[0m" done echo #Newline done done exit 0