Lo intenté:
for item in *
do
if [ -d ${item} ]
then
echo "$item"
fi
done
y cuando se lee un nombre de archivo con espacio, se imprime el error:
line 11: [: too many arguments
Respuesta1
Cita la expansión de $item
, tal como ya lo estás haciendo con echo
:
for item in *; do
if [ -d "$item" ]; then
echo "$item"
fi
done
Relacionado:
- ¿Por qué mi script de shell se atasca con espacios en blanco u otros caracteres especiales?
- ¿Cuándo son necesarias las comillas dobles?
Tenga en cuenta también que agregar a /
al final del patrón forzará la coincidencia de subdirectorios (sicualquier cosapartidos).