Du kan utföra en sekvens av kommandon genom att skriva dem i en skriptfil och sedan köra den.
En skriptfil är helt enkelt en textfil, vanligtvis med .SH-filtillägget, som innehåller en sekvens av instruktioner som också kan utföras från kommandoraden (skal).
Medan Loop-exempel
Nedan är ett exempel på en stundslinga. När den körs, skrivs den här skriptfilen 1 till 9 på skärmen. Samtidigt-förklaringen ger dig mer flexibilitet för att ange termineringsförhållandet än förbandet.
Du kan till exempel göra det föregående skriptet en oändlig loop genom att utelämna stegräkningen "((count ++))":
"Sova 1" -deklarationen pausar körningen i 1 sekund vid varje iteration. Använd Ctrl + C-tangentbordsgenväg för att avsluta processen.
Du kan också skapa en oändlig slinga genom att sätta ett kolon som villkoret:
För att kunna använda flera villkor i while-loop måste du använda den dubbla kvadratkonsolens notation:
I det här skriptet initialiseras variabeln "done" till 0 och ställs sedan till 1 när räkningen når 5. Slingans tillstånd anger att slingan fortsätter så länge som "räkna" är mindre än nio och "gjort" är lika till noll. Därför avslutar slingorna när räkningen är lika med 5.
"&&" betyder logisk "och" och "||" betyder logisk "eller".
En alternativ notering för konjunktionerna "och" och "eller" i förhållandena är "-a" och "-o" med enstaka fälthakparentes. Ovanstående villkor:
… kan omskrivas som:
Att läsa en textfil görs vanligtvis med en stundslinga. I följande exempel läser bash-skriptet innehållslinjen efter rad i en fil som heter "inventory.txt:"
Den första raden tilldelar inmatningsfilnamnet till "FILE" -variabeln. Den andra raden sparar "standardinmatningen" i filbeskrivningen "6" (det kan vara något värde mellan 3 och 9). Detta görs så att "standardinmatning" kan återställas till filbeskrivningen "0" i slutet av manuset (se uttalandet "exec 0 I 3: e raden tilldelas filfilen" 0 ", som används för standardinmatning. "Läs" -satsen läser sedan en rad från filen på varje iteration och tilldelar den till "line1" -variabeln.
För att tidigt avsluta en stundslinga kan du använda break-uttalandet så här:
Break-uttalandet hoppar över programkörning till slutet medan slingan och utför alla uttalanden som följer den. I detta fall är uttalandet "echo Finished."
Fortsätt uttalandet, å andra sidan, hoppar bara om resten av det ögonblickliga slutsatsen för den aktuella iterationen och hoppar direkt till nästa iteration:
I det här fallet görs "fortsätt" -satsen när variabeln "räknar" når 5. Detta betyder att efterföljande uttalande (ekot "$ count") inte exekveras på denna iteration (när värdet av "count" är 5).




