#!/bin/bash
file_count=0
folder_count=0
function FILE_COUNT
{
for file in *
do
if test -f $file
then
((file_count++))
echo $file
elif test -d $file
then
((folder_count++))
echo $file
cd $file
FILE_COUNT
cd ..
fi
done
}
FILE_COUNT
echo "There are $file_count files and $folder_count folders in : " ;pwd
刚刚开始学习Shell编程,请多多指教。这个程序虽然简单,却花了我将近两个小时,原因就是很多细节没注意到,然后就一直反复调试。总结如下:
1、 一定要先在脑海中想清楚程序构造,这样才能做出精简高效的程序。
2、调试BUG时,一步一步分析程序运行的状态,往往BUG就出现在不起眼的地方。
3,、运行这个遍历程序前,先估计你当前目录下大概有多少子目录和文件,不然,会像我一样,一不小心就在根目录下运行了这个程序,已经二十分钟了,它还没有停下的意思。估计能赶超小彩旗。。。