da@mimi:/tmp$ a=({1...3})
da@mimi:/tmp$ echo $a
{1...3}
da@mimi:/tmp$ echo ${#a}
7
da@mimi:/tmp$ echo ${#a[0]}
7
da@mimi:/tmp$ echo ${#a[@]}
1
da@mimi:/tmp$ a=({1...3})
da@mimi:/tmp$ echo $a
{1...3}
da@mimi:/tmp$ echo ${#a}
7
da@mimi:/tmp$ echo ${#a[0]}
7
da@mimi:/tmp$ echo ${#a[@]}
1
a=({1...3})
这是一个数组,数组里只有一个元素,是一个list{1...3}.
数组的长度是1,元素a[0]即{1...3}的长度是7。而a代表的是数组的首地址,这样就可以理解了。
可以测试一下,当a=({1...3} {1.2})的话,echo${#a[@]}就为2了。
当a=({1.2} {1...3})的话。echo${#a}就为5了。