# Problem with array sizes

**URL:** <https://community.unix.com/t/problem-with-array-sizes/238616>\
**Category:** Shell Programming and Scripting\
**Created:** [April 25, 2009, 12:29pm UTC](https://community.unix.com/t/problem-with-array-sizes/238616 "2009-04-25T12:29:28Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![sniper57](https://community.unix.com/letter_avatar/sniper57/32/6_22734026db12803ebb3e059622ac3534.png) [@sniper57](https://community.unix.com/u/sniper57)\
**Post date:** [April 25, 2009, 12:29pm UTC](https://community.unix.com/t/problem-with-array-sizes/238616/1 "2009-04-25T12:29:28Z")

</div>

If I do :-

set -A classifications atype btype ctype dtype etype  
for i in ${classifications[@]}  
do  
echo $i  
print $i \>\> /tmp/class.txt  
done

print "${#classifications[@]}"

The array prints as I would expect and the size of the array is 5 (as expected).

If I use an alternative method:

i=0  
exec \< /tmp/classifications.txt  
while read array [i]; do  
echo ${array  
[i]((i=i+1))  
done

print "${#array[@]}"

The array size is 6. I can't figure out why ? Anyone explain this please?

Thanks for your help.

---

<div class="post-metadata">

**Author:** ![JerryHone](https://community.unix.com/letter_avatar/jerryhone/32/6_22734026db12803ebb3e059622ac3534.png) [@JerryHone](https://community.unix.com/u/JerryHone)\
**Post date:** [April 27, 2009, 8:17am UTC](https://community.unix.com/t/problem-with-array-sizes/238616/2 "2009-04-27T08:17:42Z")

</div>

Having hada bit of a play with your code, it looks as though the array size is being incremented by the read statement. If you change the code to...

```nohighlight
while read line ; do
array=line
.
.

```

the final size comes out at 5.

Does look like a bit of an anomaly!😕

---

<div class="post-metadata">

**Author:** ![sniper57](https://community.unix.com/letter_avatar/sniper57/32/6_22734026db12803ebb3e059622ac3534.png) [@sniper57](https://community.unix.com/u/sniper57)\
**Post date:** [April 27, 2009, 4:04pm UTC](https://community.unix.com/t/problem-with-array-sizes/238616/3 "2009-04-27T16:04:02Z")

</div>

Cheers. I suspect you are right 🙂
