当前位置:首页 > 服务器技术 > 正文

让终端绚丽多彩(Linux Shell颜色输出完全指南)

你是否曾经羡慕过别人终端里五彩缤纷的输出?其实,只需掌握几个简单的技巧,你也能让你的 Linux Shell 脚本拥有炫酷的颜色效果!本文将从零开始,手把手教你如何在终端中输出带颜色的文本,即使是完全的新手也能轻松上手。

让终端绚丽多彩(Linux Shell颜色输出完全指南) Linux Shell颜色输出 ANSI转义序列 Shell脚本美化 终端彩色文本 第1张

什么是 ANSI 转义序列?

在 Linux 终端中实现颜色输出的核心技术叫做 ANSI 转义序列(ANSI Escape Sequences)。这是一种特殊的字符组合,告诉终端“接下来的文本要用某种颜色显示”或“恢复默认样式”等。

这些序列以 \033[\e[ 开头,后面跟上数字代码,最后以字母 m 结尾。

基本颜色代码

以下是常用的前景色(文字颜色)和背景色代码:

  • 前景色(文字颜色):30-37
  • 背景色:40-47
  • 高亮/加粗前景色:90-97
  • 高亮背景色:100-107

具体颜色对应关系如下:

代码 颜色 示例
30 / 40 黑色 文本
31 / 41 红色 文本
32 / 42 绿色 文本
33 / 43 黄色 文本

实战:输出彩色文本

现在我们来写一个简单的命令,在终端中输出红色的文字:

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

解释一下这段命令:

  • echo -e:使用 -e 参数启用反斜杠转义(如 \033)
  • \033[31m:设置前景色为红色
  • \033[0m:重置所有样式,恢复默认

如果不加 \033[0m,后续所有输出都会是红色!所以记得每次使用颜色后都要重置。

进阶技巧:组合多个样式

你可以同时设置前景色、背景色,甚至加粗、下划线等效果。多个代码之间用分号 ; 分隔。

# 白色加粗文字 + 红色背景echo -e "\033[1;37;41m警告:系统错误!\033[0m"# 绿色文字 + 下划线echo -e "\033[4;32m成功完成操作\033[0m"

常用样式代码:

  • 0:重置所有属性
  • 1:加粗(Bright)
  • 4:下划线
  • 5:闪烁(部分终端不支持)
  • 7:反显(前景色与背景色互换)

在 Shell 脚本中使用颜色

为了方便复用,我们可以在脚本开头定义颜色变量:

#!/bin/bash# 定义颜色变量RED='\033[0;31m'GREEN='\033[0;32m'YELLOW='\033[1;33m'NC='\033[0m' # No Color# 使用颜色输出echo -e "${RED}错误:文件未找到${NC}"echo -e "${GREEN}成功:操作已完成${NC}"echo -e "${YELLOW}注意:请检查配置${NC}"

这样写不仅清晰,还便于维护。这也是许多专业 Shell 脚本(如安装脚本、监控脚本)常用的做法。

注意事项

  • 不是所有终端都支持全部 ANSI 颜色(但主流终端如 GNOME Terminal、iTerm2、Windows Terminal 均支持良好)
  • 在日志文件中使用颜色可能会导致乱码,建议仅在交互式终端中使用
  • 始终记得用 \033[0m 重置颜色,避免影响后续输出

总结

通过本文,你已经掌握了 Linux Shell颜色输出 的基本方法,了解了 ANSI转义序列 的工作原理,并学会了如何在脚本中优雅地使用颜色来提升用户体验。无论是写一个简单的提示信息,还是开发复杂的 Shell脚本美化 工具,这些知识都能派上用场。

快去试试吧!用 终端彩色文本 让你的命令行世界更加生动有趣!