BASH-programmering

Hoe dezelfde opdracht meerdere keren in Linux uit te voeren

Hoe dezelfde opdracht meerdere keren in Linux uit te voeren
Tijdens het programmeren kunt u een situatie tegenkomen waarin u dezelfde taak meerdere keren moet uitvoeren. Een eenvoudige oplossing is om het proces handmatig zo vaak te herhalen als nodig is; het is echter niet productief om dit te doen. Dat is de reden waarom het concept van lussen werd geïntroduceerd in het programmeren. Het basisdoel van een lus is om een ​​taak meerdere keren te herhalen, afhankelijk van de waarde die is opgegeven voor de iterator en de beëindigingsvoorwaarde van de lus. Met lussen kunnen programmeurs het gedoe van het handmatig herhalen van processen vermijden.

Stel dat er een opdracht is die u meerdere keren wilt uitvoeren. Er zijn verschillende belangrijke redenen waarom u een opdracht mogelijk herhaaldelijk moet uitvoeren, dus u wilt er zeker van zijn dat een bepaalde opdracht elke keer dat deze wordt uitgevoerd de juiste uitvoer produceert. Hoe vaker u een opdracht handmatig uitvoert, hoe meer zekerheid u krijgt elke keer dat u de opdracht uitvoert.

Maar hoe doe je dit programmatisch?? Welnu, er zijn verschillende methoden die kunnen worden gebruikt om dezelfde opdracht meerdere keren uit te voeren, evenals om de uitvoer van de herhaalde opdracht te verifiëren. Dit artikel laat zien hoe u een herhaalbare opdracht kunt maken met Linux Mint 20 als hostbesturingssysteem.

Methoden voor het herhalen van opdrachten in Linux Mint 20

De volgende secties tonen u twee methoden die u kunt gebruiken om dezelfde opdracht meerdere keren uit te voeren met behulp van een Bash-script in Linux Mint 20.

Methode 1: Een opdracht herhalen met de "for"-lus in Bash

De eerste methode om dezelfde opdracht meerdere keren uit te voeren met behulp van een Bash-script in Linux Mint 20 wordt geïmplementeerd met behulp van de "for" -lus. Het voorbeeldscript wordt weergegeven in de volgende afbeelding:. Je kunt dit script naar elk Bash-bestand naar keuze kopiëren.

In dit script hebben we een eenvoudige "for"-lus gemaakt die door een lijst met items van 1 tot 5 loopt, wat betekent dat de "for"-lus in totaal vijf iteraties zal hebben. In deze vijf iteraties wordt ons gewenste commando bij elke iteratie uitgevoerd, of vijf keer.

Hier hebben we gespecificeerd dat de opdracht "date" "5" keer moet worden uitgevoerd. Deze opdracht geeft de huidige systeemdatum en -tijd weer in de terminal. U kunt elk ander commando van uw keuze gebruiken in plaats van het "date"-commando.

We wilden ook dat onze uitvoer na elke "1" seconde zou worden weergegeven. Om dit doel te dienen, hebben we het "slaap" -commando gebruikt met een slaapinterval van "1", hoewel u het slaapinterval volgens uw voorkeuren kunt verlengen. U kunt zelfs het aantal iteraties van de "for"-lus verhogen of verlagen, afhankelijk van het aantal keren dat u de opdracht wilt uitvoeren.

Voer dit Bash-script uit met de volgende opdracht:

$ bash Meerdere.sh

Het resultaat van het bovenstaande Bash-script wordt getoond in de volgende afbeelding:. De uitvoer bevat de huidige systeemdatum en -tijd met "5" verschillende intervallen, wat betekent dat ons "datum" -commando met succes is uitgevoerd voor het opgegeven aantal iteraties.

Methode 2: Een opdracht herhalen met behulp van de "while"-lus in Bash

De tweede methode om een ​​opdracht meerdere keren te herhalen met behulp van een Bash-script in Linux Mint 20 wordt geïmplementeerd met behulp van de "while" -lus. Het voorbeeldscript wordt weergegeven in de volgende afbeelding:. Je kunt dit script naar elk Bash-bestand naar keuze kopiëren.

In dit script wordt de variabele "i" geïnitialiseerd met de waarde "0".Deze variabele zal fungeren als de iterator voor de "while"-lus. De iteratieve voorwaarde van de "while"-lus is dan dat de waarde van de variabele "i" kleiner is dan "5.Binnen deze lus hebben we een "date" -opdracht die hetzelfde doel zal dienen als de opdracht die wordt gebruikt in methode 1.

Deze opdracht wordt gevolgd door de opdracht "slaap". Deze opdracht drukt de uitvoer af na een bepaald interval, in dit geval "1" seconde. Ten slotte zullen we de waarde van de iterator "i" verhogen met behulp van de "+1" oplopende notatie.

Het resultaat van ons Bash-script wordt weergegeven in de volgende afbeelding:. Deze uitvoer bevat de huidige systeemdatum en -tijd met vijf verschillende intervallen, wat betekent dat de opdracht "datum" met succes is uitgevoerd voor het opgegeven aantal iteraties. Deze keer hebben we dit doel bereikt door de "while"-lus te implementeren in plaats van de "for"-lus.

Conclusie

Vandaag heb je geleerd dat je in plaats van een opdracht meerdere keren handmatig uit te voeren, een Bash-script kunt schrijven om deze taak te vereenvoudigen. Met behulp van de "for" of "while" loops in een Bash-script, kunt u eenvoudig de functionaliteit bereiken van het meerdere keren uitvoeren van een opdracht. Dit artikel liet je zien hoe je commando's kunt herhalen met beide methoden terwijl je de opdracht "date" herhaaldelijk uitvoert. We hebben ook de opdracht "slaap" gebruikt in onze beide voorbeeldscripts, zodat het gemakkelijker was om het effect van de zich herhalende opdracht "datum" te visualiseren, aangezien de waarde van "seconden" elke keer dat deze opdracht wordt uitgevoerd zal veranderen.

Op dezelfde manier kun je elke opdracht naar keuze meerdere keren uitvoeren met behulp van een van de Bash-scripts die we vandaag met je hebben gedeeld terwijl je in Linux Mint 20 werkt. Ik hoop dat deze gids je zal helpen om dezelfde opdracht meerdere keren in Linux uit te voeren.

OpenTTD-zelfstudie
OpenTTD is een van de meest populaire simulatiegames voor bedrijven die er zijn. In dit spel moet je een geweldig transportbedrijf creëren. U begint e...
SuperTuxKart voor Linux
SuperTuxKart is een geweldige titel die is ontworpen om je de Mario Kart-ervaring gratis te bieden op je Linux-systeem. Het is behoorlijk uitdagend en...
Strijd om Wesnoth Zelfstudie
The Battle for Wesnoth is een van de meest populaire open source strategiespellen die je op dit moment kunt spelen. Dit spel is niet alleen al heel la...