一个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
这个程序核心代码是有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