Question

I found the following script online. The instructions were to add it to ~/.bashrc. It worked fine until I installed the 64 bit version of my Linux distro. (Kali Linux - Debian Wheezy ). I'm not sure what's going on. Why isn't it working, and how can I fix it? I'm relatively new to Linux, and completely new to bash scripting. Script:

#!/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
}

Error:

 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

Edit: Uncommenting Name=... and mkdir $NAME... uncompresses the tar just fine. It didn't unzip a .zip, though. Trying that out with a different file right now.

Edit 2: I feel really stupid. I didn't bother looking at the code before I posted this. Uncommenting fixes this. However, why do I have to uncomment the code now, but before I installed the 64 bit version, I didn't?

Was it helpful?

Solution

The problem was solved by uncommenting.

# NAME=${1%.*}

# mkdir $NAME && cd $NAME

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top