Как вывести одномерный массив при помощи цикла for BASH. Покажу вам воистину красивый пример. Тут собраны 2 массива. Значения последовательности чисел подставляются в качестве ключей массива. В результате выводятся значения по ключам. Довольно простая схема.
#!/bin/bash
#Строки из стихотворения (одна строфа).
Line[1]="Мой дядя самых честных правил,"
Line[2]="Когда не в шутку занемог;"
Line[3]="Он уважать себя заставил,"
Line[4]="И лучше выдумать не мог."
Line[5]="Его пример другим наука..."
# Атрибуты.
Attrib[1]=" А.С. Пушкин"
Attrib[2]="\"Евгений Онегин\""
for index in 1 2 3 4 5 # Пять строк.
do
printf " %s\n" "${Line[index]}"
done
for index in 1 2 # Две строки дополнительных атрибутов.
do printf " %s\n" "${Attrib[index]}"
done
exit 0
#вывод:
Мой дядя самых честных правил,
Когда не в шутку занемог;
Он уважать себя заставил,
И лучше выдумать не мог.
Его пример другим наука...
А.С. Пушкин
"Евгений Онегин"
Предлагаю вашему вниманию ещё один простой пример. Тут подсчитывается количество элементов массива. Вы можете добавлять и удалять элементы массива. Цикл for выведет массив автоматически.
#!/bin/bash
# создание массива
declare -a arr=(один два три четыре пять)
count_arr=${#arr[@]}
echo "Кол-во элементов $count_arr"
for((i=0; i<count_arr; i++))
do
echo "элемент [$i]: ${arr[$i]}"
done
# вывод:
# Кол-во элементов 5
# элемент [0]: один
# элемент [1]: два
# элемент [2]: три
# элемент [3]: четыре
# элемент [4]: пять
Существую различные операции для работы с массивами BASH.