【发布时间】:2013-04-13 03:27:13
【问题描述】:
GNU bash manual 告诉我
如果分配了任何变量,则会自动创建索引数组 使用语法
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 不同?谢谢!
【问题讨论】:
-
它是特定于版本的。在 bash 4.2 下工作,但对我来说在 3.2 下失败
-
@ravoori:啊!我有3.2!谢谢。
标签: linux arrays bash unix gnu