我编写了一个在 ash 下使用的 shell 脚本,并将 stderr 和 stdout 重定向到一个日志文件。我希望仅当 stderr 不为空时才将该日志文件通过电子邮件发送给我。
我试过了:
exec >mylog.log 2>&1
# Perform various find commands
if [TEST_IF_STDERR_NOT_EMPTY]; then
/usr/bin/mail -s "mylog" email@mydomain.com < mylog.log
fi
我的问题是双重的:
1-我得到一个 -sh: /usr/bin/mail: not found
错误。似乎邮件命令在 ash 下不存在(或者至少在我的 linux 机器下,这是一个 Synology NAS),还有什么替代方案?最坏的情况是 perl 可用,但我更喜欢使用标准的 sh 命令。
2-如何测试 stderr 不为空?
谢谢