agenda-telefonica.sh 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. #!/usr/bin/env bash
  2. # Agenda Telefonica que
  3. # puxa informação de um Banco de Dados CSV
  4. # 1 - Vamos armazenar usuario ao banco de dados
  5. #============= Variaveis Globais =====================#
  6. banco_de_dados="banco_de_dados"
  7. #=========== teste inicial ========================#
  8. [[ ! -e "$banco_de_dados" ]] && {
  9. cat > "$banco_de_dados" <<fim
  10. ############ ID:CPF:NOME:DDD:TELEFONE #####################
  11. fim
  12. }
  13. [[ "$UID" = 0 ]] && { echo "Root não" ; exit 1 ; }
  14. #=================== Funções ==================================#
  15. function adicionar(){
  16. i="1"
  17. for dados in "Nome" "CPF" "DDD" "Telefone"; do
  18. while [[ -z "${dados[i]}" ]]; do
  19. read -p "${dados}: " dados[i]
  20. done
  21. let i++
  22. done
  23. if ! grep -qo "${dados[1]}" "$banco_de_dados"; then
  24. dados[2]=$(sed 's/\.//g ' <<< "${dados[2]}")
  25. echo "-----${dados[2]}"
  26. ID=$(($(wc -l < "$banco_de_dados")-1))
  27. echo -e "${ID}:${dados[1]}:${dados[2]}:${dados[3]}:${dados[4]}" | tr ' A - Z ' ' a - z ' >> "$banco_de_dados"
  28. else
  29. echo "este usuario já existe no banco de dados"
  30. exit 1;
  31. fi
  32. }
  33. function buscar(){
  34. read -p "ID Usuario: " usuario
  35. [[ -z "$usuario" ]] && exit 1;
  36. if grep -qio "$usuario" "banco_de_dados"; then
  37. ID=$(grep "$usuario" "banco_de_dados" | cut -d':' -f'1')
  38. Nome=$(grep "$usuario" "banco_de_dados" | cut -d':' -f'2')
  39. CPF=$(grep "$usuario" "banco_de_dados" | cut -d':' -f'3')
  40. DDD=$(grep "$usuario" "banco_de_dados" | cut -d':' -f'4')
  41. Telefone=$(grep "$usuario" "banco_de_dados" | cut -d':' -f'5')
  42. else
  43. echo "este ID não existe"
  44. exit 1;
  45. fi
  46. cat <<END
  47. =============================
  48. ID usuario: "$ID"
  49. CPF: "$CPF"
  50. Nome: "$Nome"
  51. Telefone com DDD: ("$DDD")-"$Telefone"
  52. =============================
  53. END
  54. }
  55. #================== Menu de Entrada =========================#
  56. case "$1" in
  57. -a|--adicionar)
  58. shift;
  59. adicionar
  60. ;; # chamando a função adicionar
  61. -b|--busca)
  62. shift;
  63. parametro="$1"
  64. buscar
  65. ;; # chamdo a função buscar
  66. esac