Assumindo que seu script está sendo executado com um terminal de controle (para que a saída tenha um lugar para ser visto), basta adicionar uma linha:
/bin/mail -s "$SUBJECT" "$EMAIL" < $emailmessage
cat $emailmessage
Estou tentando executar um script com a saída para ser enviado por e-mail e assistido (monitorado). Tento usar este código:
this are the output: >emailmessage
echo "output here" >>emailmessage
/bin/mail -s "$SUBJECT" "$EMAIL" < $emailmessage
e um e-mail será enviado com os resultados, mas não será exibido no meu terminal, pois agora eu uso echo "email sent!"
para que eu possa ser notificado de que o script foi executado. Como posso enviá-lo e exibi-lo também?
echo "To: $EMAIL"
echo "Subject: $SUBJECT"
echo ""
echo "$emailmessage" | tee >(/bin/mail -s "$SUBJECT" "$EMAIL")
echo "sent!"
Isto usa a substituição de processos, então eu assumi que você está usando bash ou ksh (ou similar, verifique a página man do seu shell)
Tags email shell-script