Avslutt kommando i Linux

Avslutt kommando i Linux
I Linux brukes exit -kommandoen til å avslutte skallet (den gjeldende påloggingsøkten) der det kjøres. I likhet med et C -program brukes exit -kommandoen i skallskript for å avslutte skriptet. Dessuten returnerer den en verdi til skriptets overordnede prosess.

Hva vil vi dekke?

I denne guiden vil vi se en oversikt over exit -kommandoen i Linux med noen brukssaker.

Utgangskommandoen og avkjøringsstatusen

Du kan også bruke exit -kommandoen til å spesifisere utgangsstatus for skallet. Utgangsstatusen er en numerisk verdi som returneres til overordnet prosess når skallet avsluttes.

Utgangsstatusen kan brukes til å indikere suksessen eller fiaskoen i kommandoen. For eksempel kan et skallskript bruke utgangsstatus for å avgjøre om de skal utføre visse handlinger basert på suksess eller fiasko i en kommando.

For å spesifisere utgangsstatus, kan du bruke exit -kommandoen etterfulgt av et tall. For eksempel indikerer avkjørsel 0 en vellykket avkjørsel, mens avkjørsel 1 indikerer en feil.

Exit -kommandoen godtar et enkelt, valgfritt argument som blir skriptets exit -status.

Når det ikke er vedtatt noe argument, er avkjøringsstatusen til utgangsstatusen til den siste kommandoen som utføres. For å se utgangsstatus, bruk ekkoet “$?” kommando.

Eksempler på exit -koder (utgangsstatus)

Utgangskommandoen er avgjørende for å indikere at det har oppstått en alvorlig feil, siden anropsprosessene vanligvis vurderer exit -kodene enn null som feiltilfeller. Hvis du trenger en generell feilfelle i skriptene dine, kan du prøve å bruke exit code -utdraget.

La oss se noen eksempler på å bruke exit -koden i et skript og på en terminal:

Eksempel 1: Bruke exit -kommandoen med filuttrykk

La oss først ta et eksempel på et manus:

#!/bin/bash
# Test-fil: Evaluer statusen til en fil
Fil =/proc/oppetid
hvis [-e "$ fil"]; Så # sjekk eksistensen av filen.
hvis [-f "$ fil"]; Så # sjekk om det er en vanlig fil.
Echo "$ -fil er en vanlig fil.""
fi
hvis [-b "$ fil"]; så sjekker # om det er en blokkfil
Echo "$ -fil er en blokkeringsenhet"
fi
ellers
Echo "$ -fil er verken en vanlig eller en blokkfil eller kanskje ikke eksisterer"
Avslutt 1
fi
exit

Skriptet utfører en evaluering av filen som er tildelt konstanten "FIL" og sender ut resultatene når det går.

Først sjekker det om det er en vanlig fil eller en blokkfil. Hvis tilstanden ikke er fornøyd, skriver den ut meldingen i andre blokken.

Den første exit -kommandoen setter utgangsstatus for skriptet i tilfelle feil (avkjøringsverdi som 1). Den andre exit -kommandoen er et formelt uttrykk. Dette betyr at når skriptet fullfører utførelsen til slutten, har det utgangsstatusen til den siste kommandoen som i dette tilfellet er exit -kommandoen. Denne siste exit -kommandoen vil resultere i suksess (utgangsverdi som 0):

Eksempel 2: Bruke sanne og falske kommandoer med exit -kommandoen

I tillegg får det å legge inn et enkelt sant eller falskt argument at terminalen slutter med 0 statuskode og viser 0 som sann. Hvis vi i stedet gir en falsk uttalelse, vil utgangsstatusen være 1 siden falske avkjørsler med kode 1. La oss se dette på en praktisk måte. Først må du utstede den sanne kommandoen og sjekk utgangsstatusen:

$ true
$ ekko $?

Utsted den falske kommandoen og sjekk igjen avkjøringsstatusen:

$ falsk
$ ekko $?

Eksempel 3: Avbryt et skript med Ctrl+C

Når en bruker treffer Control-C, sendes et spesielt signal kjent som Sigint. Dette avbryter skriptet eller løpsprogrammet, og får det til å avslutte med koden 130. La oss ta et eksempel: Anta at du begynte å søke i en fil med Find -kommandoen:

$ finn / -ematy

Søket pågår fortsatt. Deretter avbrøt du det plutselig med "Ctrl+C". Dette får kommandoen til å stoppe med utgangskoden 130.

Eksempel 4: Skallvariabelen Shlvl og exit -kommandoen

Med den skallspesifikke variabelen, SHLVL, kan du se hvor mange nivåer dypt i bashskallet du er. Hver nye skalløkt som åpnes i en terminal øker øktantallet, og starter 1 for den første økten. Hvis Shlvl er> 1, avsluttende kommandoen lukker den aktuelle økten. På samme måte, hvis Shlvl er = 1, avkjørselskommandoen logger deg ut av systemet.

For bare å si det, når du skriver ut "Avslutt" ved ledeteksten og trykker på Enter, lukkes skallet (lukk den gjeldende påloggingsøkten), og du blir returnert til skallet eller kommando -ledeteksten som du lanserte den.

Konklusjon

Vi har sett de forskjellige brukssakene for exit -kommandoen og tolkningen av utgangsstatusen i hvert tilfelle. Det er mange forskjellige avkodetall for forskjellige formål. Merk at disse exit -kodene er basis spesifikke. Hvis du har en tendens til å bruke andre skjell som for eksempel C-Shell eller tcsh, Resultatene kan variere.