Tente isto:
#!/bin/bash
NUM_FAILS=0
for FILE in $(find . -iname '*.html' -type f -print); do
/usr/local/bin/tidy -q -e ${FILE}
if [ $? -ne 0 ]; then
((NUM_FAILS++))
fi
done
if [ ${NUM_FAILS} -gt 0 ]; then
echo -e "There were ${NUM_FAILS} failed files."
exit 1
fi
exit 0
Explicação: Você desejará percorrer os resultados do comando find
, executar tidy
e, em seguida, incrementar um contador se um erro for encontrado (suponho que tidy
gerará um código de retorno diferente de zero no erro).
Depois de percorrer os arquivos, se houver algum erro, você poderá exit 1
, e é sempre recomendável explicitamente exit 0
se as coisas forem concluídas com êxito.