【发布时间】:2019-11-29 10:39:56
【问题描述】:
我想知道如何将变量值存储到键中。
这样当key被访问时就会输出key + variables的值。
当我创建一个关联数组并将一个变量插入并回显键时,它会输出变量名称而不是变量值。如何让 bash 的解释器正确解析?
试过了 “${变量}” ${变量} “$变量” $变量
variable="some string"
declare -A array
array=(
['some code ${variable}']="keyvalue"
['${variable} some more code']="keyvalue2"
['and even some more code ${variable}']="keyvalue3"
)
for i in "${!array[@]}"
do
key=$i
value=${array[$i]}
echo "$key : $value"
done
代码输出:
and even some more code ${variable} : keyvalue3
我正在尝试实现这个输出:
and even some more code some string : keyvalue3
【问题讨论】:
-
单引号不能扩展变量,双引号可以。
-
被许多人认为是邪恶的,试试
eval echo "$key : $value"。如果您无法控制为${variable}设置值的内容,这可能会很危险。祝你好运。
标签: bash variables associative-array