shell命令:给当前目录里一个文件压缩一份不包含.svn文件的zip包
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包的更多相关文章
- Shell 命令行,写一个自动整理 ~/Downloads/ 文件夹下文件的脚本
Shell 命令行,写一个自动整理 ~/Downloads/ 文件夹下文件的脚本 在 mac 或者 linux 系统中,我们的浏览器或者其他下载软件下载的文件全部都下载再 ~/Downloads/ 文 ...
- Shell 命令行,实现一个获取任意位数的随机密码的脚本
Shell 命令行,实现一个获取任意位数的随机密码的脚本 每次我们想要获得一个密码的时候都很头疼,于是我之前自己用nodejs写了一个 Shell 脚本.这两天在学习 bash Shell 所以,想用 ...
- 删除一个目录及其子目录下的所有.svn文件
今天建立svn,加入代码,发现这些个文件夹中竟然已经有.svn文件夹,也就是它以前使用过svn, 这下就有点麻烦,在全新的svn里,这些.svn需要删除,又不可能一个一个手工去删除 网上翻了一下,发现 ...
- Delphi - Windows系统下,Delphi调用API函数和7z.dll动态库,自动把文件压缩成.tar.gz格式的文件
项目背景 应欧美客户需求,需要将文件压缩成.tar.gz格式的文件,并上传给客户端SFTP服务器. 你懂的,7-Zip软件的显著特点是文件越大压缩比越高,在Linux系统上相当于我们Windows系统 ...
- 如何将文件压缩成.tar.gz格式的文件
1.下载“7-ZIP“这个软件 2.安装7-ZIP以后,直接在你想要打包的文件上点右键菜单,会有一个7-ZIP的子菜单栏,类似WinRAR和WinZIP的那种右键菜单.然后选“7-ZIP”->“ ...
- 后缀为inc的是什么文件?C#中如何包含inc文件?
在项目Web页面文件中,发现这么一句话: <!-- 页面字符集设置 begin--><!-- #INCLUDE FILE="http://www.cnblogs.com/C ...
- 009 HDFS的shell命令(里面有一个安全模式)
一:dfs的命令 1.所有的领命 2.解释 -appendToFile <localsrc> ... <dst> :追加文件 -checksum <src> . ...
- Linux下Shell命令的输出信息同时显示在屏幕和保存到日志文件中
#直接覆盖日志文件 ls -l | tee ./t.log #将输出内容附加到日志文件 ls -l | tee -a ./t.log 使用的是tee命令
- Linux下将一个文件压缩分包成多个小文件
压缩分包 将文件test分包压缩成10M 的文件: tar czf - test | split -b 10m - test.tar.gz 解压 将第一步分拆的多个包解压: cat test.tar. ...
随机推荐
- C#画线源码
画线 private void Form1_Load(object sender, EventArgs e) { this.Paint += new PaintEventHandler(Form1_P ...
- C++定义构造函数必须使用初始化列表的场合
明其理,而知其然也. 先给理论.1. 初始化 != 赋值. a.初始化代表为变量分配内存. 变量在其定义处被编译器初始化(编译时). 在函数中, 函数参数初始化发生在函数调用时(运行时). b.赋值代 ...
- 一模 (2) day2
第一题: 题目大意:给出n种物品和每种物品的件数,求拿k件的方案数.N<=30 解题过程: 1.一开始总想着是组合数学的模型,结果怎么都想不出来..然后写了个爆搜,数据很弱,只有1个点超时. 2 ...
- c#中使用servicestackredis操作redis
下载地址: https://github.com/mythz/ServiceStack.Redis 添加dll引用: using ServiceStack.Common.Extensions;usin ...
- 【STL】-Map/Multimap的用法
初始化: map<string,double> salaries; 算法: 1. 赋值.salaries[ "Pat" ] = 75000.00; 2. 无效的索引将自 ...
- AbstractMap学习记录
package java.util;import java.util.Map.Entry; /** * This class provides a skeletal implementation of ...
- 看项目得到info_freeCsdn-01闪屏页面
/** * 渐变展示启动屏 */ private void startAnimation() { Animation aa = new Animation() { }; aa.setDuration( ...
- 新发布GoldenGate 12c版本中的主要特性
业界领先的实时数据集成工具GoldenGate现在可以帮助企业在传统数据库和云平台.大数据平台之间进行实时复制.新的OGG 12c支持更多的异构数据库和大数据平台,进一步提升可管理性和对混合云 ...
- CSS 3D旋转 hover 后设置transform 是相对于正常位置
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- (转)ASP.NET(C#) 读取EXCEL ——另加解决日期问题
使用OLEDB可以对excel文件进行读取,我们只要把该excel文件作为数据源即可. 一 在D盘创建excel文件test.xls: 二 将工作表Sheet1的内容读取到DataSet string ...