Bash: Цикл по списку строк

Список строк, массив или последовательность элементов можно итерировать с помощью цикла for в bash. Как можно итерировать список строк в Bash с помощью цикла for, показано в этом уроке на примере различных сценариев bash.

Пример: Итерация строки из нескольких слов в цикле for

Создайте bash-файл с именем "test.sh" и добавьте в него следующий сценарий. В цикле for используется строковое значение с пробелами. По умолчанию строковое значение разделяется пробелом. Цикл for разделит строку на слова и выведет каждое слово, добавляя новую строку.

Вывод:

Итерация строки из нескольких слов в цикле for

Пример 2: Итерация строковой переменной с помощью цикла for

Создайте файл bash с именем "test.sh" и добавьте в него следующий сценарий. Присвойте текст переменной StringVal и считайте значение этой переменной с помощью цикла for. Этот пример также будет работать, как и предыдущий, и делить значение переменной на слова, основываясь на пробеле.

Вывод:

Итерация строковой переменной с помощью цикла for

Пример 3: Итерация массива строковых значений

Создайте bash-файл с именем 'test.sh' и добавьте в него следующий скрипт. В этом скрипте массив строковых значений объявлен с типом type. Два значения в массиве, которые содержат пробел, это "Linux Mint" и "Red Hat Linux". Этот скрипт сгенерирует вывод, разбив эти значения на несколько слов и выведя их как отдельные значения. Но это не является правильным выводом. Решение этой проблемы показано в следующем примере.

Вывод:

Итерация массива строковых значений

Пример 4: Вывод строкового значения из нескольких слов как одного значения

Создайте bash-файл с именем "test.sh" и добавьте в него следующий сценарий. В этом примере каждый элемент переменной массива StringArray содержит значения из двух слов. Чтобы вывести каждое значение без разбиения и решить проблему предыдущего примера, достаточно заключить переменную массива в двойные кавычки внутри цикла for.

Вывод:

Вывод строкового значения из нескольких слов как одного значения

Пример 5: Итерация строковых значений массива с помощью '*'

Создайте bash-файл с именем "test.sh" со следующим кодом. Здесь символ '*' используется для чтения всех строковых значений массива. Первый цикл for используется для отображения значений массива в нескольких строках, а второй цикл for - для отображения значений массива в одной строке.

Вывод:

Итерация строковых значений массива с помощью '*'

 

Пример 6: Итерация строковых значений, разделенных запятыми

Создайте новый bash-файл с именем "test.sh" со следующим кодом. Здесь запятая (,) используется для разделения строковых значений. Переменная IFS используется для установки разделителя полей.

Вывод:

Итерация строковых значений, разделенных запятыми

Пример 7: Совместное чтение нескольких строковых массивов

Создайте bash-файл с именем 'test.sh' и добавьте в него следующий сценарий. В этом примере два строковых массива определены и объединены в один массив. Внешний цикл for используется для чтения объединенного массива, а внутренний цикл for - для чтения каждого внутреннего массива.

Вывод:

Совместное чтение нескольких строковых массивов

Пример 8: Использование шаблона для чтения списка строк

Создайте новый bash-файл с именем test.sh со следующим кодом. Здесь шаблон '/, /' используется для разделения строковых значений на основе запятой.

Вывод:

Использование шаблона для чтения списка строк

Пример 9: Чтение многострочной переменной

Создайте новый bash-файл с именем test.sh со следующим кодом. В данном примере мы создаем переменную,содердащую множество строк. В качестве символа раздлелитетеля символ конца строки, так же добовляем в цикл счетчик, что бы видеть что вывод происходит посмотрочно.

Вывод:

Чтение многострочной переменной

Понравилась статья? Поделиться с друзьями:
Добавить комментарий