MC, 2025
Ilustracja do artykułu: Komprenante la Bash While-loop: Facila Gvidilo kun Ekzemploj

Komprenante la Bash While-loop: Facila Gvidilo kun Ekzemploj

La Bash-skriptoj estas potenca ilo por aŭtomatigi taskojn en via komputilo. Inter multaj uzeblaj komandoj, la while-loop estas unu el la plej utilaj. En ĉi tiu artikolo, ni esploros kiel funkcias la Bash while-loop kaj prezentos kelkajn ekzemplojn, kiuj montras ĝian uzon en praktiko. Ĉu vi estas komencanto aŭ spertulo, vi certe trovos ion interesan ĉi tie!

Kio estas Bash While-loop?

En Bash, la while-loop estas uzata por ripeti parton de kodo dum specifa kondiĉo estas vera. Tio signifas, ke la komandoj ene de la loop estos plenumitaj ripete ĝis kiam la kondiĉo ne plenumos plu. La sintakso estas simpla, sed tre potenca, ĉar ĝi ebligas efikajn manierojn por efektivigi ripetajn taskojn.

La baza sintakso de While-loop

La sintakso de while-loop estas tre simpla. Ĝi komenciĝas per la vorto while, sekvita de kondiĉo, kaj finas per la vorto done. Jen la ĝenerala formato:

while [kondiĉo]
do
   komandoj
done

La kondiĉo estas testita antaŭ ĉiu rundo de la loop. Se ĝi estas vera, la komandoj ene de la loop estos plenumitaj. Se ĝi estas falsa, la loop ĉesos.

Unu el la plej simplaj ekzemploj: Numeroj de 1 ĝis 5

Ni komencu per baza ekzemplo, kiu montras kiel uzi la while-loop por elmontri numerojn de 1 ĝis 5. Ĉi tio estas ideala komenco por kompreni la fundamenton de la loop.

#!/bin/bash

numero=1
while [ $numero -le 5 ]
do
   echo "Numéro: $numero"
   ((numero++))
done

En ĉi tiu ekzemplo, la variablo numero komenciĝas de 1. La loop kontrolas ĉu numero estas malpli ol aŭ egala al 5. Ĉiufoje, la valoroj estas montrataj per echo kaj numero estas pliiigita per unu per la komando ((numero++)).

La funkcio de testado de kondiĉoj en la While-loop

La testado de kondiĉoj estas esenca por la while-loop. Se la kondiĉo estas verifikita kiel vera, la loop okazos, sed se ĝi estas falsa, la loop ĉesos. Unu el la plej oftaj kondiĉoj, kiujn ni uzas, estas komparado de nombroj aŭ tekstoj.

Por kompari nombrojn en Bash, ni uzas -lt (malpli ol), -le (malpli ol aŭ egala), -gt (pli ol), -ge (pli ol aŭ egala), -eq (egala) aŭ -ne (ne egala).

Ekzemplo de komparo de nombroj

Ekzemple, ni povas uzi la while-loop por kontroli, ĉu nombro estas malpli ol 10:

#!/bin/bash

num=1
while [ $num -lt 10 ]
do
   echo "Numero estas: $num"
   ((num++))
done

Ĉi tiu kodo montros la nombrojn de 1 ĝis 9. Ĉiufoje, la loop pliiigas la variablon num je unu, ĝis ĝi atingas 10, momento en kiu la kondiĉo fariĝas falsa kaj la loop ĉesos.

Uzo de While-loop por legi dosieron

La while-loop estas tre utila ankaŭ kiam ni volas legi enhavon de dosiero linio post linio. Jen ekzemplo, kiel uzi la while-loop por legi liniojn de dosiero en Bash:

#!/bin/bash

while IFS= read -r linio
do
   echo "Legita linio: $linio"
done < dosiero.txt

En ĉi tiu ekzemplo, ni uzas la komandon read por legi ĉiun linion de la dosiero dosiero.txt. La komando IFS= estas uzata por certigi, ke la linioj estas legataj tute sen modifi ilian strukturon.

Komplekseco de kondiĉoj en While-loop

Vi povas aldoni multoblajn kondiĉojn al via while-loop, uzante la loĝikajn operatorojn && (kaj) aŭ || (aŭ). Jen ekzemplo de loop, kiu elmontras nur la paritajn nombrojn inter 1 kaj 10:

#!/bin/bash

num=1
while [ $num -le 10 ] && [ $(($num % 2)) -eq 0 ]
do
   echo "Parita numero: $num"
   ((num++))
done

Ĉi tiu ekzemplo uzas modulan operacion por certigi, ke nur la paritajn nombroj estas montritaj. La kondiĉo $(($num % 2)) -eq 0 kontrolas ĉu la nombro estas parita, kaj ĝi daŭras dum la nombro estas malpli ol aŭ egala al 10.

Rolo de While-loop en Aŭtomatigo

La while-loop estas tre utila por aŭtomatigi ripetajn taskojn. Ekzemple, ni povas uzi ĝin por atendi, ke iu reta servilo respondos antaŭ ol iri al la sekva paŝo en skripto. Jen simpla ekzemplo, kie ni atendas 5 sekundojn por testi, ĉu servilo respondas:

#!/bin/bash

while ! ping -c 1 google.com
do
   echo "Atendante retan respondon..."
   sleep 5
done

echo "Servilo estas havebla!"

Ĉi tiu kodo uzas la komandon ping por kontroli, ĉu la retejo respondas. Se ĝi ne respondas, la loop daŭras kun atendado de 5 sekundoj inter ĉiu provo.

Konkludo

La Bash while-loop estas potenca ilo por efektivigi ripetajn taskojn kaj kondiĉojn en via skripto. Ĝi estas tre utila en programado por aŭtomatigo, dosierlegado, retejo-testado kaj multaj aliaj aplikoj. Ĉu vi estas komencanto aŭ spertulo, kompreno pri while-loop helpos vin skribi pli efikajn kaj flekseblajn skriptojn. Nun, kiam vi havas kelkajn praktiko-ekzemplojn, vi povas ekprovi mem kaj komenci krei viajn proprajn skriptojn!

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!

Imię:
Treść: