Массивы Bash с примерами

Массив - это набор элементов. В Bash массив может содержать сочетание элементов разных типов, например Строки и числа.

В этом руководстве мы обсудим, как создавать и использовать массивы в Bash. Мы также рассмотрим операции с массивами, такие как создание цикла, печать, получение размера и изменение содержимого.



Как создавать массивы в Bash

Есть два способа создания массивов Bash:


Использование ключевого слова declare

declare -a my_bash_array

это создаст индексированный массив с именем «my_bash_array».

Инициализация массива

Мы также можем создавать и инициализировать массивы на лету с помощью оператора присваивания = и элементы внутри фигурных скобок ():


my_bash_array=('apple' 'orange' 'banana')

Или мы могли бы также явно указать индекс

my_bash_array[0]='apple' my_bash_array[1]='orange' my_bash_array[2]='banana' Примечание:По обе стороны от знак равно оператор.

Длина массива Bash

Чтобы получить длину или размер массива, мы используем ${#array_name[@]}.

Например:

my_bash_array=(foo bar baz) echo 'the array contains ${#my_bash_array[@]} elements' #Output the array contains 3 elements

Цикл массивов Bash

Чтобы перебрать все элементы в массиве Bash, мы можем использовать цикл for:


#!/bin/bash my_array=(foo bar baz) # for loop that iterates over each element for i in '${my_array[@]}' do
echo $i done

Выход:

foo bar baz

Печать всех элементов

Чтобы распечатать все элементы массива без цикла, мы можем использовать следующий синтаксис:

echo ${my_array[@]}

Добавление элементов в массив

Чтобы добавить элементы в массив, мы используем += оператор. Это добавит элемент в конец массива.

Например:


my_array=(foo bar) my_array+=(baz) echo '${my_array[@]}' foo bar baz

Или мы можем использовать индекс для добавления элемента:

my_array=(foo bar) my_array[2]=baz echo '${my_array[@]}' foo bar baz

Удалить элементы из массива

Чтобы удалить элемент из массива Bash, мы используем unset команда.

Например:

my_array=(foo bar baz) unset my_array[1] echo ${my_array[@]} foo baz

Заключение

В этом руководстве мы рассмотрели массивы Bash; как создавать и инициализировать массивы в Bash и как получать длину, перебирать элементы, печатать элементы и изменять содержимое массива.