使用shell脚本一键式解压压缩文件

话不多说,先上代码:

#!/bin/bash
cd /opt/software    ----文件的目录位置
count=`ls -l | grep '^-' | wc -l`     ----保存当前目录下的文件个数,这里使用管道符来进行计算
if [ $count -ne 0 ];     ----文件个数不等于0开始进入条件
then
	for file in `ls`     ----遍历所有文件
	do
	    fileName=$file    ----将文件名进行保存,这里是方便后面截取文件类型作准备
	    targzName=${fileName:0-6}     ----tar.gz类型的文件,这里是截取最后6位
	    tarName=${fileName:0-3}      ----tar类型的文件,截取最后3位
	    zipName=${fileName:0-3}      ----zip类型的文件,截取最后3位
	    if [ "$targzName" = "tar.gz" ];	  ----判断是否是tar.gz类型
	    then
			tar -zxf /opt/software/$file -C /opt/install    ----解压到/opt/install目录下
            fi
	    if [ "$gzName" = "gz" ];      ----判断是否是gz类型
	    then
			tar -xf /opt/software/$file -C /opt/install
	    fi
	    if [ "$zipName" = "zip" ];     ----判断是否是zip类型
	    then
			unzip -d /opt/software/$file  /opt/installl      ----判断是否是zip类型
	    fi
	done
else
	echo "this direction is null";     -----如果没有文件,给出提示
fi

我这里可以对tar.gz、gz、unzip压缩文件进行一键式解压到目标目录下,如需解压其他文文件,可以自行添加相关代码,具体解释说明看代码后面的注释。
使用的前提是目录要做好统一,先建文件夹software和install,将压缩文件拖进software里,在进行解压。这里最好和我这里的目录建的一样,为了方便起见。
PS: 上面文件类型的判断,可以统一截取最后3位,然后用case语句来判断,也是不错的选择。

  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值