前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >shell删除指定目录下的svn目录

shell删除指定目录下的svn目录

作者头像
meteoric
发布2018-11-16 15:04:24
2.6K0
发布2018-11-16 15:04:24
举报
文章被收录于专栏:游戏杂谈游戏杂谈

在发布或是部署一些项目时,需要先将资源上传到服务器。环境一般分为:本机、内网、公网,公网的话,考虑带宽问题,一般不允许将.svn目录和Thumbs.db文件上传上去,这样需要先导出项目文件,如果工程较大,导出可能还比较慢。内网的话,为了方便,我一般就是上传内网时,把项目里的文件夹直接上传至内网服务器,然后使用shell命令再删除.svn目录和Thumbs.db文件。

直接在终端下使用VI进行编辑,然后输入shell程序,保存、退出,需要使用时直接调用sh xxx.sh ‘目录路径’即可。

完整的shell程序:

代码语言:javascript
复制
echo 'start~'
#echo $1
 
if [ -z $1 ]; then 
    echo 'please input you need del directory!';
    exit;
elif [ ! -d $1 ]; then
    echo "$1 is not directory";    
else
    cd $1;
    echo "change path $1";
    find . -type d -name ".svn" |xargs rm -rvf;
    find . -type f -name "Thumbs.db" |xargs rm -rvf;    
fi;

之前没接触过shell,所以记录一下,以免事后忘记了。

上述代码 $1为调用shell时传入的参数 $0为shell文件名

-z $1  则是判断是否有参数的输入

-d $1  判断传入的参数是否为一个目录,检测是否为文件,使用-f

find 指令 后跟着 需要查找的目录

    -type 需要查找的类型,常用一般为 –d –f (还有其它参数,可以使用--help查看)

    -name 使用文件名对查找的文件/文件夹进行过滤

    xargs 是将前面获取前面查找的所有参数,因为后述参数的传递有上限

rm 删除文件及目录

     -f 强制删除

     -r 递归处理

    -v 显示执行的过程 (其它参数可以使用--help进行查看)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2011-11-07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档