linux - 如何在邮件命令中动态设置标题

标签 linux grep sendmail

我是 Linux 新手。我想动态设置邮件命令的标题。例如

command 1>&2 | mail -s "error" abc@gmail.com

command 1>&2 | mail -s "success" abc@gmail.com

之前的命令返回与邮件命令不同的结果。有什么方法可以通过在上一个命令的输出中搜索关键字来设置标题吗?如果有'error',标题会相应的设置为'error'。预先感谢大家。

最佳答案

所以前面的命令是command。所以你想搜索它的输出并从中创建一个主题,然后你想要整个内容作为正文。我说得对吗?

如果将输出存储在变量中会怎样?

output="`command 1>&2`"

然后,您可以根据需要检查它(不完美但希望是一个开始):

success="`echo ${output} | sed -e 's/blah/blah/'`"

您仍然可以将输出内容用于邮件:

echo ${output} | mail -s "${success}" abc@gmail.com

关于linux - 如何在邮件命令中动态设置标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21734797/

相关文章:

php - 未捕获的异常 'Swift_TransportException',消息为 'Connection could not be established with host smtp.gmail.com [Connection timed out #110]'

带有检查目录的 Linux 别名

c - 使用 read() 将文件内容写入屏幕和 C 中的其他文件的问题

linux - 如何在 Linux 中扫描特定的 repo /文件夹并删除生成的所有其他内容

regex - 什么是最有效的不区分大小写的 grep 用法?

php - 通过php执行shell命令并在浏览器中显示?

c - 确定命令是否成功/存在 c

linux - awk 以制表符作为分隔符

linux - 为什么我从 grep -oc "foo"file 和 grep -o "foo"file 得到不同的答案 | wc -l?哪个是对的?

email - Gitlab、docker 和 sendmail 端口