#记录当前所在的路径
myPath="$PWD"
#将会填充blank
sblank=" "
#blank将会填充在“└────”的前面
sblankblank="└────"
#tree函数,该函数实现tree的功能
tree()
{
#for循环,搜索该目录下的所有文件和文件夹
for file in *;
do
#if判断,判断是不是文件,如果是文件的话,将该文件名写入filelist.txt
if [ -f "$file" ]; then
echo "${sblankblank}$file" >> "${myPath}/filelist.txt"
fi
#if判断,判断是不是文件夹,如果是文件夹的话,将该文件夹的名称写入filelist.txt
if [ -d "$file" ]; then
#1、将该文件夹的名称写入filelist.txt
echo "${sblankblank}$file" >> "${myPath}/filelist.txt"
#2、在“└────”的前面填充“ ”
sblankblank=${sblank}${sblankblank}
#3、进入该文件夹
cd "$file"
#4、执行tree函数(这是递归)
tree
#5、从该文件夹里出来
cd ..
#6、从文件夹里出来之后,将在“└────”的前面填充的“ ”删除
sblankblank=${sblankblank#${sblank}}
fi
done
}
tree
代码参考:
http://my.youkuaiyun.com/my/code/detail/63054