[UPDATE][SHELL] Fix extract function

I did not want the extract function to change my working directory when
I added it. However I should have fixed the command calls that assumed I
was in a newly created directory at the same time.
This commit is contained in:
Bruno BELANYI 2019-10-04 16:27:08 +02:00
parent e5d27f459f
commit 6d17f7ac54

View file

@ -4,30 +4,28 @@ function maketar() { tar cvzf "${1%%/}.tar.gz" "${1%%/}/"; }
# Create a ZIP archive of a file or folder. # Create a ZIP archive of a file or folder.
function makezip() { zip -r "${1%%/}.zip" "$1" ; } function makezip() { zip -r "${1%%/}.zip" "$1" ; }
function extract { function extract() {
if [ -z "$1" ]; then if [ -z "$1" ]; then
# display usage if no parameters given # 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>" echo "Usage: extract <path/file_name>.<zip|rar|bz2|gz|tar|tbz2|tgz|Z|7z|xz|ex|tar.bz2|tar.gz|tar.xz>"
else else
if [ -f $1 ] ; then if [ -f "$1" ] ; then
# NAME=${1%.*} case "$1" in
# mkdir $NAME && cd $NAME *.tar.bz2) tar xvjf "$1" ;;
case $1 in *.tar.gz) tar xvzf "$1" ;;
*.tar.bz2) tar xvjf ../$1 ;; *.tar.xz) tar xvJf "$1" ;;
*.tar.gz) tar xvzf ../$1 ;; *.lzma) unlzma "$1" ;;
*.tar.xz) tar xvJf ../$1 ;; *.bz2) bunzip2 "$1" ;;
*.lzma) unlzma ../$1 ;; *.rar) unrar x -ad "$1" ;;
*.bz2) bunzip2 ../$1 ;; *.gz) gunzip "$1" ;;
*.rar) unrar x -ad ../$1 ;; *.tar) tar xvf "$1" ;;
*.gz) gunzip ../$1 ;; *.tbz2) tar xvjf "$1" ;;
*.tar) tar xvf ../$1 ;; *.tgz) tar xvzf "$1" ;;
*.tbz2) tar xvjf ../$1 ;; *.zip) unzip "$1" ;;
*.tgz) tar xvzf ../$1 ;; *.Z) uncompress "$1" ;;
*.zip) unzip ../$1 ;; *.7z) 7z x "$1" ;;
*.Z) uncompress ../$1 ;; *.xz) unxz "$1" ;;
*.7z) 7z x ../$1 ;; *.exe) cabextract "$1" ;;
*.xz) unxz ../$1 ;;
*.exe) cabextract ../$1 ;;
*) echo "extract: '$1' - unknown archive method" ;; *) echo "extract: '$1' - unknown archive method" ;;
esac esac
else else