#!/bin/bash denvexec() { # Überprüfen, ob die richtige Anzahl Argumente übergeben wurden 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 "$ENV_DIR: $DOCKER_COMMAND" #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() { # Überprüfen, ob die richtige Anzahl Argumente übergeben wurden if [ $# -lt 2 ]; then echo "Verwendung: dexec " return 1 fi # convert first parameter to system-direcotry, concat the rest # Teile den String in zwei Teile auf, getrennt durch "-" 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 ) local DOT_ENV_PATH="${ENV_DIR}/systems/${SYSTEM_DIR}/.env" echo "" echo "$SYSTEM_DIR: $DOCKER_COMMAND" #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 }