„Bash Loop“ per eilučių sąrašą

Bash Loop Through List Strings



Eilių arba masyvo ar elementų sekos sąrašą galima pakartoti naudojant dėl kilpa bash. Kaip galite pakartoti eilučių sąrašą „Bash by for loop“, šioje instrukcijoje parodyta naudojant įvairius „bash“ scenarijaus pavyzdžius. Jei esate pradedantysis programuojantis „bash“, galite perskaityti vadovėlį BASH ciklų pavyzdžiams prieš pradedant šią pamoką.

Sukurkite „bash“ failą pavadinimu „ for_list1.sh “Ir pridėkite šį scenarijų. Eilutės reikšmė su tarpais naudojama ciklui. Pagal numatytuosius nustatymus eilutės reikšmė atskiriama tarpais. Dėl ciklo eilutė bus padalyta į žodžius ir kiekvienas žodis išspausdinamas pridedant naują eilutę.







#!/bin/bash
# Perskaitykite eilutę su tarpais, naudodami ciklą
dėlvertėsįMan patinka programavimas
daryti
išmetė $ vertės
padaryta

Išėjimas:



$muštifor_list1.sh



2 pavyzdys: eilutės kintamojo kartojimas naudojant ciklą

Sukurkite „bash“ failą pavadinimu „ for_list2.sh “Ir pridėkite šį scenarijų. Priskirkite tekstą kintamajam, StringVal ir perskaitykite šio kintamojo reikšmę naudodami ciklą. Šis pavyzdys taip pat veiks kaip ir ankstesnis pavyzdys ir skirsto kintamojo reikšmę į žodžius pagal erdvę.





#!/bin/bash
# Apibrėžkite eilutės kintamąjį su reikšme
StringVal=„Sveiki atvykę į„ linuxhint “

# Pakartokite eilutės kintamąjį naudodami ciklą
dėlvalį $ StringVal;daryti
išmetė $val
padaryta

Išėjimas:

$muštifor_list2.sh



3 pavyzdys: pakartokite eilutės reikšmių masyvą

Sukurkite „bash“ failą pavadinimu „ for_list3.sh “Ir pridėkite šį scenarijų. Šiame scenarijuje deklaruojamas eilutės reikšmių masyvas su tipu. Masyve yra dvi reikšmės, kuriose yra tarpas „Linux Mint“ ir „Red Hat Linux“ . Šis scenarijus sugeneruos išvestį, padalijęs šias reikšmes į kelis žodžius ir spausdindamas kaip atskirą vertę. Bet tai nėra tinkamas rezultatas. Šio tipo problemų sprendimas pateiktas kitame pavyzdyje.

#!/bin/bash

# Paskelbkite eilutės masyvą su tipu
skelbti StringArray=(„Linux Mint“ „Fedora“ „Red Hat Linux“ „Ubuntu“ 'Debian' )

# Pakartokite eilučių masyvą naudodami ciklą
dėlvalį $ {StringArray [@]};daryti
išmetė $val
padaryta

Išėjimas:

$muštifor_list3.sh

4 pavyzdys: išspausdinkite kelių žodžių eilutės reikšmę kaip vieną vertę

Sukurkite „bash“ failą pavadinimu „ for_list4.sh “Ir pridėkite šį scenarijų. Šiame pavyzdyje kiekvienas masyvo kintamojo elementas, StringArray yra dviejų žodžių reikšmės. Norėdami išspausdinti kiekvieną vertę neskaidydami ir išspręsti ankstesnio pavyzdžio problemą, jums tiesiog reikia masyvo kintamąjį įtraukti dviguba citata kilpos viduje.

#!/bin/bash

# Skelbkite eilutės masyvą su tipu
skelbti StringArray=('Windows XP' „Windows 10“ „Windows ME“ „Windows 8.1“
„Windows Server 2016“ )

# Skaitykite masyvo vertes su tarpais
dėlvalį '$ {StringArray [@]}';daryti
išmetė $val
padaryta

Išėjimas:

$muštifor_list4.sh

5 pavyzdys: masyvo eilutės reikšmių kartojimas naudojant „*“

Sukurkite „bash“ failą pavadinimu „ for_list5.sh “Su šiuo kodu. Čia simbolis „*“ naudojamas skaityti visas masyvo eilutės reikšmes. Pirmasis ciklui naudojamas masyvo reikšmėms rodyti keliose eilutėse, o antrasis ciklui - masyvo reikšmėms rodyti vienoje eilutėje.

#!/bin/bash

#Deklaruokite eilutės masyvą
„LanguageArray“=(„PHP“ „Java“ „C #“ „C ++“ „VB.Net“ „Python“ „Perl“)

# Spausdinkite masyvo reikšmes eilutėmis
išmetė „Spausdinti kiekvieną elementą naujoje eilutėje“
dėlval1į $ {LanguageArray [*]};daryti
išmetė 1 val
padaryta

išmetė ''

# Spausdinkite masyvo vertes vienoje eilutėje
išmetė „Spausdinti visus elementus vienoje eilutėje“
dėlval2į '$ {LanguageArray [*]}';daryti
išmetė 2 val
padaryta
išmetė ''

Išėjimas:

$muštifor_list5.sh

6 pavyzdys: kableliais atskirtų eilučių reikšmių kartojimas

Sukurkite naują „bash“ failą pavadinimu „ for_list6.sh “ su šiuo kodu. Čia, kablelis (,) yra naudojamas eilutės reikšmėms padalyti. IFS kintamasis naudojamas laukų skyrikliui nustatyti.

#!/bin/bash
„DataList“=„HTML5, CCS3,„ BootStrap “,„ JQuery “
Field_Separator=$ IFS

# nustatykite kablelį kaip eilučių sąrašo vidinį laukų skyriklį
IFS=,
dėlvalį $ DataList;
daryti
išmetė $val
padaryta

IFS=$ Field_Separator

Išėjimas:

$muštifor_list6.sh

7 pavyzdys: Kelių eilučių masyvų skaitymas kartu

Sukurkite „bash“ failą pavadinimu „ for_list7.sh “Ir pridėkite šį scenarijų. Šiame pavyzdyje yra apibrėžtos dvi eilutės masyvai ir sujungiami į kitą masyvą. Išorinis ciklas naudojamas jungtiniam masyvui skaityti, o vidinis ciklui - kiekvienam vidiniam masyvui skaityti.

#! /bin/sh
str_array1=(„Magento 2.2.4“ „WooCommerce“)
str_array2=(„CodeIgnitor“ „Laravel“)
derinti=(str_array1 str_array2)
dėlvaldomasį $ {kombinacija [@]}
daryti
eval 'už $ $'$ arrItem'[@]}'; pakartokite '$ val'; baigta '
padaryta

Išėjimas:

$muštifor_list7.sh

8 pavyzdys: modelio naudojimas eilučių sąrašui skaityti

Sukurkite naują bash failą pavadinimu for_list8.sh su šiuo kodu. Čia, „ /, /“ modelis naudojamas norint padalyti eilučių reikšmes pagal kablelį.

#! /bin/sh

# Apibrėžkite eilutės kintamojo sąrašą
stringList= „WordPress“, „Joomla“, „Magento“

# Naudokite kablelį kaip skyriklį ir taikykite kaip šabloną
dėlvalį $ {stringList //,/}
daryti
išmetė $val
padaryta

Išėjimas:

$muštifor_list8.sh

Tikimės, kad šios pamokos pavyzdžiai padės suprasti jų naudojimą už kilpą Norėdami pakartoti eilučių sąrašą, vaizdo įrašą šia tema rasite žemiau: