可执行bin文件的制作

可执行bin文件的制作

大家如果安装过linux下的jdk安装包,可能使用过bin文件的安装方式。有没有好奇过bin文件是怎么制作出来的呢,在我们的工作中是不是也可以使用bin文件的格式来制作我们自己的安装包或者是升级包。在了解bin文件的制作方式及其原理之后,就会觉得其实也没有那么难。下面就将制作的方式分享出来给大家。

其实bin文件里面的内容是有shell脚本和你要使用的安装资源文件组成的,制作的命令也很简单:

cat install.sh install.tar.gz > aas-cm-install.bin

通过linux下的cat命令即可制作,其中install.sh是我们的脚本文件,里面是我们安装或者升级的业务逻辑。install.tar.gz是我们的安装资源文件的压缩包。这里压缩的格式可以是任意的。是不是就这样就可以了呢,当然不是。我们还需要在我们的install.sh脚本中增加一些内容,内容如下:

#分离出的压缩包名称  
tmpfile_name=/tmp/install.tar.gz
sed -n -e '1,/^exit 0/!p' $0 > ${tmpfile_name} 2>/dev/null
#将分离出的脚本解压缩到/tmp文件夹下  
tar xzf ${tmpfile_name} -C /tmp

上面的内容加到我们install.sh脚本中其它业务逻辑的最前面。这里大家需要注意的地方是:你的install.sh脚本文件的结尾必须要以exit 0结尾。当然你也可以替换成你自定义的字符串,一个原则是你的cat命令中的exit 0替换成你自定义的字符串,两个地方保持一致。前面说了你的压缩包可以是任意格式,如果你的压缩包不是tar.gz的格式,那么你需要把解压命令替换成相应的解压命令。

sed命令详解

选项说明
-n使用安静模式,在一般情况所有的 STDIN 都会输出到屏幕上,加入-n 后只打印
-e多重编辑,且命令顺序会影响结果

’1,/^exit 0/!p’ $0 其中$0表示当前的shell脚本本身,其中**1,/^exit 0/**表示从bin文件的第一行开始到以exit 0结尾的行,也就是整个shell脚本文件。后面的"!"表示取反,即整个压缩包文件。“p”是正则表达式中的替换标记,表示打印行。

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值