我試圖編寫一個bash腳本來計算文件數量和本地目錄的目錄數量。這是我第一次嘗試:使用bash對文件(和目錄)名稱進行迭代
#!/bin/bash
files=0
dir=0
for file in `ls`
do
if [ -d $file ]
then
dir=$(($dir+1))
else
files=$(($files+1))
fi
done
echo "files=$files, direcotries=$dir"
然而,for
命令不遍歷文件和目錄我希望的名字。如果文件ou目錄的名稱有空格,則這不起作用。當名稱中有空格時,變量「file」將假定文件(或目錄)名稱中每個單詞的值。
有沒有辦法做到這一點?
請注意,僅使用'ls',您可能會錯過某些文件或目錄。爲了實現所有這些,請改用'ls -A'。 – user1934428