自解压shell文件的制作
项目开发完成之后,我们需要部署到生产环境中,如果生产环境的采用集群的方式,我们一个一个把项目拷贝到生产环境中,然后搭建项目的运行环境;显然这是一个低效率的做法,如果后期哪个文件有个小修小改的,那是相当痛苦的。下面将介绍一个shell实现自解压的方法,将我们的zip压缩包打包到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:
#cat test.zip>>auto_unzip.sh 到现在自动解压zip压缩包的脚本已经制作完成,可以执行auto_unzip.sh看看效果。如果想继续深入的话可以在制作一个.gz压缩包的自解压文件或者.bz2的自解压文件。
页:
[1]