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__