5

Я бег watch по команде , чтобы отслеживать количество открытых соединений для обслуживания мы диагностирование. Мне нужно следить за этим во время выполнения другой работы, чтобы помочь другим разработчикам определить, когда сервис работает.

Результат часов - число от 1 до 5000. Я хотел бы показать число зеленым, когда оно меньше 500, желтым, если оно между 501 и 4000, и красным, если оно выше 4000.

Есть ли команда, которая может легко установить цвет в зависимости от значения моей команды?

4 ответа4

3

CCZE может быть то, что вы ищете:
страница руководства в руководствах по Ubuntu

Монтаж

В системах на основе Debian вы можете легко установить его через

sudo apt-get install ccze

использование

Используйте это так:

tail -f /var/log/syslog | ccze

Плагины

Если поведение по умолчанию для ccze не нравится, вы можете расширить функциональность с помощью плагинов. К сожалению, я никогда не писал ничего, так как мне хорошо подходит поведение по умолчанию, поэтому я могу только направить вас на страницу руководства ccze-plugin.

3

Я написал этот небольшой сценарий, который я назвал цвет:

#!/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

Теперь вы можете запустить:

watch --color ./color <your command here>

Убедитесь, что ваша команда просто выводит число. В противном случае вы должны правильно обработать вывод и присвоить его переменной result .

1

Однако я думаю, что вы можете раскрасить справочные страницы (после нескольких поисков в Google я не думаю, что то, что вы ищете, существует.

1

Вы можете использовать tput для добавления цвета в свою жизнь. Примеры

tput setf 3 # textcolor green
tput setf 6 # red
tput sgr0 # back to normal
echo "$(tput setf 6)$line$(tput setf sgr0)"

Это и многое другое с tput на http://www.ibm.com/developerworks/aix/library/au-learningtput/

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .