01.07 Intro to Sed, Awk, and Bash While Loops
Innehållsförteckning:
- Bash medan Loop
- Oändlig medan Loop
- Läs en fil rad för rad
- Bryt och fortsätt uttalanden
- Break uttalande
- Fortsätt uttalandet
- Slutsats
Loops är ett av de grundläggande begreppen för programmeringsspråk. Loops är praktiska när du vill köra en serie kommandon flera gånger tills ett visst villkor är uppfyllt.
I skriptspråk som Bash är slingor användbara för att automatisera upprepade uppgifter. Det finns tre grundläggande slingkonstruktioner i Bash-skript, för loop, medan loop och tills loop.
Denna handledning förklarar grunderna för medan slingor i Bash såväl som brytningen och fortsätter uttalanden för att ändra flödet i en slinga.
Bash medan Loop
Samtidigt slingan används för att utföra en given uppsättning kommandon ett okänt antal gånger så länge det givna tillståndet utvärderas till sant.
Bash while-loopen har följande form:
while do done
Villkoret utvärderas innan kommandona körs. Om villkoret utvärderas till sant, körs kommandon. Annars om villkoret utvärderar som felaktigt kommer slingan att avslutas och programstyrningen överförs till kommandot som följer.
I exemplet nedan skriver slingan på varje iteration det aktuella värdet för variabeln
i
och ökar variabeln med en.
i=0 while do echo Number: $i ((i++)) done
Tue loop iterates så länge
i
är mindre eller lika mycket än två. Den kommer att producera följande utgång:
Oändlig medan Loop
En oändlig slinga är en slinga som upprepas på obestämd tid och aldrig upphör. Om villkoret alltid utvärderas till sann får du en oändlig slinga.
I följande exempel använder vi det inbyggda kommandot
:
som alltid återgår sant för att skapa en oändlig slinga. Du kan också använda det
true
inbyggda kommandot eller något annat uttalande som alltid returnerar sant.
Samtidigt slingan ovan kommer att köras på obestämd tid. Du kan avsluta slingan genom att trycka på
Här är en ekvivalent ekvivalent: En av de vanligaste användningarna av medan loopen är att läsa en fil, dataström eller variabel rad för rad. I följande exempel läser
I stället för att kontrollera medan loopen med ett villkor använder vi input omdirigering (
När du läser fil rad för rad använder du alltid
Som standard tränar det
Säkerhetsavbrottet och fortsättningen kan användas för att kontrollera exekvering av slingan. Brottmeddelandet avslutar den aktuella slingan och överför programstyrning till kommandot som följer den avslutade slingan. Det används vanligtvis för att avsluta slingan när ett visst villkor är uppfyllt. I följande exempel kommer exekveringen av slingan att avbrytas när det aktuella itererade objektet är lika med
Fortsättningsförklaringen lämnar den aktuella iterationen av en slinga och överför programstyrning till nästa iteration av slingan. I det följande nedan, när det nuvarande itererade objektet är lika med
Nu bör du ha en god förståelse för hur du använder bash medan slingan.
while: do echo "Press to exit." sleep 1 done
while: do echo "Press to exit." sleep 1 done
CTRL+C
while:; do echo 'Press to exit.'; sleep 1; done
while:; do echo 'Press to exit.'; sleep 1; done
Läs en fil rad för rad
/etc/passwd
filen
/etc/passwd
rad för rad och skriver ut varje rad.
file=/etc/passwd while read -r line; do echo $line done < "$file"
< "$file"
) för att skicka en fil till
read
vilket är kommandot som styr loopen. Samtidigt slingan körs tills den sista raden läses.
read
med alternativet
-r
att förhindra att motstreck fungerar som ett flyktecken.
read
kommandot de ledande / efterföljande blankstegstecken (mellanslag och flikar). Använd alternativet
IFS=
före läsekommandot för att förhindra detta beteende
file=/etc/passwd while IFS= read -r line; do echo $line done < "$file"
Bryt och fortsätt uttalanden
Break uttalande
2
.
i=0 while do echo "Number: $i" ((i++)) if]; then break fi done echo 'All Done!'
Fortsätt uttalandet
2
fortsättningsmeddelandet att göra att körningen återgår till början av slingan och fortsätter med nästa iteration.
i=0 while do ((i++)) if]; then continue fi echo "Number: $i" done echo 'All Done!'
Number: 1 Number: 3 Number: 4 Number: 5 All Done!
Slutsats
Motorolas prisvärda T505 är lätt att använda medan dina ögon är på väg. Det var synd att samtalskvaliteten inte var konsekvent bättre.
(ÄNdrad 4/29/09)
Ingen av parterna har tillåtit sig för några missförhållanden och de kommer inte att avslöja detaljerna i förlikningen, enligt den tidigare anställda Miki Mullor. deal stänger ett ovanligt fall där Microsoft sa att Mullor fortsatte som VD för ett företag som heter Ancora medan han arbetar hos Microsoft. Medan Mullor var anställd hos Microsoft anklagade Ancora flera datortillverkare, däribland Dell, Hewlett-Packard och Toshiba, om att åsidosätta patentet. PC-tillverkarna bad Microsoft att försvar
Ancora sa att PC-tillverkarna åsidosatte sitt patent på sättet att de tillät kunder att kringgå Windows-aktiveringsprocessen om de hade köpt datorer som kom med Windows förinstallerad.
Basa tills slingan
I skriptspråk som Bash är slingor användbara för att automatisera upprepade uppgifter. Denna handledning förklarar grunderna för tills loopen i Bash. Fram-slingan används för att utföra en given uppsättning kommandon så länge det givna villkoret utvärderas till felaktigt.







