Logo sv.nowadaytechnol.com

Hur Man Använder BASH For Loop

Innehållsförteckning:

Hur Man Använder BASH For Loop
Hur Man Använder BASH For Loop

Video: Hur Man Använder BASH For Loop

Video: Hur Man Använder BASH For Loop
Video: Shell Scripting - For Loops 2024, Mars
Anonim

Ett av de mest grundläggande knep när man skapar bash-skript handlar om att göra loop så att du kan få vissa uppgifter att köras automatiskt flera gånger. Så småningom kommer slingan att nå förutbestämt testförhållande och plötsligt sluta köra. Slingor som dessa fungerar perfekt i bash på Linux och macOS samt bash-skalet i Windows 10 och till och med de olika skalen i FreeBSD. Naturligtvis kan du skriva vilket kommando du helst föredrar i vilken slinga som helst och hålla vilken process som helst som du vill. Medan vi skriver några extremt enkla slingor kan du använda dessa färdigheter för att författa alla typer av skript du vill ha.

Det finns många sätt att börja skriva skript, men för den här diskussionen antar vi att du har öppnat kommandotolken antingen genom att söka efter terminal på Dash, genom att klicka på den i menyerna KDE, MATE, LX eller Whisker eller genom att hålla ner Ctrl, Alt och T samtidigt. Medan vi diskuterar vi / vim och nano som redaktörer, är frågan om vilken redaktör du ska använda ganska personlig och du kan arbeta med vad du än känner dig bekväm med.

Metod 1: Fram till slingan

Den kanske mest grundläggande slingan i bash är till-slingan. Det kommer att fortsätta att utföra kommandon tills testvillkoret du ställer in blir sant. Vi antar att du har använt antingen nano eller vi för att öppna obefintlig fil med namnet till.sh och är redo att infoga ny text i den. Vi gör bara något som räknas till 20 i din terminal för att hålla det enkelt först.

Börja med att skriva in följande:

#! / bin / bash

n = 0

tills [$ n -gt 20]

do

eko $ n

((n ++))

Gjort

Om du använder nano sparar du den genom att hålla ner Ctrl och sedan trycka på O och slutligen X för att avsluta. Användare av vi vill trycka på escape och skriv sedan: wq för att spara och avsluta.

Image
Image

Nästa typ chmod + x tillsLoop vid uppmaningen att göra den körbar och skriv sedan ./untilLoop att köra den. När den har körts fortsätter slingan att skriva ut nya nummer på din terminal tills n-variabeln blir 20.

Image
Image

Förresten berättar den första raden för din miljö vilket skal du ska ladda upp när du arbetar med dessa skript. Vissa programmerare rekommenderar att du alltid använder #! / Bin / sh för att säkerställa att ditt skript följer vissa POSIX-standarder, men dessa enkla skript borde inte ha några problem att köra på de allra flesta moderna system.

Metod 2: The for Loop

för loop tar titt på varje objekt i en viss lista och utför sedan en uppsättning kommandon i listan. Vi kommer att göra ett som skriver ut några operativsystemsnamn men kom ihåg igen att du kan göra vad som helst med detta om du vill.

Skriv antingen nano forLoop eller vi forLoop vid kommandotolken och börja skriva in följande skript. Användare av vi måste gå in i infogningsläge innan de gör det.

#! / bin / bash

unices = ’GNU / Linux FreeBSD OpenBSD NetBSD Solaris OpenIndianDarwin HP-UX Minix’

för unix i $ unices

do

echo $ unix

Gjort

Image
Image

Spara filen igen med antingen Ctrl + O och sedan Ctrl + X-metoden i nano eller Esc sedan: wq-metoden i vi innan du utfärdar kommandot chmod + x förLoop för att göra det körbart. När du har gjort det kör du det genom att skriva ./forLoop vid uppmaningen. For-slingan tvingar ekokommandot att arbeta på vart och ett av objekten i enhetsvariabeln i tur och ordning. Du kan än en gång ersätta listan med vilket argument som helst och ersätta ekot med valfritt kommando för att automatisera långa processer.

Image
Image

Metod 3: While Loop

Börja redigera den tredje filen som heter WhileLoop med nano, vi eller vilken annan redigerare du vill använda. Om du föredrar att använda grafisk textredigerare kan du faktiskt göra det också med något av dessa projekt så länge du ser till att placera filen i samma katalog som du arbetar inifrån kommandotolken.

Inne i den här filen vill du lägga till raderna:

#! / bin / bash

n = 0

medan [$ n -le 20]

do

eko $ n

((n ++))

Gjort

Image
Image

Spara filen på samma sätt som du sparade de andra och avsluta sedan textredigeraren. När du har avslutat ger du kommandot chmod + x whileLoop så att du kan köra den och sedan köra ./ whileLoop att köra den. Du ser samma utdata som kom ut till tillLoop-skriptet från den första metoden eftersom det räknas från 0 till 20 i mer än troligt sekund.

Image
Image

Detta är en utmärkt demonstration av att det finns mer än ett sätt att göra saker när du arbetar med öglor på detta sätt. Även om det tekniskt sett inte finns något fel sätt att göra det, kommer du förmodligen att stöta på manusförfattare som hävdar att du borde skriva dina manus närmare hur C-programmeringsspråket gör saker eller alternativt kan andra föreslå att du inte ska göra detta. Ärligt talat finns det förmodligen många korrekta sätt att lösa problemet.

Ta gärna bort dina skript när du är klar med att träna med dem.

Rekommenderad: