10 coole en geweldige Bash Loop-voorbeelden

10 Coole En Geweldige Bash Loop Voorbeelden



In de programmeertaal zijn er hoofdzakelijk drie soorten lussen (voor, terwijl en tot). Alle drie soorten lussen zijn op verschillende manieren belangrijk. Er is niet veel verschil tussen de while- en until-lussen, maar de for-lus werkt heel anders dan deze twee. Daarom kun je deze loops gebruiken om interactieve scripts te maken als bash-gebruiker.

Dus het leren van bash-voorbeelden kan je helpen je vaardigheden bij het maken van scripts te verbeteren. Dus in deze tutorial zullen we 10 coole en geweldige bash-loopvoorbeelden opnemen die je kunt proberen om je scriptvaardigheden te verbeteren.







10 coole en geweldige Bash Loop-voorbeelden

In deze sectie zullen we verschillende voorbeelden en de benaderingen die we in de lussen hebben gebruikt, toelichten.



Seq-opdracht met lus in bash

U kunt de seq-opdracht in de for-lus gebruiken om de reeks getallen te maken. U hebt bijvoorbeeld een bash-script 'File.sh' dat de volgende code bevat:



#!/bin/bash
voor EEN in $ ( volg 5 twee 25 )
doen
echo 'nummers van $A zijn'
gedaan





U krijgt het volgende resultaat na het uitvoeren van het script in de terminal:

. / bestand.sh




Hernoem bestanden met behulp van Loop

Met behulp van een bash-script kunt u de for-loops gebruiken om meerdere bestanden te hernoemen. U heeft bijvoorbeeld meerdere .txt-bestanden en wilt bij de naam de huidige datum toevoegen. Dus hier is het voorbeeldscript dat u kunt gebruiken:

#!/bin/bash
voor EEN in $ ( ls * .tekst ) ; doen
mv $A ( basisnaam $A .tekst ) _$ ( datum % d % m % ) .tekst
gedaan


Nu kunt u het script uitvoeren en het zal de naam van alle .txt-bestanden wijzigen door de huidige datum toe te voegen:

. / MijnBestand.sh



Op dezelfde manier kunt u de extensies van een bestand wijzigen via een enkel script. Dus laten we de .txt-extensie veranderen in .sh via het volgende script:

#!/bin/bash
voor het dossier in * .tekst; doen
mv -- ' $bestand ' '{bestand%.txt}.sh'
gedaan

Nadat u het script in de terminal hebt uitgevoerd, krijgt u de .sh in plaats van .txt-bestanden:

. / MijnBestand.sh


Oneindige for-lus in Bash

Als er geen beëindigingsvoorwaarde in de lus is gedefinieerd, wordt dit een oneindige lus genoemd. In dit voorbeeld van een Bash-lus kijken we naar de oneindige for-lus in bash. De volgende oneindige for-lus wordt gedefinieerd door een dubbele puntkomma ( ; ; ) en bevat geen begin-, actie- of eindgedeelten.

Het onderstaande script gaat door totdat u op Ctrl+C drukt of 'quit' typt als invoer. Dit script print elk getal van 10 tot 50 dat als invoer wordt opgegeven. Anders wordt 'nummer is buiten bereik' afgedrukt.

#!/bin/bash
#oneindige lus
voor ( ( ; ; ) )
doen
echo 'Voer een getal tussen 10 en 50 in'
lezen n
als [ $n == 'ontslag nemen' ]
dan
echo 'beëindigd'
Uitgang 0
zijn
als ( ( $n < 10 || $n > vijftig ) )
dan
echo 'Het nummer is buiten bereik'
anders
echo 'Het nummer is $n '
zijn
gedaan

We hebben 45 en 23 geldige invoer gegeven op het bovenstaande script. Daarna drukken we 2 af als invoer, wat in de uitvoer vertelt dat 'het nummer buiten bereik is'. Daarna typen we quit als invoer om het script te sluiten. Hier kunt u ook op Ctrl+C drukken om de oneindige lus te beëindigen.

Drie expressielussen in bash

Uit de naam van de lus met drie uitdrukkingen is bekend dat deze uit drie uitdrukkingen bestaat, ook wel controle-uitdrukkingen genoemd. De eerste uitdrukking (EXP1) is de initializer, de tweede uitdrukking (EXP2) is de lustest of voorwaarde, en de derde uitdrukking (EXP3) is de tellende uitdrukking/stap. Laten we een lus met drie expressies uitvoeren in bash:

#!/bin/bash
voor ( ( n = 5 ; n > = 1 ; n-- ) )
doen
echo 'Boek $n '
gedaan

Als u het bovenstaande script uitvoert, krijgt u de volgende uitvoer.

Lus met meerdere voorwaarden

We hebben de till-lus met meerdere voorwaarden gebruikt in het volgende bash-lusvoorbeeld. In dit script hebben we 'm' en 'n' genomen, twee variabelen waarvan de waarden respectievelijk 20 en 10 zijn, en we hebben de limiet van 15 behouden. Hier hebben we de voorwaarden 'm' en 'n' samen in de lus geplaatst, waarin de lus loopt totdat de waarde van 'm' kleiner is dan de limiet en 'n' groter is dan de limiet.

#!/bin/bash
begrenzing = vijftien
m = twintig
n = 10
tot [ [ $m -lt $limiet || $n - gt $limiet ] ] ;
doen
echo 'Als M= $m dan N= $n '
( ( m-- ) )
( ( n++ ) )
gedaan

U kunt zien dat het uitvoeren van het bovenstaande script wordt uitgevoerd totdat de waarden van 'm' en 'n' op hetzelfde niveau komen.

Bestand lezen in Bash

In bash kun je de inhoud van een bestand op verschillende manieren lezen. In dit voorbeeld van een bash-lus lezen we de inhoud van het bestand via de bestandsnaam. We kunnen het volgende script gebruiken om het bestand in bash te lezen:

#!/bin/bash
echo 'De inhoud van het ingevoerde bestand is:'
terwijl
lezen lijn
doen
echo $ lijn
gedaan < ~Documenten / Linuxhint.txt

Nadat u het bovenstaande script hebt uitgevoerd, kunt u de volledige inhoud van het ingevoerde bestand lezen.

Schrijven naar een bestand

U kunt de lussen in het script gebruiken om een ​​bestand rechtstreeks vanaf de terminal te bewerken. Als we bijvoorbeeld een txt-bestand 'Example.txt' hebben en we willen wat informatie optellen, dan kunnen we het volgende script gebruiken:


Als u het bovenstaande script uitvoert, wordt u gevraagd om de details in te voeren:


Nadat u de details hebt ingevoerd, drukt u op CTRL + D om het bestand op te slaan en CTRL + Z om het proces met succes af te ronden.

Breek en ga door met de instructielus in Bash

In bash kun je na de pauze doorgaan met je loop-statement. De instructie break verlaat de lus en geeft de besturing door aan de volgende gegeven instructie. Iteratie nummer twee begint nadat de huidige iteratie is overgeslagen met dezelfde continue-instructie.

#!/bin/bash
op een = 16
tot vals
doen
( ( op een-- ) )
als [ [ $ aantal -eq 13 ] ]
dan
doorgaan
elif [ [ $ aantal -de 4 ] ]
dan
pauze
zijn
echo 'LinuxHint= $ aantal '
gedaan

In het volgende bash-script kun je zien dat wanneer het 'getal' gelijk is aan 13, het de rest van de lus overslaat en naar de volgende iteratie springt. Evenzo zal de lus breken wanneer 'num' kleiner is dan of gelijk is aan 4.


Het bovenstaande script laat zien dat de lus begint bij 15, breekt bij 13 en doorgaat tot 5.

Een gemiddelde berekenen in Bash

U kunt het gemiddelde berekenen door het script in een bash-loop uit te voeren. Hierin kan de gebruiker het gemiddelde berekenen van getallen binnen een bepaald bereik. Het volgende script berekent het gemiddelde van de door de gebruiker geleverde invoer.

#!/bin/bash
merken = '0'
GEMIDDELD = '0'
SOM = '500'
OP EEN = '5'
terwijl WAAR ; doen
echo -n 'Voer je cijfers in of druk op 'q' om af te breken' ; lezen merken;
als ( ( ' $ mark ' < '0' ) ) || ( ( ' $ mark ' > '100' ) ) ; dan
echo 'Voer uw cijfers in'
elif [ ' $ mark ' == 'q' ] ; dan
echo 'gemiddelde cijfers zijn: $ GEMIDDELD %'
pauze
anders
SOM =$ [ $SOM + $ mark ]
OP EEN =$ [ $NUM + 1 ]
GEMIDDELD =$ [ $SOM / $NUM ]
zijn
gedaan

Als de invoer niet binnen het bereik valt, wordt een bericht afgedrukt met de tekst 'Voer uw cijfers in.' Wanneer de gebruiker op 'q' drukt na het invoeren van alle cijfers, berekent het script het geschatte gemiddelde van alle ingevoerde getallen.

Wanneer het bovenstaande script wordt uitgevoerd, ziet uw uitvoer er ongeveer zo uit.

Lees de opdrachtregelargumenten in Bash

In bash kun je enkele opdrachtregelargumenten lezen met behulp van lussen. Het script drukt de opgemaakte argumentwaarden af. We voeren opdrachtregelargumenten uit in bash met behulp van een while-lus in het volgende script. Hierdoor drukt u de waarde af die de argumentwaarde geldige optie doorgeeft met behulp van een enkele opdracht.

#!/bin/bash
terwijl getopt N:F:M: OPT
doen
geval ' ${OPT} '
in
N ) naam = ${OPTARG} ;;
F ) vadernaam = ${OPTARG} ;;
M ) moedernaam = ${OPTARG} ;;
* ) echo 'Ongeldig'
Uitgang 1 ;;
esac
gedaan
printf 'Naam: $naam \n vader naam: $vadernaam \n moeder naam: $moedernaam \n '

U kunt dus de opgemaakte argumentwaarden naar de uitvoer afdrukken door het bovenstaande script in een bash uit te voeren.

Afsluiten

Dus dit was de korte informatie over de 10 coole en geweldige voorbeelden van bash-loops die je kunt leren. We hebben verschillende soorten loops gebruikt om het interactieve script eenvoudig te maken. Bovendien hebben we ook de basisbenaderingen uitgelegd die in de bovenstaande voorbeelden zijn gebruikt. Als je diepgaande details hebt over de loops in bash, bezoek dan onze officiële website voor meer informatie.