我正在创build一个源和目标MAC地址的关联数组。
$ declare -a SrcDstMap $ SrcDstMap["9c:4e:20:73:e2:72"]="ff:ff:ff:ff:ff:ff" -bash: 9c: value too great for base (error token is "9c") $ SrcDstMap["fc:4e:20:73:e2:72"]="ff:ff:ff:ff:ff:ff" -bash: fc:4e:20:73:e2:72: syntax error in expression (error token is ":4e:20:73:e2:72")
我怎么能告诉bash,给定的键是一个完整的string。
这不是一个关联数组。 你需要使用declare -A
,而不是declare -a
。
$ declare -A SrcDstMap $ SrcDstMap["9c:4e:20:73:e2:72"]="ff:ff:ff:ff:ff:ff" $ declare -p SrcDstMap declare -A SrcDstMap=([9c:4e:20:73:e2:72]="ff:ff:ff:ff:ff:ff" )
declare -a
创建一个数字索引的数组,因此shell试图将您的索引解析为一个数字。