不多说,直接上代码


linux下,遍历当前脚本执行目录,并删除制定文件


#!/bin/bash

function fileClear(){
        for file in `ls $1`
                do 
                        if [ -d $1"/"$file ]
                        then
                                rm -f *.o *.gch *~
                                cd $1"/"$file
                                rm -f *.o *.gch *~
                                fileClear $1"/"$file
                        fi
                done
}

runPath=$(cd `dirname $0`;pwd)

fileClear $runPath


先声明函数


使用$1 获取函数的第一个参数,使用ls获得当前目录下的所有的目录


对每个目录执行,如果是目录,就执行if内的语句,并递归执行函数

 cd 'dirname $0'

这个命令写在脚本文件里才有作用,他返回这个脚本文件放置的目录,并可以根据这个目录来定位所要运行程序的相对位置(绝对位置除外)

最后  cd 'dirname $0'  是切换到当前脚本的执行目录,然后使用$(**;pwd)的方式获得当前脚本所在的绝对路径


然后将该路径传递给函数作为参数使用


—————————————————————————————————————————————————————————————————

//写的错误或者不好的地方请多多指导,可以在下面留言或者点击左上方邮件地址给我发邮件,指出我的错误以及不足,以便我修改,更好的分享给大家,谢谢。

转载请注明出处:http://blog.csdn.net/qq844352155

author:天下无双

Email:royalchen@royalchen.com

2015-9-11

于广州天河荷光路

——————————————————————————————————————————————————————————————————









Logo

更多推荐