10 siistiä ja mahtavaa Bash Loop -esimerkkiä

10 Siistia Ja Mahtavaa Bash Loop Esimerkkia



Ohjelmointikielessä on pääasiassa kolmenlaisia ​​silmukoita (for, while ja till). Kaikki kolme silmukkatyyppiä ovat tärkeitä eri tavoin. While- ja till-silmukoiden välillä ei ole paljon eroa, mutta for-silmukka toimii aivan eri tavalla kuin nämä kaksi. Siksi voit käyttää näitä silmukoita luodaksesi interaktiivisia skriptejä bash-käyttäjänä.

Joten bash-esimerkkien oppiminen voi auttaa sinua parantamaan taitojasi skriptien luomisessa. Joten tässä opetusohjelmassa sisällytämme 10 siistiä ja mahtavaa bash-silmukkaesimerkkiä, joita voit yrittää parantaa komentosarjataitojasi.







10 siistiä ja mahtavaa Bash Loop -esimerkkiä

Tässä osiossa selitämme erilaisia ​​esimerkkejä ja lähestymistapoja, joita olemme käyttäneet silmukoissa.



Seq Command silmukalla Bashissa

Voit käyttää seq-komentoa for-silmukassa numerosarjan luomiseen. Sinulla on esimerkiksi bash-skripti 'File.sh', joka sisältää seuraavan koodin:



#!/bin/bash
varten A sisään $ ( seq 5 kaksi 25 )
tehdä
kaiku 'numerot $A ovat'
tehty





Saat seuraavan tuloksen suoritettuasi komentosarjan terminaalissa:

. / tiedosto.sh




Nimeä tiedostot uudelleen silmukan avulla

Bash-skriptillä voit käyttää for-silmukoita useiden tiedostojen uudelleennimeämiseen. Sinulla on esimerkiksi useita .txt-tiedostoja ja haluat lisätä nykyisen päivämäärän nimeen. Joten tässä on esimerkkiskripti, jota voit käyttää:

#!/bin/bash
varten A sisään $ ( ls * .txt ) ; tehdä
mv $A ( perusnimi $A .txt ) _$ ( Päivämäärä % d % m % ) .txt
tehty


Nyt voit suorittaa komentosarjan, ja se muuttaa kaikkien .txt-tiedostojen nimet lisäämällä nykyisen päivämäärän:

. / MyFile.sh



Vastaavasti voit muuttaa tiedoston tunnisteita yhdellä komentosarjalla. Muutetaan siis .txt-laajennus .sh:ksi seuraavan komentosarjan avulla:

#!/bin/bash
varten tiedosto sisään * .txt; tehdä
mv -- ' $tiedosto ' '{tiedosto%.txt}.sh'
tehty

Kun komentosarja on suoritettu päätteessä, saat .sh-tiedostot .txt-tiedoston sijaan:

. / MyFile.sh


Infinite For Loop Bashissa

Kun silmukassa ei ole määritetty pääteehtoa, sitä kutsutaan äärettömäksi silmukaksi. Tässä Bash-silmukan esimerkissä tarkastelemme bashin ääretöntä for-silmukkaa. Seuraava ääretön for-silmukka määritellään kaksoispuolipisteellä ( ; ; ), eikä se sisällä alku-, toiminta- tai lopetusosia.

Alla oleva komentosarja jatkuu, kunnes painat Ctrl+C tai kirjoitat syötteeksi 'quit'. Tämä skripti tulostaa kaikki syötteenä annetut numerot 10-50. Muussa tapauksessa se tulostaa 'numero on alueen ulkopuolella'.

#!/bin/bash
#ääretön silmukka
varten ( ( ; ; ) )
tehdä
kaiku 'Anna luku väliltä 10 - 50'
lukea n
jos [ $n == 'lopettaa' ]
sitten
kaiku 'lopetettu'
poistu 0
olla
jos ( ( $n < 10 || $n > viisikymmentä ) )
sitten
kaiku 'Numero on alueen ulkopuolella'
muu
kaiku 'Numero on $n '
olla
tehty

Annoimme 45 ja 23 kelvollista syötettä yllä olevaan skriptiin. Sen jälkeen tulostamme syötteeksi 2, joka kertoo lähdössä, että 'numero on alueen ulkopuolella'. Tämän jälkeen komentosarjan sulkemiseksi kirjoitamme syötteeksi quit. Täällä voit myös painaa Ctrl+C lopettaaksesi äärettömän silmukan.

Three Expression Loop Bashissa

Kolmen lausekkeen silmukan nimestä tiedetään, että se sisältää kolme lauseketta, joita kutsutaan myös ohjauslausekkeiksi. Ensimmäinen lauseke (EXP1) on alustus, toinen lauseke (EXP2) on silmukkatesti tai ehto ja kolmas lauseke (EXP3) on laskentalauseke/vaihe. Suoritetaan kolmen lausekkeen silmukka bashissa:

#!/bin/bash
varten ( ( n = 5 ; n > = 1 ; n-- ) )
tehdä
kaiku 'Kirja $n '
tehty

Kun suoritat yllä olevan skriptin, saat seuraavan tulosteen.

Silmukka useilla ehdoilla

Olemme käyttäneet till-silmukkaa useilla ehdoilla seuraavassa bash-silmukan esimerkissä. Tässä skriptissä otimme 'm' ja 'n', kaksi muuttujaa, joiden arvot ovat 20 ja 10, ja säilytimme rajan 15. Tässä laitamme 'm' ja 'n' ehdot yhteen silmukkaan, jossa silmukka jatkuu, kunnes arvo 'm' on pienempi kuin raja ja 'n' on suurempi kuin raja.

#!/bin/bash
raja = viisitoista
m = kaksikymmentä
n = 10
siihen asti kun [ [ $m -lt $rajoitus || $n -gt $rajoitus ] ] ;
tehdä
kaiku 'Jos M = $m sitten N = $n '
( ( m-- ) )
( ( n++ ) )
tehty

Voit nähdä, että yllä olevan skriptin suorittaminen jatkuu, kunnes arvot 'm' ja 'n' tulevat samalle tasolle.

Lue tiedosto Bashissa

Bashissa voit lukea tiedoston sisällön useilla tavoilla. Tässä bash-silmukan esimerkissä luemme tiedoston sisällön tiedostonimen kautta. Voimme käyttää seuraavaa komentosarjaa tiedoston lukemiseen bashissa:

#!/bin/bash
kaiku 'Syötetyn tiedoston sisältö on:'
sillä aikaa
lukea linja
tehdä
kaiku $rivi
tehty < ~ Asiakirjat / Linuxhint.txt

Yllä olevan skriptin suorittamisen jälkeen voit lukea syötetyn tiedoston koko sisällön.

Kirjoittaminen tiedostoon

Voit käyttää komentosarjan silmukoita tiedoston muokkaamiseen suoraan päätteestä. Jos meillä on esimerkiksi txt-tiedosto 'Example.txt' ja haluamme lisätä tietoja, voimme käyttää seuraavaa komentosarjaa:


Jos suoritat yllä olevan skriptin, se pyytää sinua antamaan tiedot:


Kun olet antanut tiedot, tallenna tiedosto painamalla CTRL + D ja viimeistele prosessi onnistuneesti painamalla CTRL + Z.

Katkaise ja jatka lausekesilmukkaa Bashissa

Bashissa voit jatkaa silmukkalausettasi tauon jälkeen. Break-lause poistuu silmukasta ja siirtää sitten ohjauksen seuraavaan annettuun käskyyn. Iteraatio numero kaksi alkaa sen jälkeen, kun nykyinen iteraatio ohitetaan samalla jatkamiskäskyllä.

#!/bin/bash
yhdellä = 16
siihen asti kun väärä
tehdä
( ( yhdellä-- ) )
jos [ [ $num -ekv 13 ] ]
sitten
jatkaa
elif [ [ $num - 4 ] ]
sitten
tauko
olla
kaiku 'LinuxHint= $num '
tehty

Seuraavassa bash-skriptissä voit nähdä, että kun 'num' on 13, se ohittaa muun silmukan rungon ja hyppää seuraavaan iteraatioon. Samoin silmukka katkeaa, kun 'num' on pienempi tai yhtä suuri kuin 4.


Yllä oleva skripti osoittaa, että silmukka alkaa 15:stä, katkeaa 13:sta ja jatkuu viiteen asti.

Keskiarvon laskeminen bashissa

Voit laskea keskiarvon suorittamalla komentosarjan bash-silmukassa. Tässä käyttäjä voi laskea määritetyn alueen lukujen keskiarvon. Seuraava komentosarja laskee käyttäjän syöttämän syötteen keskiarvon.

#!/bin/bash
merkit = '0'
KESKIVERTO = '0'
SUMMA = '500'
YHDELLÄ = '5'
sillä aikaa totta ; tehdä
kaiku -n 'Syötä merkit tai paina 'q' keskeyttääksesi' ; lukea merkit;
jos ( ( ' $ markkaa ' < '0' ) ) || ( ( ' $ markkaa ' > '100' ) ) ; sitten
kaiku 'Anna arvosanasi'
elif [ ' $ markkaa ' == 'q' ] ; sitten
kaiku 'Keskiarvosanat ovat: KESKIARVO $ %'
tauko
muu
SUMMA =$ [ SUMMA dollaria + $ markkaa ]
YHDELLÄ =$ [ $NUM + 1 ]
KESKIVERTO =$ [ SUMMA dollaria / $NUM ]
olla
tehty

Jos syöte ei ole alueella, tulostetaan viesti 'Syötä pisteet'. Kun käyttäjä painaa 'q' syötettyään kaikki merkit, skripti laskee likimääräisen keskiarvon kaikista syötetyistä numeroista.

Kun yllä oleva komentosarja ajetaan, tuloste on jotain tämän kaltaista.

Lue Bashin komentorivi-argumentit

Bashissa voit lukea yksittäisiä komentoriviargumentteja silmukoiden avulla. Skripti tulostaa muotoillut argumenttiarvot. Suoritamme komentorivin argumentit bashissa käyttämällä while-silmukkaa seuraavassa skriptissä. Tämän kautta tulostat arvon, joka välittää argumentin arvo valid -vaihtoehdon yhden komennon avulla.

#!/bin/bash
sillä aikaa getopts N:F:M: OPT
tehdä
tapaus ' ${OPT} '
sisään
N ) nimi = ${OPTARG} ;;
F ) isän nimi = ${OPTARG} ;;
M ) äidinnimi = ${OPTARG} ;;
* ) kaiku 'Virheellinen'
poistu 1 ;;
esac
tehty
printf 'Nimi: $nimi \n Isän nimi: $isännimi \n Äidin nimi: $äidinnimi \n '

Siten voit tulostaa muotoillut argumenttiarvot ulostuloon suorittamalla yllä olevan komentosarjan bashissa.

Käärimistä

Joten tämä oli lyhyt tieto 10 hienosta ja mahtavasta bash-silmukkaesimerkistä, jotka voit oppia. Olemme käyttäneet erilaisia ​​silmukoita luodaksemme interaktiivisen skriptin helposti. Lisäksi selitimme myös yllä olevissa esimerkeissä käytetyt peruslähestymistavat. Jos sinulla on perusteellisia tietoja bashin silmukoista, vieraile virallisella verkkosivustollamme saadaksesi lisätietoja.