Вы также можете использовать цикл for
и выйти из него с успехом:
for try in {1..10} ; do
[[ -d /somemount/share/folder ]] && break
done
Проблема (которая существует и в других решениях тоже) заключается в том, что после окончания цикла вы не используете t знать, как он закончился - был ли найден каталог или был ли счетчик исчерпан?