echo命令笔记

echoLinux/Unix shell 的一个内建命令(同时也有 /bin/echo 可执行文件),用来 在终端输出文本或变量内容。 它非常基础,但功能灵活,配合转义序列可以打印彩色文字、换行、制表符等。

一、命令格式

1echo [选项] [字符串...]
  • [选项]:可选,用来控制转义、换行等行为
  • [字符串...]:要输出的内容,可以是文字、变量、命令替换结果等

二、常用选项

选项作用
-e启用反斜杠转义(\n, \t, \033 等)
-E禁用反斜杠转义(默认)
-n不在输出结尾添加换行符

三、常见转义序列(需要 -e

转义作用
\n换行
\t水平制表符
\\反斜杠 \
\033ESC,用于 ANSI 颜色等控制
\a响铃
\b退格
\r回车

四、基本用法示例

输出普通文本

1echo "Hello World"

输出变量

1name="Alice"
2echo "Hello $name"

输出多行(带转义)

1echo -e "第一行\n第二行"

不换行输出

1echo -n "请输入用户名: "
2read user
3echo "你输入的是 $user"

彩色输出

1echo -e "\033[31m红色文字\033[0m"
前景色代码
30
31
绿32
33
34
35
36
37
默认39
背景色代码
40
41
绿42
43
44
45
46
47

五、常见注意事项

  1. echo-e 行为在不同 shell 中可能不同

    • bash 支持
    • dash 有些版本可能不支持 👉 更可移植的方式是用 printf
1printf "红色文字\n"
  1. 输出结尾默认有换行

    • 使用 -n 可去掉换行
  2. 字符串中包含 * ? $

    • 需要加引号避免被 shell 展开:
1echo "* ? $HOME"

六、总结

  • 用途:向终端或脚本输出文本、变量或命令结果
  • 关键点:选项 -e/-E/-n 控制换行与转义
  • 扩展:可以结合 ANSI 转义序列输出彩色文本