bash 쉘스크립트 색깔 넣는방법..문의좀...
NODE=`hostname`
DATE=`date +%Y%m%d%H%M`
LOGDIR=/home/test/logs
STATUS=`cat /var/log/messages |egrep "error|ERROR|Error|warning|Warning|Critical|critical|down|Down|DEGRADED|degraded" | wc -l`
LOGFILE=$LOGDIR/$NODE.testlogstatus.$STATUS.$DATE
if [ "$STATUS" -gt 0 ];
then
echo "##################### error log check #########################" >> $LOGFILE
cat /var/log/messages | grep -i error >> $LOGFILE
echo >> $LOGFILE
fi
------------------------------------------------------------------------------------------------------
이런식으로 로그 추출하는 스크립트를 작성하였는데
##################### error log check #########################
-> 이부분에 색깔을 넣어서 강조하고 싶습니다.
echo -e "\033[31m##################### error log check #########################\033[0m"
그냥 저 명령어를 치면 색깔이 표시되는데.. 막상 스크립트를 돌리면 결과 파일에 색깔이 안들어가더라구요..
저런경우 어떻게 해야 색깔이 들어가나요?ㅠㅠ
https://mug896.github.io/bash
https://mug896.github.io/bash-shell/colors_and_prompt.html 참조 하세요.
그리고 전반적으로 https://mug896.github.io/bash-shell/ 를 읽어 보시고 스크립트 작성을 하시는 것이 좋겠습니다.
...
로그를 텍스트 파일에 저장하면 그냥 텍스트 파일이고 파일에는 색깔 정보가 없기 때문에 색깔을 넣을 수 없습니다. 에디터로 열어도 색깔이 보이지 않습니다.
다만, 그런 색깔 코드를 넣어서 파일을 만든 다음에 터미널에 cat (로그파일)을 하면 그 때는 터미널로 컨트롤 문자를 쏴주기 때문에 색깔이 나타날 겁니다.
로그파일에서 특정 부분을 색깔로 강조하고 싶다면, 사용하시는 에디터에서 syntax highlighting을 어떻게 하는지 찾아보시는 걸 추천합니다.
댓글 달기