#!/bin/bash denvexec() { if [ $# -lt 1 ]; then echo "Verwendung: denvexec " return 1 fi local DOCKER_COMMAND="$@" local ENV_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )/.." &> /dev/null && pwd ) echo "" echo "Directory: ${ENV_DIR}" #MAC if [[ "$OSTYPE" == "darwin"* ]]; then docker compose -f "${ENV_DIR}/docker/docker-compose-mac.yml" $DOCKER_COMMAND echo "done" #LINUX elif [[ "$OSTYPE" == "linux-gnu" ]]; then docker compose -f "${ENV_DIR}/docker/docker-compose.yml" $DOCKER_COMMAND echo "done" else echo "Dieses Skript wird auf deinem Gerät nicht unterstützt" exit 1 fi } dexec() { if [ $# -lt 2 ]; then echo "Verwendung: dexec " return 1 fi local systemPart="${1%-*}" # before "-" e.g. auth / bee / etc local typePart="${1##*-}" # after "-" e.g. backend / frontend local SYSTEM_DIR="$typePart/$systemPart" shift # removes first argument local DOCKER_COMMAND="$@" local ENV_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )/.." &> /dev/null && pwd ) echo "" echo "Directory: ${ENV_DIR}/systems/${SYSTEM_DIR}" local DOT_ENV_PATH="${ENV_DIR}/systems/${SYSTEM_DIR}/.env" #SET ENV VARIABLES FROM .ENV if [ -e "$DOT_ENV_PATH" ]; then export $(grep -v '^#' "$DOT_ENV_PATH" | xargs) fi #MAC if [[ "$OSTYPE" == "darwin"* ]]; then docker compose -f "${ENV_DIR}/systems/${SYSTEM_DIR}/docker/docker-compose-mac.yml" $DOCKER_COMMAND echo "done" #LINUX elif [[ "$OSTYPE" == "linux-gnu" ]]; then docker compose -f "${ENV_DIR}/systems/${SYSTEM_DIR}/docker/docker-compose.yml" $DOCKER_COMMAND echo "done" else echo "Dieses Skript wird auf deinem Gerät nicht unterstützt" exit 1 fi #UNSET ENV VARIABLES FROM .ENV if [ -e "$DOT_ENV_PATH" ]; then unset $(grep -v '^#' "$DOT_ENV_PATH" | sed -E 's/(.*)=.*/\1/' | xargs) fi }