【发布时间】:2014-01-28 12:38:15
【问题描述】:
我编写了一个在 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 不为空?
谢谢
【问题讨论】: