Sådan laver du et Bash Script Return med forskellige returkoder ved afslutning

Sadan Laver Du Et Bash Script Return Med Forskellige Returkoder Ved Afslutning



Exit-koder er heltal, der indikerer, at et script er blevet udført. Disse koder er også kendt som returkoder eller udgangsstatusser. Afslutningskoder returnerer normalt nul ved vellykket eksekvering og ikke-nul ved mislykket udførelse.

Mange Bash-scriptbrugere ønsker dog at vende tilbage med forskellige returkoder ved afslutning, men de får fejl. I denne tutorial vil vi forklare de forskellige tilgange til at få et Bash-script til at returnere med forskellige returkoder ved afslutning.

Bash Script vender tilbage med forskellige returkoder ved afslutning

Før vi går ud til metoderne, lad os tage et kig på de exitkoder, der har specifikke betydninger:







Udgangskoder Beskrivelse
0 Scriptet er udført med succes.
1 Scriptet udføres med generelle fejl.
to Ugyldig brug af nogle indbyggede kommandoer i scriptet.
126 Viser fejlen for kommandoen, som er påkaldt og ikke kan udføres.
127 Kommandoen findes ikke i scriptet.
128 Viser udgangskoden uden for rækkevidde eller et fatalt fejlsignal.
130 CTRL+C afslutter scriptet.
255 En generel fejlkode for scriptet.

Hvordan får man returkoder ved udgang?

Du behøver kun at skrive 'ekko $?' kommando for at få returkoden. For eksempel vil du sammenligne to tal ved at bruge følgende Bash-script:





Når du har udført scriptet i terminalen, skal du køre 'echo $?' for at få returkoden ved udgang:





. / sammenligning.sh

ekko $?



'comparison.sh' udføres med succes. Det er derfor, terminaler viser nul som returkode. På samme måde får du ikke-nul som den vellykkede udførelse af scriptet. For eksempel, hvis du bruger Ls i stedet for ls-kommandoen i scriptet, får du muligvis ikke-nul som returkode:

Som du kan se på det forrige billede, viser terminalen 127 som returkode, fordi scriptet indeholdt den forkerte kommando:

Lav et Bash Script Return med forskellige Exit-koder

Du kan manuelt opsætte udgangskoderne i scriptet. For eksempel, hvis du vil have 255 som udgangskode, skal du bruge følgende script:

Udfør nu scriptet og kør derefter 'echo $?' kommando for at få 255 som returkode:

. / sammenligning.sh

ekko $?

Konklusion

Det hele handler om de exitkoder, du kan få efter at have udført Bash-scriptet i Linux. Exit-koder hjælper en bruger med at identificere status for Bash-scriptet. Du kan også manuelt opsætte og bruge de forskellige returkoder. Derfor kan du få en ikke-nul exit-kode i stedet for nul, selvom scriptet udføres med succes. Hvis du vil vide mere om Bash-scripts, kan du gennemse vores officielle hjemmeside.