Linux中的Echo命令及实例

评论 0 浏览 0 2019-04-18

echo命令是Linux中最基本和最经常使用的命令之一。传给echo的参数被打印到标准输出。

echo在shell脚本中常用来显示一条信息或输出其他命令的结果。

echo命令

echo是Bash和其他大多数流行的shell(如Zsh和Ksh)中的一个内置程序。 它的行为在不同的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命令时,有几点需要考虑。

  • shell在将参数传递给echo命令之前,会将所有的变量、通配符和特殊字符替换掉。
  • 虽然不是必须的,但用双引号或单引号括住传递给echo的参数是一个很好的编程实践。
  • 当使用单引号''时,引号内所包含的每个字符的字面价值将被保留下来。变量和命令将不会被扩展。

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\'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

    输出

    linuxize

    $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命令的工作原理有了很好的了解。

如果你有任何问题或反馈意见,请随时留言。

最后更新2023-06-28
0 个评论
标签