echo命令笔记
echo 是 Linux/Unix shell 的一个内建命令(同时也有 /bin/echo 可执行文件),用来 在终端输出文本或变量内容。
它非常基础,但功能灵活,配合转义序列可以打印彩色文字、换行、制表符等。
一、命令格式
1echo [选项] [字符串...]
[选项]:可选,用来控制转义、换行等行为
[字符串...]:要输出的内容,可以是文字、变量、命令替换结果等
二、常用选项
| 选项 | 作用 |
|---|
-e | 启用反斜杠转义(\n, \t, \033 等) |
-E | 禁用反斜杠转义(默认) |
-n | 不在输出结尾添加换行符 |
三、常见转义序列(需要 -e)
| 转义 | 作用 |
|---|
\n | 换行 |
\t | 水平制表符 |
\\ | 反斜杠 \ |
\033 | ESC,用于 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 |
五、常见注意事项
-
echo 的 -e 行为在不同 shell 中可能不同
- bash 支持
- dash 有些版本可能不支持
👉 更可移植的方式是用
printf:
1printf "红色文字\n"
-
输出结尾默认有换行
-
字符串中包含 * ? $ 时
1echo "* ? $HOME"
六、总结
- 用途:向终端或脚本输出文本、变量或命令结果
- 关键点:选项
-e/-E/-n 控制换行与转义
- 扩展:可以结合 ANSI 转义序列输出彩色文本