Linux Shell echo命令輸出格式詳解
1.echo- display a line of text
Echo the STRING(s) to standard output.
echo [?ek??]:n. 回響,回聲,回音,映現(xiàn) v. 回響,回蕩,發(fā)出回聲,產(chǎn)生回響
1.1. User Commands
(base) yongqiang@yongqiang:~$ man echo
1.2. 內(nèi)容輸出后換行 (自帶換行符)
輸出內(nèi)容,然后輸出換行符號。
(base) yongqiang@yongqiang:~$ echo "yongqiang" yongqiang (base) yongqiang@yongqiang:~$ echo yongqiang yongqiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo "Yongqiang Cheng" Yongqiang Cheng (base) yongqiang@yongqiang:~$ echo Yongqiang Cheng Yongqiang Cheng (base) yongqiang@yongqiang:~$
1.3.-n- do not output the trailing newline (取消換行符)
取消輸出后行末的換行符號,內(nèi)容輸出后不換行。
trail [tre?l]:v. 跟蹤,追蹤,拖,磨蹭 n. 小徑,路徑,蹤跡,足跡
(base) yongqiang@yongqiang:~$ echo "Yongqiang Cheng" Yongqiang Cheng (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -n "Yongqiang Cheng" Yongqiang Cheng(base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$
如果加入 -n 選項,則在輸出內(nèi)容結(jié)束后,不會換行,直接顯示新行的提示符。
(base) yongqiang@yongqiang:~$ echo Yongqiang Cheng Yongqiang Cheng (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo Yongqiang; echo Cheng Yongqiang Cheng (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -n Yongqiang; echo Cheng YongqiangCheng (base) yongqiang@yongqiang:~$
加分號表示一條語句的完結(jié)。
1.4.-e- enable interpretation of backslash escapes (支持反斜線控制的字符轉(zhuǎn)換)
檢索語句中的轉(zhuǎn)義符并執(zhí)行,需要使用雙引號 " "。
If -e is in effect, the following sequences are recognized:
\\ backslash - 輸出 \ \a alert (BEL) - 輸出警告音 \b backspace - 退格鍵,刪除左邊一個字符 \c produce no further output - 取消輸出行末的換行符,和 -n 選項一致 \e escape - Esc 鍵 \f form feed - 換頁符 \n new line - 換行符 \r carriage return - 回車鍵 \t horizontal tab - 水平制表符 \v vertical tab - 垂直制表符 \0NNN byte with octal value NNN (1 to 3 digits) - 按照八進制 ASCII 碼表輸出字符,其中 0 為數(shù)字 0,NNN 是三位八進制數(shù) \xHH byte with hexadecimal value HH (1 to 2 digits) - 按照十六進制 ASCII 碼表輸出字符,其中 hh 是兩位十六進制數(shù)
carriage [?k?r?d?]:n. 運輸,運費,舉止,儀態(tài)
(base) yongqiang@yongqiang:~$ echo -e "\\" \ (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "\a" (base) yongqiang@yongqiang:~$
\b 刪除左邊一個字符。
(base) yongqiang@yongqiang:~$ echo -e "yong\bqiang" yonqiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "yongqiang\b" yongqiang (base) yongqiang@yongqiang:~$
輸出內(nèi)容結(jié)束后,不會換行,且 \c 之后的內(nèi)容不輸出。
(base) yongqiang@yongqiang:~$ echo -e "yongqiang" yongqiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "yongqiang\c" yongqiang(base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "yong\cqiang" yong(base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$
\t 水平制表符,Tab 鍵。
(base) yongqiang@yongqiang:~$ echo -e "Aaa\tBbb\tCcc" Aaa Bbb Ccc (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "Aaa\tBbb\tCcc\nDdd\tEee\tFff" Aaa Bbb Ccc Ddd Eee Fff (base) yongqiang@yongqiang:~$
輸入八進制,打印對應(yīng)的 ASCII 碼。65 = \0101 = ‘A’
輸入十六進制,打印對應(yīng)的 ASCII 碼。65 = \x41 = ‘A’
(base) yongqiang@yongqiang:~$ echo -e "\0101\t\0102\t\0103\n\0104\t\0105\t\0106" A B C D E F (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "\x41\t\x42\t\x43\n\x44\t\x45\t\x46" A B C D E F (base) yongqiang@yongqiang:~$
\n 換行符
(base) yongqiang@yongqiang:~$ echo -e "yong\nqiang" yong qiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "yongqiang\n" yongqiang (base) yongqiang@yongqiang:~$
\f 換頁符
(base) yongqiang@yongqiang:~$ echo -e "yong\fqiang" yong qiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "yongqiang\f" yongqiang (base) yongqiang@yongqiang:~$
\r 光標(biāo)回到行首,后面輸出的內(nèi)容會覆蓋之前的輸出,可用于制作進度條。
(base) yongqiang@yongqiang:~$ echo -e "yong\rqiang" qiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "yongqiang\rcheng" chengiang (base) yongqiang@yongqiang:~$
\v 垂直制表符
(base) yongqiang@yongqiang:~$ echo -e "yong\vqiang\vcheng"
yong
qiang
cheng
(base) yongqiang@yongqiang:~$
1.5. 設(shè)置打印字體顏色
\e[ 是標(biāo)準(zhǔn)格式,代表顏色輸出開始。\e[0m 是標(biāo)準(zhǔn)格式,代表顏色輸出結(jié)束。
字體顏色:30m=黑色,31m=紅色,32m=綠色,33m=黃色,34m=藍色,35m=洋紅,36m=青色,37m=白色。
(base) yongqiang@yongqiang:~$ echo -e "\e[30m yongqiang \e[0m" yongqiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "\e[31m yongqiang \e[0m" yongqiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "\e[32m yongqiang \e[0m" yongqiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "\e[33m yongqiang \e[0m" yongqiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "\e[34m yongqiang \e[0m" yongqiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "\e[35m yongqiang \e[0m" yongqiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "\e[36m yongqiang \e[0m" yongqiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "\e[37m yongqiang \e[0m" yongqiang (base) yongqiang@yongqiang:~$

字體顏色:1;30m=亮黑色,1;31m=亮紅色,1;32m=亮綠色,1;33m=亮黃色,1;34m=亮藍色,1;35m=亮洋紅,1;36m=亮青色,1;37m=亮白色。
(base) yongqiang@yongqiang:~$ echo -e "\e[1;30m yongqiang \e[0m" yongqiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "\e[1;31m yongqiang \e[0m" yongqiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "\e[1;32m yongqiang \e[0m" yongqiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "\e[1;33m yongqiang \e[0m" yongqiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "\e[1;34m yongqiang \e[0m" yongqiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "\e[1;35m yongqiang \e[0m" yongqiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "\e[1;36m yongqiang \e[0m" yongqiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "\e[1;37m yongqiang \e[0m" yongqiang (base) yongqiang@yongqiang:~$

1.6. 設(shè)置打印字體背景顏色
\e[ 是標(biāo)準(zhǔn)格式,代表顏色輸出開始。
\e[0m 是標(biāo)準(zhǔn)格式,代表顏色輸出結(jié)束。
背景顏色:40m=黑色,41m=紅色,42m=綠色,43m=黃色,44m=藍色,45m=洋紅,46m=青色,47m=白色。
(base) yongqiang@yongqiang:~$ echo -e "\e[40m yongqiang \e[0m" yongqiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "\e[41m yongqiang \e[0m" yongqiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "\e[42m yongqiang \e[0m" yongqiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "\e[43m yongqiang \e[0m" yongqiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "\e[44m yongqiang \e[0m" yongqiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "\e[45m yongqiang \e[0m" yongqiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "\e[46m yongqiang \e[0m" yongqiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "\e[47m yongqiang \e[0m" yongqiang (base) yongqiang@yongqiang:~$

(base) yongqiang@yongqiang:~$ echo -e "\e[1;40m yongqiang \e[0m" yongqiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "\e[1;41m yongqiang \e[0m" yongqiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "\e[1;42m yongqiang \e[0m" yongqiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "\e[1;43m yongqiang \e[0m" yongqiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "\e[1;44m yongqiang \e[0m" yongqiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "\e[1;45m yongqiang \e[0m" yongqiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "\e[1;46m yongqiang \e[0m" yongqiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "\e[1;47m yongqiang \e[0m" yongqiang (base) yongqiang@yongqiang:~$

1.7. 打印設(shè)置
\033 和 \e 效果相同。
(base) yongqiang@yongqiang:~$ echo -e "\e[4m yongqiang \e[0m" yongqiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "\033[4m yongqiang \e[0m" yongqiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -e "\033[4m yongqiang \033[0m" yongqiang (base) yongqiang@yongqiang:~$
閃爍顯示。
(base) yongqiang@yongqiang:~$ echo -e "\033[5m yongqiang \033[0m" yongqiang (base) yongqiang@yongqiang:~$
紅色字體,白色背景顯示。
(base) yongqiang@yongqiang:~$ echo -e "\e[31;47m yongqiang \e[0m" yongqiang (base) yongqiang@yongqiang:~$

1.8.-E- disable interpretation of backslash escapes (default)
禁用轉(zhuǎn)義字符。
(base) yongqiang@yongqiang:~$ echo -e "\e[31;47m yongqiang \e[0m" yongqiang (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo -E "\e[31;47m yongqiang \e[0m" \e[31;47m yongqiang \e[0m (base) yongqiang@yongqiang:~$
1.9.echo yongqiang cheng
(base) yongqiang@yongqiang:~$ echo yongqiang cheng yongqiang cheng (base) yongqiang@yongqiang:~$ (base) yongqiang@yongqiang:~$ echo yongqiang cheng yongqiang cheng (base) yongqiang@yongqiang:~$
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
awk正則表達式和內(nèi)置函數(shù)的使用方法實例詳解
這篇文章主要介紹了awk正則表達式和內(nèi)置函數(shù)的使用方法實例詳解,本文總結(jié)了15個使用例子,需要的朋友可以參考下2014-12-12
Shell腳本監(jiān)控網(wǎng)站頁面正常打開情況
這篇文章主要介紹了Shell腳本監(jiān)控網(wǎng)站頁面正常打開情況的代碼分享,本文實現(xiàn)監(jiān)控打開情況,若出錯則發(fā)送郵件通知,需要的朋友可以參考下2014-12-12
shell腳本快速檢查192.168.1網(wǎng)段ip是否在用的方法
該Shell腳本通過并發(fā)ping命令檢查192.168.1網(wǎng)段中哪些IP地址正在使用,腳本定義了網(wǎng)絡(luò)段、超時時間和并行掃描數(shù)量,并使用不同顏色的日志區(qū)分在線和離線的IP地址,本文介紹shell腳本快速檢查192.168.1網(wǎng)段ip是否在用,感興趣的朋友一起看看吧2025-01-01

