【发布时间】:2021-03-08 23:11:44
【问题描述】:
我正在尝试将字符串读入关联数组。
字符串被正确转义并读入 .sh 文件:
./myScript.sh "[\"el1\"]=\"val1\" [\"el2\"]=\"val2\""
在脚本中
#!/bin/bash -e
declare -A myArr=( "${1}" ) #it doesn't work either with or without quotes
我得到的是:
line 2: myArr: "${1}": must use subscript when assigning associative array
谷歌搜索错误只会导致“您的数组格式不正确”的结果。
【问题讨论】:
-
请尝试:
declare -A "myArr=( ${1} )" -
与使用
eval一样,在处理复杂输入时可能会产生代码注入或其他错误。 -
你可以接受
./myScript.sh el1 val1 el2 val2之类的东西吗?