//盗墓者是个丑奴儿,原
//已经发现本博文的shell脚本存在bug
bug递归目录展示:https://blog.csdn.net/Java_Dmz/article/details/81191436
正确递归目录:https://zhuanlan.zhihu.com/p/40135804
#!bin/sh
//ls打开输入参数的路径,参数:输入参数路径。如果是目录readd()递归读取,如果是文件交给contain()判断是否是.java文件
opend(){
for i in `ls $path`
do
if [ -d $path$i ];then
dir=$path$i;
readd $dir;
else
contain $dir;
fi
done;
}
//递归打开目录,参数:目录路径,如果是目录继续打开,如果是文件contain判断
readd(){
for i in `ls $dir`
do
if [ -d $dir'/'$i ];then
dir=$dir'/'$i;
readd $dir;
dir=$1;
else
dir=$dir'/'$i;
contain $dir;
dir=$1;
fi
done;
}
//判断文件是否是.Java文件,参数:文件路径
contain(){
if [[ $dir =~ '.java' ]];then
echo $dir;
fi
}
//获得输入参数,如果是目录调用opend()方法。由opend分发给其他方法执行。如果是文件contain判断。
if [ -d $1 ];then
path=$1;
opend $path;
else
dir=$1;
contain $dir;
fi
运行结果:先搜出在上层目录创建在obj.java,再在本目录中创建stu.java,依然有搜索到。