是否可以使用 Grep 搜索文件并根据结果发送电子邮件?
我一直在使用
grep SEARCHSTRING /logs/error_log | mailx -s subject [email protected]
但我不希望它在遇到 Null 时发送电子邮件(未找到结果)
答案1
mailx
如果grep
命令返回成功,即找到匹配项,则可以运行:
body="$(grep SEARCHSTRING /logs/error_log)" && echo "$body" | mailx -s subject [email protected]
将输出grep
(如果有)保存到变量中body
,如果grep
命令成功,则将作为邮件正文mailx
运行。$body
答案2
output="$(grep SEARCHSTRING /logs/error_log)"
test -n "$output" && echo "$output" | mailx -s subject [email protected]