shell中的echo命令類似於php中的echo命令,都是用於輸出。shell中另有乙個輸出命令為printf命令,我沒有另寫文章介紹該命令,大家可以在shell printf 命令中查閱學習。
本文中的一系列例項用到的命令我都是在終端直接寫的,輸出也是輸出在終端,這樣方便學習和記錄吧!其實也都可以放到指令碼檔案中執行。
echo [-nee] [arg …]
(1)含義
-n:表示輸出字串不換行
-e:表示對於轉義字元按對應的方式進行處理(若不加-e ,那麼在輸出時轉義字元會按照普通字元進行處理,並不會達到自己想要達到的目的。)
-e:禁用轉**釋
轉義字元
含義\b
刪除前乙個字元
\n換行
\t水平製表符(tab)
\v垂直製表符(tab)
\c\c後面的字元將不會輸出,輸出完畢後也不會換行
\r游標移動到首行,不換行
\f換行,游標停在原處
\e刪除後乙個字元
\輸出\
\0nnn
輸出八進位制nnn代表的ascii字元
\xhh
輸出十六進製制數hh代表的ascii字元
\a輸出乙個警告的聲音
(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
這裡使用的是反引號`, 而不是單引號』。
實際上輸出一些執行命令的結果就是這樣用反引號。
重定向是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]
#
越大氣越成功,越努力越幸運。 linux中echo的用法
1.echo命令我們常用的選項有兩個,乙個是 n,表示輸出之後不換行,另外乙個是 e,表示對於轉義字元按相應的方式處理,如果不加 e那麼對於轉義字元會按普通字元處理。2.echo輸出時的轉義字元 b表示刪除前面的空格 n表示換行 t表示水平製表符 v表示垂直製表符 c c後面的字元將不會輸出,同時,...
Linux中echo的用法以及echo顏色應用
name echo display a line of text 顯示一段文字 description n do not output the trailing newline 不換行輸出 e enable interpretation of backslash escapes 開啟解釋轉譯字元 e...
linux 之 echo命令用法
echo path 顯示系統總一些變數,必須加上 usr local sbin usr local bin usr sbin usr bin sbin bin usr games usr local arm 4.3.2 bin 顯示的環境變數 echo home echo mail 其他的很多函式或...