Next Previous Contents

4. 有那些颜色可以选择呢?

下面的 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 是粗体和高亮度


Next Previous Contents