終端的字符顏色是用轉(zhuǎn)義序列控制的儿惫,是文本模式下的系統(tǒng)顯示功能,和具體的語言無關(guān)概页,shell,python练慕,perl, C,C++等均可以調(diào)用惰匙。
轉(zhuǎn)義序列是以 ESC 開頭,可以用 \033 完成相同的工作(ESC 的 ASCII 碼用十進(jìn)制表示就是 27, 等價(jià)于用八進(jìn)制表示的 33)贺待。
- 1.顯示格式: \033[顯示方式;前景色;背景色;動(dòng)作m;
- 2.其中顯示方式徽曲,前景色或背景色無順序關(guān)系,其中任何一項(xiàng)也不是必須的;
-
3.系統(tǒng)默認(rèn)顏色:\033[0m;
Example:
echo -e "\033[44;37;5m ME \033[0m COOL"
以上命令設(shè)置背景成為藍(lán)色麸塞,前景白色,閃爍光標(biāo)涧衙,輸出字符“ME”哪工,然后重新設(shè)置屏幕到缺省設(shè)置奥此,輸出字符“COOL”⊙惚龋“e”是命令 echo的一個(gè)可選項(xiàng)稚虎,它用于激活特殊字符的解析器≠松樱“\033”引導(dǎo)非常規(guī)字符序列蠢终。“m”意味著設(shè)置屬性然后結(jié)束非常規(guī)字符序列茴她,這個(gè)例子里真正有效的字符是“44;37;5” 和“0”寻拂。
修改“44;37;5”可以生成不同顏色的組合,數(shù)值和編碼的前后順序沒有關(guān)系丈牢〖蓝ぃ可以選擇的編碼如下所示:
編碼 顏色/動(dòng)作
0 重新設(shè)置屬性到缺省設(shè)置
1 設(shè)置粗體
2 設(shè)置一半亮度(模擬彩色顯示器的顏色)
4 設(shè)置下劃線(模擬彩色顯示器的顏色)
5 設(shè)置閃爍
7 設(shè)置反向圖象
22 設(shè)置一般密度
24 關(guān)閉下劃線
25 關(guān)閉閃爍
27 關(guān)閉反向圖象
30 設(shè)置黑色前景
31 設(shè)置紅色前景
32 設(shè)置綠色前景
33 設(shè)置棕色前景
34 設(shè)置藍(lán)色前景
35 設(shè)置紫色前景
36 設(shè)置青色前景
37 設(shè)置白色前景
38 在缺省的前景顏色上設(shè)置下劃線
39 在缺省的前景顏色上關(guān)閉下劃線
40 設(shè)置黑色背景
41 設(shè)置紅色背景
42 設(shè)置綠色背景
43 設(shè)置棕色背景
44 設(shè)置藍(lán)色背景
45 設(shè)置紫色背景
46 設(shè)置青色背景
47 設(shè)置白色背景
49 設(shè)置缺省黑色背景
其他示例:
\033[2J 清除屏幕
\033[0q 關(guān)閉所有的鍵盤指示燈
\033[1q 設(shè)置“滾動(dòng)鎖定”指示燈 (Scroll Lock)
\033[2q 設(shè)置“數(shù)值鎖定”指示燈 (Num Lock)
\033[3q 設(shè)置“大寫鎖定”指示燈 (Caps Lock)
\033[15:40H 把關(guān)閉移動(dòng)到第15行,40列
\007 發(fā)蜂鳴生beep