Linux中的Echo命令示例

时间:2020-03-05 15:26:36  来源:igfitidea点击:

“ echo”命令是Linux中最基本,最常用的命令之一。
传递给'echo'的参数将输出到标准输出。

在shell程序脚本中通常使用“ echo”来显示消息或者输出其他命令的结果。

echo命令

“ echo”是Bash和其他大多数流行的shell(例如Zsh和Ksh)内置的shell。
shell之间的行为略有不同。

还有一个独立的'/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 Hello, World!
Hello, World!
  • 显示一行包含双引号的文本。要打印双引号,请将其括在单引号中或者使用反斜杠字符将其转义。
echo 'Hello "theitroad"'
echo "Hello \"theitroad\""
Hello "theitroad"
  • 显示一行包含单引号的文本。要打印单引号,请将其用双引号引起来或者使用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
theitroad

'$USER'是一个包含用户名的shell变量。

  • 显示命令输出使用'$(command)'表达式将命令输出包含在'echo'的参数中。以下命令将显示当前日期:
echo "The date is: $(date +%D)"
The date is: 04/17/19
  • 以彩色显示使用ANSI转义序列更改前景色和背景色或者设置文本属性,例如下划线和粗体。
echo -e "3[1;37mWHITE"echo -e "3[0;30mBLACK"echo -e "3[0;34mBLUE"echo -e "3[0;32mGREEN"echo -e "3[0;36mCYAN"echo -e "3[0;31mRED"echo -e "3[0;35mPURPLE"echo -e "3[0;33mYELLOW"echo -e "3[1;30mGRAY"