有 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
底线:我该如何处理最终插入关联数组的键/值的变量中的空格
如何退货,二手关联解决方案