linux命令:echo使用解读

2023-12-01 0 866
目录
  • 一、语法
  • 二、echo的重定向
  • 总结

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

这里使用的是反引号`, 而不是单引号’。

实际上输出一些执行命令的结果就是这样用反引号。

二、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]#

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持悠久资源网。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 Linux服务器 linux命令:echo使用解读 https://www.u-9.cn/server/linux/265.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务