Eu geralmente faço o que você quer assim:
#!/bin/bash
{
cat <<-EOF
=========================================================
Step : SHUTTING Down of database
Start : 'date '
========================================================
EOF
export SHUT=/home/oracle/SHUT.txt
>$SHUT
sqlplus -s / as sysdba <<-EOF
set feedback off verify off termout off linesize 120 pagesize 500;
spool $SHUT
shut immediate;
spool off;
exit;
EOF
cat $SHUT
cat <<-EOF
=========================================
Status : Completed
End : $(date)
=========================================
EOF
} | mailx -s "Shutdown_of_'$ORACLE_SID'_$(hostname)_Completed_$(date "+%Y_%b_%d") " \
[email protected]
O acima cria uma subshell que irá capturar toda a saída dos comandos dentro dela. Em seguida, canalizamos toda essa saída para mailx
diretamente.
NOTA: Preste atenção especial a qualquer espaçamento adicional em torno dos marcadores EOF
ao usar heredocs. Um espaço extra errante no final do EOF
pode fazer com que ele não funcione.