1. 程式人生 > >shell 中 echo/printf 色彩控制

shell 中 echo/printf 色彩控制

參考https://blog.csdn.net/david_dai_1108/article/details/70478826

Shell 中我們經常需要用到echo提示使用者一些訊息,為了輸出顯示更明顯我們可以為輸出字串標記顏色:

基本語句:

-e     enable interpretation of backslash escapes

echo -e "\033[字背景顏色;字型顏色m 字串 \033[0m"  或者
printf "\033[字背景顏色;字型顏色m 字串 \033[0m"  或者
echo -e "\033[字背景顏色;字型顏色m;ascii碼m 字串 \033[0m 字串(can null) \n"

-e是echo的一個可選項,用於啟用特殊字元的解析器, 也就是對反斜線轉義符(即\)的解釋。\033引導非常規字元序列。意味著設定屬性然後結束非常規字元序列,這裡起效果的字元是

顏色範圍如下:

#字型顏範圍(前景顏色):30~39
30:黑
31:紅
32:綠
33:黃
34:藍色
35:紫色
36:深綠
37:白色

#字背景顏色範圍(背景顏色):40~49
40:黑
41:深紅
42:綠
43:黃色
44:藍色
45:紫色
46:深綠
47:白色

#常用一下四種:
echo -e “\033[31m 紅色字 \033[0m” 
echo -e “\033[34m 黃色字 \033[0m” 
echo -e “\033[41;33m 紅底黃字 \033[0m” echo -e “\033[41;37m 紅底白字 \033[0m” #擴充套件: echo -e "\033[0m none \033[0m" echo -e "\033[30m black \033[0m" echo -e "\033[1;30m dark_gray \033[0m" echo -e "\033[0;34m blue \033[0m" echo -e "\033[1;34m light_blue \033[0m" echo -e "\033[0;32m green \033[0m" echo -e "\033[1;32m light_green \033[0m" echo
-e "\033[0;36m cyan \033[0m" echo -e "\033[1;36m light_cyan \033[0m" echo -e "\033[0;31m red \033[0m" echo -e "\033[1;31m light_red \033[0m" echo -e "\033[0;35m purple \033[0m" echo -e "\033[1;35m light_purple \033[0m" echo -e "\033[0;33m brown \033[0m" echo -e "\033[1;33m yellow \033[0m" echo -e "\033[0;37m light_gray \033[0m" echo -e "\033[1;37m white \033[0m" echo -e "\033[0m none \033[0m" echo -e "\033[0m none \033[0m" echo -e "\033[0m none \033[0m" echo -e "\033[0m none \033[0m" echo -e "\033[0m none \033[0m" echo -e "\033[40;37m 黑底白字 \033[0m" echo -e "\033[41;30m 紅底黑字 \033[0m" echo -e "\033[42;34m 綠底藍字 \033[0m" echo -e "\033[43;34m 黃底藍字 \033[0m" echo -e "\033[44;30m 藍底黑字 \033[0m" echo -e "\033[45;30m 紫底黑字 \033[0m" echo -e "\033[46;30m 天藍底黑字 \033[0m" echo -e "\033[47;34m 白底藍字 \033[0m" echo -e "\033[4;31m 下劃線紅字 \033[0m" echo -e "\033[5;31m 紅字在閃爍 \033[0m" echo -e "\033[8m 消隱 \033[0m "

一些控制選項如下:

      \33[0m 關閉所有屬性 
  \33[1m 設定高亮度 
  \33[4m 下劃線 
  \33[5m 閃爍 
  \33[7m 反顯 
  \33[8m 消隱 
  \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 顯示游標