您的位置:首页 > 运维架构 > Linux

实现递归遍历指定目录,打印目录下的文件名(全路径)。

2013-02-16 22:21 357 查看
把代码保存为scanfile.sh,用法是:./scanfile.sh /root

#!/bin/sh

function scandir() {

local cur_dir parent_dir workdir

workdir=$1

cd ${workdir}

if [ ${workdir} = "/" ]

then

cur_dir=""

else

cur_dir=$(pwd)

fi

for dirlist in $(ls ${cur_dir})

do

if test -d ${dirlist};then

cd ${dirlist}

scandir ${cur_dir}/${dirlist}

cd ..

else

echo ${cur_dir}/${dirlist}

fi

done

}

if test -d $1

then

scandir $1

elif test -f $1

then

echo "you input a file but not a directory,pls reinput and try again"

exit 1

else

echo "the Directory isn't exist which you input,pls input a new one!!"

exit 1

fi
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux
相关文章推荐