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