echo 命令可能是您开始学习 Linux 命令时最先看到的几个命令之一,或者 bash 外壳脚本。
Echo 是一个简单的命令,它只是在显示器上打印它的参数。
[email protected]:~$ 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 命令的输出会在输出中添加一个新行,以便您将输出显示在整行中。
[email protected]:~$ echo Hello World
Hello World
您可以使用选项 -n 取消此换行符:
[email protected]:~$ echo -n Hello World
Hello [email protected]:~$
3. 将输出重定向到文件
您可以使用 echo 命令在 Linux 中创建新文件或通过将输出重定向到文件来将新文本附加到现有文件:
echo "This text goes to a file" >> file.txt
3. 在 echo 命令中使用转义字符
带有 echo 的选项 -e 允许您解释转义字符。 使用转义字符,您可以选择不同的方式在屏幕上显示文本。
以下转义字符可用于转义:
- a – 警报(发出哔声)
- b – 退格
- c – 不打印最后的换行符(与 -n 选项相同)
- f – 来自提要
- n – 换行符
- r – 回车
- t – 水平制表符
- v – 垂直制表符
- – 反斜杠
- ‘ – 单引号
- ” – 双引号
-e 选项要求 echo 命令解释转义字符,而 -E 选项则相反并忽略转义字符。
现在让我们看看如何在 echo 命令中使用其中的一些转义字符。
echo -e "An eye for an eye leaves the whole world blindnt- Gandhi"
你能猜出上面命令的输出是什么吗? 这里是:
An eye for an eye leaves the whole world blind
– Gandhi
让我们看一些转义字符的其他示例。 回车字符仅打印该字符之后的文本。
[email protected]:~$ echo -e “HellorWorld”
World
如果您使用退格字符,它将删除它之前的一个字符:
[email protected]:~$ echo -e “Hello bWorld”
HelloWorld
您可以以类似的方式与其他转义字符一起玩。
4.用echo命令显示带单引号或双引号的文本
处理单引号和双引号常常让人头疼。
如果要显示的文本中有单引号,则应将整个输入用双引号括起来:
[email protected]:~$ echo “It’s My World”
It’s My World
如果要显示双引号,则必须“转义”它:
[email protected]:~$ echo “It’s ”My” World”
It’s “My” World
5.显示目录中的文件
您可能使用 ls 命令来显示目录中的文件。 您也可以为此使用 echo 命令。
要显示当前目录的内容,可以使用以下命令:
echo *
您还可以使用 echo 命令仅显示某种类型的文件:
echo *.txt
如果您只想列出目录,请像这样使用它:
echo */
6.在Linux中使用echo命令清空文件
我已经展示了这个在 Linux 中清空日志文件的技巧。 如果你有一个文本文件并且你想清除它的内容而不删除文件本身,你可以通过以下方式使用 echo 命令:
echo > filename
额外提示:以彩色显示 echo 命令输出
你可能会遇到一些 bash 以不同颜色显示文本输出的脚本。 你有没有想过它是如何完成的? 让我快速向您展示如何更改回声输出的颜色。
您可以使用 ANSI 转义序列 并更改输出的外观,如背景颜色、下划线、粗体等。
要更改输出文本的颜色,您可以使用这些:
echo -e “ 33[30m这是黑色”[30mThisisBlack”
echo -e “ 33[31m这是红色”[31mThisisRed”
echo -e “ 33[32m这是绿色”[32mThisisGreen”
echo -e “ 33[33m这是黄色”[33mThisisYellow”
echo -e “ 33[34m这是蓝色”[34mThisisBlue”
echo -e “ 33[35m这是洋红色”[35mThisisMagenta”
echo -e “ 33[36m这是青色”[36mThisisCyan”
echo -e “ 33[37m这是白色”[37mThisisWhite”
示例彩色输出供您理解: