getdown 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #!/usr/bin/env bash
  2. ############## header ##############################################################
  3. #AUTOR
  4. # Jefferson Rocha <lrcjefferson@gmail.com>
  5. #
  6. #GETDOWN - Download e extrai arquivos via wget.
  7. #
  8. #DESCRIÇÃO
  9. # Baixa arquivos via cli, (xz, tar, gzip, bzip2) com wget e extrai.
  10. # Por enquanto a única funcionalidade, nas próximas versões sera adicionado mais
  11. # Algumas coisas legais.
  12. #
  13. #BUG
  14. # Nem tudo é compactado com tar, então... há possibilidade de erro.
  15. # Necessita corrigir isto.
  16. #
  17. #TODO
  18. #- Não aceita lista, precisa adicionar essa função caso o usuário necessite.
  19. ####################################################################################
  20. ##### Váriaveis
  21. goodbye="/dev/null"
  22. execute(){ wget -q "$@" -O -; }
  23. while :; do
  24. # Conferindo qual a extensão, achou? então baixa e extrai.
  25. case $1 in
  26. *.xz)
  27. if ! execute "$1" | tar -xJ > "$goodbye"; then
  28. break
  29. fi
  30. ;;
  31. *.tar)
  32. if ! execute "$1" | tar -x > "$goodbye"; then
  33. break
  34. fi
  35. ;;
  36. *.zip)
  37. if ! execute "$1" | tar -xz > "$goodbye"; then
  38. break
  39. fi
  40. ;;
  41. *.bzip2)
  42. if ! execute "$1" | tar -xvj > "$goodbye"; then
  43. break
  44. fi
  45. ;;
  46. esac
  47. # Nula? então tchau! Não? então palmeiras e volta!... quer dizer Rebaixa e volta.
  48. [ -z "$1" ] && break || shift
  49. done