Skip to main content

Sådan skriver du Bash WHILE-Loops

How to fix a kenwood radio in protect mode ~ the easy way ~ (April 2025)

How to fix a kenwood radio in protect mode ~ the easy way ~ (April 2025)

Indholdsfortegnelse:

Anonim

Du kan udføre en række kommandoer ved at skrive dem til en scriptfil og derefter køre den.

En script-fil er simpelthen en tekstfil, normalt med .SH filtypen, der indeholder en række instruktioner, som også kan udføres fra kommandolinjen (shell).

Mens Loop Eksempler

Nedenfor er et eksempel på en tidssløkke. Når den udføres, udskrives denne script fil nummer 1 til 9 på skærmen. Tidsopgørelsen giver dig mere fleksibilitet til at angive opsigelsesbetingelsen end for-loop.

For eksempel kan du gøre det foregående script et uendeligt sløjfe ved at udelade stigningsopstillingen "((tælle ++))":

Sæt 1-sætningen pauser udførelsen i 1 sekund på hver iteration. Brug Ctrl + C-tastaturgenvejen til at afslutte processen.

Du kan også oprette en uendelig sløjfe ved at sætte et kolon som betingelse:

For at kunne bruge flere betingelser i while-loop, skal du bruge den dobbelte kvadratkonsol notation:

I dette script initialiseres variablen "done" til 0 og indstilles derefter til 1, når tællingen når 5. Sløjfebetingelsen angiver, at mens sløjfen fortsætter, så længe "tæller" er mindre end ni og "færdig" er lige til nul. Derfor udløber sløjferne, når tællingen er lig med 5.

"&&" betyder logisk "og" og "||" betyder logisk "eller".

En alternativ notation til konjunktionerne "og" og "eller" i forholdene er "-a" og "-o" med en enkelt firkantede parentes. Ovenstående betingelse:

… kunne omskrives som:

At læse en tekstfil udføres typisk med en tidssløjfe. I det følgende eksempel læser bash scriptet indholdslinjen efter linie i en fil kaldet "inventory.txt:"

Den første linje tildeler inputfilnavnet til "FILE" -variablen. Den anden linje gemmer "standardindgangen" i filbeskrivelsen "6" (det kan være en værdi mellem 3 og 9). Dette er gjort, så "standard input" kan gendannes til filbeskrivelsen "0" i slutningen af ​​scriptet (se sætningen "exec 0 I den tredje linje er inputfilen tildelt filbeskrivelsen" 0 ", som bruges for standard input. "Read" erklæringen læser derefter en linje fra filen på hver iteration og tildeler den til linjen "line1".

For at kunne forlade en tidssløbe for tidligt, kan du bruge break-udsagnet som følger:

Pauseoversigten overfører programkørsel til enden, mens loop og udfører eventuelle udsagn, der følger med den. I dette tilfælde er sætningen "echo Finished."

Fortsættelsen på den anden side springer kun resten af ​​mens løkkeoversigten over den aktuelle iteration og hopper direkte til den næste iteration:

I dette tilfælde udføres "fortsæt" -opstillingen, når variablen "tæller" når 5. Dette betyder, at den efterfølgende sætning (ekko "$ tæller") ikke udføres på denne iteration (når værdien af ​​"tæller" er 5).