Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env bash
- set -e
- # Usage: parse_mongo_url URL
- # It sets the following variables:
- # MONGO_HOST
- # MONGO_PORT
- # MONGO_DATABASE
- # MONGO_USER
- # MONGO_PASSWORD
- function parse_mongo_url {
- local MONGO_URL="$1"
- local AUTH
- local HOST_PORT
- local PROTO
- local URL
- PROTO="$(echo ${MONGO_URL} | grep :// | sed -e's,^\(.*://\).*,\1,g')"
- URL="${MONGO_URL/${PROTO}/}"
- AUTH="$(echo ${URL} | grep @ | rev | cut -d@ -f2- | rev)"
- if [ -n ${AUTH} ]; then
- URL="$(echo ${URL} | rev | cut -d@ -f1 | rev)"
- fi
- MONGO_PASSWORD="$(echo ${AUTH} | grep : | cut -d: -f2-)"
- if [ -n "${MONGO_PASSWORD}" ]; then
- MONGO_USER="$(echo ${AUTH} | grep : | cut -d: -f1)"
- else
- MONGO_USER=${AUTH}
- fi
- HOST_PORT="$(echo ${URL} | cut -d/ -f1)"
- MONGO_PORT="$(echo ${HOST_PORT} | grep : | cut -d: -f2)"
- if [ -n "${MONGO_PORT}" ]; then
- MONGO_HOST="$(echo ${HOST_PORT} | grep : | cut -d: -f1)"
- else
- MONGO_PORT=27017
- MONGO_HOST="${HOST_PORT}"
- fi
- MONGO_DATABASE="$(echo ${URL} | grep / | cut -d/ -f2-)"
- }
Add Comment
Please, Sign In to add comment