本教程,实现将shell脚本和需要安装的软件包制作成二进制bin文件
1、编写shell脚本
这里有个安装jenkins的shell脚本,脚本内容如下:
#!/bin/bash
sed -n -e '1,/^exit 0$/!p' $0 > jenkins.tar.gz 2>/dev/null
read -p "是否安装jenkins[Y/N]:" YesNo
if [ $YesNo == Y ] || [ $YesNo == y ];then
echo "Jenkins will be installed!!!"
tar zxvf jenkins.tar.gz
rpm -ivh --test jenkins-2.176.1-1.1.noarch.rpm
else
echo "Nothing was done."
fi
exit 0
说明:
sed -n -e '1,/^exit 0$/!p' $0 > jenkins.tar.gz 2>/dev/null 这个很关键了,就是将shell脚本和压缩文件分解开,将所有安装需要的软件程序导出到jenkins.tar.gz
exit 0 一定要加,不然执行二进制文件的时候,在执行完脚本命令,还会执行下面的压缩文件。什么后果你可以试试
2、准备依赖软件包
将所需要的jenkins的rpm包压缩成jenkins.tar.gz文件
3、制作二进制文件
cat installjk.sh jenkins.tar.gz >jenkins.bin