BASH-programmering

Bash Exit Code of Last Command

Bash Exit Code of Last Command
När ett bash-kommando körs lämnar det utgångskoden, oavsett framgång eller misslyckad körning. Att undersöka utgångskoden kan ge användbar inblick i beteendet hos det sista körningskommandot.

I den här guiden, kolla in hur du kontrollerar bash-utgångskoden för det senaste kommandot och några möjliga användningar av det.

Bash-utgångskod

Varje UNIX / Linux-kommando som körs av shell-skriptet eller användaren lämnar en utgångsstatus. Det är ett heltal som förblir oförändrat om inte nästa kommando körs. Om utgångskoden är 0, lyckades kommandot. Om utgångskoden inte är noll (1-255) betyder det ett fel.

Det finns många potentiella användningsområden för bash-utgångskoden. Den mest uppenbara är naturligtvis att verifiera om det sista kommandot körs ordentligt, särskilt om kommandot inte genererar någon utdata.

I fallet med bash är utgångskoden för föregående kommando tillgänglig med skalvariabeln “$?”.

Kontrollerar Bash Exit Code

Starta en terminal och kör något kommando.

$ datum

Kontrollera värdet på skalvariabeln “$?”För utgångskoden.

$ echo $?

Eftersom kommandot "datum" gick framgångsrikt är utgångskoden 0. Vad skulle hända om det uppstod ett fel?

Låt oss försöka köra ett kommando som inte finns.

$ abcd

Kontrollera utgångskoden.

$ echo $?

Det är ett värde som inte är noll, vilket indikerar att det tidigare kommandot inte kördes ordentligt.

Ta en titt på följande kommando:

$ kattprov.txt | grep “mynt”

När du arbetar med ett kommando som har en eller flera rör kommer utgångskoden att vara den sista koden som körs i röret. I det här fallet är det grep-kommandot.

Eftersom grep-kommandot lyckades blir det 0.

$ echo $?

I det här exemplet, om grep-kommandot misslyckas, kommer utgångskoden att vara noll.

$ kattprov.txt | grep “abcd”
$ echo $?

Inkorporerar utgångskod i skript

Utgångskoden kan också användas för skript. Ett enkelt sätt att använda den är att tilldela den till en skalvariabel och arbeta med den. Här är ett exempel på skalskript som använder utgångskoden som ett villkor för att skriva ut specifik utdata.

$ #!/ bin / bash
$ echo "hej världen"
$ status = $?
$ [$ status -eq 0] && echo "kommandot lyckades" || eko "kommandot misslyckas"

När det körs genererar skriptet följande utdata.

Låt oss nu se vad som händer när det finns ett ogiltigt kommando att köra.

$ #!/ bin / bash
$ slumpmässigt kommando
$ status = $?
$ [$ status -eq 0] && echo "kommandot lyckades" || eko "kommandot misslyckades"

Utgången kommer att vara annorlunda när den körs.

Utgångskod Värde Förklaring

När utgångskoden inte är noll varierar värdet från 1 till 255. Vad betyder detta värde nu??

Även om värdet är begränsat är förklaringen av varje värde unik för programmet / skriptet. Till exempel har "ls" och "grep" olika förklaringar till felkod 1 och 2.

$ man ls

$ man grep

Definiera utgångsstatus i skript

När vi skriver ett skript kan vi definiera anpassade utgångskodvärden. Det är en användbar metod för enklare felsökning. I bash-skript är det kommandot "exit" följt av värdet för exitkoden.

$ exit

Enligt konventionen rekommenderas att tilldela utgångskod 0 för lyckad körning och använda resten (1-255) för eventuella fel. När kommandot exit nås kommer körningen av skalskriptet att avslutas, så var försiktig med placeringen.

Ta en titt på följande skalskript. Här, om villkoret är uppfyllt, kommer skriptet att avslutas med utgångskoden 0. Om villkoret inte uppfylls blir utgångskoden 1.

$ #!/ bin / bash
$ if [["$ (whoami)" != root]]; sedan
$ echo "Inte root-användare."
$ utgång 1
$ fi
$ echo "root user"
$ exit 0

Verifiera resultatet av att köra detta skript utan sudo-behörighet eller "root" -användare.

$ ./prov.sh
$ echo $?

Slutgiltiga tankar

Den här guiden visar vad utgångskoder är och hur du kan använda dem. Det visar också hur man tilldelar lämpliga utgångskoder i ett bash-skript.

Intresserad av bash scripting? Ett av de enklaste sätten att komma igång är att skriva egna skript. Kolla in den här enkla guiden om hur du skriver ett enkelt bash-skript.

Happy computing!

Mus Kontrollera och hantera musrörelser mellan flera skärmar i Windows 10
Kontrollera och hantera musrörelser mellan flera skärmar i Windows 10
Dual Display Mouse Manager låter dig kontrollera och konfigurera musrörelser mellan flera skärmar genom att sakta ner dess rörelser nära gränsen. Wind...
Mus WinMouse låter dig anpassa och förbättra muspekarens rörelse på Windows PC
WinMouse låter dig anpassa och förbättra muspekarens rörelse på Windows PC
Om du vill förbättra standardfunktionerna för din muspekare, använd freeware WinMouse. Det lägger till fler funktioner som hjälper dig att få ut det m...
Mus Mus vänsterklicka på knappen fungerar inte på Windows 10
Mus vänsterklicka på knappen fungerar inte på Windows 10
Om du använder en dedikerad mus med din bärbara dator eller stationära dator men musens vänsterklick-knapp fungerar inte på Windows 10/8/7 av någon an...