GNU bash 手册告诉我
如果使用语法分配了任何变量,则会自动创建索引数组
name[subscript]=value
下标被视为必须计算为数字的算术表达式。如果下标计算为小于零的数字,则将其用作大于数组最大索引的 1 的偏移量(因此 -1 的下标指的是数组的最后一个元素)。
所以我想我会尝试一下并得到以下结果:
$ muh=(1 4 'a' 'bleh' 2)
$ echo $muh
1
$ echo ${muh[*]}
1 4 a bleh 2 # so far so good so now I'll try a negative ...
$ echo ${muh[-1]}
-bash: muh: bad array subscript # didn't go as planned!
是我做错了什么,还是网站错了,还是 gnu bash 与我在 CentOS 下运行的 bash 不同?谢谢!