Bash цикъл през списък от низове

Bash Loop Through List Strings



Списък с низове или масив или последователност от елементи може да бъде повторен чрез използване за цикъл в bash. Как можете да повторите списъка със низове в Bash чрез цикъл for е показано в този урок, като използвате различни примери за скрипт bash. Ако сте начинаещ, програмирате bash, можете да прочетете урока на BASH За примери за цикъл преди да започнете този урок.

Създайте bash файл с име „ for_list1.sh “И добавете следния скрипт. В цикъла for се използва стойност на низ с интервали. По подразбиране стойността на низ е разделена с интервал. For цикълът ще раздели низ на думи и ще отпечата всяка дума чрез добавяне на нов ред.







#!/bin/bash
# Прочетете низ с интервали, използвайки цикъл for
застойноствХаресва ми програмирането
направете
изхвърлен $ стойност
Свършен

Изход:



$башfor_list1.sh



Пример-2: Итерация на низова променлива с помощта на цикъл for

Създайте bash файл с име „ for_list2.sh “И добавете следния скрипт. Присвояване на текст към променливата, StringVal и прочетете стойността на тази променлива, като използвате цикъл for. Този пример също ще работи като предишния пример и ще раздели стойността на променливата на думи въз основа на интервала.





#!/bin/bash
# Определете низова променлива със стойност
StringVal=„Добре дошли в linuxhint“

# Итерация на променливата на низ с помощта на цикъл for
зачасв $ StringVal;направете
изхвърлен $ часове
Свършен

Изход:

$башfor_list2.sh



Пример-3: Итерация на масив от низови стойности

Създайте bash файл с име „ for_list3.sh “И добавете следния скрипт. В този скрипт е деклариран масив от низови стойности с тип. Две стойности в масива, които съдържат интервал, са Linux Mint и Red Hat Linux . Този скрипт ще генерира изхода чрез разделяне на тези стойности на няколко думи и отпечатване като отделна стойност. Но това не е правилният изход. Решението на този тип проблеми е показано в следващия пример.

#!/bin/bash

# Декларирайте масив от низ с тип
декларирам -да се StringArray=(„Linux Mint“ 'Fedora' „Red Hat Linux“ „Ubuntu“ 'Debian' )

# Итерация на низовия масив с помощта на цикъл for
зачасв $ {StringArray [@]};направете
изхвърлен $ часове
Свършен

Изход:

$башfor_list3.sh

Пример-4: Отпечатайте стойност на низ от няколко думи като единична стойност

Създайте bash файл с име „ for_list4.sh “И добавете следния скрипт. В този пример всеки елемент от променливата на масива, StringArray съдържа стойности на две думи. За да отпечатате всяка стойност без разделяне и да решите проблема от предишния пример, просто трябва да оградите променливата на масива с двоен цитат в рамките на цикъла for.

#!/bin/bash

# Обявете низов масив с тип
декларирам -да се StringArray=('Уиндоус експи' „Windows 10“ „Windows ME“ „Windows 8.1“
„Windows Server 2016“ )

# Прочетете стойностите на масива с интервал
зачасв '$ {StringArray [@]}';направете
изхвърлен $ часове
Свършен

Изход:

$башfor_list4.sh

Пример-5: Итерация на низови стойности на масив, използвайки „*“

Създайте bash файл с име „ for_list5.sh “Със следния код. Тук символът „*“ се използва за четене на всички низови стойности на масива. Първият цикъл for се използва за показване на стойностите на масива в множество редове, а вторият цикъл for се използва за показване на стойностите на масива в един ред.

#!/bin/bash

#Обявете низов масив
LanguageArray=('PHP' 'Java' '° С #' 'C ++' „VB.Net“ 'Python' 'Perl')

# Отпечатайте стойности на масиви в редове
изхвърлен „Отпечатайте всеки елемент в нов ред“
заval1в $ {LanguageArray [*]};направете
изхвърлен $ val1
Свършен

изхвърлен ''

# Отпечатайте стойностите на масива в един ред
изхвърлен „Отпечатайте всички елементи в един ред“
заval2в '$ {LanguageArray [*]}';направете
изхвърлен $ val2
Свършен
изхвърлен ''

Изход:

$башfor_list5.sh

Пример-6: Итерация на стойности на низ, разделени със запетая

Създайте нов bash файл с име „ for_list6.sh ’ със следния код. Тук, запетая (,) се използва за разделяне на низовите стойности. IFS променливата се използва за задаване на разделител на полета.

#!/bin/bash
DataList=„HTML5, CCS3, BootStrap, JQuery“
Поле_Разделител=$ IFS

# задайте запетая като вътрешен разделител на полета за списъка с низове
IFS=,
зачасв $ DataList;
направете
изхвърлен $ часове
Свършен

IFS=$ Field_Separator

Изход:

$башfor_list6.sh

Пример-7: Четене на множество низови масиви заедно

Създайте bash файл с име „ for_list7.sh “И добавете следния скрипт. В този пример два низови масива са дефинирани и комбинирани в друг масив. Външният цикъл for се използва за четене на комбинирания масив, а вътрешният for цикъл се използва за четене на всеки вътрешен масив.

#! /bin/sh
str_array1=(„Magento 2.2.4“ „WooCommerce“)
str_array2=(„CodeIgnitor“ 'Laravel')
комбинирам=(str_array1 str_array2)
зауправляванав $ {комбинирайте [@]}
направете
eval 'за val в' $ {'$ arrItem'[@]}'; do echo '$ val'; done '
Свършен

Изход:

$башfor_list7.sh

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

Създайте нов bash файл с име for_list8.sh със следния код. Тук, ‘ /, /’ pattern се използва за разделяне на низовите стойности въз основа на запетая.

#! /bin/sh

# Определете списък с променлива на низ
stringList= WordPress, Joomla, Magento

# Използвайте запетая като разделител и прилагайте като модел
зачасв $ {stringList //,/}
направете
изхвърлен $ часове
Свършен

Изход:

$башfor_list8.sh

Надявам се, че примерите от този урок ще ви помогнат да разберете използването на for цикъл за повторение на списъка с низове, за видео по тази тема вижте по -долу: