linux万能解压脚本

#!/bin/bash


getopts d deletefile


for file do
    if [ -f "$file" ] ; then


unknowfiletype=false


        case "$file" in
          *.tar)    tar xvf "$file"   ;; # tared files
          *.tgz)    tar xzvf "$file"  ;;
          *.tar.gz) tar xzvf "$file"  ;;
          *.taz)    tar xZvf "$file"  ;;
          *.tar.Z)  tar xZvf "$file"  ;;
          *.tar.z)  tar xZvf "$file"  ;;
          *.tar.bz2)    tar xjvf "$file"  ;;


          *.Z)      gzip -d "$file"   ;; # compressed files
          *.z)      gzip -d "$file"   ;;
          *.gz)     gzip -d "$file"   ;;
          *.bz2)    bzip2 -d "$file"  ;;
          *.zip)    unzip -aL "$file" -d "`basename "$file" .zip`" ;;
          *.ace)    unace x "$file"   ;;
          *.rar)    mkdir "`basename \"$file\" .rar`" &&
                  (cd "`basename \"$file\" .rar`" && unrar x ../"$file") ;;


          *)        unknowfiletype=true ;;
        esac


        if [ $? -eq 0 ]; then
            if [ "$unknowfiletype" = "true" ]; then
                echo -e "${file}: \t unknown file sufix !"
            elif [ "$deletefile" = "d" ]; then
                rm -f "$file" ;
            fi
        fi


    else
        echo -e "${file}: \t file not found !"
    fi
done


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值