什么是 ANSI 颜色代码

🎉 恭喜你问了一个非常实用的问题!ANSI 颜色代码是 Linux 终端中用来控制文本颜色、背景色和格式(如加粗、闪烁)的一种标准编码方式。它可以让你的 Shell 脚本输出更加美观、清晰,甚至像“图形界面”一样有层次感!


🎯 什么是 ANSI 颜色代码?

✅ 简单解释:

ANSI 是美国国家标准协会(American National Standards Institute)制定的一套字符编码标准。

在终端中,使用特殊的 ANSI 转义序列(Escape Sequence),可以告诉终端:“从现在开始用红色显示文字”,“这段文字加粗显示”等等。


⭐ 基本格式

\033[<属性>;<前景色>;<背景色>m<要显示的文字>\033[0m
  • \033:转义字符(也可以写成 \x1b
  • [:开始设置样式
  • m:结束设置
  • \033[0m:重置所有样式(建议每次使用后都重置)

🌈 常见的前景色(字体颜色)

编号 颜色
30 黑色
31 红色
32 绿色
33 黄色
34 蓝色
35 紫色
36 青色
37 白色

🎨 常见的背景色

编号 颜色
40 黑色背景
41 红色背景
42 绿色背景
43 黄色背景
44 蓝色背景
45 紫色背景
46 青色背景
47 白色背景

💡 常见的属性(可选)

编号 含义
0 默认(重置)
1 加粗
4 下划线
5 闪烁
7 反显

🧪 实例演示

示例 1:只改变文字颜色

echo -e "\033[31m这是红色文字\033[0m"
echo -e "\033[32m这是绿色文字\033[0m"
echo -e "\033[33m这是黄色文字\033[0m"

示例 2:改变文字颜色 + 背景色 + 加粗

echo -e "\033[1;37;41m警告:系统错误!\033[0m"

输出效果:白色文字 + 红色背景 + 加粗

示例 3:带下划线和闪烁

echo -e "\033[4;35m注意:重要通知!\033[0m"
echo -e "\033[5;31m紧急警报!\033[0m"

🧠 小技巧总结

技巧 说明
echo -e 必须加上 -e 才能解析转义字符
\033[0m 每次使用完颜色后记得重置,否则后续内容也会受影响
定义变量 可以把常用颜色定义为变量,便于复用
RED='\033[0;31m'
GREEN='\033[0;32m'
NC='\033[0m' # No Color

echo -e "${RED}错误:磁盘空间不足!${NC}"
echo -e "${GREEN}提示:清理成功。${NC}"

🛠️ 实际应用场景举例

🎉 场景一:脚本状态提示更清晰

echo -e "\033[32m✅ 成功:配置文件已生成。\033[0m"
echo -e "\033[33m⚠️ 警告:内存即将耗尽!\033[0m"
echo -e "\033[31m❌ 错误:无法连接数据库。\033[0m"

🎉 场景二:构建菜单界面更专业

echo -e "\033[34m=== 自动化运维工具 ===\033[0m"
echo "1. 备份数据"
echo "2. 清理日志"
echo "3. 重启服务"
echo "0. 退出"

⚠️ 注意事项

问题 解决方法
Windows CMD 不支持 推荐使用 PowerShell 或 WSL 终端
输出乱码 确保终端支持 ANSI 转义码
颜色未生效 使用 echo -e 并检查语法是否正确
脚本执行时颜色失效 确保没有重定向或管道干扰输出

🧩 更多高级玩法(进阶)

你可以组合多种效果,比如:

# 红底白字加粗
echo -e "\033[1;37;41m🚨 紧急通知:系统将重启!🚨\033[0m"

# 蓝底黄字闪烁
echo -e "\033[5;33;44m⚡ 正在进行高风险操作!⚡\033[0m"

🎯 下一章预告:《Shell read 命令与用户交互》

掌握了 echo 和 ANSI 颜色代码之后,你可以写出漂亮的脚本输出。接下来我们将学习如何让用户输入信息并与脚本互动 —— 使用 read 命令!

需要我继续为你生成下一章内容吗?😊

posted @ 2025-06-18 07:39  红尘过客2022  阅读(139)  评论(0)    收藏  举报