80 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#!/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
 | 
						|
			;;
 | 
						|
		*.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
 |