操作环境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 (新的脚本名称)
等待执行完成后,二进制脚本制作完毕。
脚本前半段是脚本,后半段是二进制码。
该操作可以有效的避免因缺少文件,导致脚本无法安装。