Guest User

Untitled

a guest
Jun 23rd, 2018
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.07 KB | None | 0 0
  1. #!/usr/bin/env bash
  2.  
  3. # ------------------------------------------------------------------------
  4. # Nome: base-script.sh
  5. # Versao: 0.8 (alpha)
  6. # Propósito: Eplicar o quê o script faz
  7. # Autor: Victor Mattos <victor.mattos@datakron.com.br>
  8. # Manutenção: Victor Mattos <victor.mattos@datakron.com.br>
  9. # Licensa: MIT
  10. # ------------------------------------------------------------------------
  11.  
  12. ## Setar interrupcao do script com qualquer saida de erro
  13. set -o errexit # Sair imediatamente se algum script tiver saída de erro
  14. set -o pipefail # Mesma coisa que o enterior, mas garantindo saída de erros para pipes
  15. set -o nounset # Só acessar variáveis que existem
  16.  
  17. ## Setar variaveis de nomes de arquivo e diretorio
  18. readonly __DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
  19. readonly __FILE="${__DIR}/$(basename "${BASH_SOURCE[0]}")"
  20. readonly __BASE="$(basename ${__FILE} .sh)"
  21. readonly __ROOT="$(cd "$(dirname "${__DIR}")" && pwd)"
  22.  
  23. ## Setar variáveis de mensagens padrões
  24. SOBRE="$(basename "$0")\n\n
  25. Copyright © 2017 Dimen Tech, Inc.\n
  26. Este software é livre: você é livre para mudá-lo e redistribuí-lo.\n
  27. NÃO HÁ GARANTIA, para a extensão permitida por lei.\n\n"
  28.  
  29. MENSAGEM_USO="\n
  30. Uso: $(basename $0) [OPÇÕES]\n\n
  31. \tOPÇÕES:\n
  32. \t -h, --help \tMostra essa mensagem com a lista de opções\n
  33. \t -v, --version \tSomente mostra a versão do programa\n
  34. \t -d, --debug \tSeta opção de xtrace para ver o script rodando e valores de variáveis\n
  35. \n"
  36.  
  37. ERRO="\n
  38. $0: opção inválida -- '$(echo "${1:-}" | tr -d "-" )'\n
  39. Tente '$0 --help' para mais informação.\n"
  40.  
  41. ## Inicializar variaveis
  42. declare -r VERSION=$(grep '^# Versao' $0 | tr --delete [:alpha:][:blank:]#:\(\))
  43. ## Tratando parâmetros
  44. while [[ $# -gt 0 ]] && [[ ."$1" = .-* ]] ;
  45. do
  46. opt="$1"; shift;
  47. case "$opt" in
  48. "--" )
  49. break 2;;
  50. "-h" | "--help" )
  51. echo -e ${MENSAGEM_USO}
  52. exit 0;;
  53. "-v" | "--version" )
  54. echo -e "\nVersão ${VERSION} do script ${__BASE}.\n"
  55. exit 0;;
  56. "-d" | "--degub" )
  57. set -o xtrace
  58. break;;
  59. *) echo >&2 "Opção inválida: $@"; exit 1;;
  60. esac
  61. done
  62. ## TODO: Corpo do script
  63. exit 0
Add Comment
Please, Sign In to add comment