A solução mais simples seria usar um arquivo (se você ousar!).
A opção -s
significa "arquivo não é tamanho zero". Os redirecionamentos &>
também incluem erros (significa que stdout e stderr serão enviados).
OUTFILE=/tmp/command.out
some command &> $OUTFILE
[ -s "$OUTFILE" ] && mail -s "subject here" [email protected] < "$OUTFILE"
Edit: o comentário abaixo por glenn jackman contém uma solução ainda melhor.