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