Você deve nunca analisar a saída de ls
. Veja algumas explicações aqui:
Como outros recomendaram, use find
. E a melhor maneira (mesmo quando você tem nomes de diretório que contenham novas linhas ou outros tipos de espaço em branco) seria:
alias countdir='find . -type d -print0 | tr -dc "\0" | wc -c'
Veja man find
, man tr
, man wc
para mais informações.