使用变量将带有空格的键/值插入关联数组并将其返回给父函数

使用变量将带有空格的键/值插入关联数组并将其返回给父函数

有 2 个功能,子级和父级。

子函数构建关联数组,并将其返回给父函数中的另一个关联数组

键和值是始终根据数据变化的字符串,在其中一些字符串中可能会出现空格,这是正常的。

但是must use subscript when assigning associative array出现消息,并且值/键被分割直到第一个空格。

父代碼:

declare -A TEST="$(child_func)"
# Print             
for key in  "${!TEST[@]}" ; do
                    echo -e "key: $key\n"
                    echo -e "value: ${TEST[$key]}\n"
                done

儿童代码:

local _exec_result=$(timeout ${EXECUTION_TIMEOUT} /bin/bash ${cmd})
local _exec_code=$?
local _key="${_exec_result}"
local _val="${_exec_code}"
declare -A _exec_dict+=(["${_key}"]="${_val}")
# Final return
if (( ${#_exec_dict[@]} ))
then 
    echo '('
    for key in "${!_exec_dict[@]}" ; do
        echo "[${key}]=${_exec_dict[${key}]}"
    done
    echo ')'
fi

为价值观而努力:

key: 0
value: bbb

输出:

key: 0
value: bbb

不适用于:

key: 0
value: b bb

输出:

TEST: bb: must use subscript when assigning associative array
    key: 0
    value: b

底线:我该如何处理最终插入关联数组的键/值的变量中的空格

如何退货,二手关联解决方案

相关内容