What does echo mean in linux?

藏色散人
藏色散人Original
2023-03-02 10:23:159331browse

echo在linux里是一个用于字符串输出的命令;echo命令的语法是“echo [-neE]  [arg ...]”,其中参数“-n”表示输出字符串不换行,参数“-e”表示对于转义字符按对应的方式进行处理,参数“-E”表示禁用转义解释。

What does echo mean in linux?

本教程操作环境:linux5.9.8系统、Dell G3电脑。

echo在linux里是什么意思?

linux命令:echo

Shell中的echo命令类似于php中的echo命令,都是用于输出。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 worldhello world#双引号可以省略,效果一致。(字符串的输出都是如此,下面一些实例也是可以省略双引号也能达到相同效果)

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

[root@localhost ~]# read nameMichael Zhang[root@localhost ~]# echo "My name is $name"My name is Michael Zhang

3、显示换行

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

4、显示不换行

#!/bin/shecho -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中的一个重要内容。
echo命令的重定向功能经常被用于清空文件内容(删除文件)时使用

(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]# lltotal 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 test123456[root@localhost my_shell]# echo "111111" > test[root@localhost my_shell]# cat test111111[root@localhost my_shell]# echo "123456" >> test[root@localhost my_shell]# cat test111111123456[root@localhost my_shell]#

推荐学习:《Linux视频教程

The above is the detailed content of What does echo mean in linux?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn