sam*_*mmy 9 io-redirection email output
我使用以下内容在脚本末尾发送电子邮件。
echo "Script finished on `date`" | /usr/bin/Mail -s "Script complete" "myaccount@myserver.com".
Run Code Online (Sandbox Code Playgroud)
但是,我也想在屏幕上回显相同的消息。我如何在同一个语句中做到这一点?
der*_*ert 19
最简单的方法可能是tee
将消息发送到 stderr 以及 stdout:
echo "Script finished on date" | tee /dev/stderr \
| /usr/bin/Mail -s "Script complete" "myaccount@myserver.com"
Run Code Online (Sandbox Code Playgroud)
tee
将其输入复制到多个目的地,包括标准输出。默认情况下,stderr 和 stdout 都进入屏幕;您将 stdout 重定向到Mail
,只留下 stderr 进入屏幕。
如果出于某种原因在标准输出中需要它,您可以使用子外壳(或其他几种方式)将其重定向回:
(
echo "Script finished on date" | tee /dev/stderr \
| /usr/bin/Mail -s "Script complete" "myaccount@myserver.com"
) 2>&1
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11765 次 |
最近记录: |