首頁 > 軟體

Shell終端字元顏色設定

2020-06-16 17:37:01

我們在編寫程式的時候,通常需要終端對輸出顯示紅色或者綠色等各種顏色,以便更加清楚的對使用者做出提示。下面是Shell系統終端顏色的設定方式:

終端的字元顏色是用跳脫序列控制的,是文字模式下的系統顯示功能,和具體的語言無關,shellpythonperl, C,C++等均可以呼叫。
跳脫序列是以 ESC 開頭,可以用 33 完成相同的工作(ESC 的 ASCII 碼用十進位制表示就是 27, 等價於用八進位制表示的 33)。

  • 顯示格式: 33[顯示方式;前景色;背景色;動作m;
  • 其中顯示方式,前景色或背景色無順序關係,其中任何一項也不是必須的。
  • 系統預設顏色:33[0m

文字終端的顏色可以使用“ANSI非常規字元序列”來生成。舉例:

echo -e “33[44;37;5m ME 33[0m COOL”

以上命令設定背景成為藍色,前景白色,閃爍游標,輸出字元“ME”,然後重新設定螢幕到預設設定,輸出字元“COOL”“e”是命令 echo的一個可選項,它用於啟用特殊字元的解析器。“33”引導非常規字元序列。“m”意味著設定屬性然後結束非常規字元序列,這個例子裡真正有效的字元是“44;37;5”“0”

修改“44;37;5”可以生成不同顏色的組合,數值和編碼的前後順序沒有關係。可以選擇的編碼如下所示:

編碼 顏色/動作

  • 0 重新設定屬性到預設設定
  • 1 設定粗體
  • 2 設定一半亮度(模擬彩色顯示器的顏色)
  • 4 設定下劃線(模擬彩色顯示器的顏色)
  • 5 設定閃爍
  • 7 設定反向圖象
  • 22 設定一般密度
  • 24 關閉下劃線
  • 25 關閉閃爍
  • 27 關閉反向圖象
  • 30 設定黑色前景
  • 31 設定紅色前景
  • 32 設定綠色前景
  • 33 設定棕色前景
  • 34 設定藍色前景
  • 35 設定紫色前景
  • 36 設定青色前景
  • 37 設定白色前景
  • 38 在預設的前景顏色上設定下劃線
  • 39 在預設的前景顏色上關閉下劃線
  • 40 設定黑色背景
  • 41 設定紅色背景
  • 42 設定綠色背景
  • 43 設定棕色背景
  • 44 設定藍色背景
  • 45 設定紫色背景
  • 46 設定青色背景
  • 47 設定白色背景
  • 49 設定預設黑色背景

其他有趣的程式碼還有:

  • 33[2J  清除螢幕
  • 33[0q  關閉所有的鍵盤指示燈
  • 33[1q  設定“捲動鎖定”指示燈 (Scroll Lock)
  • 33[2q  設定“數值鎖定”指示燈 (Num Lock)
  • 33[3q  設定“大寫鎖定”指示燈 (Caps Lock)
  • 33[15:40H 把關閉移動到第15行,40列
  • 07   發蜂鳴生beep

本文永久更新連結地址http://www.linuxidc.com/Linux/2016-07/133705.htm


IT145.com E-mail:sddin#qq.com