Shell Daily 2025-12-25: 终端色彩 (ANSI Escape Codes) 🎄
Merry Christmas! 既然是节日,为什么还要忍受终端里只有黑白灰的枯燥输出?今天的“圣诞特辑”,我们不讲复杂的逻辑,而是给你的脚本穿上一层红绿相间的节日盛装。
怎么用
在 Shell 中输出颜色的秘诀在于 ANSI 转义序列。最常用的是 \033[<代码>m 格式。
-
红色 (Red):
\033[31m -
绿色 (Green):
\033[32m -
重置 (Reset):
\033[0m(这一步至关重要,否则颜色会“泄露”到后续的输出中) -
兼容性:几乎所有现代终端(Linux, macOS, WSL)都支持。在
echo中使用需加-e参数,推荐使用printf以获得更好的一致性。
适用场景
区分日志级别(红色报错,绿色成功),或者单纯为了让你的 CLI 工具看起来更专业、更具节日氛围。
示例 1:定义你的调色板
不要在代码里硬编码 \033...,那是难以维护的噩梦。建议在脚本开头定义变量:
# 定义颜色代码
RED='\033[0;31m'
GREEN='\033[0;32m'
NC='\033[0m' # No Color (Reset)# 输出带颜色的节日祝福
echo -e "${RED}Merry${NC} ${GREEN}Christmas!${NC}"
示例 2:实战中的状态检查
让你的部署脚本不再冷冰冰,一眼就能看出哪一步成功(绿色),哪一步失败(红色):
check_service() {if systemctl is-active --quiet "$1"; thenprintf "[ ${GREEN}OK${NC} ] Service %s is running.\n" "$1"elseprintf "[${RED}FAIL${NC}] Service %s is DOWN!\n" "$1"fi
}check_service "nginx"
check_service "mysqld"
(注:给脚本加上颜色,就像给代码打上领结,既是礼仪也是专业度的体现。祝各位 Linux 玩家节日快乐!)