bash/shell 遍历文件夹下的所有文件

最近在研究shell script,先从简单的一步步写吧。

本文主要写 如何用shell指令设计,遍历生成文件夹下的目录

#!/bin/bash 

function ergodic(){  
    for file in ` ls $1 `  
    do  
        if [ -d $1"/"$file ]   
        then  
             ergodic $1"/"$file  
        else  
             echo "$1/$file" 
        fi  
    done  
}  
INIT_PATH="/home/justine/binst"  
ergodic $INIT_PATH  

第一行,声明文件使用bin/bash执行

第三行,函数名

第四行,bash的for循环,标准格式为for ** in **  do ** done。 其中for ** in **意思是file 在目录中循环,ls生成所有的目录,$1表示第一个参数

第6行,判断是否为文件夹

第7行,如果是文件夹,那么做第8行的操作

第8行,递归循环函数

第10行,如果之前的if不成立,则输出结果

第11行,fi和if相对应表示结束if语句

第14行,定义路径

第15行,将规定的路径作为参数传入函数中


结果如下:


  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值