A maneira de determinar se há e-mails não lidos em um arquivo de caixa de correio é tradicionalmente verificar se o tempo de acesso é anterior à hora da modificação.
Você pode facilmente encontrar esses horários usando o comando stat
; especificando um formato de saída personalizado, esses valores podem ser importados para o shell:
eval $(stat -c 'atime=%X; mtime=%Y' /var/spool/mail/$USER)
Depois disso, você pode comparar esses valores:
if [ $atime -le $mtime ]; then echo 'You have new mail'; fi
Para torná-lo um pouco mais robusto, verifique a existência do arquivo de mensagens primeiro.