fix: preserve local env overrides in shell pipelines
This commit is contained in:
25
scripts/env_precedence_test.sh
Executable file
25
scripts/env_precedence_test.sh
Executable file
@@ -0,0 +1,25 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
cd "$ROOT_DIR"
|
||||
|
||||
TMP_DIR="$(mktemp -d)"
|
||||
trap 'rm -rf "$TMP_DIR"' EXIT
|
||||
|
||||
cat > "$TMP_DIR/.env.local" <<'EOF'
|
||||
LOCAL_ALPHA=test-placeholder-value
|
||||
LOCAL_BETA=real-db
|
||||
EOF
|
||||
cat > "$TMP_DIR/.env" <<'EOF'
|
||||
LOCAL_ALPHA=
|
||||
LOCAL_BETA=
|
||||
EOF
|
||||
|
||||
|
||||
|
||||
unset LOCAL_ALPHA LOCAL_BETA || true
|
||||
while IFS= read -r kv; do export "$kv"; done < <(scripts/load_project_env.sh "$TMP_DIR/.env.local")
|
||||
while IFS= read -r kv; do key="${kv%%=*}"; [[ -n "$key" && -n "${!key:-}" ]] && continue; export "$kv"; done < <(scripts/load_project_env.sh "$TMP_DIR/.env")
|
||||
[[ "$LOCAL_ALPHA" == "test-placeholder-value" ]]
|
||||
[[ "$LOCAL_BETA" == "real-db" ]]
|
||||
Reference in New Issue
Block a user