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

За да получим дължината или размера на масив, използваме ${#array_name[@]}.

Например:

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

Bash Array Loop

За да прегледаме всички елементи в масив 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 и как да получите дължината, да прекосите елементи, да отпечатате елементи и да промените съдържанието на масив.