BASH脚本如何在echo

时间:2018-08-16 13:40:56

标签: bash ssh echo sendmail

我希望在我的bash脚本中使用echo命令。

实际上我是这样做的=>

echo --- REPORT ---
echo - Report send @ $(date +%d-%m-%y_%H:%M)
echo "echo \"Subject: BACKUP-$serv\"" | cat $cheminlogs/backup-$serv.log | /opt/zimbra/postfix/sbin/sendmail -r $mail1 $mail2;   
echo - Report done @ $(date +%d-%m-%y_%H:%M)

但是当我调用sh文件时,这是行不通的,它会打印回显链接,但不会向我发送电子邮件到第三行命令中

如果我仅使用命令就可以了

echo "Subject: BACKUP-$serv" | cat $cheminlogs/backup-$serv.log | /opt/zimbra/postfix/sbin/sendmail -r $mail1 $mail2;

我不知道如何在新命令的开头使用回声

也许我可以通过反转参数更改电子邮件命令,但这会向我发送一封没有textarea cat的电子邮件

cat $cheminlogs/backup-$serv.log | echo "Subject: BACKUP-$serv" | /opt/zimbra/postfix/sbin/sendmail -r $mail1 $mail2;

1 个答案:

答案 0 :(得分:2)

您要查找的表单是

printf 'Subject: %s\n\n' "$subject" | cat - "$server_log" | sendmail

-的意思是“从标准输入读取”。请注意,sendmail将在标头和邮件正文之间留空行。