大家好,我是博哥爱运维。这节课给大家带来的是利用shell脚本,来实现递归遍历一个目录,输出每一个文件的信息,一直到最后一个目录为止。
掌握内容:
1、复习shell里面函数的写法
2、shell里面递归的使用
3、目录的判断语法
递归特性:
1、必须有一个明确的结束条件。
2、每次进入更深一层递归时,问题规模相比上次递归都应有所减少。
#!/bin/bash
listFile(){
local tempDir=$1
for i in `ls -1 $tempDir`
do
if [ -d ${tempDir}/$i ];then
listFile ${tempDir}/$i
else
echo "dir: $tempDir, file: $i"
fi
done
}
listFile $1
上面内容主要是学习复习shell脚本中函数的写法,以及函数中高级用法递归的使用,真正我们在实际运维工作中,查询一个目录内所有目录里面的文件,直接用前面讲到的find命令即可:
find /path -type f