告别黑白命令行:5分钟掌握Bash输出颜色美化技巧
【免费下载链接】bash-guide A guide to learn bash 项目地址: https://gitcode.com/gh_mirrors/ba/bash-guide
你还在对着单调的黑白命令行输出发愁吗?日志信息密密麻麻分不清重点?脚本提示总是被忽略?本文将教你用ANSI转义序列给Bash命令穿上"彩衣",让关键信息一目了然。读完本文你将学会:基础文字/背景色设置、实用样式组合、日志美化实战技巧,以及如何避免常见的颜色显示问题。
什么是ANSI转义序列
ANSI转义序列(ANSI Escape Sequence)是一种控制终端输出格式的特殊字符序列。通过这些序列,我们可以在Bash脚本中轻松实现文字颜色、背景色和样式(粗体、下划线等)的自定义。项目基础操作可参考README.md中的"Basic Operations"章节。
快速上手:基础颜色设置
文字颜色控制
最常用的文字颜色可以通过\033[颜色代码m控制,结束颜色设置需使用\033[0m重置。例如输出红色文字:
echo -e "\033[31m这是红色文字\033[0m"
常用颜色代码表
| 颜色 | 文字代码 | 背景代码 | 效果示例 |
|---|---|---|---|
| 黑色 | 30 | 40 | \033[30m黑色文字\033[0m |
| 红色 | 31 | 41 | \033[31m红色文字\033[0m |
| 绿色 | 32 | 42 | \033[32m绿色文字\033[0m |
| 黄色 | 33 | 43 | \033[33m黄色文字\033[0m |
| 蓝色 | 34 | 44 | \033[34m蓝色文字\033[0m |
| 紫色 | 35 | 45 | \033[35m紫色文字\033[0m |
| 青色 | 36 | 46 | \033[36m青色文字\033[0m |
| 白色 | 37 | 47 | \033[37m白色文字\033[0m |
提示:
echo命令必须添加-e参数才能解析转义序列,如README.md中"Text Operations"章节的echo命令说明。
进阶技巧:样式组合与背景色
背景色与文字样式
结合背景色和文字样式可以创建更醒目的效果:
# 绿色背景白色文字 + 粗体
echo -e "\033[42;37;1m成功提示:操作完成\033[0m"
# 黄色背景黑色文字 + 下划线
echo -e "\033[43;30;4m警告:磁盘空间不足\033[0m"
常用样式代码
| 代码 | 效果 | 代码 | 效果 |
|---|---|---|---|
| 0 | 重置所有 | 1 | 粗体 |
| 4 | 下划线 | 5 | 闪烁(不推荐) |
| 7 | 反色显示 | 8 | 隐藏文字 |
实战应用:日志美化示例
错误日志分级显示
在脚本中使用颜色区分日志级别,参考README.md中"Variables"章节的变量定义方法:
#!/usr/bin/env bash
# 定义颜色变量
RED="\033[31m"
GREEN="\033[32m"
YELLOW="\033[33m"
BLUE="\033[34m"
RESET="\033[0m"
echo -e "${BLUE}[INFO]${RESET} 正在处理数据..."
echo -e "${GREEN}[SUCCESS]${RESET} 数据处理完成"
echo -e "${YELLOW}[WARNING]${RESET} 低内存警告"
echo -e "${RED}[ERROR]${RESET} 无法连接数据库"
命令输出高亮
配合管道命令可以高亮显示命令输出中的关键信息,如README.md中"Text Operations"章节介绍的grep命令:
# 高亮显示日志中的ERROR和WARNING
tail -f app.log | grep --color=auto -E 'ERROR|WARNING|$'
常见问题解决
颜色不生效问题排查
- 忘记添加-e参数:确保echo命令使用
-e选项解析转义序列 - 缺少重置代码:未使用
\033[0m会导致后续输出持续变色 - 终端兼容性:部分老旧终端可能不支持所有颜色,可以通过
echo $TERM检查终端类型
脚本移植性处理
为确保在不支持颜色的终端正常运行,可以添加检测逻辑:
# 检查终端是否支持颜色
if [ -t 1 ]; then
# 支持颜色的终端
RED="\033[31m"
RESET="\033[0m"
else
# 不支持颜色的终端,清空颜色变量
RED=""
RESET=""
fi
总结与扩展学习
通过ANSI转义序列,我们只需几行代码就能让Bash输出焕然一新。这种技巧特别适合:
- 提高脚本可读性
- 区分日志级别
- 创建交互式菜单
- 美化命令行工具输出
更多高级用法可以参考README.md中的"Basic Shell Programming"章节,结合变量和函数封装更复杂的颜色方案。现在就动手改造你的第一个脚本,告别单调的黑白命令行吧!
项目地址:https://gitcode.com/gh_mirrors/ba/bash-guide
【免费下载链接】bash-guide A guide to learn bash 项目地址: https://gitcode.com/gh_mirrors/ba/bash-guide
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



