grep 仅在找到结果时搜索 error_log 和电子邮件?

Dav*_*ton 3 grep

是否可以使用 Grep 搜索文件并根据结果发送电子邮件?

我一直在使用

grep SEARCHSTRING /logs/error_log | mailx -s subject name@emailaddress.co.uk
Run Code Online (Sandbox Code Playgroud)

但我不希望它在遇到 Null 时发送电子邮件(未找到结果)

hee*_*ayl 5

mailx如果grep命令返回成功,即找到匹配项,则可以运行:

body="$(grep SEARCHSTRING /logs/error_log)" && echo "$body" | mailx -s subject name@emailaddress.co.uk
Run Code Online (Sandbox Code Playgroud)

将输出grep(如果有)保存到变量中body,如果grep命令成功,则将作为邮件正文mailx运行。$body