Se algo foi encontrado ou não, find
sempre retornará verdadeiro. Você pode usar grep
para determinar se find
encontrou algo:
read -r a
if find . -maxdepth 1 -name "$a" -print -quit | grep -q .
then
echo "You found the file"
else
echo "You haven't found the file"
fi
Parar após a primeira partida ( -print -quit
) deve melhorar o desempenho, como Eliah observou. Use -maxdepth 1
para limitar os resultados ao diretório atual, mas find
é um exagero para isso.