Shell高亮顯示。基本公式:
echo -e 終端顏色 + 顯示內容 + 結束後的顏色
終端顏色格式: \e背景色數值;字體顏色數值m
顏色數值表:
字體顏色數值 背景顏色數值 顏色 30 40 黑色 31 41 紅色 32 42 綠色 33 43 黃色 34 44 藍色 35 45 紫紅色 36 46 青藍色 37 47 白色注意:不需要背景色的話,則背景色數值為1
例子:
黑底紫紅字體,結束後設置的終端顏色為 黑底白字體 :
echo -e "\e[40;35m helloword \e[40;37m"
效果如下圖:
看到了上述的效果圖,大家肯定發現了個問題,那就是接下來的字體顯示,都是黑底白字了,那麼要怎麼恢復成原來終端顯示的白底黑字呢?
大家可能異口同聲地答道:“ 背景色數值設置成 白色 不就行了麼?”
我只想說,想法是對的,但是做法是錯的,我們看個例子:
echo -e "\e[40;35m helloword \e[1;37m"
看效果:
大家都看到了吧,背景還是原來設置的黑色,沒有效果!!
可以使用重置命令:
$(tput sgr0)
或者使用echo -e 實現高亮顯示的命令中不加上結束後的顏色,而是加上 $(tput sgr0) 命令,命令如下
echo -e "\e[40;35m" "helloword" $(tput sgr0)
效果如下圖:
原來設置了背景色之後,要回復是這麼麻煩的,那麼不設置背景色怎麼寫呢?
寫法如下:
echo -e "\e[1;35m helloword \e[1;34m"
效果如下圖: