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

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

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

完整的shell程序:

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进行查看)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏电光石火

tomcat配置ROOT目录和多站点

多站点 1 打开tomcat/conf/server.xml,在里面找到 <Engine name="Catalina" defaultHost="lo...

51010
来自专栏Python

CentOS下Redis的安装

CentOS下Redis的安装 前言 安装Redis需要知道自己需要哪个版本,有针对性的安装,比如如果需要redis GEO这个地理集合的特性,那么redis...

4297
来自专栏青玉伏案

Git知识总览(五) Git中的merge、rebase、cherry-pick以及交互式rebase

上篇博客聊了《git分支管理之rebase 以及 cherry-pick相关操作》本篇博客我们就以Learning Git中的关卡进行展开。下方列举了Learn...

2866
来自专栏SDNLAB

ONOS编程系列(二)命令行命令与服务开发

此文章承接ONOS编程系列(一) Application Tutorial ,如果尚未看过上一篇,请先看完上一篇,再回过头来看此篇。 本文章的目的在于让读者明白...

3449
来自专栏進无尽的文章

Cocopods| 使用自己的私有仓库时的一次报错记录

查看本地的 cocoapods repos 有没有时,发现没有我们想要的类库:JWJFramework

2702
来自专栏iOSDevLog

在Bitbucket Cloud上发布网站

现在可以在yoursitename.bitbucket.io上访问Bitbucket Cloud上托管的静态站点。除了将链接更新为指向https://yours...

1723
来自专栏埋名

Git 常用命令清单笔记

这里是我的笔记,记录一些git常用和一些记不住的命令,这个笔记原本是基于 颜海镜的文章增加的,后面慢慢增加了许多内容,可以看出的的学习轨迹。分享出来方便自己查看...

1173
来自专栏黑白安全

80端口被system(pid=4)占用的解决方法

80端口一般被当做网页服务器的默认端口,使用本机搭建服务器环境的时候,都会默认使用80端口来作为网页访问端,但是有的时候80端口会被其他的不明身份的程序占用,导...

2512
来自专栏linux系统运维

VM虚拟机的下载以及安装centos7

2213
来自专栏友弟技术工作室

Git从0到1

本文只是帮助你入门,从一个不会使用git的小白,到会解决开发中常见的使用。 废话不多说,直接进入正题。 ? 最远处 git git是用于Linux内核开发的...

43512

扫码关注云+社区

领取腾讯云代金券