echo命令用於在shell中打印shell變量的值,或者直接輸出指定的字符串。linux的echo命令,在shell編程中極為常用, 在終端下打印變量value的時候也是常常用到的,因此有必要了解下echo的用法echo命令的功能是在顯示器上顯示一段文字,一般起到一個提示的作用。
語法
echo(選項)(參數)選項
-e:激活轉義字符。使用-e選項時,若字符串中出現以下字符,則特別加以處理,而不會將它當成一般文字輸出:
- \a 發出警告聲;
- \b 刪除前一個字符;
- \c 最后不加上換行符號;
- \f 換行但光標仍舊停留在原來的位置;
- \n 換行且光標移至行首;
- \r 光標移至行首,但不換行;
- \t 插入tab;
- \v 與\f相同;
- \\ 插入\字符;
- \nnn 插入nnn(八進制)所代表的ASCII字符;
參數
變量:指定要打印的變量。
實例
用echo命令打印帶有色彩的文字:
文字色:
echo -e "\e[1;31mThis is red text\e[0m"
This is red text•\e[1;31m 將顏色設置為紅色
•\e[0m 將顏色重新置回
顏色碼:重置=0,黑色=30,紅色=31,綠色=32,黃色=33,藍色=34,洋紅=35,青色=36,白色=37
背景色:
echo -e "\e[1;42mGreed Background\e[0m"
Greed Background顏色碼:重置=0,黑色=40,紅色=41,綠色=42,黃色=43,藍色=44,洋紅=45,青色=46,白色=47
文字閃動:
echo -e "\033[37;31;5mMySQL Server Stop...\033[39;49;0m"
紅色數字處還有其他數字參數:0 關閉所有屬性、1 設置高亮度(加粗)、4 下划線、5 閃爍、7 反顯、8 消隱
echo -n 不換行輸出
$echo -n "123" $echo "456"
最終輸出
123456
而不是
123
456
echo -e 處理特殊字符
若字符串中出現以下字符,則特別加以處理,而不會將它當成一般文字輸出:
- \a 發出警告聲;
- \b 刪除前一個字符;
- \c 最后不加上換行符號;
- \f 換行但光標仍舊停留在原來的位置;
- \n 換行且光標移至行首;
- \r 光標移至行首,但不換行;
- \t 插入tab;
- \v 與\f相同;
- \\ 插入\字符;
- \nnn 插入nnn(八進制)所代表的ASCII字符;
下面舉例說明一下:
$echo -e "a\bdddd" //前面的a會被擦除
dddd
$echo -e "a\adddd" //輸出同時會發出報警聲音
adddd
$echo -e "a\ndddd" //自動換行
a
dddd
格式: echo -e "\033[字背景顏色;字體顏色m字符串\033[0m"
例如:
echo -e "\033[41;36m something here \033[0m"
其中41的位置代表底色, 36的位置是代表字的顏色
那些ascii code 是對顏色調用的始末.
\033[ ; m …… \033[0m
字背景顏色范圍:40----49
- 40:黑
- 41:深紅
- 42:綠
- 43:黃色
- 44:藍色
- 45:紫色
- 46:深綠
- 47:白色
字顏色:30-----------39 30:黑
- 31:紅
- 32:綠
- 33:黃
- 34:藍色
- 35:紫色
- 36:深綠
- 37:白色
=======ANSI控制碼的說明
- \33[0m 關閉所有屬性
- \33[1m 設置高亮度
- \33[4m 下划線
- \33[5m 閃爍
- \33[7m 反顯
- \33[8m 消隱
- \33[30m -- \33[37m 設置前景色
- \33[40m -- \33[47m 設置背景色
- \33[nA 光標上移n行
- \33[nB 光標下移n行
- \33[nC 光標右移n行
- \33[nD 光標左移n行
- \33[y;xH設置光標位置
- \33[2J 清屏
- \33[K 清除從光標到行尾的內容
- \33[s 保存光標位置
- \33[u 恢復光標位置
- \33[?25l 隱藏光標
- \33[?25h 顯示光標