是否有一个 linux 命令可以让我对另一个命令的结果进行颜色编码?

STW*_*STW 5 linux command-line colors watch

我正在运行一个watch命令来监视我们正在诊断的服务的打开连接数。我需要在做其他工作时密切关注它,以帮助其他开发人员识别服务何时起作用。

手表的结果是一个1到5000之间的数字。我想把数字在500以下时显示为绿色,在501和4000之间时显示为黄色,在4000以上时显示为红色。

是否有可以根据我的命令的值轻松设置颜色的命令?

fma*_*nco 3

我编写了这个小脚本,并将其命名为 color:

#!/bin/bash

result=$($@)

GREEN="1;32m"
YELLOW="1;33m"
RED="1;31m"

if [ "$result" -lt "500" ]
then
        echo -e "\033[$GREEN  $result  \033[0m" ;
elif [ "$result" -ge "500" -a "$result" -le "4000" ]
then
        echo -e "\033[$YELLOW  $result  \033[0m" ;
else
        echo -e "\033[$RED  $result  \033[0m" ;
fi
Run Code Online (Sandbox Code Playgroud)

您现在可以运行:

watch --color ./color <your command here>
Run Code Online (Sandbox Code Playgroud)

确保您的命令仅输出一个数字。否则,您必须正确处理输出并将其分配给result变量。