training-web.ruГлавнаяКатегорииО насКарта сайтаПоискТёмная тема

Категории

Как вывести массив при помощи цикла for BASH

Создано: 19 мая 2017Автор: Егор Астапов2553 просмотраСложность: легкий

Как вывести одномерный массив при помощи цикла 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.

Комментарии

реклама