遇到一個要求,要求shell輸出的字符串是彩色的,現在寫下來備忘。
示例:
echo -e type "\e[31m c\e[0m to continue"
這樣輸出一個 type c to continue 的字符串,其中c是紅色的。
如果想讓c是黃底紅字
echo -e type "\e[31;43m c\e[0m to continue"
如果想再加一個高亮的效果
echo -e type "\e[31;43;1m c\e[0m to continue"
也就是說通過夾在 "\e["(轉義開方括號)和 "m" 之間數值來設置各種效果,不同的數值代表不同的效果,可以多種數字組合起來用,數字之間用分號隔開。
下面是各種數字的含義
顏色表
前景 背景 顏色
---------------------------------------
30 40 黑色
31 41 紅色
32 42 綠色
33 43 黃色
34 44 藍色
35 45 紫紅色
36 46 青藍色
37 47 白色
代碼 意義
-------------------------
0 OFF
1 高亮顯示
4 underline
5 閃爍
7 反白顯示
8 不可見
但結尾部分需要加上\e[0m來表示顏色方案結束,否則後面的提示符都會變顏色