![如何使用 if 条件忽略文件名中的空格](https://linux22.com/image/154643/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20if%20%E6%9D%A1%E4%BB%B6%E5%BF%BD%E7%95%A5%E6%96%87%E4%BB%B6%E5%90%8D%E4%B8%AD%E7%9A%84%E7%A9%BA%E6%A0%BC.png)
我试过:
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将强制匹配子目录(如果任何事物火柴)。