通过将其输出着色,可以使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:

BASH输出着色显示

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:

BASH输出着色显示

 

其它示例

#!/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

 

相关文章: