Linux下创建自解压文件的方法
原理:
1、通过shell创建。原理是将脚本文件和压缩包文件放入同一个文件中。
2、通过shell脚本来完成定位,通过管道将压缩包内容传给tar解压到指定文件夹中
3、跳入解压文件夹完成程序运行。
使用方法:
1、把脚本内容放在 install.sh中,并准备压缩包文件install.tar.gz
2、cat install.sh install.tar.gz > auto
3、chmod +x auto 执行脚本即可
#!/bin/bash
echo "auto unzip"
export TMPDIR=`mktemp -d /tmp/tmp.XXXXXX`
#从脚本$0(本脚本中)完成行数统计放在ARCHIVE中
ARCHIVE=`awk '/^__ARCHIVE_BELOW__/ {print NR + 1; exit 0; }' $0`
#定位到行尾,然后通过管道输出给tar
tail -n +$ARCHIVE $0 | tar xzv -C $TMPDIR
#保存当前目录
CDIR=`pwd`
#跳入tmpdir删除文件,运行文件
cd $TMPDIR
./a.out # 改为压缩包中你的可执行程序的名字
#跳回先前目录,删除掉临时目录
cd $CDIR
rm -rf $TMPDIR
exit 0
#压缩包标志
__ARCHIVE_BELOW__
本文介绍了一种在Linux环境下创建自解压文件的方法。该方法利用shell脚本结合压缩包实现自动解压并执行的功能。具体步骤包括:编写安装脚本install.sh,准备压缩包install.tar.gz;通过cat命令将脚本与压缩包合并成自解压文件auto;最后通过bash执行此文件。执行过程中,脚本会创建临时目录,解压文件,执行压缩包内的程序,完成后清理临时文件。
268

被折叠的 条评论
为什么被折叠?



