Вступ до масиву в 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 разом з різними прикладами та реалізацією коду. Ви також можете переглянути наступні статті, щоб дізнатися більше -
- Проксі-сервер Linux
- Типи оболонок в Linux
- Створити користувача в Linux
- Файлова система Unix
- Керівництво по циклу в сценарії оболонок