諸如xterm,rxvt,putty的通用終端**器以及unix /linux桌面環境的預設終端**器均支援基於轉義序列的文字顏色和形狀處理。(例如,警告訊息的紅色或閃爍文字或狀態訊息的其他顏色)。- 實現過程:
終端的字元顏色是用轉義序列控制的,是文字模式下的系統顯示功能,和具體的語言無關。
轉義序列是以esc開頭,即用\033來完成(esc的ascii碼用十進位制表示是27,用八進位制表示就是033)。
- 書寫格式:
echo -e +開頭部分:\033[前景色;背景色;顯示方式m +輸出內容+結尾部分:\033[0m
#例項演示:
$ echo
-e '\033[42;37;1mthis is print\033[0m'
意思是輸出背景色為42綠、文字是37白、1代表高亮度的,m是分割標誌,「this is print」是待輸出的內容。
$ [root@halamadrid]
# cat colourtest1.sh
#!/bin/bashe
echo
-e '\033[42;37;1mthis is print'
echo
'hello world!'
附顏色引數對照: 背景色:0 透明(使用終端顏色), 40 黑, 41 紅, 42 綠, 43 黃, 44 藍 45 紫, 46 青綠,47白(灰)函式的寫法及$ 1、$ 2、$ #、$ @($和引數間不帶空格)前景色: 30 黑 31 紅, 32綠, 33 黃, 34 藍, 35 紫, 36 青綠, 37 白(灰)
高亮度:高亮是1,不高亮是0。注意m後面緊跟字串。
$ [root@halamadrid]
# cat colourtest2.sh
#!/bin/bash
xmessage(
)xmessage 42 37 "hello world"
$ [root@halamadrid]
# ./colourtest2.sh nice goal
hello world #此行腦補綠底白字
4237
hello world
342 37 hello world
函式裡面的$ 1不是輸入的第乙個引數,而是呼叫函式時傳入的第乙個引數。$ #是傳入的引數個數,$ @則是所有的傳入引數。
echo輸出顏色字型
echo 輸出顏色字型
名稱 echo 顯示一行文字 概要echo 選項 字串 描述向標準輸出輸出字串。n 不輸出換行符 e 開啟反斜槓esc轉義 e 取消反斜槓esc轉義 預設 help 顯示幫助 version 顯示版本 a alert bel b backspace c produce no further outp...
echo命令輸出背景顏色和字型顏色
方式一 字型顏色 格式 echo e 033 fontcolor 字串內容 033 0m 背景著色 格式 echo e 033 backcolor 字串內容 033 0m 同時設定字型和背景顏色 格式 echo e 033 backcolor fontcolor 字串內容 033 0m 方式二 ec...
SHELL指令碼的echo輸出顏色
echo顯示帶顏色,需要使用引數 e 格式如下 echo e 033 字背景顏色 文字顏色m字串 033 0m 例如 echo e 033 41 37m tonyzhang 033 0m 其中41的位置代表底色,37的位置是代表字的顏色 注 1 字背景顏色和文字顏色之間是英文的 2 文字顏色後面有個...