Linux開發:echo命(ming)令詳解
時間:2019-03-27 來源:華(hua)清遠見
linux的echo命(ming)令, 在shell編(bian)程中極(ji)為常用(yong)(yong)(yong), 在終(zhong)端(duan)下打印變量value的時候也是常常用(yong)(yong)(yong)到(dao)的, 因此有必(bi)要了解下echo的用(yong)(yong)(yong)法。
echo命令的(de)功能是在顯示器(qi)上(shang)顯示一段文字,一般(ban)起到一個提示的(de)作(zuo)用。
該命令的一般格式為: echo [ -n ] 字(zi)符串
其中(zhong)選項n表(biao)示(shi)輸(shu)出(chu)(chu)文字(zi)(zi)后(hou)不(bu)(bu)換行;字(zi)(zi)符(fu)串(chuan)(chuan)能(neng)加(jia)引(yin)號(hao)(hao),也能(neng)不(bu)(bu)加(jia)引(yin)號(hao)(hao)。用echo命(ming)令(ling)輸(shu)出(chu)(chu)加(jia)引(yin)號(hao)(hao)的(de)(de)字(zi)(zi)符(fu)串(chuan)(chuan)時,將字(zi)(zi)符(fu)串(chuan)(chuan)原樣輸(shu)出(chu)(chu);用echo命(ming)令(ling)輸(shu)出(chu)(chu)不(bu)(bu)加(jia)引(yin)號(hao)(hao)的(de)(de)字(zi)(zi)符(fu)串(chuan)(chuan)時,將字(zi)(zi)符(fu)串(chuan)(chuan)中(zhong)的(de)(de)各(ge)個單詞作(zuo)為字(zi)(zi)符(fu)串(chuan)(chuan)輸(shu)出(chu)(chu),各(ge)字(zi)(zi)符(fu)串(chuan)(chuan)之間(jian)用一個空格(ge)分割(ge)。
功(gong)能說明:顯(xian)示文(wen)字。
語法(fa):echo [-ne][字符串]或 echo [--help][--version]
補充說明(ming):echo會將(jiang)輸入的(de)(de)字(zi)符(fu)(fu)(fu)串(chuan)送(song)往標準(zhun)輸出。輸出的(de)(de)字(zi)符(fu)(fu)(fu)串(chuan)間(jian)以空白字(zi)符(fu)(fu)(fu)隔開(kai), 并在最后加上換行號(hao)。
參數(shu):-n 不要在最后自動換行
-e 若字(zi)符串中出現以下(xia)字(zi)符,則特別加以處理(li),而不會將它(ta)當成(cheng)一般
# echo [Options] [String]
方括號中的項目(mu)是可選的。字符(fu)串可以定義為(wei)字符(fu)的有限序列(如字母,數字,符(fu)號,標(biao)點符(fu)號)。
當echo命令不(bu)帶任何選(xuan)項或字符串使用時,它會(hui)在顯(xian)示(shi)屏上返回一(yi)(yi)(yi)個空(kong)白行(xing),后面換(huan)一(yi)(yi)(yi)行(xing)跟上命令提示(shi)符。這(zhe)是因為按(an)下(xia)回車鍵就是發送一(yi)(yi)(yi)個信號(hao)給(gei)系統以開始一(yi)(yi)(yi)個新行(xing),而echo重(zhong)復了該信號(hao)。
選項:
-n 不要輸出衍(yan)生的新行
-e 啟用(yong)反斜線轉義解釋(shi)
-E 禁(jin)用反斜線轉義解釋(默(mo)認)
如果使用-e選(xuan)項,則可以使用如下轉(zhuan)義序列(lie):
\ 反斜線
\a 警告(BEL)
\b 反斜線
\c 不(bu)產(chan)生進一步輸(shu)出
\e 轉義
\f 換頁
\n 新行
\r 換(huan)行(xing)字符
\t 水(shui)平(ping)制(zhi)表
\v 垂直制表
\0NNN 八進制值表示的字節NNN(1到3個數字)
\xHH 十六進(jin)制(zhi)值表示的(de)字節(jie)NNN(1到(dao)2個(ge)數字)
關于(yu)echo命令(ling)使(shi)用的(de)幾個實例:
顯示普通字符串:
echo "It is a test"
這里的雙引號完全可以省略,以下命(ming)令與(yu)上面(mian)實例效果一致:
echo It is a test
顯示轉義字(zi)符:
echo "\"It is a test\""
結果將(jiang)是:"It is a test"
同樣,雙引號也可以省略(lve)
顯示變量:
#!/bin/sh
read name echo "$name It is a test"
以上(shang)代碼保存為 test.sh,name 接收(shou)標準輸入的變量,結果將是(shi):
[root@Ubuntu ~]# sh test.sh
OK #標準輸入
OK It is a test #輸出
顯示換行:
echo -e "OK! \n" # -e 開啟轉義echo "It it a test"
輸出結果:
OK!
It it a test
顯示結果定向至文件(jian):
echo "It is a test" > myfile
原樣輸出字符串(chuan),不進行轉義或取(qu)變量(用單引(yin)號):
echo '$name\"'
輸出結果:
$name\"
顯示命(ming)令執行(xing)的結果:
echo `date`
結(jie)果將顯示當前日期
Thu Jul 24 10:08:46 CST 2014