Linux中echo的用法

2021-10-10 08:19:46 字數 4657 閱讀 3984

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 其他的很多函式或...