Answers:
最简单的方法可能是tee
将消息发送到stderr以及stdout:
echo "Script finished on date" | tee /dev/stderr \
| /usr/bin/Mail -s "Script complete" "myaccount@myserver.com"
tee
将其输入复制到多个目的地,包括stdout。默认情况下,stderr和stdout都显示在屏幕上。您要将stdout重定向到Mail
,仅将stderr转到屏幕。
如果出于某种原因需要在stdout中使用它,则可以使用子外壳(或其他几种方法)将其重定向回:
(
echo "Script finished on date" | tee /dev/stderr \
| /usr/bin/Mail -s "Script complete" "myaccount@myserver.com"
) 2>&1
exec &> $LOGFILE
),然后还原stdout,将文件分类为stdout并将其邮寄。