Как можно игнорировать пробел в имени файла, используя условие if

Как можно игнорировать пробел в имени файла, используя условие if

Я пытался:

for item in *
do 
if [ -d  ${item} ]
then 
echo "$item" 
fi
done

и при чтении имени файла с пробелом выводится ошибка:

 line 11: [: too many arguments 

решение1

Процитируйте расширение $item, точно так же, как вы уже делаете с echo:

for item in *; do
    if [ -d "$item" ]; then
        echo "$item"
    fi
done

Связанный:

Обратите внимание, что добавление a /в конец шаблона приведет к принудительному сопоставлению подкаталогов (есличто-либоМатчи).

Связанный контент