#!/bin/bash function archive { usage() { cat << EOF Usege: archive [OPTION] archive Extract archives or compress directories/file Opcje: -e extract . -c compress path to directory -h display help EOF } local OPTIND local extract='' local compress='' _extract() { case "$1" in *.tar.bz2) tar xvjf "$1" ;; *.tar.gz) tar xvzf "$1" ;; *.tar.xz) tar xvJf "$1" ;; *.lzma) unlzma "$1" ;; *.bz2) bunzip2 "$1" ;; *.rar) unrar x -ad "$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" ;; *.xz) unxz "$1" ;; *.exe) cabextract "$1" ;; *) echo "extract: '$1' - unknown archive method" ;; esac } _compress() { } while getopts e:c:h OPTION do case $OPTION in e) extract=$OPTARG ;; c) compress=$OPTARG ;; h) usage ;; ?) usage ;; esac done if [ -n "$extract" ] then if [ -f $extract ] ; then _extract $extract else echo "$extract is not a file" fi fi if [ -n "$compress" ] then if [ -f $compress ] ; then _compress $compress else echo "$compress is not a file" fi fi }