900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > linux bin文件制作 linux 将脚本制作成二进制bin文件

linux bin文件制作 linux 将脚本制作成二进制bin文件

时间:2023-02-04 02:01:22

相关推荐

linux bin文件制作 linux 将脚本制作成二进制bin文件

本教程,实现将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

4、测试一下吧

# sh jenkins.bin

是否安装jenkins[Y/N]:y

Jenkins will be installed!!!

jenkins-2.176.1-1.1.noarch.rpm

warning: jenkins-2.176.1-1.1.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID d50582e6: NOKEY

Preparing... ################################# [100%]

package jenkins-2.176.1-1.1.noarch is already installed

5、提取出bin文件中脚本内容

方法一

此方法前提是要知道脚本最后一行内容,这里最后一行是exit 0

sed -n -e '1,/^exit 0$/p' jenkins.bin方法二

使用strings命令

# strings jenkins.bin |more

#!/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."

exit 0

]I&l

K1CI

&&Y d

NKxPfAD

p9hgBbjJ

Y:Kg

1NL#

%~L

RRd8

........

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。