我在shell脚本中写了一个函数(elb_detail),当我在终端中执行该脚本时,如下图所示。
sds-freshservice
ELB_HTTPCode_ELB_5XX.cfg:已配置
ELB_RequestCount.cfg:已配置
ELB_SpilloverCount.cfg:未配置
ELB_SurgeQueueLength.cfg:未配置
ELB_UnHealthyHostCount.cfg:未配置`
但是我想将脚本输出发送到我的邮件中,因此在下面的shell脚本中使用了该脚本(通过将函数输出传递给变量并发送电子邮件进行了尝试)
output=$(elb_detail)
echo -n $output | mailx mymailid
**elb_detail is the function wrote in the script**
我收到如下所示的电子邮件(所有内容均为一行),但我希望我的电子邮件显示上述输出。
################ sds-freshservice ################ ELB_HTTPCode_ELB_5XX.cfg : CONFIGURED ELB_RequestCount.cfg : CONFIGURED [31mELB_SpilloverCount.cfg : NOT CONFIGURED [31mELB_SurgeQueueLength.cfg : NOT CONFIGURED [31mELB_UnHealthyHostCount.cfg : NOT CONFIGURED
请帮助指导 (据我所知,不可能通过将函数输出传递给变量来获得所需的输出。)
答案 0 :(得分:0)
在echo
捕获的输出中,您丢失了所有换行符(并且甚至没有由于-n
而添加尾随的换行符),那为什么呢?只需将函数的输出通过管道发送到邮件程序中即可:
elb_detail | mailx mymailid