|
我用ROX的,参考网上的资料凑成了个解压缩脚本
可以实现:识别多种压缩文档,新建文件夹并解压进去
脚本不足:有密码的情况会死掉(今天发现的,郁闷死了),gz这种文件好像只能在当前目录解压,我的脚本解压不出来
希望改进:kill掉bug,多实现个功能:压缩档里只有一个文件或文件夹就直接解压,多个就解压到新建的文件夹
- #!/bin/sh
- filename="$@"
- bname=$(basename "$filename")
- dname=$(dirname "$filename")
- destdir1=${bname%.*}
- destdir2=${destdir1%.*}
- destdir=${destdir1}
- case "$bname" in
- *.tar.gz | *.tar.bz2 ) destdir=${destdir2} ;;
- esac
- [ -w "$dname" ] || dname=${HOME}
- if [ ! -d "$destdir" ]; then
- cd "$dname"
- mkdir "$destdir"
- cd "$destdir"
- case "$bname" in
- *.tar.gz | *.tgz) tar xvzf "$filename" ;;
- *.tar.bz2 ) tar xvjf "$filename" ;;
- *.tar ) tar xvf "$filename" ;;
- *.gz ) gzip -d "$filename" ;;
- *.bz2 | *.bzip2 ) bzip2 -d "$filename" ;;
- *.deb) ar x "$filename" ;;
- *.zip ) unzip "$filename" ;;
- *.rar ) unrar x "$filename" ;;
- *.7z) 7zr x "$filename" ;;
- * ) ;;
- esac
- fi
复制代码 |
|