Observe que -prune
apenas interrompe a recursão em subdiretórios; não pára na primeira entrada encontrada. Você provavelmente quer -quit
com GNU ou FreeBSD find
ou -exit
com NetBSD find
:
$ find . -name test
./test
./Y/test
$ find . -name test -print -quit
./test
Em vez de testar o código de retorno de find
, você pode testar a saída
files=$(find . -name "test" -print -quit)
if [ -n "$files" ]
then
echo "error... found $files" >&2
exit 2
fi