Bash中的颜色

在Bash中,可以定义输出文本的颜色,要用到以下代码:

echo -e "\e[1;3x;4ymTEXT\e[0m

其中,1;表示文字加亮,3x是前景色,4y是背景色,m是这一块的结束;后面\e[0m是清除格式,类似于关闭标签。

为了查询,我编写了这么一个脚本:

colors() {
    index=(黑 红 绿 黄 蓝 品 青 白) #Chinece
    #index=(BC RD GN YL BL PK CY WH) #English
    echo -e "/------30------31------32------33------34------35------36------37------\\"
    for bgc in `seq 0 7`;do
        echo -ne "|4${bgc}|"
        for fgc in `seq 0 7`;do
            echo -ne "\e[3${fgc};4${bgc}m${index[${fgc}]}${index[${bgc}]}\e[0m\e[1;3${fgc};4${bgc}m${index[${fgc}]}${index[${bgc}]}\e[0m"
        done
        echo -ne "|4${bgc}|\n"
    done
    echo -ne "\\------30------31------32------33------34------35------36------37------/\n"
}

把它放在.bashrc文件中,或把花括号里的内容弄到一个文件里,命名为color。

品是品红色的意思,英语颜色随意翻译的,主要为了保证宽度一致。

效果:

中文简体

中文效果

English

English Effect