私は試した:
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
関連している:
また、/
パターンの最後に を追加すると、サブディレクトリのマッチングが強制されることに注意してください(何でもマッチします。