mkenv.sh 479 B

123456789101112
  1. #!/usr/bin/env bash
  2. # mkenv.sh NAME KEY=VAL ... -> $RESULTS_DIR/envs/NAME.env: a copy of .env with the given keys replaced/appended.
  3. set -euo pipefail
  4. ROOT="$(cd "$(dirname "$0")/../.." && pwd)"; cd "$ROOT"
  5. NAME="$1"; shift
  6. OUT="${RESULTS_DIR:?}/envs/$NAME.env"; BASE="${BASE_ENV:-.env}"
  7. cp "$BASE" "$OUT"; chmod 600 "$OUT"
  8. for kv in "$@"; do
  9. k="${kv%%=*}"
  10. if grep -q "^$k=" "$OUT"; then sed -i "s|^$k=.*|$kv|" "$OUT"; else printf '%s\n' "$kv" >> "$OUT"; fi
  11. done
  12. echo "$OUT"