18 Linux系统shell脚本编程(四)
目录:
echo
命令是Linux中最基本,最常用的命令之一。 传递给
echo
的参数将输出到标准输出。
echo
通常在shell脚本中用于显示消息或输出其他命令的结果。
回声命令
echo
是Bash和大多数其他流行的shell(例如Zsh和Ksh)中内置的shell。 外壳之间的行为略有不同。
还有一个独立的
/usr/bin/echo
实用程序,但是通常,shell内置版本优先。 我们将介绍
echo
的Bash内置版本。
echo
命令的语法如下:
echo
- 当使用
-n选项时,尾随换行符被取消。如果给出-e选项,则将解释以下反斜杠转义字符:-
\\-显示反斜杠字符。\aa-警报(BEL)\b显示退格字符。\c禁止其他任何输出\e显示转义字符。\f显示换页符。显示新行。\r显示回车符。\t显示水平标签。\v显示垂直标签。
-E选项禁用转义符的解释。 这是默认值。 -
使用
echo
命令时需要考虑几点。
- 在将参数传递给
echo命令之前,shell将替换所有变量,通配符匹配和特殊字符''引号内每个字符的字面值将保留。 变量和命令将不会扩展。
echo
示例
以下示例显示如何使用echo命令:
-
在标准输出上显示一行文本。
echo Hello, World!Hello, World!显示一行包含双引号的文本。
要打印双引号,请将其括在单引号中或使用反斜杠字符将其转义。
echo 'Hello "Linuxize"'echo "Hello \"Linuxize\""Hello "Linuxize"显示一行包含单引号的文本。
要打印单引号,请将其括在双引号中或使用ANSI-C引用。
echo "I'm a Linux user."echo $'I\'ma 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: *.phpThe 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.txtThe only true wisdom is in knowing you know nothing. Socrates显示变量
echo也可以显示变量。 在以下示例中,我们将输出当前登录用户的名称:echo $USERlinuxize$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
命令的工作方式有了很好的了解。








