echo 命令是日常 linux 任务中使用最广泛的命令之一。echo 命令是一个内置的命令行工具,它将文本或字符串打印到标准输出或将输出重定向到文件。该命令通常在 bash shell 或其他 shell 中用于打印命令的输出。echo 命令在 bash shell 脚本中也经常使用。

基本语法

$ echo [option] [string]

echo命令数据库 echo 执行命令_单引号

在本指南中,我们将用 16 个实际示例解释 Linux echo 命令。

(1) 在终端上显示一条简单的消息

要使用 Echo 命令在终端上打印一个简单的短信,请运行命令:

$ echo Hello Guys

echo命令数据库 echo 执行命令_linux_02

(2) 使用 echo 命令打印出变量的值

假设您已经初始化了一个变量 x,并为它赋值 100,如下所示

$ x = 100

您可以通过在变量名前面加上一个美元符号来打印它的值,如图所示

$ echo The value of x is $x

echo命令数据库 echo 执行命令_单引号_03

(3) 打印一行包含双引号的文本

要使用 echo 命令打印一行包含双引号的文本,只需将包含双引号的短语用单引号括起来。

$ echo Hello guys welcome to ' "Linuxtechi" '

echo命令数据库 echo 执行命令_echo命令数据库_04

(4) 显示一行包含单引号的文本

如果希望打印包含单引号的行,请将包含单引号的短语括在双引号内,如下所示

$ echo Hey, "We're" Linuxtechi, a community driven site.

echo命令数据库 echo 执行命令_运维_05

(5) 将 echo 命令输出重定向到文件

要将 echo 命令输出重定向到文件,而不是将其打印到屏幕上,请使用大于 (>) 和双大于(>>) 操作符。

当您使用大于 (>) 操作符时,文件将被覆盖。如果该文件不存在,则会创建它。

$ echo Hey guys, Welcome to Linuxtechi > greetings.txt

echo命令数据库 echo 执行命令_linux_06

双大于操作符 (>>) 将文本附加到文件。例如,为 /etc/hosts 文件添加条目

$ echo 192.168.2.100  web-server-01 >> /etc/hosts

(6) 使用 echo 命令匹配相同的文件

您可以使用 echo 命令和通配符返回相同的文件,即具有相同文件扩展名的文件。例如,要打印所有扩展名为.txt 的文本文件,运行以下命令。

$ echo *.txt

echo命令数据库 echo 执行命令_运维_07

(7) 列出当前目录下的所有文件和文件夹

echo 命令可以用作 ls 命令,并使用通配符列出当前目录中的所有文件和文件夹,如下所示:

$ echo *

echo命令数据库 echo 执行命令_单引号_08

(8) 使用 echo 命令创建新行

使用反斜杠解释器选项 -e,您可以操纵行在输出中的显示方式。例如,要打印新行,请使用\n 转义字符选项,如下所示

$ echo -e  "Welcome \nto \nLinuxtechi  \ncommunity"

echo命令数据库 echo 执行命令_bash_09

(9) 在句子中的单词之间创建制表符空格

除了创建新行之外,还可以使用 \ttab 选项增加句子中单词之间的间距。

$ echo -e  "Welcome \tto \tLinuxtechi  \tcommunity"

echo命令数据库 echo 执行命令_bash_10

(10) 在 echo 命令中合并新的行和制表符间距

您可以同时组合\n\t 选项,如图所示

$ echo -e  "\n\tWelcome \n\tto \n\tLinuxtechi  \n\tcommunity"

echo命令数据库 echo 执行命令_bash_11

(11) 在 echo 命令输出中创建垂直制表符

\v 选项使您能够创建垂直制表符,如图所示

$ echo -e  "Welcome \vto \vLinuxtechi  \vtcommunity"

echo命令数据库 echo 执行命令_单引号_12

(12) 在 echo 命令中合并新的行和垂直制表符空格

此外,您可以试验和组合 \n\v 选项,如图所示

$ echo -e  "Welcome \n\vto \n\vLinuxtechi  \n\vtcommunity"

echo命令数据库 echo 执行命令_运维_13

(13) 使用回车选项

\r 选项会省略前面的文本。例如,下面命令的输出省略了前 2 个单词。

$ echo -e  "Welcome to \rLinuxtechi  community"

echo命令数据库 echo 执行命令_运维_14

(14) 截断文本的 echo 命令输出

To suppress any further output and proceed without going to the next line use the ‘\c’ option as shown:

\c 选项 会抑制任何进一步的输出,不继续转到下一行,如图所示

$ echo -e  Welcome to Linuxtechi  \ccommunity

echo命令数据库 echo 执行命令_linux_15

(15) 使用 echo 命令从文本字符串中删除所有空格

Use ‘\b’ option along with -e option in echo command to remove all the spaces from the text string, example is shown below:

使用 \b 选项和 -e 选项来删除文本字符串中的所有空格,如下所示

$ echo -e "Welcome \bto \bLinux \bCommunity"
WelcometoLinuxCommunity
$

(16) bash shell 脚本中 echo 命令的使用

正如我们已经说过的,echo 命令经常在 bash shell 脚本中使用。下面列出了 shell 脚本中 echo 命令的使用示例

$ cat echo-bash.sh
#!/bin/bash
# Echo Command Usage in Script
os_version=$(grep -i "PRETTY_NAME" /etc/os-release  | awk -F'=' '{print $2}' | sed 's/"//g')
no_cpus=$(lscpu  | grep  '^CPU(s):' | awk -F":" '{print $2}' | sed "s/^[ \t]*//")
total_mem=$(grep MemTotal /proc/meminfo | awk -F":" '{print $2}' | sed "s/^[ \t]*//")
echo 'OS Version :' $os_version
echo 'Number of CPUs :' $no_cpus
echo 'Total Memory :' $total_mem
$

执行上述脚本,输出如下

$ bash echo-bash.sh
OS Version : CentOS Linux 7 (Core)
Number of CPUs : 4
Total Memory : 8008968 kB
$