如何根据标准输出发送邮件?

ky4*_*k0b 1 email bash

我只有在stdout中有任何东西时才需要发送电子邮件.现在我发送邮件每10分钟发送一次这样的邮件,即使脚本没有返回任何内容:

/root/script.sh|mail -s topic my@mail.com
Run Code Online (Sandbox Code Playgroud)

如何跳过null stdout上的邮件?

Ton*_*ark 7

我发现了更好的解决方案.对邮件命令使用-E选项,如果正文为空,则不会发送电子邮件.邮件手册说明如下.

-E      Do not send messages with an empty body.  This is useful for 
piping errors from cron(8) scripts.
Run Code Online (Sandbox Code Playgroud)

就这样.

/root/script.sh|mail -E -s topic my@mail.com
Run Code Online (Sandbox Code Playgroud)