linux命令:echo使用解讀
目錄
- 一、語法
- 二、echo的重定向
- 總結
Shell中的echo命令類似于php中的echo命令,都是用于輸出。Shell中另有一個輸出命令為printf命令,大家可以在Shell printf 命令中查閱學習。
本文中的一系列實例用到的命令我都是在終端直接寫的,輸出也是輸出在終端,這樣方便學習和記錄吧!其實也都可以放到腳本文件中執行。
一、語法
echo [-neE] [arg ...]
(1)含義
-n:
表示輸出字符串不換行-e:
表示對于轉義字符按對應的方式進行處理(若不加-e ,那么在輸出時轉義字符會按照普通字符進行處理,并不會達到自己想要達到的目的。)-E:
禁用轉義解釋
(2)實例
[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)具體用法
上面介紹的主要是一些輸出字符串相關的具體用法,下面詳細例舉一些echo命令的其他用法。
1、顯示普通字符串
[root@localhost ~]# echo "hello world" hello world [root@localhost ~]# echo hello world hello world #雙引號可以省略,效果一致。(字符串的輸出都是如此,下面一些實例也是可以省略雙引號也能達到相同效果)
2、顯示變量
這里用到read命令(從標準輸入中讀取一行,并把輸入行的每個字段的值指定給 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 開啟轉義 \c 不換行 echo "hello world" #結果如下 OK! hello world
5、顯示轉義字符
[root@localhost ~]# echo "\"hello world\"" "hello world"
6、重定向
結果輸出到文件
echo "hello world" > my_file #將hello world輸出到my_file文件
7、原樣輸出
用單引號可原樣輸出。
[root@localhost ~]# echo "$name\"" $name\" [root@localhost ~]# echo "$name" $name
8、顯示命令執行結果
#顯示當前日期 [root@localhost ~]# echo `date` Sat Jan 2 23:12:39 CST 2021
這里使用的是反引號`, 而不是單引號’。
實際上輸出一些執行命令的結果就是這樣用反引號。
二、echo的重定向
重定向是Shell中的一個重要內容,可以查看我的文章Linux中的重定向。
echo命令的重定向功能經常被用于清空文件內容(刪除文件)時使用,具體在我的另一篇文章中介紹:Linux中清空文件的方式
(1)echo "content" > filename
將content覆蓋到filename文件當中去,filename文件當中之前的內容不復存在了,實際上是修改了原文件的內容。
(2)echo "content" >> filename
將content追加到filename文件后,對filename文件之前的內容不修改,只進行增添,也叫追加重定向。
(3)實例
[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]#
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持。
相關文章: