The problem was solved by uncommenting.
# NAME=${1%.*}
# mkdir $NAME && cd $NAME
문제
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?
해결책
The problem was solved by uncommenting.
# NAME=${1%.*}
# mkdir $NAME && cd $NAME