加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – shell中的“无效算术运算符”

发布时间:2020-05-24 17:34:43 所属栏目:Linux 来源:互联网
导读:猫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; ar

猫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

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读