下面的 shell 命令稿(感谢许多把 bash 的版本寄给我的人)显示出现在使用的主控台能够支援的各种颜色组合。如果没有颜色出现,那麽你的主控台就不支援 ANSI 的颜色选择。
#!/bin/bash
# 显示 ANSI 的彩色
#
esc="\033["
echo -n " _ _ _ _ _40 _ _ _ 41_ _ _ _42 _ _ _ 43"
echo "_ _ _ 44_ _ _ _45 _ _ _ 46_ _ _ _47 _"
for fore in 30 31 32 33 34 35 36 37; do
line1="$fore "
line2=" "
for back in 40 41 42 43 44 45 46 47; do
line1="${line1}${esc}${back};${fore}m Normal ${esc}0m"
line2="${line2}${esc}${back};${fore};1m Bold ${esc}0m"
done
echo -e "$line1\n$line2"
done
前景的颜色号码是在左边那一排,背景的则是在上方。如果你要粗体的字元和高亮度就在参数□加一个 "1",所以前景是白色而背景是蓝色就成了 "37;44;1"。整个的 ANSI 颜色选择序列就是
ESC [ 3 7 ; 4 4 ; 1 m。
注: 背景不可以是高亮度,所以黄色(高亮度的棕色)只能用来作前景。这是硬体上的限制。
颜色代码: 0 - 黑色 4 - 蓝色 3# 是背景颜色 1 - 红色 5 - 粉红色 4# 是前景颜色 2 - 绿色 6 - 青色 3 - 黄色 7 - 白色 ;1 是粗体和高亮度