Как обратиться к элементу массива и понять длину значения элемента массива? Эти вопросы довольно часто возникают. В BASH довольно чудной синтаксис и вывод значений массива выглядит не обычно. Покажу вам простые примеры вывода значений массива.
#!/bin/bash
# операции над массивами
array=(нулевой первый второй третий)
echo ${array[0]} #нулевой
echo ${array:0} #нулевой
echo ${#array[0]} #7
echo ${#array} #7
echo ${#array[1]} #6
echo ${#array[*]} #4
echo ${#array[@]} #4
exit 0
Во втором примере вы можете изменить ключи у значений массива.
#!/bin/bash
array2=([0]="первый элемент" [1]="второй элемент" [3]="четвертый элемент")
echo ${array2[0]} # первый элемент
echo ${array2[1]} # второй элемент
echo ${array2[2]} # Не был проинициализирован, поэтому null.
echo ${array2[3]} # четвертый элемент
exit 0
Вы можете вывести часть массива. Для этого не нужно создавать цикл и выводить значения по ключу. Посмотрите на пример. Конструкция arr[@]:1:2 позволяет вывести массив со второго элемента по третий. Нумерация ключей массива начинается с 0.
#!/bin/bash
arr=(один два три четыре);
echo ${arr[@]:1:2}
#вывод: два три
О том как удалить элемент массива написано статье как удалить элемент массива unset BASH