¿Cómo puedo ignorar un espacio en el nombre del archivo usando la condición if

¿Cómo puedo ignorar un espacio en el nombre del archivo usando la condición if

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:

Tenga en cuenta también que agregar a /al final del patrón forzará la coincidencia de subdirectorios (sicualquier cosapartidos).

información relacionada