diff options
Diffstat (limited to 'initsh')
| -rwxr-xr-x | initsh/.initsh | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/initsh/.initsh b/initsh/.initsh index 47af88c..fcbd398 100755 --- a/initsh/.initsh +++ b/initsh/.initsh @@ -48,8 +48,30 @@ elif [ "$KERNEL" = "Darwin" ]; then alias upaste='pbpaste' fi -# Greeting message -if [ -n "$WELCOME_MSG" ]; then +# ex - archive extractor +# # usage: ex <file> +ex () { + if [ -f $1 ]; then + case $1 in + *.tar.bz2) tar xjf $1 ;; + *.tar.gz) tar xzf $1 ;; + *.bz2) bunzip2 $1 ;; + *.rar) unrar x $1 ;; + *.gz) gunzip $1 ;; + *.tar) tar xf $1 ;; + *.tbz2) tar xjf $1 ;; + *.tgz) tar xzf $1 ;; + *.zip) unzip $1 ;; + *.Z) uncompress $1;; + *.7z) 7z x $1 ;; + *) echo "'$1' cannot be extracted via ex()" ;; + esac + else + echo "'$1' is not a valid file" + fi +} + +welcome_msg () { if [ "$KERNEL" = "Linux" ]; then DF_ARGS="-h -T -xtmpfs -xdevtmpfs" if [ -x "$(command -v lsb_release)" ]; then @@ -74,4 +96,4 @@ if [ -n "$WELCOME_MSG" ]; then printf '\n' printf '%s\n' "$(eval df $DF_ARGS | sed 's/^/ /')" printf '\n' -fi +} |
