Вступ до масиву в Unix

Масив - це структура даних, яка містить групу елементів, характерних для одного типу даних, таких як рядок, ціле число, плаваючий елемент тощо. Структура даних масиву також доступна в Unix.

  • Масив в Unix: це сукупність елементів, які можуть бути або не бути одного типу даних.
  • Індекс: масив заснований на нулі, що означає, що елементи масиву посилаються на індекс, починаючи з нуля.
  • Розмір: Максимального обмеження щодо розміру масиву немає

Синтаксис масиву в Unix

Існують різні способи формування масиву в сценарії оболонок. Давайте детально розглянемо кожен з них:

1. Непряма декларація: тут призначається значення для певного індексу на ходу. Приклад цього згаданий нижче.

Синтаксис:

array_name(index) = value

2. Явна декларація: Спочатку оголошується масив, а потім пізніше йому присвоюються значення. Оголосити вбудоване ключове слово і -a - це варіант читання вбудованого, який дозволяє читати та призначати значення.

Синтаксис:

declare -a array_name

3. Присвоєння з'єднання: Тут масив оголошується з кількома значеннями одночасно.

Синтаксис:

array_name = (value1 value2 value3 . . . valueN)

Або

array_name = ((0)=value1, (1)=value2, (2)=value3..)

Тут індекс не є обов'язковим, якщо індекс не надається, значення присвоюється останньому індексу плюс одному

Як працює масив в Unix?

Ми дізналися про різні способи створення масиву в Unix. Давайте тепер рухатимемося вперед і бачимо різні операції, які можна виконати на масиві Unix.

1. Створимо масив імен

2. Для доступу до всіх елементів масиву використовуйте або (*) або (@)

Код:

echo $(first_name(*))
echo $(first_name(@))

Примітка: команда echo - це вбудована команда в Unix, яка використовується для відображення тексту або рядка, переданого як аргумент команді. Синтаксис 'ехо' згадується нижче.

Синтаксис:

echo (options) (arguments)

3. Щоб отримати доступ до будь-якого конкретного елемента рядка, використовуючи його індекс.

Код:

echo $(first_name(0))
echo $(first_name(1))
echo $(first_name(2))

Вихід:

Примітка: () фігурні дужки використовуються для позначення вмісту масиву.

4. Роздрукувати елементи в діапазоні. Синтаксис для того ж такий:

Синтаксис:

echo $array_name(which element):starting_index:count_element)

Давайте ознайомимось із тим самим.

Код:

echo $(first_name(@):0:2)
echo $(first_name(@):2:3)
echo $(first_name(0):1:2)

Вихід:

@ - відноситься до всіх елементів масиву
У команді відлуння $ (first_name (@): 0: 2)
@ розглянемо всі елементи масиву. 0 - означає починати саме з цього індексу, а 2 відображає кількість елементів від початкової точки
2 відображається ряд елементів від початкової точки

У цій команді відлуння $ (first_name (0): 1: 2)
0 - розглянемо 0- й елемент масиву. 1- - початкова точка, а 2 - підрахунок кількості елементів від початкової точки

5. Щоб отримати розмір масиву

Код:

echo $(#first_name(@))
or
echo $(#first_name(*))

Вихід:


Примітка: # використовується для пошуку довжини конкретного елемента масиву.

6. Щоб знайти довжину конкретного елемента масиву

Код:

echo $(#first_name(0))

Вихід :

7. Щоб отримати індекс масиву, скористайтеся командою нижче.

Код:

echo $(!first_name(@))

Вихід:


Примітка :! використовується для отримання індексу масиву.

8. Для видалення масиву використовується команда скидання скрипту. Це вбудована команда для знищення масиву або будь-якого елемента масиву

Синтаксис:

unset array_name

Код:

unset first_name

9. Видалити елемент у будь-якому конкретному індексі

unset first_name(2)

Це видалить елемент в індексі 2.

10. Для пошуку конкретного шаблону в масиві.

Код:

echo $(first_name(@)/*(aA)*/)

Вихід:

Тут ім'я first_name (@): посилається на всі елементи масиву
/ шаблон для пошуку /: це шаблон, який потрібно шукати в масиві або його елементі.
Він поверне 1, якщо відповідність знайдена, і 0, якщо не знайдено відповідності.

11. Для пошуку конкретного шаблону та заміни його в заданому масиві.

Код:

echo $(first_name(@)//a/A)

first_name (@): Розгляньте всі елементи масиву
// шаблон для пошуку / рядок заміни /: рядок пошуку та заміни

Вихід:

first_name (2): пошук та заміна операцій, що виконуються на елементі, з індексом 2.

Під час виконання операції пошуку та заміни в початковому значенні масиву не вносяться зміни. Він повертає нове значення, яке може зберігатися в одних і тих же або різних змінних.

12. Для виконання операції над елементами масиву ми можемо використовувати Loops. Як і будь-яка інша мова програмування, оболонка Bourne підтримує два типи циклів, тобто для циклу та циклу while. Давайте подивимось на приклад ітерації масиву, який використовується для циклу.

Код:

Arr = (1 2 3 4 5)
for i in “$(Arr(@))”
do
echo $i
done

Вихід :

Аналогічно, ви можете перебирати масив, використовуючи цикл while.

Будь ласка, майте на увазі, що в Unix доступні різні типи оболонок, такі як Bash, K shell, оболонка Bourne тощо. Shell - це не що інше, як інтерфейс для систем Unix з різними наборами команд та функцій. Отже, на основі різних типів оболонки існують різні синтаксиси, пов’язані з масивом та його операціями з невеликою варіацією синтаксису команд, які обговорюються вище.

Bash Shell дозволяє також проводити операції з масивом на змінних, без змін явно оголошуватись як масив. Давайте подивимось на приклад, щоб краще зрозуміти вищезазначене твердження.

Код:

String_variable = India is a democratic country
echo “$(string(0))”

Вихід:

Висновок

В основному масив - це сукупність елементів, що зберігаються в суміжній пам'яті. Метою формування масиву є зберігання декількох елементів одного типу разом з тими ж або різними типами даних. У практичному сценарії, чому структура масиву відстає від популярності через відсутність сумісності з різними оболонками та складними структурами.

Рекомендовані статті

Це посібник з масиву в Unix. Тут ми обговорюємо синтаксис та роботу масиву в Unix разом з різними прикладами та реалізацією коду. Ви також можете переглянути наступні статті, щоб дізнатися більше -

  1. Проксі-сервер Linux
  2. Типи оболонок в Linux
  3. Створити користувача в Linux
  4. Файлова система Unix
  5. Керівництво по циклу в сценарії оболонок