Este é um exercício trivial no uso de while
:
n=0 while ! mkdir dir$n do n=$((n+1)) done
Mas é claro que não é preciso pensar muito para perceber que esse mecanismo trivial não se adapta bem.
Então, em vez de reinventar a roda e ter que raspar todos os cantos novamente, criamos diretórios temporários exclusivos de um modelo de maneira um pouco diferente:
name=$(mktemp -d dirXXXXXXXXXXX)