filepath=$(cd "$(dirname "$")"; pwd)
packagePath="$filepath"/package
zipPath="$filepath"/package.zip if [ -d "$packagePath" ]; then
# 删除旧zip包
rm -fr "$zipPath"
# 把package重命名为packageBase
mv "$packagePath" "$packagePath"Base
# 复制一份packageBase并命名为package
cp -rf "$packagePath"Base "$packagePath"
# 删除零时文件里的svn文件
cd "$packagePath"
find . -type d -name ".svn" |xargs rm -rvf;
# 给零时文件打包并命名为package.zip
cd "$filepath"
zip -r package.zip package
# 6 删除零时文件
rm -fr "$packagePath"
# 7 把packageBase的名字再还原为位package
mv "$packagePath"Base "$packagePath" echo "=-=-=-=-=-=-=-=-=-=-"
echo "打包成功"
else
echo "=-=-=-=-=-=-=-=-=-=-"
echo "打包失败,package目录不存在!!!"
fi
echo "=-=-=-=-=-=-=-=-=-=-"

后来写出的更靠谱的方法:复制到上级目录下打包再移动到本级目录,这样不用对package本身造成影响,避免svn文件删除导致问题以及webstorm项目必须reload的问题:

filepath=$(cd "$(dirname "$")"; pwd)
packagePath="$filepath"/package
zipPath="$filepath"/package.zip if [ -d "$packagePath" ]; then
# 删除旧zip包
rm -fr "$zipPath"
# 复制一份package到上层
cd "$filepath"
cp -rf "$filepath"/package ../package
# 删除零时文件里的svn和idea文件
cd ../package
find . -type d -name ".svn" |xargs rm -rvf;
find . -type d -name ".idea" |xargs rm -rvf;
# 给零时文件打包并命名为package.zip
cd ../
zip -r package.zip package
# 复制zip包到sharpteacher里去
cp -rf package.zip "$filepath"
# 删除零时文件和零食zip
rm -fr package
rm -fr package.zip echo "=-=-=-=-=-=-=-=-=-=-"
echo "打包成功"
else
echo "=-=-=-=-=-=-=-=-=-=-"
echo "打包失败,package目录不存在!!!"
fi
echo "=-=-=-=-=-=-=-=-=-=-"

shell命令:给当前目录里一个文件压缩一份不包含.svn文件的zip包的更多相关文章

  1. Shell 命令行,写一个自动整理 ~/Downloads/ 文件夹下文件的脚本

    Shell 命令行,写一个自动整理 ~/Downloads/ 文件夹下文件的脚本 在 mac 或者 linux 系统中,我们的浏览器或者其他下载软件下载的文件全部都下载再 ~/Downloads/ 文 ...

  2. Shell 命令行,实现一个获取任意位数的随机密码的脚本

    Shell 命令行,实现一个获取任意位数的随机密码的脚本 每次我们想要获得一个密码的时候都很头疼,于是我之前自己用nodejs写了一个 Shell 脚本.这两天在学习 bash Shell 所以,想用 ...

  3. 删除一个目录及其子目录下的所有.svn文件

    今天建立svn,加入代码,发现这些个文件夹中竟然已经有.svn文件夹,也就是它以前使用过svn, 这下就有点麻烦,在全新的svn里,这些.svn需要删除,又不可能一个一个手工去删除 网上翻了一下,发现 ...

  4. Delphi - Windows系统下,Delphi调用API函数和7z.dll动态库,自动把文件压缩成.tar.gz格式的文件

    项目背景 应欧美客户需求,需要将文件压缩成.tar.gz格式的文件,并上传给客户端SFTP服务器. 你懂的,7-Zip软件的显著特点是文件越大压缩比越高,在Linux系统上相当于我们Windows系统 ...

  5. 如何将文件压缩成.tar.gz格式的文件

    1.下载“7-ZIP“这个软件 2.安装7-ZIP以后,直接在你想要打包的文件上点右键菜单,会有一个7-ZIP的子菜单栏,类似WinRAR和WinZIP的那种右键菜单.然后选“7-ZIP”->“ ...

  6. 后缀为inc的是什么文件?C#中如何包含inc文件?

    在项目Web页面文件中,发现这么一句话: <!-- 页面字符集设置 begin--><!-- #INCLUDE FILE="http://www.cnblogs.com/C ...

  7. 009 HDFS的shell命令(里面有一个安全模式)

    一:dfs的命令 1.所有的领命 2.解释 -appendToFile <localsrc> ... <dst>   :追加文件 -checksum <src> . ...

  8. Linux下Shell命令的输出信息同时显示在屏幕和保存到日志文件中

    #直接覆盖日志文件 ls -l | tee ./t.log #将输出内容附加到日志文件 ls -l | tee -a ./t.log 使用的是tee命令

  9. Linux下将一个文件压缩分包成多个小文件

    压缩分包 将文件test分包压缩成10M 的文件: tar czf - test | split -b 10m - test.tar.gz 解压 将第一步分拆的多个包解压: cat test.tar. ...

随机推荐

  1. [整]C#获得程序路径

    // 获取程序的基目录.System.AppDomain.CurrentDomain.BaseDirectory // 获取模块的完整路径.System.Diagnostics.Process.Get ...

  2. <context:annotation-config> 和 <context:component-scan>的差别

    <context:annotation-config> is used to activate annotations in beans already registered in the ...

  3. 利用dispatch_once创建单例

     无论是爱还是恨,你都需要单例.实际上每个iOS或Mac OS应用都至少会有UIApplication或NSApplication. 什么是单例呢?Wikipedia是如此定义的: 在软件工程中,单例 ...

  4. JobTracker启动流程源码级分析

    org.apache.hadoop.mapred.JobTracker类是个独立的进程,有自己的main函数.JobTracker是在网络环境中提交及运行MR任务的核心位置. main方法主要代码有两 ...

  5. ARM安装ROS- indigo

    Ubuntu ARM install of ROS Indigo 溪西创客小屋 There are currently builds of ROS for Ubuntu Trusty armhf. T ...

  6. Delphi日期时间 UNIX

    Delphi日期时间,就是常见的 2014-05-02 10:37:35 --------------------------------------------------------------- ...

  7. [Swift2.0系列]Defer/Guard 基础语法

    1.Defer Swift2.0中加入了defer新语法声明.defer译为延缓.推迟之意.那么在Swift2.0中它将被应用于什么位置呢?比如,读取某目录下的文件内容并处理数据,你需要首先定位到文件 ...

  8. Android 微信分享图文资料

    上个项目做Android的微信分享,需要分享的内容有图片有文字,看了微信分享的SDK,貌似没有这个API,在网上搜了好久,总算找到解决方法了,直接上代码: public void sendReq(Co ...

  9. Line计划今年全面进军中国市场:建立本地团队

    北京时间6月13日下午消息,<华尔街日报>报道称,移动消息应用Line计划于今年晚些时候进军中国市场.Line将在中国建立本地团队,开发内容和功能,从而进一步开拓中国这一全球最大的移动市场 ...

  10. Oracle普通索引,唯一索引,主键的区别

    索引是我们经常使用的一种数据库优化手段,适当的业务操作场景使用适当的索引方案,可以显著的提升系统整体查询性能,当然用户体验也随之提高. 在Oracle中,唯一性索引(Unique Index)是我们经 ...