linux下通用安装包的制作

我要做的很简单,一个脚本比如install.sh和一个压缩文件比如install.tar.gz,脚本的作用就是解压这个文件,现在我要做一个sh的安装包,就是cat install.sh install.tar.gz>>setup.sh 或者说 cat install.tar.gz>>install.sh这种的,我应该怎么写脚本,来实现可以运行脚本就解压完安装包到指定文件夹下(我删除了install.tar.gz)

写个球脚本
直接
tar xvf 你的压缩包 -C /你想放到的地方追问

我需要做一个类似于windows exe一样的安装文件,不是这样做压缩文件,你没懂我的需求

追答

你的需求
1 解压缩tar文件
2 把解压文件扔指定位置
你还有啥需求 你倒是说清楚啊

追问

我要做一个sh的安装包,基本原理要生成一个复合文件,复合文件由一个sh文件和tar文件拼接而成,就是说一个sh文件包含脚本和tar文件,我拷贝这个sh文件可以去任何别的LINUX系统下执行安装

追答

你这是闲的蛋疼
明明用tar就能搞定的问题你偏偏搞得这么麻烦
你直接把tar文件扔到别的系统下 执行下tar命令不就完事了
我还未见过能把tar文件再放到文件里的
你还是别用linux 了 你适合用windows
你用windows的想法来玩linux会蛋疼到碎

追问

项目需要,不是我想这么做,我也知道你那么简单,我现在稍微研究点眉目,现在问题就是我导出来的sh文件取出来的tar包包含我脚本里的内容

追答

有个思路你试试吧
sh文件
前几行
tar xvf tar包的临时文件
用awk或者sed 获取本sh文件后特定行后面的所有重定向到一个文件(也就是tar压缩包)
然后
exit

特定行
----------------------
然后把cat tar包 >> sh 文件

意思就是用cat把tar包追加到sh文件的末尾
保证能够提取这部分重定向到一个临时文件
再把临时文件解压缩

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答