Linux_ANSI控制碼

來源:互聯網
上載者:User

ANSI控制碼簡介

ANSI控制碼用於在字元顯示系統中控制游標移動和字元色彩等,常用於BBS系統中。

ANSI ESCAPE SEQUENCES又稱為VT100系列控制碼,國內譯為ANSI控制碼。顧名思義,需要VT100系列終端的支援,當然現在已經不在局限於VT100了,包括xterm,linux都能很好完成。

ANSI控制碼開始的標誌都為ESC[,ESC對應ASCII碼錶的033(八進位),linux命令echo用-e啟用轉義,\033來輸入ESC,\033[31m即為ESC[31m。

 

格式

 

echo:-e 用來開啟echo中的轉義,\e 或 \033 來輸出Esc符號

格式: echo -e "\033[字背景顏色;字型顏色m字串\033[0m"

注意m後面緊跟字串。

例如:

echo -e "\033[41;36m something here \033[0m"

其中41的位置代表底色, 36的位置是代表字的顏色

那些ascii code 是對顏色調用的始末

\033[ ; m ……\033[0m

 

*****************************************************

\033[0m 關閉所有屬性

\033[1m 設定高亮度

\03[4m 底線

\033[5m 閃爍

\033[7m 反顯

\033[8m 消隱

\033[30m -- \033[37m 設定前景色彩

\033[40m -- \033[47m 設定背景色

\033[nA 游標上移n行

\03[nB 游標下移n行

\033[nC 游標右移n行

\033[nD 游標左移n行

\033[y;xH設定游標位置

\033[2J 清屏

\033[K 清除從游標到行尾的內容

\033[s 儲存游標位置

\033[u 恢複游標位置

\033[?25l 隱藏游標

\33[?25h 顯示光線標

*****************************************************

字背景色彩範圍:40---49
40:黑

41:深紅

42:綠

43:黃色

44:藍色

45:紫色

46:深綠

47:白色

字色彩範圍:30---39
30:黑

31:紅

32:綠

33:黃

34:藍色

35:紫色

36:深綠

37:白色

*****************************************************

顯示字元屬性控制

[n1;n2;......m

Ⅰ設定顯示字元的屬性狀態;

Ⅱ若有兩個以上的屬性狀態要設定則以分號將代碼(n1;n2;..)隔開;

Ⅲ除非重新設定,否則原設定之屬性一直被保留;

*****************************************************

 

用途

 

ANSI控制碼倚賴終端,不是倚賴語言,所以在shell,perl,c裡應用均沒有問題;

至於ANSI控制碼到底有哪些作用,恐怕要發揮想像了,比如裝扮終端,用顏色警示或分類等等。

樣本

 

顏色與代碼對應表

 

代碼:

#!/bin/bash

 

#

 

for(( i=40;i<47;i++ ))

{

for(( j=30;j<37;j++ ))

{

#echo $i,$j

echo -en"\033["$i";"$j"m" $i";"$j"m\033[0m"

}

echo ""

}

前面提到字背景顏色和字型色彩範圍分別是40-49和30-39,但似乎38和39、48和49並沒有差異(不會是因為我色弱吧...),將i和j的範圍調整可得:

 

代碼:

#!/bin/bash

 

#

 

for(( i=40;i<50;i++ ))

{

for(( j=30;j<40;j++ ))

{

#echo $i,$j

echo -en"\033["$i";"$j"m" $i";"$j"m\033[0m"

}

echo ""

}

其他字型屬性:

 

BTW:

對游標的控制還沒應用到,此處暫不說明。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.