Se tar
encontrar erros em sua entrada, exit(3)
¹ terá um valor de saída diferente de zero. Isso - com a maioria das tar
implementações - também é feito ao listar o conteúdo do arquivo com t
. Assim, você pode simplesmente verificar o valor de saída de tar
para determinar se algo deu errado:
if ! tar tf /root/archive.tar &> /dev/null; then
write_an_email_to_root
fi
Se o tar
não encontrar todos os erros com t
, você ainda poderá extrair o arquivo para stdout
e redirecionar stdout
para /dev/null
, o que seria a abordagem mais lenta, porém mais confiável:
if ! tar xOf /root/archive.tar &> /dev/null; then
write_an_email_to_root
fi
¹ Essa notação denota a manpage, não a chamada real. Veja man 3 exit
.