Dotfiles for different machines on different branches.
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.
|
|
#!/bin/sh# A general, all-purpose extraction script.## Default behavior: Extract archive into new directory# Behavior with `-c` option: Extract contents into current directory
while getopts "hc" o; do case "${o}" in c) extracthere="True" ;; *) printf "Options:\\n -c: Extract archive into current directory rather than a new one.\\n" && exit ;;esac done
if [ -z "$extracthere" ]; then archive="$(readlink -f "$*")" && directory="$(echo "$archive" | sed 's/\.[^\/.]*$//')" && mkdir -p "$directory" && cd "$directory" || exitelse archive="$(readlink -f "$(echo "$*" | cut -d' ' -f2)")"fi
[ "$archive" = "" ] && printf "Give archive to extract as argument.\\n" && exit
if [ -f "$archive" ] ; then case "$archive" in *.tar.bz2|*.tar.xz|*.tbz2) tar xvjf "$archive" ;; *.tar.gz|*.tgz) tar xvzf "$archive" ;; *.lzma) unlzma "$archive" ;; *.bz2) bunzip2 "$archive" ;; *.rar) unrar x -ad "$archive" ;; *.gz) gunzip "$archive" ;; *.tar) tar xvf "$archive" ;; *.zip) unzip "$archive" ;; *.Z) uncompress "$archive" ;; *.7z) 7z x "$archive" ;; *.xz) unxz "$archive" ;; *.exe) cabextract "$archive" ;; *) printf "extract: '%s' - unknown archive method\\n" "$archive" ;; esacelse printf "File \"%s\" not found.\\n" "$archive"fi
|