我试过:
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将强制匹配子目录(如果任何事物火柴)。