Eksempel 01: Bruke avkjørsel 0
Den første metoden vi har brukt i dette eksemplet er å bruke "exit" -uttalelsen i bash -skriptet. Opprett en ny fil i skallet ved hjelp av en "Touch" -kommando og åpne den i enhver redaktør.
Leserklæringen er kjent for å få innspill fra brukeren. Her vil det ta heltallverdier ved kjøretid og lagre dem i variabelen “x”. "IF" -uttalelsen har sjekket en tilstand. Hvis verdien av "X" som er lagt inn av en bruker blir lik 5, vil den vise at tallet samsvarer med Echo -setningen. "Exit 0" -klausulen har blitt brukt her. Etter å ha utført "ekko" -uttalelsen, vil bashskriptet bli avsluttet, og ikke mer utførelse vil bli utført på grunn av "exit 0". Ellers, hvis tilstanden ikke tilfredsstiller, vil "ekko" -uttalelsen utenfor "hvis" -uttalelsen bli utført.
Kjør bashilen din ved hjelp av en bash -spørring i skallet. Brukeren la til 4 som input. Ettersom 4 ikke er lik 5, kjører den ikke den "da" delen av "if" -uttalelsen. Så ingen plutselig avkjørsel vil skje. På den annen side uttaler Echo -uttalelsen utenfor "IF" -uttalelsen som er utført at "nummeret ikke stemmer overens ..." og programmet slutter her.
$ Bash Bash.shKjør den samme koden igjen med bash -kommandoen. Brukeren la til 5 denne gangen. Ettersom 5 tilfredsstiller tilstanden, ble "ekko" -uttalelsen i "da" -klausulen utført. Etter det stopper programmet raskt på grunn av bruken av "exit 0".
$ Bash Bash.shEksempel 02: Bruke exit
I stedet for å bruke "exit 0", kan du ganske enkelt bruke "exit" i bash -skriptet for å avslutte koden. Så åpne den samme filen og oppdater koden din. Bare "exit" -klausulen er endret her, jeg.e., erstattet av "exit". Hele filen forble uendret. La oss lagre koden først ved å bruke "Ctrl+S" og slutte med "CRL+X". La oss utføre den for å se om det fungerer på samme måte som “exit 1” -klausulen gjør eller ikke.
Kjør bashfilen “Bash.SH ”i terminalen ved å bruke kommandoen vist på vedlagte skjermbilde. Brukeren la inn verdien “6”, og den tilfredsstilte ikke tilstanden. Derfor ignorerer kompilatoren "da" -klausulen i "if" -uttalelsen og utfører ekkoklausulen utenfor "hvis" -uttalelsen.
$ Bash Bash.shKjør den samme filen igjen. Denne gangen la brukeren 5 som tilfredsstillende tilstanden. Dermed kommer bashskriptet rett etter å ha utført "ekko" -klausulen i "if" -uttalelsen.
$ Bash Bash.shEksempel 03: Bruke avkjørsel 1
Du kan også bruke "exit" -klausulen for å forlate bashskriptet mens du sier 1 med det på kjøretid. Så åpne den samme filen og oppdater koden din som vi har gjort før. Den eneste endringen er “Exit 1” i stedet for “Avslutt” eller “Avslutt 0”. Lagre koden din og avslutt redaktøren via “Ctrl+S” og “Ctrl+X”.
Ved første utførelse la brukeren 6 som input. Tilstanden tilfredsstiller ikke og kommandoer i "hvis" -uttalelsen blir ikke utført. Så ingen plutselig avkjørsel skjedde.
$ Bash Bash.shPå det andre forsøket la brukeren 5 for å tilfredsstille tilstanden. Så kommandoene i "hvis" -uttalelsen blir utført, og programmet går ut etter å ha kjørt "Echo" -klausulen.
$ Bash Bash.shEksempel 04
La oss bruke "Exit 1" -klausulen i bashskriptet når du sjekker forskjellige situasjoner. Så vi har oppdatert koden til den samme filen. Etter bashstøtten er "hvis" -uttalelsen blitt initialisert for å sjekke om den for øyeblikket er innloggede brukeren, i.e., “Linux” er ikke rotbrukeren. Hvis tilstanden tilfredsstiller, vil Echo -setningen i "da" -klausulen bli utført, og programmet vil avslutte her. Hvis den foreløpige innloggede kontoen er en rotbruker, vil den fortsette å utføre uttalelsene utenfor "if" -erklæringen. Programmet vil fortsette å få to innganger fra en bruker og beregne summen av begge heltallene. Den beregnede "summen" vises, og deretter vil programmet avslutte.
Siden "Linux" -kontoen er ikke en rotbruker av Ubuntu 20.04, har utførelsen av denne koden bare utført "if" -uttalelsen og klausulene mellom den. Programmet slutter etter dette.
$ Bash Bash.shEksempel 05: Bruke “Set -e” innebygd
Det "set -e" innebygde er kjent for å forlate programmet når du møter statusen som ikke er null. Så vi har lagt til 3 tvillingnavnede funksjoner med 1 Echo-uttalelse og en returstatusbestemmelse i hver. "Set +E" blir initialisert før de kaller de to første metodene, og "Set -e" brukes etter det, og to funksjoner blir kalt etter det.
Ved utførelse vil både Show1 og Show2 -funksjonens Echo -uttalelser kjøres, og programmet vil ikke slutte. Mens etter “Sett -e” slutter programmet etter utførelsen av Show2 () -metodens Echo -uttalelse når det møter “Return 1”. Metoden Show3 vil ikke bli kalt etter det.
Når vi kjørte denne koden, fikk vi utdataene som forventet. Etter å ha møtt Return 1 -statusen, stoppet programmet uten å utføre metoden “Show3 ()”.
$ Bash Bash.shKonklusjon
Denne guiden dekker alle mulige måter å avslutte ethvert bash -skript mens du skriver, utfører eller løp. Forsøk dermed å implementere hvert eksempel dekket i denne artikkelen for å få en tydeligere forståelse.