说明:该脚本一共两个入参,第一个为被遍历目录,第二个为回调方法(目录下文件被遍历到时,针对这个文件需要做什么),该回调方法第一个入参必须是被遍历到的文件
# 遍历目录下所有文件(包括子目录)
# 调用格式 dirTraversal 被遍历目录 回调方法(参数为目录下的文件)
# 实例: dirTraversal /home callback (callback为自定义回调方法)
function dirTraversal(){
for element in `ls $1`
do
dir_or_file=$1"/"$element
if [ -d $dir_or_file ]
then
dirTraversal $dir_or_file
else
# 回调
$2 $dir_or_file
fi
done
}
实例
# 先自定义回调方法
function callback(){
# 获取文件
file=$1
# 针对文件自定义处理逻辑
}
# 遍历目录
dirTraversal /root callback