Réponses:
Le moyen le plus simple est probablement tee
d'envoyer le message à stderr ainsi qu'à stdout:
echo "Script finished on date" | tee /dev/stderr \
| /usr/bin/Mail -s "Script complete" "myaccount@myserver.com"
tee
duplique son entrée vers plusieurs destinations, y compris stdout. Par défaut, stderr et stdout vont à l'écran; vous redirigez stdout vers Mail
, laissant simplement stderr aller à l'écran.
Si vous en avez besoin dans stdout pour une raison quelconque, vous pouvez le rediriger en utilisant un sous-shell (ou plusieurs autres façons):
(
echo "Script finished on date" | tee /dev/stderr \
| /usr/bin/Mail -s "Script complete" "myaccount@myserver.com"
) 2>&1
exec &> $LOGFILE
), puis restaurez stdout, transférez le fichier vers stdout et envoyez-le par courrier.