Aqui está seu script modificado ligeiramente:
#!/bin/bash
if files=$(find . -name "*.gz" -size -10k -mtime -1 -print) ; then
echo "The backup test has failed!\n$files" | mail -s "BACKUP FAILURE" [email protected]
fi
Você não precisa colocar isso em um loop for; existe um loop implícito no comando find .
Uma técnica de depuração que você pode usar se você ainda não descobriu isso é executar partes dos comandos acima para testá-las.
No entanto, há também um depurador bash .