diff --git a/.templates/00-global_var.sh b/.templates/00-global_var.sh index 56f1caa31..cd0f9d45d 100755 --- a/.templates/00-global_var.sh +++ b/.templates/00-global_var.sh @@ -29,21 +29,18 @@ mapfile -t arr < <(jq -r 'keys[]' "${JSONSOURCE}") # Escape special characters using printf and enclose in double quotes sanitize_variable() { - local raw="$1" # original value - local escaped # value after printf %q - # Check if the value is an array + local raw="$1" + local escaped if [[ "$raw" == \[* ]]; then echo "One of your options is an array, skipping" return fi printf -v escaped '%q' "$raw" - # If nothing changed, return the original. if [[ "$raw" == "$escaped" ]]; then printf '%s' "$raw" - return + else + printf '%s' "$escaped" fi - # Otherwise protect the escaped string with double quotes. - printf '"%s"' "$escaped" } for KEYS in "${arr[@]}"; do