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.

81 lines
1.0 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
;;
*.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