Shell自动解压文件

来源:互联网 发布:阿里云代理 几折 编辑:程序博客网 时间:2024/05/29 08:52

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__
0 0