Shell echo 輸出帶顏色內容

 

基本語法shell

echo "\033[41;36m something \033[0m"

能夠看到 "\033[ "  是成對出現的,這是固定語法,知道就行 , 而後第一個"\033[ "後面是 41;36m , 第二個"\033[ " 後面是0m" ,具體含義下面介紹:bash

 

第一個"\033[字體

中括號後面能夠有一個值,也能夠有兩個值,以分號隔開,表明着要顯示的文字的背景和顏色,默認都是窗口本來的顏色。code

其中41的位置表明背景底色 ,36m的位置是表明文字的顏色 , 背景底色不加m , 文字顏色要加m orm

顏色對應的值分別以下:ci

背景的顏色範圍是 40 --  47

  echo -e 「\033[40;37m 黑底白字 \033[0m」
  echo -e 「\033[41;37m 紅底白字 \033[0m」 
  echo -e 「\033[42;37m 綠底白字 \033[0m」 
  echo -e 「\033[43;37m 黃底白字 \033[0m」 
  echo -e 「\033[44;37m 藍底白字 \033[0m」 
  echo -e 「\033[45;37m 紫底白字 \033[0m」 
  echo -e 「\033[46;37m 天藍底白字 \033[0m」 
  echo -e 「\033[47;30m 白底黑字 \033[0m」


字體的顏色範圍是 30m -- 37m

  echo -e 「\033[30m 黑色字 \033[0m」 
  echo -e 「\033[31m 紅色字 \033[0m」 
  echo -e 「\033[32m 綠色字 \033[0m」 
  echo -e 「\033[33m 黃色字 \033[0m」 
  echo -e 「\033[34m 藍色字 \033[0m」 
  echo -e 「\033[35m 紫色字 \033[0m」 
  echo -e 「\033[36m 天藍字 \033[0m」 
  echo -e 「\033[37m 白色字 \033[0m」

---------------------------------------------------------------------------------------------------it

第二個"\033[table

後面只有一個0m, 這個是控制某些特殊顯示效果的,好比顯示時光標的控制、閃爍等,基本上用不到。下面列出來,以供參考:class

 

  \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 顯示光標

echo –e 參數可根據本身的系統選擇,不加 –e 也能夠。若是不加顯示不出來,就加上,這個主要涉及到轉義的問題。語法

我本身用到的部分shell以下:

#!/bin/bash

text=`cat /etc/passwd`

echo 「\033[41;37m $text \033[0m」
相關文章
相關標籤/搜索