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. ...
随机推荐
- BZOJ3308 九月的咖啡店
Orz PoPoQQQ 话说这题还有要注意的地方... 就是...不能加SLF优化,千万不能加 n = 40000,不加本机跑出来2sec,加了跑出来40sec...[给跪了 /*********** ...
- Octopus系列之关于多选属性如何在OO中表示呢?
在电子商务系统中 关于产品属性的问题 会设计如下几个表 产品信息 Product 选项信息表 Option 存储 Size Color.... 选项值信息表 O ...
- Could not find artifact com.sun:tools:jar:1.5.0
问题: Failed to execute goal on project petroleum: Could not resolve dependencies for project petroleu ...
- STL 自学
STL 一.vector动态数组 1 包含头函数 #include<vector> 2 函数的声明: vector<int> v; vector<int> v[ma ...
- java接收键盘输入
System.out.print("Please input String to check:");//提示输入 Scanner sc=new Scanner(System.in) ...
- 在网页中编辑报表的报表设计器Stimulsoft Reports Designer.Web报表控件
Stimulsoft Reports Designer.Web报表控件是一款网页报表设计器.您想在网页中编辑您的报表吗?现在是可能的! Stimulsoft Reports Designer.Web ...
- NSURLSession使用实战教程
我的前面两篇文章介绍了NSURLSession套件的使用和NSURLSession套件的主要类.今天我们使用NSURLSession来完成一个小的应用程序.在实战之前,我先补充一点,为什么苹果会主推N ...
- YAML 语言语法
发现很多开源的软件的配置文件都使用了这种语言来描述,据说是简单强大,很不巧,ansible也使用了这种语言来描述配置,学习ansible之前,先学习一下YAML语言. YAML基本语法规则如下: 大小 ...
- MongoDB C#驱动中Query几个方法 (转)
Query.All("name", "a", "b");//通过多个元素来匹配数组 Query.And(Query.EQ("nam ...
- postgreSQL初步使用总结
一.安装 postgreSQL安装完成后会默认生成一个名为postgres的用户和一个名为postgres的数据库.可以使用自带的psql.exe工具来登录.其帮助信息如下 连接到本地的postgre ...