Improve extraction of environment variables

Refactor environment variable extraction to preserve multiline values.
This commit is contained in:
Alexandre
2025-11-06 19:36:06 +01:00
committed by GitHub
parent c6d5f7f2bf
commit eee55f7112

View File

@@ -120,15 +120,11 @@ for KEYS in "${arr[@]}"; do
continue continue
fi fi
mapfile -t env_pairs < <(jq -r 'to_entries[] | [ .key, (.value // "") ] | @tsv' <<<"$entry") # Preserve multiline values: iterate keys and extract raw values without @tsv
for env_pair in "${env_pairs[@]}"; do mapfile -t env_keys < <(jq -r 'keys[]' <<<"$entry")
if [[ "$env_pair" == *$'\t'* ]]; then for env_key in "${env_keys[@]}"; do
env_key=${env_pair%%$'\t'*} # Use --arg to select the key; // empty to avoid "null"
env_value=${env_pair#*$'\t'} env_value=$(jq -r --arg k "$env_key" '.[$k] // empty' <<<"$entry")
else
env_key="$env_pair"
env_value=""
fi
export_option "$env_key" "$env_value" export_option "$env_key" "$env_value"
env_processed=true env_processed=true
done done