bash shell脚本的结果为什么是7?

一碗粥 发布于 2016/06/22 13:14
阅读 200
收藏 0
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



为什么echo $a是{1...3}, 而echo ${#a[0}是7?, 不应该是一样的吗?
加载中
1
亭舸翁
亭舸翁
{1...3}长度为7
一碗粥
一碗粥
${#a[@]}不才是数组的长度吗?
0
一碗粥
一碗粥
没人知道吗?
0
漓江
漓江

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了。

返回顶部
顶部