我試過:
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將強制匹配子目錄(如果任何事物火柴)。