Antworten:
Der einfachste Weg ist wahrscheinlich tee
die Nachricht an stderr sowie stdout:
echo "Script finished on date" | tee /dev/stderr \
| /usr/bin/Mail -s "Script complete" "myaccount@myserver.com"
tee
dupliziert seine Eingabe an mehrere Ziele, einschließlich stdout. Standardmäßig werden sowohl stderr als auch stdout auf dem Bildschirm angezeigt. Sie leiten stdout zu weiter Mail
und lassen nur stderr auf den Bildschirm.
Wenn Sie es aus irgendeinem Grund in stdout benötigen, können Sie es mithilfe einer Subshell (oder auf verschiedene andere Arten) zurückleiten:
(
echo "Script finished on date" | tee /dev/stderr \
| /usr/bin/Mail -s "Script complete" "myaccount@myserver.com"
) 2>&1
exec &> $LOGFILE
) und stellen Sie dann stdout wieder her, katzen Sie die Datei in stdout und senden Sie sie per E-Mail.