2017-12-07

即時更改 Bash 顯示的文字顏色

在 Linux 上經常會使用 Bash 協助處理不同大大小小的任務
有時還會透過 echo 或 printf 等指令將文字輸出,以顯示訊息
可是不論正確還是錯誤都以同一種樣式或顏色顯示難免會有在除錯時看漏訊息

其實不少指令,或指令操作的軟件都會將輸出的訊息以不同風格或顏色顯示,讓使用者較易查看內容
要將輸出的文字增加樣式或顏色,在輸出文字前加上 \e[*m 的內容
其中 * 號為數值碼,不同的數值碼會設定不同的樣式或顏色,或將特定的樣式取消或顏色還原
而 \e 的「\(反斜線)」是將 e 進行跳脫才能生效,因此使用 echo 時需要加上 -e 才能將 \e 進行跳脫

以下為對應樣式及顏色的數值碼
數值碼樣式或顏色或效果
0取消所有樣式及還原所有顏色
1粗體
2淡化
3斜體
4底線
7負片
8隱藏
9刪除線
20取消所有樣式
21取消粗體
22取消淡化
23取消斜體
24取消底線
27取消負片
28取消隱藏
29取消刪除線
39還原文字顏色
30黑色文字
31深紅色文字
32深綠色文字
33深黃色文字
34深藍色文字
35深紫色文字
36深水色文字
37淺灰色文字
90深灰色文字
91淺紅色文字
92淺綠色文字
93淺黃色文字
94淺藍色文字
95淺紫色文字
96淺水色文字
97白色文字
49還原背景顏色
40黑色背景
41深紅色背景
42深綠色背景
43深黃色背景
44深藍色背景
45深紫色背景
46深水色背景
47淺灰色背景
100深灰色背景
101淺紅色背景
102淺綠色背景
103淺黃色背景
104淺藍色背景
105淺紫色背景
106淺水色背景
107白色背景

見下文
圖中為樣式或顏色設定(不包含取消及還原效果)
當中的隱藏樣式會將文字隱藏,因此該行文字的樣式會變成空白一般

沒有留言 :

張貼留言