echo輸出顏色字型 shell函式傳參 1 2

2021-10-05 22:02:02 字數 1410 閱讀 6824

諸如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白(灰)

前景色: 30 黑 31 紅, 32綠, 33 黃, 34 藍, 35 紫, 36 青綠, 37 白(灰)

高亮度:高亮是1,不高亮是0。注意m後面緊跟字串。

函式的寫法及$ 1、$ 2、$ #、$ @($和引數間不帶空格)

$ [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 文字顏色後面有個...