echo 命令
用途
将字符串写到标准输出
语法
回声 [ 字符串 ... ]
描述
回声 命令将字符串写至标准输出。 字符串s 由空格分隔,并且在指定的最后一个 字符串 参数后面出现一个换行符。 如果不指定 String 参数,将显示一空白行(换行符)。
通常,您可以通过使用 -- (双连字符) 来区分标志和以连字符开头的字符串。 由于 回声 命令不支持任何标志,因此会按字面值处理 -- (双连字符)。
命令 echo 能够识别以下转义约定:
| 项 | 描述 |
|---|---|
| \a | 显示警告字符。 |
| \b | 显示退格符。 |
| \c | 在输出中禁止另外跟在最终参数后面的换行字符。 所有跟在 \c 序列后的字符都被忽略。 |
| \f | 显示走纸字符。 |
| \n | 显示换行字符。 |
| \r | 显示一个回车字符。 |
| \t | 显示制表符。 |
| \v | 显示垂直制表符。 |
| \\ | 显示反斜杠符号。 |
| \0数字 | 显示一个 ASCII 值为 0、1、2、3 位八进制数的八位字符。 |
注: 布什, 克什和 欧洲 命令各包含一个内置 回声 子命令。 命令 echo 和命令 bsh 以及 ksh echo 子命令的工作方式是相同的。 子命令 csh echo 的工作方式不同于 echo 命令。
\(反斜杠)在 Shell 中是一个引号字符。 这意味着除非 \ 与转义字符一起使用或用引号括起来,例如:"\"或'\',那么在展开命令时, shell 将除去反斜杠。
shell 扩展后,命令 echo 根据输入中的转义序列写到输出中。 根据反斜杠简化表,比较反斜杠是如何在命令中首先由 shell 然后又由 echo 命令缩减的:
反斜杠缩减| 输入的命令 | 在 Shell 扩展后 | 处理完 echo 命令后 |
|---|---|---|
| echo hi\\\\there | echo hi\\there | hi\there |
| echo 'hi\\\\there' | echo 'hi\\\\there' | hi\\there |
| echo "hi\\\\there' | echo "hi\\there" | hi\there |
退出状态
本命令返回以下退出值:
| 项 | 描述 |
|---|---|
| 重大安全事件数量 | 成功完成。 |
| >0 | 发生错误。 |
示例
- 要将消息写入标准输出,请输入:
echo Please insert diskette . . . - 要显示包含特殊字符的消息,请输入:
该命令将跳过三行,然后显示消息如下:echo "\n\n\nI'm at lunch.\nI'll be back at 1:00."I'm at lunch. I'll be back at 1:00.注: 如果消息中含有转义序列,那么必须将它放在引号中。 否则的话,shell 将会将 \(反斜杠) 转换为一个元字符,并且用不同的方式处理。
- 要使用带有模式匹配字符的 回声 命令,请输入:
此用法显示消息The back-up files are:后跟当前目录中以以下内容结尾的文件名:.bak.echo The back-up files are: *.bak - 要将单行文本添加到文件中,请输入:
在 shell 代替了 shell 变量 PATH 的值以后,该用法会将消息添加到文件 notes 的末尾。echo Remember to set the shell search path to $PATH. >>notes - 要将消息写入标准错误输出,请输入:
此命令将错误消息重新发送至标准错误。 如果echo Error: file already exists. >&2>&2被省略了,那么将消息将被写入标准输出中。
文件
| 项 | 描述 |
|---|---|
| /usr/bin/echo | 包含有 echo 命令。 |