shell递归遍历目录的方法

mac2022-06-30  18

方法一:

#!/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

方法二、

#! /bin/bash function read_dir(){ for file in `ls $1` do if [ -d $1"/"$file ] //注意此处之间一定要加上空格,否则会报错 then read_dir $1"/"$file else echo $1"/"$file fi done } #测试目录 test read_dir test

其实这两种方法的本质都是一样的,只是第一个写的多一些。

转载于:https://www.cnblogs.com/doubilaile/p/7940660.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)