diff options
author | Sorin Ionescu <sorin.ionescu@gmail.com> | 2011-04-17 23:17:48 -0400 |
---|---|---|
committer | Sorin Ionescu <sorin.ionescu@gmail.com> | 2011-06-01 20:33:16 -0400 |
commit | a5c383258b760ad1c34d550edb86d7d63e8f5877 (patch) | |
tree | bbc564c908ea948b0bc28602a364064ae8b5234a /plugins/extract/extract.plugin.zsh | |
parent | 1db6575f14d07b9ed3b0ce530837a8a0713b69d0 (diff) | |
download | zsh-a5c383258b760ad1c34d550edb86d7d63e8f5877.tar.gz zsh-a5c383258b760ad1c34d550edb86d7d63e8f5877.tar.bz2 zsh-a5c383258b760ad1c34d550edb86d7d63e8f5877.zip |
Handle tar.xz and tar.lzma better (credit: @gwjo).
Diffstat (limited to 'plugins/extract/extract.plugin.zsh')
-rw-r--r-- | plugins/extract/extract.plugin.zsh | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/plugins/extract/extract.plugin.zsh b/plugins/extract/extract.plugin.zsh index c58692fbf..8cc17f7d4 100644 --- a/plugins/extract/extract.plugin.zsh +++ b/plugins/extract/extract.plugin.zsh @@ -2,7 +2,7 @@ # FILE: extract.plugin.zsh # DESCRIPTION: oh-my-zsh plugin file. # AUTHOR: Sorin Ionescu (sorin.ionescu@gmail.com) -# VERSION: 1.0.0 +# VERSION: 1.0.1 # ------------------------------------------------------------------------------ @@ -40,10 +40,12 @@ function extract() { case "$1" in (*.tar.gz|*.tgz) tar xvzf "$1" ;; (*.tar.bz2|*.tbz|*.tbz2) tar xvjf "$1" ;; - (*.tar.xz|*.txz) tar xvJf "$1" ;; - # (*.tar.xz|*.txz) xzcat "$1" | tar xvf - ;; - (*.tar.lzma|*.tlz) tar --lzma -xvf "$1" ;; - # (*.tar.lzma|*.tlz) lzcat "$1" | tar xvf - ;; + (*.tar.xz|*.txz) tar --xz --help &> /dev/null \ + && tar --xz -xvf "$1" \ + || xzcat "$1" | tar xvf - ;; + (*.tar.zma|*.tlz) tar --lzma --help &> /dev/null \ + && tar --lzma -xvf "$1" \ + || lzcat "$1" | tar xvf - ;; (*.tar) tar xvf "$1" ;; (*.gz) gunzip "$1" ;; (*.bz2) bunzip2 "$1" ;; |