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

相关内容