shell命令:echo命令详解
功能說明:顯示文字。
語 法:echo [-ne][字符串] / echo [--help][--version]
補(bǔ)充說明:echo會(huì)將輸入的字符串送往標(biāo)準(zhǔn)輸出。輸出的字符串間以空白字符隔開, 并在最后加上換行號(hào)。
參 數(shù):
-n 不要在最后自動(dòng)換行
-e 打開反斜杠ESC轉(zhuǎn)義。
若字符串中出現(xiàn)以下字符,則特別加以處理,而不會(huì)將它當(dāng)成一般文字輸出:
a 發(fā)出警告聲;
刪除前一個(gè)字符;
c 最后不加上換行符號(hào);
f 換行但光標(biāo)仍舊停留在原來的位置;
換行且光標(biāo)移至行首;
光標(biāo)移至行首,但不換行;
插入tab;
v 與f相同;
\ 插入字符;
nn 插入nnn(八進(jìn)制)所代表的ASCII字符;
-E 取消反斜杠ESC轉(zhuǎn)義 (默認(rèn))
-help 顯示幫助
-version 顯示版本信息
############################################################ #
echo輸出顏色文本 echo命令改變樣式,以輸出不同顏色的文本,必須有 -e 選項(xiàng)(開啟echo中的轉(zhuǎn)義)。
文本終端的顯示顏色可以使用“ANSI非常規(guī)字符序列”來生成。
例如:echo -e "33[44;37;5m ME33[0m COOL"
解釋:"33[44;37;5m ME "設(shè)置背景為藍(lán)色,前景為白色,閃爍光標(biāo),輸出字符“ME”;
"33[0m COOL"重新設(shè)置屏幕到缺省設(shè)置,輸出字符 “COOL”。
"e"是命令echo的一個(gè)可選項(xiàng),它用于激活特殊字符的解析器。
"33"引導(dǎo)非常規(guī)字符序列(即"33["表示終端轉(zhuǎn)義字符開始,
"33"即退出鍵<ESC>的ASCII碼)。
"m"意味著設(shè)置屬性然后結(jié)束非常規(guī)字符序列,這個(gè)例子里真正有效的字符是"44;37;5"和"0"。
修改"44;37;5"可以生成不同顏色的組合,數(shù)值和編碼的前后順序沒有關(guān)系。
可以選擇的編碼如下所示(這些顏色是ANSI標(biāo)準(zhǔn)顏色): 編碼 顏色/動(dòng)作
0 重新設(shè)置屬性到缺省設(shè)置
1 設(shè)置粗體
2 設(shè)置一半亮度(模擬彩色顯示器的顏色)
4 設(shè)置下劃線(模擬彩色顯示器的顏色)
5 設(shè)置閃爍
7 設(shè)置反向圖象
22 設(shè)置一般密度
24 關(guān)閉下劃線
25 關(guān)閉閃爍
27 關(guān)閉反向圖象
30 設(shè)置黑色前景
31 設(shè)置紅色前景
32 設(shè)置綠色前景
33 設(shè)置黃色前景
34 設(shè)置藍(lán)色前景
35 設(shè)置紫色前景
36 設(shè)置青色前景
37 設(shè)置白色(灰色)前景
38 在缺省的前景顏色上設(shè)置下劃線
39 在缺省的前景顏色上關(guān)閉下劃線
40 設(shè)置黑色背景
41 設(shè)置紅色背景
42 設(shè)置綠色背景
43 設(shè)置黃色背景
44 設(shè)置藍(lán)色背景
45 設(shè)置紫色背景
46 設(shè)置青色背景
47 設(shè)置白色(灰色)背景
49 設(shè)置缺省黑色背景
其他有趣的代碼還有:
33[2J 清除屏幕
33[0q 關(guān)閉所有的鍵盤指示燈
33[1q 設(shè)置"滾動(dòng)鎖定"指示燈(Scroll Lock)
33[2q 設(shè)置"數(shù)值鎖定"指示燈(Num Lock)
33[3q 設(shè)置"大寫鎖定"指示燈(Caps Lock)
33[15:40H 把關(guān)閉移動(dòng)到第15行,40列
07 發(fā)蜂鳴生beep
一些說明: 前景顏色各數(shù)字是對(duì)應(yīng)背景顏色減去10。 結(jié)束非常規(guī)字符序列的"m"要緊跟前面的數(shù)字,不能有空格。
命令也可以寫成echo -e "^[[44;37;5m ME 33[0m COOL",其中的"^["是先按Ctrl-V,然后再按<ESC>鍵產(chǎn)生的。
輸出帶有顏色的文本,echo命令必須帶有選項(xiàng)"-e"。
這種方法只能暫時(shí)改變echo命令輸出的文本的樣式,logout后就恢復(fù)為默認(rèn)。修改.bashrc文件,可以修改默認(rèn)的顯示樣式。 如:在.bashrc文件的最后面追加一行:echo -e '33[47;30m'。
#----------------------------------------------------------- #
建議:在shell文件的最前面,將echo命令的輸出樣式定義成變量。
# define echo terminal style
# color: 0~6 --> black, red, green, yellow, blue, purple, cyan, grey
export ECHO_STYLE_00="33[0m"
# default style(black background, white foreground)
export ECHO_STYLE_01="33[41;33;1m"
# red background, yellow foregound bold
echo -e "${ECHO_STYLE_01}echo command terminal style example${ECHO_STYLE_00}"
############################################################ #
echo命令的其他用法
1).光標(biāo)跳到第60列,然后顯示一個(gè)OK。
格式:echo -en '33[60G' && echo OK
說明:"33["是終端轉(zhuǎn)義字符開始,60G是命令。
############################################################
然后給幾個(gè)比較強(qiáng)大的腳本函數(shù) 1) cfont #by zuoyang http://hi.baidu.com/test/
cfont()
{ while (($#!=0))
do case $1 in
-b) echo -ne " "; ;;
-t) echo -ne " "; ;;
-n) echo -ne "
"; ;;
-black) echo -ne "33[30m"; ;;
-red) echo -ne "33[31m"; ;;
-green) echo -ne "33[32m"; ;;
-yellow) echo -ne "33[33m"; ;;
-blue) echo -ne "33[34m"; ;;
-purple) echo -ne "33[35m"; ;;
-cyan) echo -ne "33[36m"; ;;
-white|-gray) echo -ne "33[37m"; ;;
-reset) echo -ne "33[0m"; ;;
-h|-help|--help) echo "Usage: cfont -color1 message1 -color2 message2 ...";
echo "eg: cfont -red [ -blue message1 message2 -red ]"; ;;
*) echo -ne "$1" ;;
esac
shift
done }
使用方法是 cfont -顏色 字符串...
如: cfont -cyan abc
注意使用時(shí)要換行需要加入 -n 選項(xiàng)。想要恢復(fù)默認(rèn)的要加入 -reset選項(xiàng)。
2) 顏色碼表
#!/bin/bash T='gYw'
# The test text
echo
echo " default 40m 41m 42m 43m 44m 45m 46m 47m"
## FGs 為前景(foreground)色, BG 為背景(background)色
for FGs in ' m' ' 1m' ' 30m' '1;30m' ' 31m' '1;31m' ' 32m' '1;32m' ' 33m' '1;33m' ' 34m' '1;34m' ' 35m' '1;35m' ' 36m' '1;36m' ' 37m' '1;37m'
do FG=$(echo $FGs|tr -d ' ')
echo -en " $FGs 33[$FG $T "
for BG in 40m 41m 42m 43m 44m 45m 46m 47m;
do echo -en " 33[$FG33[$BG $T 33[0m"
done
echo
done
echo
總結(jié)
以上是生活随笔為你收集整理的shell命令:echo命令详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: set集合
- 下一篇: 移动认证新势能,极光认证新增“一键登录”