You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Unix监控脚本的输出按状态添加颜色标识

给监控脚本输出按状态添加颜色的实现方法

当然可以实现,最简便的方式是用awk工具过滤脚本输出并添加ANSI颜色控制码,不用修改原脚本就能完成需求。

具体命令

直接在原执行命令后加管道,用awk处理输出:

sh monitoring_activity.sh | awk '
/^RUNNING/ {print "\033[33m" $0 "\033[0m"}
/^SUCCESS/ {print "\033[32m" $0 "\033[0m"}
/^FAILED / {print "\033[31m" $0 "\033[0m"}
'

原理说明

  • ANSI颜色控制码:\033[33m对应黄色、\033[32m对应绿色、\033[31m对应红色,\033[0m用于重置颜色,避免后续文本继承当前颜色。
  • awk会逐行读取脚本输出,匹配以RUNNING、SUCCESS、FAILED 开头的行,给整行加上对应颜色码后输出。

如果需要把颜色逻辑整合到原脚本里,也可以在脚本的输出语句中加入判断,比如用shell的case语句:

# 假设原脚本中输出每行的逻辑是echo "$status| $task",可以改成:
case "$status" in
    RUNNING) echo -e "\033[33m$status| $task\033[0m" ;;
    SUCCESS) echo -e "\033[32m$status| $task\033[0m" ;;
    FAILED) echo -e "\033[31m$status| $task\033[0m" ;;
    *) echo "$status| $task" ;; # 其他状态正常输出
esac

注意:这种方法依赖终端对ANSI颜色码的支持,现代主流终端(如bash、zsh终端)都能正常显示。

内容的提问来源于stack exchange,提问作者Khilesh Chauhan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 09:05:28