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

$ echo [option] [string]

Linux-Echo-Command-Options

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

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

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

$ echo Hello Guys

Simple-echo-command-usage

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

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

$ x = 100

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

$ echo The value of x is $x

echo-command-print-variable-value

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

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

$ echo Hello guys welcome to ' "Linuxtechi" '

Print-Text-Double-Quotes-String-echo-command

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

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

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

Single-Quote-Text-Print-Echo-Command

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

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

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

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

Redirect-output-echo-command-linux

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

$ echo 192.168.2.100  web-server-01 >> /etc/host(s)

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

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

$ echo *.txt

Print-Exact-Match-echo-command-linux

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

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

$ echo *

list-files-directories-with-echo-command

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

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

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

Output-Strings-New-Line-output-Echo-command-linux

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

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

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

Tab-Space-Echo-command-output-linux

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

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

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

New-Line-Tab-Space-Echo-Command-Linux

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

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

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

Vertical-Space-Echo-Command-Linux

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

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

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

New-Line-Vertical-Space-Echo-Command

(13) 使用回车选项

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

$ echo -e  "Welcome to \rLinuxtechi  community"

Carriage-return-option-echo-command

(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

Truncate-output-echo-command-linux

(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
$

我的开源项目


鸠摩智首席音效师
472 声望9 粉丝

身强体健,龙精虎猛的活着。