A resposta dependerá mais do que você pretende fazer com a saída do que do que você está procurando. Se você quiser apenas ver uma lista de referências visuais no terminal, sua primeira solução é realmente muito boa. Se você quiser processar a saída, considere usar outro método.
Uma das formas mais robustas de obter uma lista para alimentar outro programa é usar find
.
find -maxdepth 1 -type d
O motivo de isso ser bom para os feeds é que find
pode gerar os dados separados por nulos usando -print0
ou adequadamente as cadeias de escape como argumentos para outros programas usando -exec
. Para referência sobre por que isso é melhor do que analisar a saída de ls, consulte ParsingLS no Wiki de Greg.