| 123456789101112131415161718192021222324252627282930313233343536373839404142 | 
							- #!/bin/sh
 
- while getopts "hc" o; do case "${o}" in
 
- 	c) extracthere="True" ;;
 
- 	*) printf "Options:\\n   -c: Extract archive into current directory rather than a new one.\\n" && exit ;;
 
- esac done
 
- if [ -z "$extracthere" ]; then
 
- 	archive="$(readlink -f "$*")" &&
 
- 	directory=${archive%.*} &&
 
- 	mkdir -p "$directory" &&
 
- 	cd "$directory" || exit
 
- else
 
- 	archive="$(readlink -f "$(echo "$*" | cut -d' ' -f2)")"
 
- fi
 
- [ "$archive" = "" ] && printf "Give archive to extract as argument.\\n" && exit
 
- if [ -f "$archive" ] ; then
 
- 	case "$archive" in
 
- 		*.tar.bz2|*.tar.xz|*.tbz2) tar xvjf "$archive" ;;
 
- 		*.tar.gz|*.tgz) tar xvzf "$archive" ;;
 
- 		*.lzma) unlzma "$archive" ;;
 
- 		*.bz2) bunzip2 "$archive" ;;
 
- 		*.rar) unrar x -ad "$archive" ;;
 
- 		*.gz) gunzip "$archive" ;;
 
- 		*.tar) tar xvf "$archive" ;;
 
- 		*.zip) unzip "$archive" ;;
 
- 		*.Z) uncompress "$archive" ;;
 
- 		*.7z) 7z x "$archive" ;;
 
- 		*.xz) unxz "$archive" ;;
 
- 		*.exe) cabextract "$archive" ;;
 
- 		*) printf "extract: '%s' - unknown archive method\\n" "$archive" ;;
 
- 	esac
 
- else
 
- 	printf "File \"%s\" not found.\\n" "$archive"
 
- fi
 
 
  |