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

让终端“五彩缤纷”(Linux Shell输出颜色完全入门指南)

在日常使用 Linux Shell 时,你是否注意到有些命令的输出是彩色的?比如 ls 命令会用不同颜色显示文件和目录。其实,这是通过一种叫做 ANSI 转义序列 的技术实现的。本教程将手把手教你如何在自己的 Shell 脚本或命令中添加颜色,让你的终端输出更加直观、美观!

让终端“五彩缤纷”(Linux Shell输出颜色完全入门指南) Linux Shell颜色输出 Shell ANSI转义序列 终端彩色文本 Linux命令行美化 第1张

什么是 ANSI 转义序列?

ANSI 转义序列是一组特殊的字符组合,用于控制终端的显示效果,包括文本颜色、背景色、加粗、下划线等。它们以 \033[\e[ 开头,后面跟着数字参数,最后以字母 m 结束。

基本语法

格式如下:

echo -e "\033[代码m你的文本\033[0m"  

其中:

  • -e 参数告诉 echo 解析反斜杠转义字符。
  • \033[ 是转义序列的起始标志(也可以写作 \e[)。
  • 代码 是控制颜色或样式的数字(如 31 表示红色)。
  • \033[0m 用于重置所有样式,避免影响后续输出。

常用颜色代码表

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

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

背景色代码只需在前景色基础上加 10,例如:41 是红色背景,42 是绿色背景,以此类推。

实战示例

下面是一些实用的例子:

1. 输出红色错误信息

echo -e "\033[31m错误:文件未找到!\033[0m"  

2. 绿色成功提示

echo -e "\033[32m操作成功完成!\033[0m"  

3. 黄色警告 + 加粗

echo -e "\033[1;33m注意:此操作不可逆!\033[0m"  

说明:1; 表示加粗,多个样式可用分号连接。

进阶技巧:定义颜色变量

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

RED='\033[31m'GREEN='\033[32m'YELLOW='\033[33m'NC='\033[0m'  # No Colorecho -e "${RED}失败${NC} | ${GREEN}成功${NC} | ${YELLOW}警告${NC}"  

注意事项

  • 不是所有终端都支持 ANSI 颜色(但绝大多数现代终端都支持)。
  • 记得在每次彩色输出后使用 \033[0m 重置,否则后续文本也会继承颜色。
  • 在编写可移植脚本时,可先检测终端是否支持颜色(通过检查 $TERM 变量)。

总结

通过掌握 Linux Shell颜色输出 技术,你可以显著提升脚本的可读性和用户体验。无论是调试信息、日志记录还是用户交互,合理的颜色使用都能让终端界面更清晰、更专业。现在就试试在你的脚本中加入 Shell ANSI转义序列 吧!

如果你希望进一步美化你的命令行环境,还可以探索 终端彩色文本 的更多高级用法,甚至结合 Linux命令行美化 工具如 lolcatgrc 等,打造属于你自己的炫酷终端!