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 (新的脚本名称)

等待执行完成后,二进制脚本制作完毕。

脚本前半段是脚本,后半段是二进制码。

该操作可以有效的避免因缺少文件,导致脚本无法安装。

猜你喜欢

转载自blog.csdn.net/weixin_41760409/article/details/120903944
今日推荐