一个shell脚本解多个压缩文件(改别人的代码)

这是一个改进版的Shell脚本,可以处理多种类型的压缩文件,包括tar.gz、tar.bz2、zip、rar等格式。该脚本由tram兄的原始代码改进而来,增加了解压目录和RAR文件的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

                         一个shell脚本解多个压缩文件(改别人的代码)
    这个程序核心代码是有linuxsir.org的tram兄写的,主要是时限了解压缩文件的功能.我加了一些代码使他能够压缩目录和解开rar文件,这个SHELL程序还是很简单的,我经常用他,将程序的权限用chmod gou+x filename该为可执行,然后复制到/bin/usr下.这样就可以使用了.呵呵.  一下就是代码.
#!/bin/bash
if [ -d $1 ]; then
tar czvf $1.tar.gz $1
echo this is a DIR
exit 0;
fi
UNPACK=1
if [ ${1##*.} = bz2 ] ; then
TEMP=${1%.*}
if [ ${TEMP##*.} = tar ] ; then
tar jxvf $1
UNPACK=$?
echo This is a tar.bz2 package
else
bunzip2 $1
UNPACK=$?
echo This is a bz2 package
fi
fi
  # echo ${1##*.}
if [ ${1##*.} = zip ] ; then
     unzip $1
     UNPACK=$?
fi
if [ ${1##*.} = rar ] ; then
     rar x $1
     UNPACK=$?
fi
if [ ${1##*.} = gz ] ; then
TEMP=${1%.*}
if [ ${TEMP##*.} = tar ] ; then
tar zxvf $1
UNPACK=$?
echo This is a tar.gz package
else
gunzip $1
UNPACK=$?
echo This is a gz package
fi
fi

if [ ${1##*.} = tar ] ; then
tar xvf $1
UNPACK=$?
echo This is a tar package
fi

if [ $UNPACK = 0 ] ; then
echo Success!
else
echo Maybe it is not a package or the package is damaged?
fi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值