echo - WinDaLex/windalex.github.io GitHub Wiki

echo 是一个 shell builtin 命令,通常被用来输出文本信息到屏幕上或文件中。

Usage

在 echo 后面接上要输出的内容,echo 会将参数以空格隔开输出,并在末尾加上一个换行。例如:

> echo hello world
hello world
> echo  hello   world
hello world

如果要输出空白字符或某些特殊字符,就需要用双引号或单引号,将整个字符串作为一个参数传给 echo 命令。例如:

> echo "hello  world "
hello  world
> echo 'hello  world '
hello world

而双引号和单引号的区别就是,双引号中可以使用变量,而单引号中不行。例如:

> echo "$SHELL"
/bin/bash
> echo '$SHELL'
$SHELL

参数

大多数 Shell 的 echo 命令支持三个参数,分别是

  • -n:末尾不输出换行
  • -e:允许反斜杠转义字符
  • -E:禁止反斜杠转义字符(默认)

不同版本的 Shell 对参数的支持不尽相同,具体情况还是要翻阅文档。

彩色输出

使用转义序列可以控制输出的颜色,例如

echo -e "\e[1;31m echo red text \e[0m"

其中,\e[1;31m 将字体颜色设为红色,\e[0m 将所有颜色重置。其中的 31 表示红色,可以将其替换成其他字体颜色,例如黑色(30),红色(31),绿色(32),黄色(33),蓝色(34),洋红(35),青色(36),白色(37)。你甚至可以设置彩色的背景,对应的数字分别是黑色(40),红色(41),绿色(42),黄色(43),蓝色(44),洋红(45),青色(46),白色(47)。

See also

与 echo 用途相似的 builtin 命令还有 printf

还有更多 shell builtin 命令,请见 Unix-like 系统上的常用工具及 shell builtin 命令

References

[Wikipedia:echo (command)](http://en.wikipedia.org/wiki/Echo_(command\))
《Linux Shell 脚本攻略》