项目开发完成之后,我们需要部署到生产环境中,如果生产环境的采用集群的方式,我们一个一个把项目拷贝到生产环境中,然后搭建项目的运行环境;显然这是一个低效率的做法,如果后期哪个文件有个小修小改的,那是相当痛苦的。

下面将介绍一个shell实现自解压的方法,将我们的zip[gz/bz2]压缩包打包到shell文件中,执行shell文件时,自动解压zip文件到相关目录,并执行一系列的环境部署操作;

在介绍自解压前我们先介绍一下shell中参数的获取:

    第一个参数:$1第二个参数:$2以此类推第n个参数:$n "$@":被扩展成"$1" "$2" "$3""$*":被扩展为"$1c$2c$3",其中c是IFS的第一个字符"$0":代表当前文件

了解了参数的获取之后,接下载看下面一段shell内容,auto_unzip.sh文件内容:

#!/bin/bash
#解压的目标目录
DIR='/var/www'
[ ! -d ${DIR} ] && mkdir -p ${DIR}
#读取最后一行的内容,也就是zip压缩包的内容
tail -n 1 $0 > _TEMP_.zip
unzip _TEMP_.zip -d ${DIR}
rm _TEMP_.tar -f
exit 0

以上内容不做具体的说明,解释已经清楚了,有什么疑问可以留言反馈。

好了接下来我们需要将我们的zip压缩包文件test.zip整合到auto_unzip.sh:

[root@localhost ~/gzheng]#cat test.zip>>auto_unzip.sh

到现在自动解压zip压缩包的脚本已经制作完成,可以执行auto_unzip.sh看看效果。如果想继续深入的话可以在制作一个.gz压缩包的自解压文件或者.bz2的自解压文件。

转载于:https://blog.51cto.com/suiwnet/1416508

自解压shell文件的制作相关推荐

  1. 第三课 Makefile文件的制作(上)

    1.序言: 前面的课程讲解了从gcc编译过程到其实践,大家可以看到其实在这些步骤中有些是可以简化编译的,但由于参数多以及项目中文件数量多的原因难免会造成错误甚至是浪费大量的时间在这编译上,为此linu ...

  2. 单文件程序制作一键通三合一 v5.10 杏雨梨云版

    前言 单文件程序制作工具是用于打包制作自解压式单文件的小工具 内置7Z.RAR.ZLIB三种自解压模块,方便自行选择 单文件程序制作三合一 使用说明 链接:https://u9baoku.xyz/66 ...

  3. 扩展使用.INF文件-制作免安装的绿色软件

    扩展使用.INF文件-制作免安装的绿色软件 在我写的专门的文章--绿色软件的制作中(http://dream4ever.org/showthread.php?p=33652#post33652) ,讲 ...

  4. KEIL MDK LIB库文件的制作

    作者:yangluoning <KEIL MDK LIB库文件的制作> 来源:CSDN  原文:https://blog.csdn.net/yangluoning/article/deta ...

  5. C#读取Adams的Shell文件(*.shl)

    Shell文件(*.shl)是Adams的一种几何形状文件,外形全是由多边形(直线连接的节点组成)表示的.本文介绍一下Shell文件的读取方法,以及在OpenGL中的显示方法. 1. Shell文件格 ...

  6. makefile 和shell文件相互调用

    shell 文件内调用makefile文件: #!/bin/bash cd ctemplate-2.1 ./configure sudo make -f install cd ../ cd Templ ...

  7. Shell 文件包含

    概述 和其他语言一样,Shell 也可以包含外部脚本.这样可以很方便的封装一些公用的代码作为一个独立的文件. 语法 Shell 文件包含的语法格式如下: . filename # 注意点号(.)和文件 ...

  8. 十一、Shell 文件包含

    Shell 文件包含 和其他语言一样,Shell 也可以包含外部脚本.这样可以很方便的封装一些公用的代码作为一个独立的文件. Shell 文件包含的语法格式如下: . filename # 注意点号( ...

  9. shell文件管理jenkins构建过程---window环境下报错:找不到shell文件

    window环境下报错:找不到shell文件.查看jenkins本地文件,可以查看到shell文件: 检查job配置: 发现使用的是Execute shell; 这个项目只能在liunx下使用,在wi ...

  10. 注册表中shell文件不见了_win7系统注册表中的shell文件不小心被删除的解决方法...

    我们在操作电脑的时候,win7系统注册表中的shell文件不小心被删除的问题对于我们来说其实是比较少见的,一般情况下的正常使用都不会遇到win7系统注册表中的shell文件不小心被删除的状况.但在wi ...

最新文章

  1. glog 报错解决: /bin/bash: aclocal-1.14: command not found
  2. python opencv创建图像_使用Python中OpenCV库创建一幅图片的RGB通道图片
  3. unity发布webgl 触摸控制和鼠标控制冲突问题解决
  4. C# 中奇妙的函数 -- 1. ToLookup
  5. HDU 6143 Killer Names(排列+容斥,dp)
  6. MySQL与会计报表_会计报表的18项必须审核的数据
  7. Dalvik内存管理
  8. 图解JavaScript算法排序
  9. 圆周率π的计算历程及各种脑洞大开的估计方法
  10. IDEA Translation插件安装及设置鼠标悬浮提示的自动翻译
  11. 创建父需求子需求构建需求树_还不知道B+树 ?看完,别再问我什么是B+树 了
  12. python安卓下载-python手册中文版apk下载
  13. 「leetcode」栈与队列:总结篇!
  14. android html文字垂直居中,Android EditText文本不是垂直居中的
  15. Typora突然开始收费?开源免费的MarkText了解一下
  16. 隐藏窗口任务栏图标的三种方法
  17. 有关statistics
  18. python 数据处理之使用get_dummies进行one-hot编码
  19. SQL注入详解(万字文章详解)
  20. 高清壁纸wallhaven.cc下载图片

热门文章

  1. 欢迎给吾博客评分:如果遇见且有帮助,请帮忙打分
  2. JAVA RSA加密解密代码范例(Base64版)
  3. 某文件在桌面上,命令窗口中找不到,因为桌面是两个目录合成的
  4. 编码基本功:让测试人员报一个BUG,让其升级严重性,竟然束手无策
  5. 美国航天能力断层严重
  6. 不宜佩带佛像,宜佩带佛号、咒语
  7. 桌面电源、USB、读卡总集线器的想法
  8. matlab filter函数_简单使用matlab滤波器
  9. linux 查看进程与端口以及内存资源
  10. 网吧电脑显示连不上服务器,Pubwin客户机连不上服务器怎么办?