#!/bin/bash

INF_FILE="test.inf"

## new line char
#nl=$( echo -e "\n" )
#echo "nl: [${nl}]"


var_name=""
while IFS= read -r s ; do
    echo "Line: [${s}]"
    if echo "${s}" | grep -E '^[^[:space:]]+:[[:space:]]*.*$' > /dev/null 2>&1 ; then
        if [ ! -z "${var_name}" ] ; then
            eval ${var_name}=\'${var_val}\'
        fi
        var_name=$( echo "${s}" | sed -re 's|^([^[:space:]]+):[[:space:]]*.*$|\1|' )
        var_val=$(  echo "${s}" | sed -re 's|^[^[:space:]]+:[[:space:]]*(.*)$|\1|' )
        eval ${var_name}=\"${var_val}\"
        echo "New VAR: [${var_name}] -> [${var_val}]"
        continue
    elif echo "${s}" | grep -E '^[[:space:]]+.*$' > /dev/null 2>&1 ; then
        if [ -z "${var_name}" ] ; then
            echo "DBG#1: Error!"
            continue
        fi
#        var_val=$(  echo "${s}" | sed -re 's|^[[:space:]]+(.*)$|\1|' )
        var_val="${var_val}\\\n$(  echo \"${s}\" | sed -re 's|^[[:space:]]+(.*)$|\1|' )"
#        eval ${var_name}="\$( echo -e \"\${var_name}\n${var_val}\" )"
#        echo "nm: [${var_name}]"
#        echo "vl: [${var_val}]"
#        eval ${var_val}="\$( echo -n "\${var_val}\n${var_val}" )"
#        eval ${var_name}=$( echo -e \"\${${var_name}}\\n${var_val}\" )
#        eval ${var_name}=\"\${${var_name}}\\n${var_val}\"
        eval ${var_name}=\"\${${var_name}}${nl}${var_val}\"
#        eval ${var_name}=\'\${${var_name}}\\\n${var_val}\'
#        eval "echo \"DBG#2: \${${var_name}}\""
#        eval ${var_name}="${var_val}"
    fi
#    eval echo -n "Cont VAR: ${var_name} -\> \"[\${${var_name}}]\""
#    eval echo -n \"Cont VAR: ${var_name} -\> \\\"[\${${var_name}}]\\\"\"
    echo -n "Cont VAR: ${var_name} -> [${var_val}]"
done < "${INF_FILE}"
