30 lines
887 B
Bash
Executable File
30 lines
887 B
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
for arch in "$@"; do
|
|
case "$arch" in
|
|
*.tar) D="`basename "$arch" .tar`"; U="tar -x -v -f"; ;;
|
|
*.tar.gz) D="`basename "$arch" .tar.gz`"; U="tar -x -z -v -f"; ;;
|
|
*.tgz) D="`basename "$arch" .tgz`"; U="tar -x -z -v -f"; ;;
|
|
*.tar.Z) D="`basename "$arch" .tar.Z`"; U="tar -x -Z -v -f"; ;;
|
|
*.tar.z) D="`basename "$arch" .tar.z`"; U="tar -x -Z -v -f"; ;;
|
|
*.tar.bz2) D="`basename "$arch" .tar.bz2`"; U="tar -x -j -v -f"; ;;
|
|
*.zip) D="`basename "$arch" .zip`"; U="unzip"; ;;
|
|
*.rar) D="`basename "$arch" .rar`"; U="unrar x"; ;;
|
|
esac
|
|
|
|
if [[ -z "$FORCE_EXTRACT" ]]; then
|
|
echo "extract $arch to $PWD/$D/?"
|
|
read foo
|
|
else
|
|
echo "extracting $arch to $PWD/$D/"
|
|
fi
|
|
mkdir -p "$D"
|
|
archive=$( realpath "$arch" )
|
|
pushd "$D"
|
|
$U "$archive"
|
|
popd
|
|
done
|
|
sleep 1
|