Массив - это набор элементов. В Bash массив может содержать сочетание элементов разных типов, например Строки и числа.
В этом руководстве мы обсудим, как создавать и использовать массивы в Bash. Мы также рассмотрим операции с массивами, такие как создание цикла, печать, получение размера и изменение содержимого.
Есть два способа создания массивов Bash:
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'
Примечание:По обе стороны от знак равно оператор.Чтобы получить длину или размер массива, мы используем ${#array_name[@]}
.
Например:
my_bash_array=(foo bar baz) echo 'the array contains ${#my_bash_array[@]} elements' #Output the array contains 3 elements
Чтобы перебрать все элементы в массиве 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 и как получать длину, перебирать элементы, печатать элементы и изменять содержимое массива.