Noen vanlige feilstatuskoder er nevnt nedenfor.
Kode | Beskrivelse | Kommentarer |
0 | Det indikerer vellykket utførelse. | |
1 | Det brukes til å fange alle generelle feil. | “Del med null”, “Operasjon ikke tillatt” osv. kan være feilmeldingene i denne koden. |
2 | Det indikerer misbruk av innebygde skall. | “Manglende nøkkelord”, “Ingen slik fil eller katalog” osv. kan være feilmeldingene i denne koden. |
126 | Det genererer når en hvilken som helst kommando ikke er i stand til å utføre. | Tillatelsesproblem eller påkrevd nøkkel som ikke er tilgjengelig, kan generere denne statuskode |
127 | Det genererer normalt for kommandoproblemet. | “Kommando ikke funnet” kan være meldingen for denne feilkoden. |
130 | Det genererer for dødelig feil. | “Script avsluttet av Ctrl+C” kan være meldingen til denne koden. |
255* | Det indikerer exit -kode utenfor rekkevidden. |
Eksempel 1: Lese avkode fra terminalen
'$?'Skallvariabel kan brukes til å vise utgangskoden til enhver kommando. 'ls -la' er en gyldig kommando, og den viser listen over filer og mapper i den gjeldende arbeidskatalogen. Verdien av '$?'vil være 0 etter å ha utført' ls -la '-kommandoen. 'ls -xyz' er en ugyldig kommando og '$?'Vil returnere 2 som feilkode etter å ha utført kommandoen.
$ ls -la
$ ekko $?
$ ls -xyz
$ ekko $?
Eksempel-2: Lese exit code i bash-skript
Lag en bash -fil som heter read_file.sh med følgende skript. I dette skriptet vil filnavnet bli tatt som brukerens inndata, og totalt antall linjer, ord og tegn i den filen vil bli talt ved å bruke 'WC' -kommandoen. Hvis filnavnet er gyldig, er verdien av $ status_code 0, og hvis filnavnet er ugyldig, er verdien av $ status_code 1.
read_file.sh
#!/bin/bash
ekko "Skriv inn filnavnet"
Les filnavn
wc -lwc $ filnavn
status_code = $?
ekko "Utgangen til 'WC' -kommandoen er: $ status_code"
Eksempel-3: Bruke Exit Code-verdi for å gjøre spesifikk oppgave
Lag en bash -fil som heter Read_month.sh med følgende kode. Her vil en datoverdi bli tatt som input. Månedens navn vil hente fra datoverdien hvis inndatoen er gyldig ellers "ugyldig dato" -feilmelding vil vises. 'Hvis' tilstanden brukes i skriptet for å sjekke statusen for utgangsstatus for datakoden for datakommandoen. Hvis tilstanden er sann, vil suksessmeldingen og månedens navn på datoen skrives ut. Hvis tilstanden er falsk, vil feilmeldingen og avkjøringsstatuskode, 1 skrives ut.
Read_month.sh
#!/bin/bash
Ekko "Skriv inn en dato i formatet: Yyyy-MM-DD"
Les Date_Value
current_month = $ (date -d "$ date_value" '+%b')
Hvis [$? -Eq 0]
deretter
Echo "Dato -kommando utføres vellykket"
ekko "nåværende måned er $ current_month"
ellers
Echo "Dato -kommando blir ikke utført med hell"
Avslutt 1
fi
Kjør manuset.
$ bash read_month.sh
Eksempel-4: Bruke && og || med exit -kode
'&&' logisk operatør brukes til vellykket exit code og '||' Logisk operatør brukes til mislykket utgangskode. Følgende kommando vil skrive ut 'filen eksisterer' hvis bok.tekst filen eksisterer i den nåværende plasseringen og skriv ut filen ikke eksisterer "hvis bok.tekst filen eksisterer ikke på det nåværende stedet.
$ kattebok.txt && ekko "fil eksisterer" || ekko "fil eksisterer ikke"
Ulike bruksområder for status for avkjørsel vises i denne opplæringen. Håper, leseren vil få et klart konsept om avkjørselstatuskode for bash etter å ha lest denne opplæringen.