2010年12月24日 星期五

Linux 終端機下的彩色顯示: 有那些顏色可以選擇呢?


#!/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 是粗體和高亮度



沒有留言:

張貼留言