Shell脚本:利用sed打包生成二进制部署安装脚本
Posted old w
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell脚本:利用sed打包生成二进制部署安装脚本相关的知识,希望对你有一定的参考价值。
操作环境Centos7
实验脚本nginx-1.12.1
脚本打包
新创建一个目录,把脚本需要的安装包和依赖包及配置文件放到同一个目录下。
!!!注意:以上只是脚本的安装包和文件并没有脚本。
打包刚才装有脚本安装包的目录
在写好的脚本开头加上二进制生成语句
# vim /nginx_install.sh
DIR_TMP=$INSTALL_DIR(变量定义脚本的安装目录)/installtmp
mkdir ${DIR_TMP}
sed -n '1,/^exit 0$/!p' $0 > ${DIR_TMP}/app.tar.gz(替换成刚才打包的安装包的文件名) 2>/dev/null
tar xvf ${DIR_TMP}/app.tar.gz(同上) -C $INSTALL_DIR
rm -rf ${DIR_TMP}(删除多余的文件)
rm -rf $INSTALL_DIR/app.tar.gz(同上)
执行合并语句
注意:脚本和刚才打包的安装包文件要在一个目录下。
cat nginx-install.sh(脚本名称) app.tar.gz(打包的安装包名称) > nginx_install.sh (新的脚本名称)
等待执行完成后,二进制脚本制作完毕。
脚本前半段是脚本,后半段是二进制码。
该操作可以有效的避免因缺少文件,导致脚本无法安装。
以上是关于Shell脚本:利用sed打包生成二进制部署安装脚本的主要内容,如果未能解决你的问题,请参考以下文章
Shell脚本自动编译打包Gradle项目并docker部署