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

関連:

/また、パターンの末尾に を追加すると、サブディレクトリが強制的に一致します(もし何もないマッチ)。

おすすめ記事