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