Hvordan går jeg ut av et bash -skript?

Hvordan går jeg ut av et bash -skript?
Du har kanskje møtt mange situasjoner når du må slutte. Det er mange metoder for å avslutte bashskriptet, jeg.e., Slutt mens du skriver et bash -manus, mens du er utførelse, eller på kjøretid. En av de mange kjente metodene for å avslutte et bash -skript mens du skriver er den enkle snarveisnøkkelen, jeg.e., “Ctrl+x”. Mens du er på kjøretid, kan du avslutte koden ved å bruke "Ctrl+Z". Denne guiden vil vise hvordan batchskriptet kan avsluttes ved hjelp av de forskjellige avkjøringsklausulene mens du utfører. La oss komme i gang med å logge inn fra Ubuntu 20.04 System først og åpner skallet ved å bruke “Ctrl+Alt+T”.

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.sh

Kjø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.sh

Eksempel 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.sh

Kjø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.sh

Eksempel 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.sh

På 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.sh

Eksempel 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.sh

Eksempel 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.sh

Konklusjon

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.