extract 564 B

12345678910111213141516171819202122232425262728
  1. #!/usr/bin/env bash
  2. extract () {
  3. if [ -f "$1" ] ; then
  4. case "$1" in
  5. *.tar.bz2) tar xjf "$1" ;;
  6. *.tar.gz) tar xzf "$1" ;;
  7. *.bz2) bunzip2 "$1" ;;
  8. *.rar) unrar e "$1" ;;
  9. *.gz) gunzip "$1" ;;
  10. *.tar) tar xf "$1" ;;
  11. *.tbz2) tar xjf "$1" ;;
  12. *.tgz) tar xzf "$1" ;;
  13. *.zip) unzip "$1" ;;
  14. *.Z) uncompress "$1" ;;
  15. *.7z) 7z x "$1" ;;
  16. *) echo "$1 cannot be extracted via extract()" ;;
  17. esac
  18. else
  19. echo "$1 is not a valid file"
  20. fi
  21. }
  22. # Allow script to be safely sourced
  23. if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
  24. extract "$@"
  25. exit $?
  26. fi