linux終端輸出顏色

2022-04-10 00:08:51 字數 1148 閱讀 3730

用到一些編譯工具,在輸出編譯資訊時,編譯通過的資訊用綠色輸出,錯誤資訊用紅色輸出。我覺得這個特性很有趣,自己在寫一些控制程式,或者批處理指令碼時,如果能給輸出加上提示色,應該看起來更直觀一些。在網上查了一些資料,其實這個特性比較容易使用,寫下來備忘。

首先看一下以下數字**。第一張表中數字代表顏色,第二章表中的數字代表行為。注意前景某色和背景某色不是同乙個數字。

前景              背景               顏色

30                40               黑色

31                41               紅色

32                42               綠色

33                43                黃色

34                44               藍色

35                45               紫紅色

36                46               青藍色

37                47               白色

**               意義

0                 off

1                 高亮顯示

4                 underline

5                 閃爍

7                 反白顯示

8                 不可見

具體使用方式如下。

echo -e "\033[43;31;5m 要用顏色輸出的字 \033[0m 預設方式輸出的字"

若使用python指令碼。

print "\033[43;31;5m 要用顏色輸出的字 \033[0m 預設方式輸出的字"

其實帶顏色的終端文字,是通過「ansi非常規字串行」來實現的。「\033[43;31;5m」用於設定屬性,\033引導非常規字串行,m意味著設定屬性然後結束非常規字串行。中間的數字43;31;5用於設定顏色和行為,順序無所謂,因為設定前景、背景、行為的數字沒有重複。"\033[0m"用於恢復預設屬性。如果沒有恢復預設屬性,以後輸出都按最後一次設定的方式來。

Linux 終端下顏色的輸出

先舉個例子 以紅色在終端上列印出 hello,world 對應的 如下 printf 033 31m 033 1m 開始以紅色列印 printf hello,world n 要恢復預設顏色列印,只需要再列印如下一句 printf 033 0m 從上面的例子可以看出printf 033 31m 033...

Linux 終端下顏色的輸出

在命令列下也能產生五顏六色的字型和圖案,只需要加上一些顏色 例如 echo e 033 41 36m 紅底綠字 033 0m 其中41的位置代表底色,36的位置是代表字的顏色 那些ascii code 是對顏色呼叫的始末.033 m 033 0m 字背景顏色範圍 40 49 40 黑 41 深紅 4...

Linux 終端下顏色的輸出

在命令列下也能產生五顏六色的字型和圖案,只需要加上一些顏色 例如 echo e 033 41 36m 紅底綠字 033 0m 其中41的位置代表底色,36的位置是代表字的顏色 那些ascii code 是對顏色呼叫的始末.033 m 033 0m 字背景顏色範圍 40 49 40 黑 41 深紅 4...