Linux 中的 echo 命令:7 个实例
当您开始学习 Linux 命令或 bash shell 脚本时,echo 命令可能是您看到的前几个命令之一。
Echo 是一个简单的命令,它只是在显示屏上打印其参数。
abhishek@linux:~$ echo Hello World
Hello World
你可以猜到为什么这个命令被称为“echo”。与声音回声一样,该命令也只是打印它在输入中收到的内容。
Linux 中 echo 命令的示例
Echo 经常用于 shell 脚本中显示信息,比如要求用户提供输入或者显示脚本中某个操作的错误或警告。
echo 命令的语法很简单,并且带有几个选项:
echo [options] [input string]
让我们看一些 echo 命令的例子。
1.显示变量的值
假设您声明了一个变量 var = 100。您可以使用 echo 命令显示该变量的值:
echo The value of variable var is $var
其输出将显示如下:
The value of variable var is 100
2. 不要打印最后一个换行符
默认情况下,echo 命令的输出会在输出中添加一个新行,以便您将输出显示在一整行中。
abhishek@linux:~$ echo Hello World
Hello World
您可以使用选项 -n 来隐藏这个换行符:
abhishek@linux:~$ echo -n Hello World
Hello Worldabhishek@linux:~$
3. 将输出重定向到文件
您可以使用 echo 命令在 Linux 中创建一个新文件,或者通过将输出重定向到文件将新文本附加到现有文件:
echo "This text goes to a file" >> file.txt
4. 使用 echo 命令的转义字符
echo 的选项 -e 允许您解释转义字符。使用转义字符,您可以按照您选择的不同方式在屏幕上显示文本。
下列转义字符可用于 escape:
- \a – 警报(发出哔哔声)
- \b – 退格
- \c – 不打印最后的换行符(与 -n 选项相同)
- \f – 来自 feed
- \n – 换行符
- \r – 回车
- \t – 水平制表符
- \v – 垂直制表符
- \\ – 反斜杠
- \' – 单引号
- \” – 双引号
-e 选项要求 echo 命令解释转义字符,而 -E 选项则执行相反的操作并忽略转义字符。
现在让我们看看如何在 echo 命令中使用其中一些转义字符。
echo -e "An eye for an eye leaves the whole world blind\n\t- Gandhi"
你能猜出上述命令的输出是什么吗?如下所示:
An eye for an eye leaves the whole world blind
– Gandhi
让我们看一些其他转义字符的例子。回车符仅打印该字符后的文本。
abhishek@linux:~$ echo -e “Hello\rWorld”
World
如果使用退格符,它将删除其前面的一个字符:
abhishek@linux:~$ echo -e “Hello \bWorld”
HelloWorld
您可以按照类似的方式使用其他转义字符。
5.使用 echo 命令显示带单引号或双引号的文本
处理单引号和双引号通常很令人头痛。
如果要显示的文本中有一个单引号,则应该将整个输入括在双引号中:
abhishek@linux:~$ echo “It’s My World”
It’s My World
如果要显示双引号,则必须将其“转义”:
abhishek@linux:~$ echo “It’s \”My\” World”
It’s “My” World
6.显示目录中的文件
您可能使用ls 命令来显示目录中的文件。您也可以使用 echo 命令来实现此目的。
要显示当前目录的内容,可以使用以下命令:
echo *
您还可以使用 echo 命令仅显示某种类型的文件:
echo *.txt
如果只想列出目录,请像这样使用:
echo */
遗憾的是,您无法使用 echo查看文件内容。
7. 使用 echo 命令在 Linux 中清空文件
我已经展示了在 Linux 中清空日志文件的技巧。如果您有一个文本文件,并且想要清除其内容而不删除文件本身,则可以按以下方式使用 echo 命令:
echo > filename
额外提示
这里有一些以不寻常或丰富多彩的方式使用 echo 命令的额外技巧。
以彩色显示 echo 命令输出
你可能遇到过一些以不同颜色显示文本输出的 bash 脚本。你有没有想过这是怎么做到的?让我快速向你展示如何更改 echo 输出的颜色。
您可以使用ANSI 转义序列并更改输出的外观,如背景颜色、下划线、粗体等。
要更改输出文本的颜色,您可以使用以下命令:
echo -e “\033[30m这是黑色”
echo -e “\033[31m这是红色”
echo -e “\033[32m这是绿色”
echo -e “\033[33m这是黄色”
echo -e “\033[34m这是蓝色”
echo -e “\033[35m这是洋红色”
echo -e “\033[36m这是青色”
echo -e “\033[37m这是白色”
为方便您理解,示例彩色输出:
上述命令中,\033[ 代表 ESC[。
看看不运行命令会做什么
在很多情况下,echo 命令可以免除您意外地做一些意想不到的事情的麻烦。
它允许您扩展通配符以了解在实际运行命令之前会发生什么。
echo rm -R *
这将输出将传递给 rm 命令的内容(因此将删除的内容),将 echo 放在命令前面会使其无害(它只是扩展通配符,以便您知道它将做什么)。
还有什么?
echo 命令非常适合在屏幕上快速打印所需输出。如果您想要更复杂格式的输出,请使用bash 中的 C 样式 printf 命令。
好了,就是这样。我想您已经看到了 Linux 中 echo 命令的大量示例。如果您将 echo 用于某些可能对其他人有用的特定目的,请在评论部分与我们分享。