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