Looming on omane kunst, mis muudab teie töö lihtsamaks ja aitab teil korduvaid ülesandeid suhteliselt lihtsalt automatiseerida.

Kujutage ette olukorda, kus peate värskendama mitmeid numbreid või teksti ja selle asemel, et seda käsitsi teha, lasete süsteemil seda teie eest teha. See on loopimise jõud ja eelised, mida see teie jaoks lauale toob.

Silmused funktsioonina on saadaval peaaegu igas programmeerimiskeeles; Linuxi Bash pole sellest reeglist erand.

Siin on juhend, mis selgitab, kuidas kasutada kestaskriptis silmust for.

For Loopi struktuur

For-tsükli kasutamine shelliskriptides on üsna lihtne ja erinevate eesmärkide saavutamiseks saate struktuuriga manipuleerida.

Põhistruktuur on järgmine:

üksuse jaoks loendis [LIST]
teha
[KÄSUD]
tehtud

Silmuse abil saate sõltuvalt tunni vajadusest liikuda läbi numbri- ja märgiväärtuste.

Seotud:Kuidas kasutada silmuseid JavaScriptis

Siin on for-tsükli struktuur shelliskriptis:

VARIABLE jaoks 1 2 3 4 5... N
teha
käsk1
käsk2
käskN
tehtud

Esimesel real saate määrata iteratsioonide arvu. Sel viisil mainite algus- ja lõppväärtust.

instagram viewer

Iteratsioonide arvu määravad teie määratud väärtused, samas kui koodile järgnev kood teha lause on saadud tsükli väärtus.

Loopide loomine ja käitamine Linux Bashis

Koodi kirjutamise alustamiseks avage Linuxi terminal.

Shelliskripti salvestamiseks kasutatakse tekstiredaktorit, mis prindib täitmisel soovitud tulemused. Illustreerimise eesmärgil on selles juhendis olevad käsud kirjutatud Nano tekstiredaktor.

Tüüp nano terminali käsureal, et avada tekstiredaktor, millele järgneb shelliskripti nimi.

nano ForLoops.sh

Saate muuta kestaskripti nime, mis teile meeldib. Laiendus on sh, kuna salvestate kestaskripti.

Täisarvude printimine tsüklite jaoks

Selles jaotises näitavad järgmised koodid, kuidas saab täisarvude väärtusi erinevalt printida. Kui soovite kasutada täisarvude printimiseks shelliskriptis tsüklit, võite proovida mõnda neist koodinäidetest.

1. Numbrikomplekti printimiseks looge kood

Kui redaktor avaneb, on aeg kood kirjutada.

#!/usr/bin/bash
minu jaoks 1 2 3-s
teha
kaja "Praegune # $i"
tehtud

Väljund:

Kus:

  • i = muutuja nimi itereeritud väärtuste salvestamiseks
  • 1 2 3 = shelliskripti for-tsükli iteratsioonide arv
  • teha = käsk teatud toimingute komplekti sooritamiseks
  • kaja = printige kõrval määratletud tulemused
  • tehtud = silmuse lõpp

Salvestage kood tekstiredaktorisse vajutades Ctrl + X. Salvestage ja väljuge skriptist.

Seotud: Kuidas kasutada Javas For, While ja Do While silmuseid näidetega

Enne koodi käivitamist peate muutma shelliskripti õigusi.

Sisenema chmod +x millele järgneb shelliskripti faili nimi:

chmod +x Forloops.sh

Kui õigused on antud, käivitage oma shelliskriptis silmus for, tippides järgmise:

./Forloops.sh

Väljund prinditakse terminali aknas.

2. Alternatiivne viis numbrikomplekti printimiseks

Shelli skriptis on silmuse määratlemiseks alternatiivseid viise. Samuti saate lokkis sulgudes määrata tsükli iteratsioonide algus- ja lõpuväärtuse.

Siin on koodi struktuur:

for i in {1..3} # a for tsükkel määrab muutuja ja mitu iteratsiooni soovite tsükli kaudu teha
teha
echo "Praegune # $i: näide 2"
tehtud

Silmus jookseb kolm korda ja väärtused prinditakse järgmiselt.

3. Silmuskood, kasutades sammuväärtusi

Kui soovite iteratsioonides järjestikku liikuda, saate tsüklis määrata sammuväärtused. Sõltuvalt määratud väärtusest on väljundil fikseeritud vahe.

Näiteks:

minu jaoks {1..10..2}
teha
kaja "Arv = $i"
tehtud

Kus:

  • i = muutuja iteratsioonide salvestamiseks
  • 1..10 = tsükli käitamiseks vajalike iteratsioonide arv
  • 2 = sammu väärtus
  • teha = käsk väljundi printimiseks
  • kaja = printimise käsk
  • tehtud = tsükli väljumiskäsk

Väljund:

Väljundil on erinevus kaks, mis määrati sammulauses.

Trüki tähemärkide väärtused silmuste jaoks

Silmuste jaoks shelliskriptimine ei piirdu ainult täisarvudega. Bashis saate märkide ja stringiväärtuste tõhusaks itereerimiseks kasutada tsüklit for.

1. Looping Through Strings

Siin on põhinäide, kuidas saate teatud stringiväärtusi (määratletud lauses for):

nimeks John Jack Mary
teha
echo "Minu nimi on $nimi"
tehtud

Kus:

  • nimi = muutuja stringiväärtuste salvestamiseks
  • teha = käsk väljundi printimiseks
  • kaja = printimise käsk
  • tehtud = tsükli väljumiskäsk

Väljund:

Seda for tsüklit korratakse kolm korda, nagu on ainult kolm stringi väärtused määratud jaoks avaldus.

2. Tingimustega stringide loomine

Mis siis, kui soovite tsükli keskel lõpetamiseks läbida mõned loogilised tingimused? Sel eesmärgil saate kasutada loogilisi avaldusi, näiteks KUI avaldus. IF-lause määrab, kuidas tsükkel töötab ja milline väljund selle tulemusel prinditakse.

vesinikheeliumi elemendi jaoks Liitium-berüllium; teha

if [[ "$element" == 'Liitium' ]]; siis

murda

fi

echo "Element: $element"

tehtud

echo 'Kõik tehtud!'

Seotud:Kuidas Pythonis loenditega silmuseid kasutadaNiipea kui elemendi väärtus võrdub liitiumiga, tsükkel lõpeb ja väljund prinditakse. Silmus kestab seni, kuni tingimust enam ei täideta.

Kuna liitium on väärtuste loendis kolmas, jookseb silmus kaks iteratsiooni enne lõpliku väljundi printimist Kõik tehtud!.

Silmuste käivitamine Linux Bashis

Silmused on Linuxi kestastruktuuri oluline osa, mis võib Linuxi skriptide funktsiooni oluliselt täiustada.

Kui peate printima korduvaid väljundeid, pole Bashi skriptides midagi paremat kui tsüklid. Nagu varem mainisime, on silmused saadaval peaaegu igas programmeerimiskeeles ja Python pole erand. Lõika välja kordused ja järgi DRY (Ära korda ennast) koodi.

Kuidas kasutada Pythonis silmuseid

For Loops on oluline programmeerimisoskus. Siit saate teada, kuidas neid Pythonis kasutada.

Loe edasi

JagaSäutsMeil
Seotud teemad
  • Programmeerimine
  • Linux
  • Linux
  • Linux Bash Shell
  • Programmeerimine
Autori kohta
Gaurav Siyal (Avaldatud 22 artiklit)

Gaurav Siyal on kaheaastane kirjutamiskogemus, kirjutades mitmetele digitaalse turunduse ettevõtetele ja tarkvara elutsükli dokumentidele.

Rohkem Gaurav Siyalist

Liituge meie uudiskirjaga

Liituge meie uudiskirjaga tehniliste näpunäidete, arvustuste, tasuta e-raamatute ja eksklusiivsete pakkumiste saamiseks!

Tellimiseks klõpsake siin