echo 命令是日常 linux 任务中使用最广泛的命令之一。echo 命令是一个内置的命令行工具,它将文本或字符串打印到标准输出或将输出重定向到文件。该命令通常在 bash shell 或其他 shell 中用于打印命令的输出。echo 命令在 bash shell 脚本中也经常使用。
基本语法
$ echo [option] [string]
在本指南中,我们将用 16 个实际示例解释 Linux echo 命令。
(1) 在终端上显示一条简单的消息
要使用 Echo 命令在终端上打印一个简单的短信,请运行命令:
$ echo Hello Guys
(2) 使用 echo 命令打印出变量的值
假设您已经初始化了一个变量 x,并为它赋值 100,如下所示
$ x = 100
您可以通过在变量名前面加上一个美元符号来打印它的值,如图所示
$ echo The value of x is $x
(3) 打印一行包含双引号的文本
要使用 echo 命令打印一行包含双引号的文本,只需将包含双引号的短语用单引号括起来。
$ echo Hello guys welcome to ' "Linuxtechi" '
(4) 显示一行包含单引号的文本
如果希望打印包含单引号的行,请将包含单引号的短语括在双引号内,如下所示
$ echo Hey, "We're" Linuxtechi, a community driven site.
(5) 将 echo 命令输出重定向到文件
要将 echo 命令输出重定向到文件,而不是将其打印到屏幕上,请使用大于 (>) 和双大于(>>) 操作符。
当您使用大于 (>) 操作符时,文件将被覆盖。如果该文件不存在,则会创建它。
$ echo Hey guys, Welcome to Linuxtechi > greetings.txt
双大于操作符 (>>) 将文本附加到文件。例如,为 /etc/host(s) 文件添加条目
$ echo 192.168.2.100 web-server-01 >> /etc/host(s)
(6) 使用 echo 命令匹配相同的文件
您可以使用 echo 命令和通配符返回相同的文件,即具有相同文件扩展名的文件。例如,要打印所有扩展名为.txt 的文本文件,运行以下命令。
$ echo *.txt
(7) 列出当前目录下的所有文件和文件夹
echo 命令可以用作 ls 命令,并使用通配符列出当前目录中的所有文件和文件夹,如下所示:
$ echo *
(8) 使用 echo 命令创建新行
使用反斜杠解释器选项 -e
,您可以操纵行在输出中的显示方式。例如,要打印新行,请使用\n 转义字符选项,如下所示
$ echo -e "Welcome \nto \nLinuxtechi \ncommunity"
(9) 在句子中的单词之间创建制表符空格
除了创建新行之外,还可以使用 \t
或 tab
选项增加句子中单词之间的间距。
$ echo -e "Welcome \tto \tLinuxtechi \tcommunity"
(10) 在 echo 命令中合并新的行和制表符间距
您可以同时组合\n
和 \t
选项,如图所示
$ echo -e "\n\tWelcome \n\tto \n\tLinuxtechi \n\tcommunity"
(11) 在 echo 命令输出中创建垂直制表符
\v
选项使您能够创建垂直制表符,如图所示
$ echo -e "Welcome \vto \vLinuxtechi \vtcommunity"
(12) 在 echo 命令中合并新的行和垂直制表符空格
此外,您可以试验和组合 \n
和 \v
选项,如图所示
$ echo -e "Welcome \n\vto \n\vLinuxtechi \n\vtcommunity"
(13) 使用回车选项
\r
选项会省略前面的文本。例如,下面命令的输出省略了前 2 个单词。
$ echo -e "Welcome to \rLinuxtechi community"
(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
(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
$