A melhor resposta para o que você quer é
echo `find . -maxdepth 1 -type d | wc -l`-1 | bc
isso subtrai um para remover o indesejado '.' diretório que encontra listas (como patel deven mencionado acima).
Se você quiser contar as subpastas recursivamente, basta deixar a opção maxdepth, então
echo `find . -type d | wc -l`-1 | bc
PS Se você achar a substituição de comandos feia, subtrair um pode ser feito como um fluxo puro usando sed
e bc
.
Subtraindo um da contagem:
find . -maxdepth 1 -type d | wc -l | sed 's/$/-1\n/' | bc
ou, adicionando a contagem a menos um:
find . -maxdepth 1 -type d | wc -l | sed 's/^/-1+/' | bc