linux判断压缩文件类型,【shell】判断压缩包类型并解压
作用:判斷文件類型,根據判斷結果使用不同的命令完成解壓操作。
經典:${1##*.} 表示對第一個參數按##后面的模式從左邊匹配,返回剩余的未匹配部分,且是最大匹配
${1%.*}表示對第一個參數按%后面的模式從右邊匹配,返回剩余的未匹配部分,且是最小匹配
如:.1.2.3.4.5.6.7.8 按${1##.*} 匹配則匹配全部,剩余空字符串,按${1%.*}匹配則匹配.8,剩余.1.2.3.4.5.6.7
這兩個用法是自己琢磨出來的,若有不對歡迎補充!
#!/bin/bash
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
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
總結
以上是生活随笔為你收集整理的linux判断压缩文件类型,【shell】判断压缩包类型并解压的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ppap文件过程流程图制作_收藏 | 据
- 下一篇: linux下git分支管理,git远程分