Que tal isso - um pouco de reorganização do seu script:
#!/usr/bin/env bash
for HOST in $HOST1 $HOST2 $HOST2
do
HEARTBEAT=$(${LDAPSEARCH} -h ${HOST} -p ${PORT} -D "${USER}" -w $${PASS} -b "" -s base "(objectClass=*)" | grep dn: | sed 's/dn:/dn/g')
if [ ! $HEARTBEAT = 'dn' ]; then
echo "NOT OK"
exit 1
fi
done
echo "ok"
Este script imprimirá um único NOT OK
depois de encontrar o primeiro HOST
incorreto e imprimirá um único OK
se não houver HOSTs
incorreto.