Guest User

Untitled

a guest
Mar 9th, 2018
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.01 KB | None | 0 0
  1. #!/usr/bin/env bash
  2.  
  3. set -e
  4. # Usage: parse_mongo_url URL
  5. # It sets the following variables:
  6. # MONGO_HOST
  7. # MONGO_PORT
  8. # MONGO_DATABASE
  9. # MONGO_USER
  10. # MONGO_PASSWORD
  11. function parse_mongo_url {
  12. local MONGO_URL="$1"
  13.  
  14. local AUTH
  15. local HOST_PORT
  16. local PROTO
  17. local URL
  18.  
  19. PROTO="$(echo ${MONGO_URL} | grep :// | sed -e's,^\(.*://\).*,\1,g')"
  20. URL="${MONGO_URL/${PROTO}/}"
  21.  
  22. AUTH="$(echo ${URL} | grep @ | rev | cut -d@ -f2- | rev)"
  23. if [ -n ${AUTH} ]; then
  24. URL="$(echo ${URL} | rev | cut -d@ -f1 | rev)"
  25. fi
  26.  
  27. MONGO_PASSWORD="$(echo ${AUTH} | grep : | cut -d: -f2-)"
  28. if [ -n "${MONGO_PASSWORD}" ]; then
  29. MONGO_USER="$(echo ${AUTH} | grep : | cut -d: -f1)"
  30. else
  31. MONGO_USER=${AUTH}
  32. fi
  33.  
  34. HOST_PORT="$(echo ${URL} | cut -d/ -f1)"
  35. MONGO_PORT="$(echo ${HOST_PORT} | grep : | cut -d: -f2)"
  36. if [ -n "${MONGO_PORT}" ]; then
  37. MONGO_HOST="$(echo ${HOST_PORT} | grep : | cut -d: -f1)"
  38. else
  39. MONGO_PORT=27017
  40. MONGO_HOST="${HOST_PORT}"
  41. fi
  42.  
  43. MONGO_DATABASE="$(echo ${URL} | grep / | cut -d/ -f2-)"
  44. }
Add Comment
Please, Sign In to add comment