猫test.sh
#!/bin/bash
key="index";
arr[$key]="val"
echo ${arr[${key}]}
/ bin / bash-x test.sh
+ key=index
+ arr[$key]=val
+ echo val
val
然后我修改test.sh:
#!/bin/bash
key="index.index";
arr[$key]="val"
echo ${arr[${key}]}
/ bin / bash -x test.sh
+ key=index.index
+ arr[$key]=val
test.sh: line 3: index.index: syntax error: invalid arithmetic operator (error token is ".index")
test.sh: line 4: index.index: syntax error: invalid arithmetic operator (error token is ".index")
为什么会出现此错误,任何建议都会受到欢迎!
最佳答案
使用declare -A arr将数组变量声明为关联数组.
$cat test.sh
#!/bin/bash
set -x
declare -A arr
key="index.index";
arr["$key"]="val"
echo "${arr["${key}"]}"
$./test.sh
+ declare -A arr
+ key=index.index
+ arr["$key"]=val
+ echo val
val
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。