直接上代码及注释
function recursDir()
#定义递归遍历目录的函数
{
for file in `ls $1`;
#循环遍历目录
do
if [ -d "$1/$file" ]; then
#判断若为目录则按格式打印出目录名称并继续调用函数遍历这个目录
echo "$2$file"
listFiles "$1/$file" "-- $2"
else
#判断若为文件则直接按照格式打印文件名称
echo "$2$file"
fi
done
}
listFiles $1 "-|"
#调用函数,第一个参数为要进行遍历的目录,第二个参数为格式设定,区分目录层级
注意点
- 脚本传参数以及如何获取,可以参考 shell 脚本参数传递
- linux 文件测试运算符,判断是目录或者文件
- 脚本中反引号的作用
- 递归的思想以及注意事项,可以参考 shell 递归求阶乘
- 流程控制语句