Определение числа элементов в массиве

We use cookies. Read the Privacy and Cookie Policy

Определить число элементов в массиве, так же как длину строки, можно с помощью механизма подстановки параметров. Например:

[me@linuxbox ~]$ a[100]=foo

[me@linuxbox ~]$ echo ${#a[@]} # число элементов в массиве

1

[me@linuxbox ~]$ echo ${#a[100]} # длина элемента с индексом 100

3

Мы создали массив a и записали строку foo в элемент с индексом 100. Далее с помощью механизма подстановки параметров мы определили длину массива, используя при этом форму записи индекса @. Затем определили длину элемента с индексом 100, содержащего строку foo. Обратите внимание, что даже при том, что мы присвоили строку элементу с индексом 100, bash сообщает, что в массиве имеется только один элемент. Такое поведение необычно для тех языков, в которых неиспользуемые элементы массива (элементы с индексами 0–99) были бы инициализированы пустыми значениями и учитывались бы при определении размера массива.