0Pricing
Linux Command Line & Bash Scripting Mastery · Урок

Работа с массивами в Bash

Храните и обрабатывайте списки значений. Научитесь объявлять массивы, получать доступ к элементам и перебирать их, узнавать длину массива и использовать ассоциативные массивы как отображения «ключ — значение».

«Работа с массивами в Bash» — бесплатный урок Linux Command Line & Bash Scripting Mastery на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Linux Command Line & Bash Scripting Mastery, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Linux Command Line & Bash Scripting Mastery содержит 4 уроков всего.

Зачем нужны массивы

Обычная переменная хранит одно значение. Массив хранит много значений — это идеально подходит для списков файлов, имён или аргументов, по которым нужно пройти в сценарии.

Объявление массива

Создайте индексированный массив, перечислив значения в круглых скобках через пробел.

fruits=(apple banana cherry)

Доступ к элементам

Обращайтесь к элементам по индексу с помощью ${array[i]}, начиная с 0. Фигурные скобки обязательны.

echo "${fruits[0]}"   # apple
echo "${fruits[2]}"   # cherry

Все элементы сразу

Используйте ${array[@]}, чтобы получить все элементы. Именно этот вариант используется в цикле.

echo "${fruits[@]}"   # apple banana cherry

Длина массива

Получите количество элементов с помощью ${#array[@]}.

echo "${#fruits[@]}"   # 3

Перебор с циклом for

Перебирайте массив, раскрыв все его элементы. Кавычки вокруг "${arr[@]}" сохраняют значения, содержащие пробелы.

for f in "${fruits[@]}"; do
  echo "Fruit: $f"
done

Добавление элементов

Добавляйте элементы в конец массива с помощью +=. Также можно напрямую присвоить значение определённому индексу.

fruits+=(mango)
fruits[10]="kiwi"

Удаление элементов

unset удаляет элемент по индексу. Обратите внимание: вместо перенумерации индексов в массиве останется пробел.

unset 'fruits[1]'   # removes banana

Получение среза массива

Извлеките диапазон элементов с помощью ${array[@]:start:count}.

echo "${fruits[@]:0:2}"   # first two

Ассоциативные массивы

Bash 4+ поддерживает отображения «ключ—значение». Объявите такое отображение с помощью declare -A, а затем обращайтесь к элементам по строковым ключам.

declare -A ages
ages[alice]=30
ages[bob]=25
echo "${ages[alice]}"   # 30

Перебор ключей и значений

Перебирайте ключи с помощью ${!array[@]} и получайте каждое значение по ключу.

for name in "${!ages[@]}"; do
  echo "$name is ${ages[$name]}"
done

Быстрая проверка

Проверьте своё понимание.

Итоги

Вы изучили массивы Bash: объявление с помощью (), обращение по индексу с помощью ${arr[i]}, раскрытие всех элементов с помощью ${arr[@]}, подсчёт с помощью ${#arr[@]}, перебор, добавление через +=, получение среза и использование declare -A для ассоциативных отображений «ключ—значение».

Часто задаваемые вопросы

Урок «Работа с массивами в Bash» бесплатный?

Да — полный текст урока «Работа с массивами в Bash» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Linux Command Line & Bash Scripting Mastery, подпишись на CoddyKit PRO. Курс Linux Command Line & Bash Scripting Mastery содержит 4 уроков всего.

Чему я научусь в уроке «Работа с массивами в Bash»?

Храните и обрабатывайте списки значений. Научитесь объявлять массивы, получать доступ к элементам и перебирать их, узнавать длину массива и использовать ассоциативные массивы как отображения «ключ —… Ты практикуешь Linux Command Line & Bash Scripting Mastery с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Linux Command Line & Bash Scripting Mastery?

Предыдущий опыт не требуется. Linux Command Line & Bash Scripting Mastery на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Работа с массивами в Bash»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Linux Command Line & Bash Scripting Mastery?

Да. Каждый урок Linux Command Line & Bash Scripting Mastery включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Первый скрипт Bash и шебанг
  2. Переменные и пользовательский ввод
  3. Условные конструкции (if, else, elif)
  4. Работа с массивами в Bash
← Назад к Linux Command Line & Bash Scripting Mastery