Linux 中的 Echo 命令用法与示例
echo 命令是 Linux 中最基本和最常用的命令之一。它接收字符串参数,并把他们传递给标准输出并在标准输出上打印出来。
echo 通常用于 shell 脚本中以显示消息或输出其他命令的结果。
echo 命令
echo 已经内置在 Bash 以及大多数其他流行的 shell 中,如 Zsh 和 Ksh 。还有一个独立的 /usr/bin/echo
程序,但通常 shell 内置版本优先。我们将介绍 Bash 内置版的 echo 。
echo 命令的语法如下:
echo [-neE] [ARGUMENTS]
- 当指定
-n
选项时,其后的换行符被抑制。 - 如果指定了
-e
选项,则将解释以下反斜杠转义字符:\\
- 显示反斜杠字符。\a
- 警报( BEL )\b
- 显示退格字符。\c
- 抑制任何进一步的输出\e
- 显示转义字符。\f
- 显示换页符。\n
- 显示新行。\r
- 显示回车。\t
- 显示水平选项卡。\v
- 显示垂直选项卡。
- 该选项
-E
禁用转义字符的解释。这是默认值。
使用 echo 命令时需要考虑几点。
- 在将参数传递给 echo 命令之前, shell 将替换所有变量,通配符匹配和特殊字符。
- 虽然没有必要,但在双引号或单引号中包含传递给 echo 命令的参数是一种很好的编程习惯。
- 使用单引号时
('')
,将保留引号中包含的每个字符的字面值。变量和命令不会被扩展。
echo 例子
以下示例显示了如何使用 echo 命令:
-
在标准输出上显示一行文本。
echo Hello, World!
Hello, World!
-
显示包含双引号的文本行。
要打印双引号,请将其括在单引号内,或使用反斜杠字符对其进行转义。
echo 'Hello "World"'
echo "Hello \"World\""
Hello, "World"!
-
显示包含单引号的文本行。
要打印单引号,请将其括在双引号内或使用 ANSI-C 引号。
echo "I'm a Linux user."
echo $'I\'m a Linux user.'
将输出:
I'm a Linux user.
-
显示包含特殊字符的消息。
使用该
-e
选项可启用转义字符的解释。echo -e "You know nothing, Jon Snow.\n\t- Ygritte"
将输出:
You know nothing, Jon Snow. - Ygritte
-
模式匹配字符。
echo命令可以与模式匹配字符一起使用,例如通配符。例如,下面的命令将返回当前目录中所有
.php
文件的名称。echo The PHP files are: *.php
The PHP files are: index.php contact.php functions.php
-
重定向到文件
您可以使用
>
,>>
运算符将其重定向到文件,而不是在屏幕上显示输出。echo -e 'The only true wisdom is in knowing you know nothing.\nSocrates' >> /tmp/file.txt
如果 file.txt 不存在,则命令将创建它。当使用
>
该文件时将被覆盖,而>>
将输出附加到该文件。使用 cat 命令查看文件的内容:
cat /tmp/file.txt
The only true wisdom is in knowing you know nothing. Socrates
-
显示变量
echo 也可以显示变量。在以下示例中,我们将打印当前登录用户的名称
echo $USER
adam
$USER
是一个 shell 变量。 -
显示命令的输出
使用
$(command)
表达式在 echo 的参数中包含命令输出。以下命令将显示当前日期:echo "The date is: $(date +%D)"
The date is: 04/17/19
-
以彩色显示
使用 ANSI 转义序列更改前景色和背景色或设置下划线和粗体等文本属性。
echo -e "\033[1;37mWHITE" echo -e "\033[0;30mBLACK" echo -e "\033[0;34mBLUE" echo -e "\033[0;32mGREEN" echo -e "\033[0;36mCYAN" echo -e "\033[0;31mRED" echo -e "\033[0;35mPURPLE" echo -e "\033[0;33mYELLOW" echo -e "\033[1;30mGRAY"
结论
到目前为止,您应该很好地理解 echo 命令的工作原理。