Skip to main content

Hvordan skrive Bash WHILE-Loops

The basics of BASIC, the programming language of the 1980s. (Juni 2026)

The basics of BASIC, the programming language of the 1980s. (Juni 2026)
Anonim

Du kan utføre en rekke kommandoer ved å skrive dem inn i en skriptfil og deretter kjøre den.

En skriptfil er bare en tekstfil, vanligvis med .SH filtypen, som inneholder en sekvens av instruksjoner som også kan utføres fra kommandolinjen (skall).

Mens Loop Eksempler

Nedenfor er et eksempel på en stundsløyfe. Når den utføres, skriver denne skriptfilen tallene 1 til 9 på skjermen. Tidsangivelsen gir deg mer fleksibilitet for å angi avslutningsbetingelsen enn forløpet.

For eksempel kan du gjøre det forrige skriptet en uendelig sløyfe ved å utelate trinns setningen "((count ++))":

"Sleep 1" -oppgaven pause utførelsen i 1 sekund på hver iterasjon. Bruk Ctrl + C-tastaturgenveien til å avslutte prosessen.

Du kan også lage en uendelig sløyfe ved å sette et kolon som tilstanden:

For å kunne bruke flere forhold i mensløkken må du bruke notatboksen med dobbel firkantbrakett:

I dette skriptet initialiseres variabelen "ferdig" til 0 og settes deretter til 1 når tellingen når 5. Sløyfe tilstanden sier at mens sløyfen vil fortsette så lenge "telle" er mindre enn ni og "ferdig" er like til null. Derfor slår løkkene ut når tellingen er 5.

"&&" betyr logisk "og" og "||" betyr logisk "eller".

En alternativ notasjon for konjunktjonene "og" og "eller" i forholdene er "-a" og "-o" med enkle firkantede parenteser. Ovennevnte betingelse:

… kunne omskrives som:

Å lese en tekstfil gjøres vanligvis med en stundsløyfe. I følgende eksempel leser bash-skript innholdslinjen etter linje i en fil som heter "inventory.txt:"

Den første linjen tilordner input filnavnet til "FILE" variabelen. Den andre linjen lagrer "standardinngangen" i filbeskrivelsen "6" (det kan være en verdi mellom 3 og 9). Dette er gjort slik at "standardinngang" kan gjenopprettes til filbeskrivelsen "0" på slutten av skriptet (se setningen "exec 0 I den tredje linjen er inntaksfilen tilordnet filbeskrivelsen" 0 "som brukes for standardinngang. Lese-setningen leser deretter en linje fra filen på hver iterasjon og tilordner den til "line1" -variabelen.

For å kunne forlate en stundsløyfe for tidlig, kan du bruke break-setningen slik:

Pauseoppgaven hopper programutførelsen til slutten mens sløyfen og kjører ut noen uttalelser som følger den. I dette tilfellet er setningen "ekko ferdig."

Fortsettelse-setningen, derimot, hopper bare over resten av mens loop-setningen for gjeldende iterasjon og hopper direkte til neste iterasjon:

I dette tilfellet utføres "fortsett" setningen når variabelen "tell" når 5. Dette betyr at påfølgende setning (ekko "$ count") ikke utføres på denne iterasjonen (når verdien av "count" er 5).