广告位联系
返回顶部
分享到

linux命令:echo使用介绍

linux 来源:互联网 作者:佚名 发布时间:2024-01-28 22:27:19 人浏览
摘要

Shell中的echo命令类似于php中的echo命令,都是用于输出。Shell中另有一个输出命令为printf命令,大家可以在Shell printf 命令中查阅学习。 本文中的一系列实例用到的命令我都是在终端直接

Shell中的echo命令类似于php中的echo命令,都是用于输出。Shell中另有一个输出命令为printf命令,大家可以在Shell printf 命令中查阅学习。

本文中的一系列实例用到的命令我都是在终端直接写的,输出也是输出在终端,这样方便学习和记录吧!其实也都可以放到脚本文件中执行。

一、语法

1

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)实例

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

[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、显示普通字符串

1

2

3

4

5

6

[root@localhost ~]# echo "hello world"

hello world

[root@localhost ~]# echo hello world

hello world

 

#双引号可以省略,效果一致。(字符串的输出都是如此,下面一些实例也是可以省略双引号也能达到相同效果)

2、显示变量

这里用到read命令(从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量)。

1

2

3

4

[root@localhost ~]# read name

Michael Zhang

[root@localhost ~]# echo "My name is $name"

My name is Michael Zhang

3、显示换行

1

2

3

[root@localhost ~]# echo -e "hello \nworld"

hello

world

4、显示不换行

1

2

3

4

5

#!/bin/sh

echo -e "OK! \c" # -e 开启转义 \c 不换行

echo "hello world"

#结果如下

OK! hello world

5、显示转义字符

1

2

[root@localhost ~]# echo "\"hello world\""

"hello world"

6、重定向

结果输出到文件

1

2

echo "hello world" > my_file

#将hello world输出到my_file文件

7、原样输出

用单引号可原样输出。

1

2

3

4

[root@localhost ~]# echo '$name\"'

$name\"

[root@localhost ~]# echo '$name'

$name

8、显示命令执行结果

1

2

3

#显示当前日期

[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)实例

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

[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]#


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计