當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > Linux開發(fā):echo命令詳解
linux的echo命令, 在shell編程中極為常用, 在終端下打印變量value的時(shí)候也是常常用到的, 因此有必要了解下echo的用法。
echo命令的功能是在顯示器上顯示一段文字,一般起到一個(gè)提示的作用。
該命令的一般格式為: echo [ -n ] 字符串
其中選項(xiàng)n表示輸出文字后不換行;字符串能加引號(hào),也能不加引號(hào)。用echo命令輸出加引號(hào)的字符串時(shí),將字符串原樣輸出;用echo命令輸出不加引號(hào)的字符串時(shí),將字符串中的各個(gè)單詞作為字符串輸出,各字符串之間用一個(gè)空格分割。
功能說明:顯示文字。
語法:echo [-ne][字符串]或 echo [--help][--version]
補(bǔ)充說明:echo會(huì)將輸入的字符串送往標(biāo)準(zhǔn)輸出。輸出的字符串間以空白字符隔開, 并在最后加上換行號(hào)。
參數(shù):-n 不要在最后自動(dòng)換行
-e 若字符串中出現(xiàn)以下字符,則特別加以處理,而不會(huì)將它當(dāng)成一般
# echo [Options] [String]
方括號(hào)中的項(xiàng)目是可選的。字符串可以定義為字符的有限序列(如字母,數(shù)字,符號(hào),標(biāo)點(diǎn)符號(hào))。
當(dāng)echo命令不帶任何選項(xiàng)或字符串使用時(shí),它會(huì)在顯示屏上返回一個(gè)空白行,后面換一行跟上命令提示符。這是因?yàn)榘聪禄剀囨I就是發(fā)送一個(gè)信號(hào)給系統(tǒng)以開始一個(gè)新行,而echo重復(fù)了該信號(hào)。
選項(xiàng):
-n 不要輸出衍生的新行
-e 啟用反斜線轉(zhuǎn)義解釋
-E 禁用反斜線轉(zhuǎn)義解釋(默認(rèn))
如果使用-e選項(xiàng),則可以使用如下轉(zhuǎn)義序列:
\ 反斜線
\a 警告(BEL)
\b 反斜線
\c 不產(chǎn)生進(jìn)一步輸出
\e 轉(zhuǎn)義
\f 換頁
\n 新行
\r 換行字符
\t 水平制表
\v 垂直制表
\0NNN 八進(jìn)制值表示的字節(jié)NNN(1到3個(gè)數(shù)字)
\xHH 十六進(jìn)制值表示的字節(jié)NNN(1到2個(gè)數(shù)字)
關(guān)于echo命令使用的幾個(gè)實(shí)例:
顯示普通字符串:
echo "It is a test"
這里的雙引號(hào)完全可以省略,以下命令與上面實(shí)例效果一致:
echo It is a test
顯示轉(zhuǎn)義字符:
echo "\"It is a test\""
結(jié)果將是:"It is a test"
同樣,雙引號(hào)也可以省略
顯示變量:
#!/bin/sh
read name echo "$name It is a test"
以上代碼保存為 test.sh,name 接收標(biāo)準(zhǔn)輸入的變量,結(jié)果將是:
[root@Ubuntu ~]# sh test.sh
OK #標(biāo)準(zhǔn)輸入
OK It is a test #輸出
顯示換行:
echo -e "OK! \n" # -e 開啟轉(zhuǎn)義echo "It it a test"
輸出結(jié)果:
OK!
It it a test
顯示結(jié)果定向至文件:
echo "It is a test" > myfile
原樣輸出字符串,不進(jìn)行轉(zhuǎn)義或取變量(用單引號(hào)):
echo '$name\"'
輸出結(jié)果:
$name\"
顯示命令執(zhí)行的結(jié)果:
echo `date`
結(jié)果將顯示當(dāng)前日期
Thu Jul 24 10:08:46 CST 2014