Lage bash uendelig loop ved eksempel skript

Lage bash uendelig loop ved eksempel skript

Hver sløyfe har en endelig levetid, og avhengig av sløyfen slutter den når tilstanden er enten sann eller falsk. Bash Infinite Loop er ganske enkelt en serie instruksjoner som løkker på ubestemt tid. Den har ingen sluttbetingelse, en tilstand som aldri blir oppfylt, eller en tilstand som stimulerer en ny iterasjon av sløyfen. Bash Infinite Loop kan opprettes med for, mens og til løkker. Med bare en liten modifisering av den uendelige sløyfen konvensjonell syntaks, kan vi implementere bash uendelige sløyfe -skript. Her er vi pålagt å lage en sløyfe som utfører kommandoene kontinuerlig til den er tvangsoppstoppet fra utenfor programmet.

Eksempel nr. 1: Uendelig mens Loop ved eksempel skript

Når sløyfen er uendelig utført uten noen oppsigelse, ser vi på den sløyfen som en uendelig sløyfe. Mens sløyfe kan også bli en uendelig sløyfe når tilstanden er spesifisert med den "sanne" kommandoen. Den sanne kommandoen utfører ingen oppgave og returnerer exit -koden "0". Her har vi gitt et bashskript der den uendelige mens sløyfeoperasjonen utføres. Mens Loop tar den "sanne" kommandoen som nettopp brukes til lesbarhet. Vi kan også overlate null -kommandoen til mens Loop er utført på samme måte som den sanne kommandoen. Videre, med "do" -uttalelsen, har vi utført “Echo” -kommandoen. Mens sløyfen er lukket med det "ferdige" nøkkelordet.

mens sant
gjøre
ekko "Gjør noen oppgave; trykk [Ctrl+C] for å stoppe!""
Ferdig

På utførelsestidspunktet åpnet vi terminalen og kjørte bash -kommandoen “./BASH1.sh ”. Når bash -filen blir utført, kjører den uendelig og skriver ut ekkokommandoen uendelig i terminalen. Legg merke til at vi her har tatt en "sann" kommando for stundsløyfen, men den falske kommandoen kan også spesifiseres.

Eksempel nr. 2: uendelig for sløyfe ved eksempel skript

Den enkle strukturen til den uendelige sløyfen demonstreres med eksempelfriptet. Ikke bare har mens Loop har den uendelige loopingfunksjonen, men vi kan ha for Loop som også kjører uendelig. Det uendelige for sløyfe oppfører seg også det samme som det uendelige mens Loop. Her har vi et uendelig for sløyfe -skript der vi først har erklært "for loop" som er spesifisert uten noen tilstand og en parameter. Den utførte også vellykket fordi den som standard er satt med den sanne kommandoen. Etter det kalte vi Echo -setningen ved å bruke nøkkelordet "DO". Vi har også gitt "søvn" -kommandoer instruksjoner med Echo -setningen, og deretter mens Loop endte med "Done" -erklæringen.

for ((;;))
gjøre
ekko "Hello Bash Shell"
Sov 1
Ferdig

Det uendelige for sløyfe -skriptet fortsetter å skrive ut ekko -setningen i terminalen som vises på bildet.

Eksempel nr. 3: uendelig til sløyfe ved eksempel skript

En annen måte å lage Bash Infinite Loop er ved å bruke til Loop. Til sløyfen itererer gjennom en kommandoblokk så lenge den nødvendige tilstanden blir falsk. Til sløyfen blir uendelig når tilstanden i sløyfen alltid er falsk. Det uendelige til løkken som er opprettet er den samme som vi har gitt skript for det uendelige mens og for løkker. Det uendelige til sløyfen bare bruker "til" nøkkelordet. Vi har gitt det uendelige inntil Loop Bash -skriptet nedenfor der vi begynner skriptet med erklæringen om variabelen "uttalelse" og setter det med den "falske" verdien. Deretter har vi definert "loop_no" -variabelen som er satt med telleren "0".

Etter det spesifiserte vi "til" -uttalelsen som tar "$ setning" som et uttrykk. Deretter brukes ekko -nøkkelordet mellom DO og Done -uttalelsen. Echo -kommandoen her skriver ut nummeret på sløyfesyklusene til de falske resultatene er returnert. På hver sløyfesyklus vil antallet bli økt. Vi har brukt søvnkommandoen i det uendelige inntil sløyfe for å utføre skriptet med jevne mellomrom.

#!/bin/bash
uttalelse = falsk
loop_no = 0
inntil $ uttalelse
gjøre
Echo "Loop No: $ loop_no"
((loop_no ++))
Sov 1
Ferdig

Det uendelige til sløyfeskriptet ved utførelse fortsetter å vise sløyfesyklusene uendelig på terminalen.

Eksempel 4: Infinite Loop ved eksempel skript med en pauserklæring

Noen ganger må vi bryte ut av en uendelig sløyfe. Den uendelige sløyfen kan også eksistere med bruddserklæringen. Den uendelige sløyfen skal ende hvis et bestemt kriterium er oppfylt. Når en bruddserklæring brukes, vil sløyfen ende, eller kontrollen vil gå videre til neste uttalelse. Her har vi brukt bruddserklæringen i bash -skriptet. For det første har vi satt skriptet med mens sløyfeuttrykk som tar den sanne verdien. Deretter har vi gitt en trykt kommando ved å bruke Echo Modifier. Etter det har vi en IF -uttalelse som verifiserer om tilstanden er fornøyd eller ikke. Deretter har vi en "pause" -uttalelse som bryter mens Loop her.

#!/usr/bin/env bash
mens sant
gjøre
Echo "Hit [Ctrl+C] for å gå ut fra løkken ..."
Sov 2
Hvis [tilstand]
deretter
gå i stykker
fi
Ferdig

Når ekko -setningen blir utført med hell, avsluttes bruddserklæringen mens Loopen som utgangsbildet er gitt nedenfor.

Eksempel 5: Uendelig sløyfe med tilstanden ved eksempel skript

Nå har vi tatt et scenario for å overvinne denne uendelige utførelsen av sløyfe med en annen teknikk. Når sløyfen får en betingelse, avsluttes den hvor den spesifiserte tilstanden er fornøyd. Mens Loop Bash -skriptet implementeres nedenfor der vi først har satt variabelen “X” med verdien “10”. Deretter spesifiserte vi mens Loop der uttrykket “mens [$ x -GT 5]” er gitt. Uttrykket har variabelen “$ x” som skal være større enn “5” som operatøren “GT” mellom verdien “5” og variabelen “$ x”. Etter det definerte vi Echo -setningen der “$ x” blir kalt ut for å skrive ut verdiene. "X-" uttalelsen reduserer verdien for "$ x" på hver iterasjon.

#!/usr/bin/bash
x = 10
mens [$ x -GT 5];
gjøre
ekko $ x
((x--))
Ferdig
ekko "Resultater ut av løkken"

Bildet viste avslutningen av While Loop da “X” -verdien nådde verdien “6”. Her blir tilstanden falsk fordi den neste iterasjonsverdien vil være "5" som ikke tilfredsstiller WASE -betingelsen. Videre kan vi også bruke fortsettelseserklæringen som brukes til å forhindre at kodeblokken blir utført.

Konklusjon

Guiden hjelper oss med å lage bash uendelig sløyfe som fortsetter å løpe konstant fordi det ikke gis noen slutttilstand. Vi har gitt Bash -skripteksemplet der vi har laget den uendelige sløyfen ved å bruke While Loop, for Loop, og til Loop. Etter å ha opprettet det uendelige sløyfe-basen, har vi spesifisert måtene å overvinne disse uendelige løkkene.