diff options
author | Robby Russell <robby@planetargon.com> | 2011-01-15 01:17:29 -0800 |
---|---|---|
committer | Robby Russell <robby@planetargon.com> | 2011-01-15 01:17:29 -0800 |
commit | f02e732543872814adb52439fbfff3e247cc49d0 (patch) | |
tree | 8f98c5857829182ae2e3fc02883ded0e0fb4559c /lib/functions.zsh | |
parent | 8da8d45236f10199f41ddd8ec1d543b8cb3c0473 (diff) | |
parent | beb980d37013ee9cf5f2fdd4f19444f7f7a77fcf (diff) | |
download | zsh-f02e732543872814adb52439fbfff3e247cc49d0.tar.gz zsh-f02e732543872814adb52439fbfff3e247cc49d0.tar.bz2 zsh-f02e732543872814adb52439fbfff3e247cc49d0.zip |
Merge branch 'master' of https://github.com/SuprDewd/oh-my-zsh into SuprDewd-master
Diffstat (limited to 'lib/functions.zsh')
-rw-r--r-- | lib/functions.zsh | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/lib/functions.zsh b/lib/functions.zsh index e3c0de43e..914f2ef25 100644 --- a/lib/functions.zsh +++ b/lib/functions.zsh @@ -37,3 +37,39 @@ function take() { mkdir -p $1 cd $1 } + +function extract() { + unset REMOVE_ARCHIVE + + if test "$1" = "-r"; then + REMOVE=1 + shift + fi + if [[ -f $1 ]]; then + case $1 in + *.tar.bz2) tar xvjf $1;; + *.tar.gz) tar xvzf $1;; + *.tar.xz) tar xvJf $1;; + *.tar.lzma) tar --lzma -xvf $1;; + *.bz2) bunzip $1;; + *.rar) unrar $1;; + *.gz) gunzip $1;; + *.tar) tar xvf $1;; + *.tbz2) tar xvjf $1;; + *.tgz) tar xvzf $1;; + *.zip) unzip $1;; + *.Z) uncompress $1;; + *.7z) 7z x $1;; + *) echo "'$1' cannot be extracted via >extract<";; + esac + + if [[ $REMOVE_ARCHIVE -eq 1 ]]; then + echo removing "$1"; + /bin/rm "$1"; + fi + + else + echo "'$1' is not a valid file" + fi +} + |