Предположим есть строка подключения к PGSQL БД:
DATABASE_URL=postgres://user:pass@host:port/database
Из этой строки нужно получить - имя пользователя, пароль, хост, порт, имя базы данных, здесь как пример можно использовать awk
:
DB_TYPE=$(echo $DATABASE_URL | awk -F'[:@/]' '{print $1}')"ql"
DB_USER=$(echo $DATABASE_URL | awk -F'[:@/]' '{print $4}')
DB_PASSWORD=$(echo $DATABASE_URL | awk -F'[:@/]' '{print $5}')
DB_HOST=$(echo $DATABASE_URL | awk -F'[:@/]' '{print $6}')
DB_PORT=$(echo $DATABASE_URL | awk -F'[:@/]' '{print $7}')
DB_DATABASE=$(echo $DATABASE_URL | awk -F'[:@/]' '{print $8}')
Смотрим результат:
echo -e "USER: $DB_USER, Database - $DB_DATABASE"