我正在尝试这样做:
declare -a ip_array=( [127.0.0.1]=127.1.1.1 [127.1.1.1]=127.0.0.1 )
但是bash抱怨,因为它认为小数点是运算符:
bash: 127.0.0.1: syntax error: invalid arithmetic operator (error token is "127.0.0.1")
我尝试使用单引号和双引号,但每次似乎都在算术上求值。
编辑:声明数组时,我没有注意到小写-a选项和大写-A选项之间存在区别。
答案 0 :(得分:1)
[-+] a声明名称为索引数组(使用+可接受的语法删除,但会导致错误消息)
[-+] A声明NAME为关联数组
尝试一下:
declare -A AR=( [127.0.0.1]=127.1.1.1 [127.1.1.1]=127.0.0.1 ); echo ${AR[@]};