You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

89 lines
1.2 KiB

#!/usr/bin/bash
if [ -f "$1" ] ; then
case "$1" in
*.tar.bz2)
if [ "$2" ]; then
tar xvjf "$1" -C "$2"
else
tar xvjf "$1"
fi
;;
*.tar.gz)
if [ "$2" ]; then
tar xvzf "$1" -C "$2"
else
tar xvzf "$1"
fi
;;
*.bz2)
if [ "$2" ]; then
bunzip -c "$1" > "$2"
else
bunzip "$1"
fi
;;
#*.rar) rar x "$1" ;;
*.gz)
if [ "$2" ]; then
gunzip -c "$1" > "$2"
else
gunzip "$1"
fi
;;
*.rar)
if [ "$2" ]; then
#tar xvf "$1" -C "$2"
echo "Look into how to unrar into directory"
else
unrar x "$1"
fi
;;
*.tar)
if [ "$2" ]; then
tar xvf "$1" -C "$2"
else
tar xvf "$1"
fi
;;
*.tbz2)
if [ "$2" ]; then
tar xvjf "$1" -C "$2"
else
tar xvjf "$1"
fi
;;
*.tgz)
if [ "$2" ]; then
tar xvzf "$1" -C "$2"
else
tar xvzf "$1"
fi
;;
*.zip)
if [ "$2" ]; then
unzip "$1" -d "$2"
else
unzip "$1"
fi
;;
*.Z)
if [ "$2" ]; then
uncompress -c "$1" > "$2"
else
uncompress "$1"
fi
;;
*.7z)
if [ "$2" ]; then
7z x "$1" -o"$2"
else
7z x "$1"
fi
;;
*) echo "don't know how to extract '$1'..." ;;
esac
else
echo "'$1' is not a valid file!"
fi