linux命令:echo使用解讀
目錄
- 一、語(yǔ)法
- 二、echo的重定向
- 總結(jié)
Shell中的echo命令類(lèi)似于php中的echo命令,都是用于輸出。Shell中另有一個(gè)輸出命令為printf命令,大家可以在Shell printf 命令中查閱學(xué)習(xí)。
本文中的一系列實(shí)例用到的命令我都是在終端直接寫(xiě)的,輸出也是輸出在終端,這樣方便學(xué)習(xí)和記錄吧!其實(shí)也都可以放到腳本文件中執(zhí)行。
一、語(yǔ)法
echo [-neE] [arg ...]
(1)含義
-n:
表示輸出字符串不換行-e:
表示對(duì)于轉(zhuǎn)義字符按對(duì)應(yīng)的方式進(jìn)行處理(若不加-e ,那么在輸出時(shí)轉(zhuǎn)義字符會(huì)按照普通字符進(jìn)行處理,并不會(huì)達(dá)到自己想要達(dá)到的目的。)-E:
禁用轉(zhuǎn)義解釋
(2)實(shí)例
[root@localhost my_shell]# echo "hello " hello [root@localhost my_shell]# echo -n "hello " hello [root@localhost my_shell]# echo "hello \b" hello \b [root@localhost my_shell]# echo -e "hello \b" hello [root@localhost my_shell]# echo -en "hello \b" hello[root@localhost my_shell]# echo -e "hello\tworld" hello world [root@localhost my_shell]# echo -e "hello\nworld" hello world [root@localhost my_shell]# echo -e "hello\vworld" hello world [root@localhost my_shell]# echo -e "hello\cworld" hello[root@localhost my_shell]# echo -e "hello\rworld" world [root@localhost my_shell]# echo -e "hello\aworld" helloworld [root@localhost my_shell]# echo -e "hello\cworld" hello[root@localhost my_shell]# echo -e "\ehelloworld" elloworld [root@localhost my_shell]# echo -e "hello\\world" hello\world [root@localhost my_shell]# echo -e "\x31" 1 [root@localhost my_shell]# echo -e "\0123" S
(3)具體用法
上面介紹的主要是一些輸出字符串相關(guān)的具體用法,下面詳細(xì)例舉一些echo命令的其他用法。
1、顯示普通字符串
[root@localhost ~]# echo "hello world" hello world [root@localhost ~]# echo hello world hello world #雙引號(hào)可以省略,效果一致。(字符串的輸出都是如此,下面一些實(shí)例也是可以省略雙引號(hào)也能達(dá)到相同效果)
2、顯示變量
這里用到read命令(從標(biāo)準(zhǔn)輸入中讀取一行,并把輸入行的每個(gè)字段的值指定給 shell 變量)。
[root@localhost ~]# read name Michael Zhang [root@localhost ~]# echo "My name is $name" My name is Michael Zhang
3、顯示換行
[root@localhost ~]# echo -e "hello \nworld" hello world
4、顯示不換行
#!/bin/sh echo -e "OK! \c" # -e 開(kāi)啟轉(zhuǎn)義 \c 不換行 echo "hello world" #結(jié)果如下 OK! hello world
5、顯示轉(zhuǎn)義字符
[root@localhost ~]# echo "\"hello world\"" "hello world"
6、重定向
結(jié)果輸出到文件
echo "hello world" > my_file #將hello world輸出到my_file文件
7、原樣輸出
用單引號(hào)可原樣輸出。
[root@localhost ~]# echo "$name\"" $name\" [root@localhost ~]# echo "$name" $name
8、顯示命令執(zhí)行結(jié)果
#顯示當(dāng)前日期 [root@localhost ~]# echo `date` Sat Jan 2 23:12:39 CST 2021
這里使用的是反引號(hào)`, 而不是單引號(hào)’。
實(shí)際上輸出一些執(zhí)行命令的結(jié)果就是這樣用反引號(hào)。
二、echo的重定向
重定向是Shell中的一個(gè)重要內(nèi)容,可以查看我的文章Linux中的重定向。
echo命令的重定向功能經(jīng)常被用于清空文件內(nèi)容(刪除文件)時(shí)使用,具體在我的另一篇文章中介紹:Linux中清空文件的方式
(1)echo "content" > filename
將content覆蓋到filename文件當(dāng)中去,filename文件當(dāng)中之前的內(nèi)容不復(fù)存在了,實(shí)際上是修改了原文件的內(nèi)容。
(2)echo "content" >> filename
將content追加到filename文件后,對(duì)filename文件之前的內(nèi)容不修改,只進(jìn)行增添,也叫追加重定向。
(3)實(shí)例
[root@localhost my_shell]# touch test [root@localhost my_shell]# cat test [root@localhost my_shell]# ll total 4 -rw-r--r-- 1 root root 175 Nov 6 17:46 del.sh -rw-r--r-- 1 root root 0 Nov 7 23:33 test [root@localhost my_shell]# echo "123456" > test [root@localhost my_shell]# cat test 123456 [root@localhost my_shell]# echo "111111" > test [root@localhost my_shell]# cat test 111111 [root@localhost my_shell]# echo "123456" >> test [root@localhost my_shell]# cat test 111111 123456 [root@localhost my_shell]#
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持。
相關(guān)文章:
