26 lines
1.1 KiB
Bash
Executable File
26 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -eo pipefail
|
|
|
|
if [ -f "$1" ]; then
|
|
case "$1" in
|
|
*.tar.bz2) tar -jxvf "$1" ;;
|
|
*.tar.gz) tar -zxvf "$1" ;;
|
|
*.tar.xz) tar -Jxvf "$1" ;;
|
|
*.bz2) bunzip2 "$1" ;;
|
|
*.dmg) hdiutil mount "$1" ;;
|
|
*.gz) gunzip "$1" ;;
|
|
*.tar) tar -xvf "$1" ;;
|
|
*.tbz2) tar -jxvf "$1" ;;
|
|
*.tgz) tar -zxvf "$1" ;;
|
|
*.zip) unzip "$1" ;;
|
|
*.ZIP) unzip "$1" ;;
|
|
*.pax) cat "$1" | pax -r ;;
|
|
*.pax.Z) uncompress "$1" --stdout | pax -r ;;
|
|
*.rar) unrar x "$1" ;;
|
|
*.Z) uncompress "$1" ;;
|
|
*) echo "'$1' cannot be extracted/mounted via extract()" ;;
|
|
esac
|
|
else
|
|
echo "'$1' is not a valid file"
|
|
fi
|