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
