Возможно ли раскрашивание текста в сценарии оболочки? - PullRequest
0 голосов
/ 17 октября 2019

У меня есть задание cron, которое запускает сценарий оболочки, который запускает несколько ежедневных команд проверки работоспособности, которые затем записывают в выходной файл и отправляют мне по электронной почте каждое утро.

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

Вот мой сценарий тестовой оболочки:

#!/bin/sh
RED='\033[0;31m'
NC='\033[0m'
GRN='\033[0;32m'
echo Critical Service Status - LPRNEDCCIVG001V > /opt/EllisStatus.txt
echo  >> /opt/EllisStatus.txt
echo  Tomcat >> /opt/EllisStatus.txt
echo ______ >> /opt/EllisStatus.txt
echo >> /opt/EllisStatus.txt
service tomcat status | grep -e "Main PID:"  -e "Active:" >> /opt/EllisStatus.txt
echo  >> /opt/EllisStatus.txt
echo >> /opt/EllisStatus.txt
echo Holly Errors>> /opt/EllisStatus.txt
echo ____________ >> /opt/EllisStatus.txt
echo  >> /opt/EllisStatus.txt
service holly status | grep -e "*" | grep -v "MRCP" | grep -v "Alarms" >> /opt/EllisStatus.txt
echo  >> /opt/EllisStatus.txt
echo >> /opt/EllisStatus.txt
echo Partition usage above 80%  >> /opt/EllisStatus.txt
echo _________________________ >> /opt/EllisStatus.txt
echo >> /opt/EllisStatus.txt
df -Ph | grep -v "Use%" | sed 's/%//g' | awk '$5 > 80 {print $1,$2,$3,$4,$5"%";}' | column -t >> /opt/EllisStatus.txt
echo
echo
echo "Subject: Ellis Test" | cat - /opt/EllisStatus.txt | sendmail -F NEDIVG01.8.11 -t john@anonymous.com

У меня естьпопытался добавить tput setaf 1 и затем tput sgr0 после определенных разделов, я попытался также использовать $ {RED} и $ {NC) вокруг раздела, но когда я проверяю его, скрипт выдает ошибки, которые он не знает, чтосоответствующие коды означают.

какие-либо советы или хитрости для новичка, которыми вы готовы поделиться, чтобы заставить это работать? Или это вообще возможно?

Заранее спасибо!

Джон

...