shell 顯示帶顏色字型
格式: echo 「\033[字背景顏色;字型顏色m字串\033[控制碼」
如果單純顯示字型顏色可以固定控制碼位0m。
格式: echo 「\033[字背景顏色;字型顏色m字串\033[0m」
字背景顏色範圍:40 - 49
40:黑
41:深紅
42:綠
43:黃色
44:藍色
45:紫色
46:深綠
47:白色
字顏色:30 - 39
30:黑
31:紅
32:綠
33:黃
34:藍色
35:紫色
36:深綠
37:白色
ansi控制碼
\33[0m 關閉所有屬性
\33[01m 設定高亮度
\33[04m 下劃線
\33[05m 閃爍
\33[07m 反顯
\33[08m 消隱
\33[30m – \33[37m 設定前景色
\33[40m – \33[47m 設定背景色
\33[na 游標上移n行
\33[nb 游標下移n行
\33[nc 游標右移n行
\33[nd 游標左移n行
\33[y;xh設定游標位置
\33[2j 清屏
\33[k 清除從游標到行尾的內容
\33[s 儲存游標位置
\33[u 恢復游標位置
\33[?25l 隱藏游標
\33[?25h 顯示游標
例如:讓字型變為紅色並且不停的閃爍
或者shell指令碼彩色化ansi color, 也就是美國國家標準化組織(實際上某種程度上就是世界標準)制定的終端顏色標準,在這個標準裡規定了終端顯示顏色的標準.簡單來說就是定製了當終端接受何種資訊時顯示顏色.
通常情況下,終端接受的就是字元.當你在終端上輸入字元回車,字元被傳遞給遠端(或者local,通過shell解析給os),遠端處理後返回字元資訊.ansi 定義當返回資訊為以下格式時不顯示字元而根據其格式顯示相應的顏色:
[nm
解釋下:這裡的意思是接受到esc這個鍵盤對映的字元(不是esc這三個字元,更不是這五個字元)後緊跟著」[「(方括號這個字元)然後n代表乙個數字最後以m結尾的這麼乙個古怪的字串.
當終端接受這個資訊,若是終端本身支援ansi color的標準(xterm gnome-terminal kconsole securecrt 等等均支援)終端就會顯示顏色.注意是終端支援,而不是某個shell支援(和使用那種shell無關)
明白如上資訊後,就只需要了解n所代表的數字到底對應什麼顏色即可了:
效果設定
0 重置設定
1 高亮
2 灰度
4 下劃線
5 閃爍
7 反轉(字元顏色和背景顏色反轉)
竟然沒有6,奇怪
8 隱藏(估計這就是平時輸入密碼用的)
字元顏色foreground colours
30 黑色
31 紅色
32 綠色
33 黃色
34 藍色
35 粉色
36 青色
37 白色
背景顏色background colours
40 黑色
41 紅色
42 綠色
43 黃色
44 藍色
45 粉色
46 青色
47 白色
另外esc這個字元實際上很難直接操作出來,所以可以使用轉移方法:\033或者有些終端支援\e.因此嘗試用echo命令就可以測試當前終端是否支援ansi color:
echo -en 「\033[31m」(linux) echo 「\033[31m」(aix) 正常情況下後續的字元將顯示為紅色.
當需要效果設定,前景,背景多種效果同時設定可以使用分號間隔」;」譬如: 「\033[5;31;43m」意思為紅色字型,黃色背景,同時不停的在做閃爍.測試完畢後使用」\033[0m」恢復預設設定
shell 2 顯示帶顏色字型
shell指令碼中echo顯示內容帶顏色顯示,echo顯示帶顏色,需要使用引數 e,格式如下 echo e 033 字背景顏色 文字顏色m字串 033 0m 例如echo e 033 41 36m something here 033 0m 其中41的位置代表底色,36的位置是代表字的顏色 注 字型...
shell指令碼顯示字型顏色
shell指令碼中echo顯示內容帶顏色顯示,echo顯示帶顏色,需要使用引數 e 格式如下 echo e 033 字背景顏色 文字顏色m字串 033 0m 例如 echo e 033 41 36m something here 033 0m 其中41的位置代表底色,36的位置是代表字的顏色 注 s...
shell指令碼輸出帶顏色字型
輸出特效格式控制 033 0m 關閉所有屬性 033 1m 設定高亮度 03 4m 下劃線 033 5m 閃爍 033 7m 反顯 033 8m 消隱 033 30m 033 37m 設定前景色 033 40m 033 47m 設定背景色 游標位置等的格式控制 033 na 游標上移n行 03 nb...