我在网上找到了以下脚本。说明是将其添加到 ~/.bashrc。在我安装了 64 位版本的 Linux 发行版之前,它运行良好。(Kali Linux - Debian Wheezy)。我不确定发生了什么事。为什么它不起作用,我该如何解决?我对 Linux 比较陌生,对 bash 脚本完全陌生。脚本:
#!/bin/bash
# function Extract for common file formats
function extract {
if [ -z "$1" ]; then
# display usage if no parameters given
echo "Usage: extract <path/file_name>.<zip|rar|bz2|gz|tar|tbz2|tgz|Z|7z|xz|ex|tar.bz2|tar.gz|tar.xz>"
else
if [ -f $1 ] ; then
# NAME=${1%.*}
# mkdir $NAME && cd $NAME
case $1 in
*.tar.bz2) tar xvjf ../$1 ;;
*.tar.gz) tar xvzf ../$1 ;;
*.tar.xz) tar xvJf ../$1 ;;
*.lzma) unlzma ../$1 ;;
*.bz2) bunzip2 ../$1 ;;
*.rar) unrar x -ad ../$1 ;;
*.gz) gunzip ../$1 ;;
*.tar) tar xvf ../$1 ;;
*.tbz2) tar xvjf ../$1 ;;
*.tgz) tar xvzf ../$1 ;;
*.zip) unzip ../$1 ;;
*.Z) uncompress ../$1 ;;
*.7z) 7z x ../$1 ;;
*.xz) unxz ../$1 ;;
*.exe) cabextract ../$1 ;;
*) echo "extract: '$1' - unknown archive method" ;;
esac
else
echo "$1 - file does not exist"
fi
fi
}
错误:
extract LibreOffice.tar.gz
tar (child): ../LibreOffice.tar.gz: Cannot open: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
编辑:取消注释Name=...
并mkdir $NAME...
解压缩焦油就好了。不过,它并没有解压缩 .zip。现在尝试使用不同的文件。
编辑2:我觉得真的很愚蠢。在发布此之前,我没有费心查看代码。取消注释可以解决此问题。但是,为什么我现在必须取消注释代码,而在我安装64位版本之前,我没有?