下面是我运行良好的 shell 脚本。
#!/bin/bash
DATE_YEST_FORMAT2=`perl -e 'use POSIX qw(strftime); print strftime "%Y%m%d",localtime(time()- 3600*96);'`
echo $DATE_YEST_FORMAT2
QUERY1=`hive -e "
set mapred.job.queue.name=hdmi-technology;
SELECT SUM(total_items_purchased), SUM(total_items_missingormismatch) from lip_data_quality where dt='$DATE_YEST_FORMAT2';`
QUERY2=`hive -e "
set mapred.job.queue.name=hdmi-technology;
SELECT 100 * SUM(total_items_missingormismatch*1.0) / SUM(total_items_purchased) FROM lip_data_quality where dt='$DATE_YEST_FORMAT2';"`
echo "Total items purchased: `echo $QUERY1 | awk '{print $1}'`"
echo "Total Items MissingorMismatch: `echo $QUERY1 | awk '{print $2}'`"
echo "Error Percentage: $QUERY2"
我正在运行上面的shell脚本,如下所示 -
sh -x test.sh
问题陈述:-
从上面的 shell 脚本中,我从最后三个 echo 语句中得到了以下三件事 -
Total items purchased
Total Items MissingorMismatch
Error Percentage
我需要通过电子邮件将以上三件事发送到我们拥有的电子邮件组DL-host@company.com
,shell script
或者假设如果我10 email list
需要发送具有相同内容和主题的电子邮件,那么我想,我可以存储所有这些10 封电子邮件在某个变量中列出,然后从那里读取并继续发送,对吗?这有可能做到吗?我在想像下面这样的电子邮件结构,只是制作非常简单。
学科
测试数据
邮件正文
Total items purchased:- Some Number
Total Items MissingorMismatch:- Some Number
Error Percentage:- Some Number
任何想法将不胜感激。
更新,在尝试了 larsks 的建议后,我只收到一封电子邮件中的最后一个回显语句,这意味着只有错误百分比一个,而不是一封电子邮件中的所有三个:-
#!/bin/bash
DATE_YEST_FORMAT2=`perl -e 'use POSIX qw(strftime); print strftime "%Y%m%d",localtime(time()- 3600*96);'`
echo $DATE_YEST_FORMAT2
QUERY1=`hive -e "
set mapred.job.queue.name=hdmi-technology;
SELECT SUM(total_items_purchased), SUM(total_items_missingormismatch) from lip_data_quality where dt='$DATE_YEST_FORMAT2';`
QUERY2=`hive -e "
set mapred.job.queue.name=hdmi-technology;
SELECT 100 * SUM(total_items_missingormismatch*1.0) / SUM(total_items_purchased) FROM lip_data_quality where dt='$DATE_YEST_FORMAT2';"`
echo "Total items purchased: `echo $QUERY1 | awk '{print $1}'`"
echo "Total Items MissingorMismatch: `echo $QUERY1 | awk '{print $2}'`"
echo "Error Percentage: $QUERY2" | mail -s "Test Data" rj@host.com