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#获得程序路径
			// 获取程序的基目录.System.AppDomain.CurrentDomain.BaseDirectory // 获取模块的完整路径.System.Diagnostics.Process.Get ... 
- <context:annotation-config> 和 <context:component-scan>的差别
			<context:annotation-config> is used to activate annotations in beans already registered in the ... 
- 利用dispatch_once创建单例
			无论是爱还是恨,你都需要单例.实际上每个iOS或Mac OS应用都至少会有UIApplication或NSApplication. 什么是单例呢?Wikipedia是如此定义的: 在软件工程中,单例 ... 
- JobTracker启动流程源码级分析
			org.apache.hadoop.mapred.JobTracker类是个独立的进程,有自己的main函数.JobTracker是在网络环境中提交及运行MR任务的核心位置. main方法主要代码有两 ... 
- ARM安装ROS- indigo
			Ubuntu ARM install of ROS Indigo 溪西创客小屋 There are currently builds of ROS for Ubuntu Trusty armhf. T ... 
- Delphi日期时间 UNIX
			Delphi日期时间,就是常见的 2014-05-02 10:37:35 --------------------------------------------------------------- ... 
- [Swift2.0系列]Defer/Guard 基础语法
			1.Defer Swift2.0中加入了defer新语法声明.defer译为延缓.推迟之意.那么在Swift2.0中它将被应用于什么位置呢?比如,读取某目录下的文件内容并处理数据,你需要首先定位到文件 ... 
- Android 微信分享图文资料
			上个项目做Android的微信分享,需要分享的内容有图片有文字,看了微信分享的SDK,貌似没有这个API,在网上搜了好久,总算找到解决方法了,直接上代码: public void sendReq(Co ... 
- Line计划今年全面进军中国市场:建立本地团队
			北京时间6月13日下午消息,<华尔街日报>报道称,移动消息应用Line计划于今年晚些时候进军中国市场.Line将在中国建立本地团队,开发内容和功能,从而进一步开拓中国这一全球最大的移动市场 ... 
- Oracle普通索引,唯一索引,主键的区别
			索引是我们经常使用的一种数据库优化手段,适当的业务操作场景使用适当的索引方案,可以显著的提升系统整体查询性能,当然用户体验也随之提高. 在Oracle中,唯一性索引(Unique Index)是我们经 ... 
