Content

linux命令:echo使用解读(linux echo)快来看

文章摘要

这篇文章介绍了Shell语言中的`echo`命令及其用法。`echo`命令类似于PHP中的echo命令,用于输出字符串。文章详细解释了`echo`命令的转义字符处理、具体用法以及与`printf`命令的区别和联系。此外,还讨论了`echo`命令的重定向功能,包括文件操作、替换文本、追加文本等场景,并提供了多个实例供参考。 文章还提到`echo`命令的重定向功能在清空文件内容和文件操作中的应用,并结合了`read`命令和反引号的使用。关键词包括`echo命令`、`转义字符`、`重定向`、`输出`、`字符串`等。文章通过实例展示了`echo`命令在实际编程和脚本中的应用,适合学习和参考。


目录一、语法二、echo的重定向总结

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

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

echo [-neE] [arg …]

(1)含义

表示输出字符串不换行表示对于转义字符按对应的方式进行处理(若不加-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)

将content覆盖到filename文件当中去,filename文件当中之前的内容不复存在了,实际上是修改了原文件的内容。

(2)

将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命令的使用及三种实现方式Linux echo文本处理命令的使用及示例linux中echo命令的用法实例教程