다음 DISCUS 명령 출력을 얻는 방법:
HTML 이메일 친화적인 콘텐츠로 변환하시겠습니까? 나는 다음과 같은 bash 스크립트를 작성했습니다.
#!/bin/sh
discus > /tmp/discus.log
touch /tmp/diskchart.log
echo "To: [email protected]" > /tmp/diskchart.log
echo "Subject: Weekly Disk Report" >> /tmp/diskchart.log
echo "MIME-Version: 1.0" >> /tmp/diskchart.log
echo "Content-Type: text/html; charset=\"us-ascii\"" >> /tmp/diskchart.log
echo "Content-Disposition: inline" >> /tmp/diskchart.log
echo "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">" >> /tmp/diskchart.log
echo "<html>" >> /tmp/diskchart.log
echo "<div>" >> /tmp/diskchart.log
cat /tmp/discus.log | grep / | grep -v run | /usr/bin/awk '{print $1}{print $9}' >> /tmp/diskchart.log
echo "</div>" >> /tmp/diskchart.log
echo "</html>" >> /tmp/diskchart.log
mail -s "SAT Weekly Disk Report" [email protected] < /tmp/diskchart.log
#rm /tmp/discus.log /tmp/diskchart.log
그러나 이렇게 하면 다음과 같은 출력이 생성됩니다.
실제 메시지에 나타나는 이스케이프 문자를 처리하는 방법을 아는 사람이 있습니까? 이상적으로는 위에 표시된 것과 같은 막대 차트를 보고 싶습니다. 우분투 12.04.1 LTS를 실행 중입니다.
답변1
당신이 사용할 수있는아하(일부 Linux 배포판에도 패키지되어 있음) ANSI 음영 시퀀스를 HTML로 변환합니다.
#! /bin/sh -
sendmail -t -oi << EOF
To: [email protected]
Subject: Weekly Disk Report
MIME-Version: 1.0
Content-Type: text/html; charset="us-ascii"
Content-Disposition: inline
$(discus | aha)
EOF