使用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語句來判斷,也是不錯的選擇。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章