格式化bash cat管道到邮件命令

格式化bash cat管道到邮件命令,bash,formatting,sendmail,Bash,Formatting,Sendmail,当我写这个脚本时,它工作得很好。它所做的是区分两个文件 如果diff失败,则表明它们在今天的文件之间没有更改 和前几天的档案。下载的菜单已过时。 但是,当我发送电子邮件时,它没有格式化。我想换一条新线 使电子邮件清晰易读。但是邮件功能不起作用。文件是 乱读 #!/bin/bash dayofweek=$(/bin/date +%w) today=$(/bin/date +%Y.%m.%d_) yesterday=$(/bin/date -d '1 day ago' +%Y.%m.%d_) des

当我写这个脚本时,它工作得很好。它所做的是区分两个文件 如果diff失败,则表明它们在今天的文件之间没有更改 和前几天的档案。下载的菜单已过时。 但是,当我发送电子邮件时,它没有格式化。我想换一条新线 使电子邮件清晰易读。但是邮件功能不起作用。文件是 乱读

#!/bin/bash
dayofweek=$(/bin/date +%w)
today=$(/bin/date +%Y.%m.%d_)
yesterday=$(/bin/date -d '1 day ago' +%Y.%m.%d_)
destination="/sbclocal/stmevt3/dailymetrics/EQ_PERFORMANCE/"

file1=OPTS_TRIP_TRIP_csv_Oct2014.csv
file2=OPTS_TRIPnon-penny1-20_TRIPnon-penny1-20_Oct2014.csv
file3=OPTS_TRIPnon-penny21-50_TRIPnon-penny21-50_Oct2014.csv
file4=OPTS_TRIPnon-penny51-100_TRIPnon-penny51-100_Oct2014.csv
file5=OPTS_TRIPpenny1-20_TRIPpenny1-20_Oct2014.csv
file6=OPTS_TRIPpenny21-50_TRIPpenny21-50_Oct2014.csv
file7=OPTS_TRIPpenny51-100_TRIPpenny51-100_Oct2014.csv


for i in $file1 $file2 $file3 $file4 $file5 $file6 $file7
do
if diff $destination$today$i $destination$yesterday$i > /dev/null ; then
    printf "$today$i may be stale - please notify production\n" >> /tmp/eq_diffs.$today
sleep 2
else
echo " " > /dev/null
fi
done

#think we might have to do a if file exists
cat /tmp/eq_diffs.$today | mail -s "EQ performance diffs" casper@casper.com

否则echo>/dev/null就完全没有用了,把它丢掉吧。你说的[电子邮件]是什么意思。。。格式不准确?过时后没有换行符-因此它只会转到OPTS_TRIP_TRIP_csv_Oct2014.csv是过时的OPTS_TRIPnon-penny1-20_TRIPnon-penny1-20_Oct2014.csv是过时的OPTS_TRIPnon-penny21-50_Tripny21-50_Oct2014.csv是过时的这可能是您的邮件阅读程序的错误。您正在发送一封带有换行符的纯文本电子邮件,但它被解释为HTML。请尝试其他邮件客户端。请尝试在电子邮件中使用\r\n而不是\n。我相信这是电子邮件的正式结尾。