BASH programavimas

Paskutinės komandos „Bash“ išėjimo kodas

Paskutinės komandos „Bash“ išėjimo kodas
Vykdant „bash“ komandą, jis palieka išėjimo kodą, nepaisant sėkmingo ar nesėkmingo vykdymo. Išnagrinėjus išėjimo kodą gali būti naudinga įžvalga apie paskutinės paleistos komandos veikimą.

Šiame vadove patikrinkite, kaip patikrinti paskutinės komandos bash išėjimo kodą ir keletą galimų jo naudojimo būdų.

„Bash“ išėjimo kodas

Kiekviena apvalkalo scenarijaus ar vartotojo vykdoma UNIX / Linux komanda palieka išėjimo būseną. Tai sveikasis skaičius, kuris lieka nepakitęs, nebent paleidžiama kita komanda. Jei išėjimo kodas yra 0, komanda buvo sėkminga. Jei išėjimo kodas nėra nulis (1-255), tai reiškia klaidą.

Yra daugybė galimų „bash“ išėjimo kodo naudojimo būdų. Akivaizdžiausias dalykas yra, žinoma, patikrinti, ar paskutinė komanda vykdoma tinkamai, ypač jei komanda nesukuria jokio išėjimo.

Bash atveju ankstesnės komandos išėjimo kodas pasiekiamas naudojant apvalkalo kintamąjį „$?“.

Tikrinamas „Bash“ išėjimo kodas

Paleiskite terminalą ir vykdykite bet kurią komandą.

$ data

Patikrinkite apvalkalo „$“ reikšmę?“Išėjimo kodui.

$ aidas $?

Kai komanda „data“ sėkmingai paleista, išėjimo kodas yra 0. Kas nutiktų, jei būtų klaida?

Pabandykime paleisti komandą, kurios nėra.

$ abcd

Patikrinkite išėjimo kodą.

$ aidas $?

Tai nėra nulio reikšmė, nurodanti, kad ankstesnė komanda nebuvo tinkamai vykdoma.

Dabar pažvelkite į šią komandą:

$ katės pavyzdys.txt | grep „moneta“

Dirbant su komanda, turinčia vieną ar daugiau vamzdžių, išėjimo kodas bus paskutinis, įvykdytas vamzdyje. Šiuo atveju tai yra komanda grep.

Kadangi komanda grep buvo sėkminga, ji bus 0.

$ aidas $?

Šiame pavyzdyje, jei grep komanda nepavyksta, tada išėjimo kodas bus ne nulinis.

$ katės pavyzdys.txt | grep „abcd“
$ aidas $?

Išėjimo kodo įtraukimas į scenarijus

Išėjimo kodas taip pat gali būti naudojamas scenarijams. Vienas paprastas jo naudojimo būdas yra priskyrimas apvalkalo kintamajam ir darbas su juo. Čia yra pavyzdinis apvalkalo scenarijus, kuriame išėjimo kodas naudojamas kaip sąlyga, norint atspausdinti konkrečią išvestį.

# USD!/ bin / bash
$ echo „labas pasaulis“
$ status = $?
$ [$ status -eq 0] && echo „komanda sėkmingai“ || aidas „komanda nesėkminga“

Vykdant scenarijus sugeneruos šią išvestį.

Pažiūrėkime, kas atsitiks, kai bus paleista neteisinga komanda.

# USD!/ bin / bash
$ random-command
$ status = $?
$ [$ status -eq 0] && echo „komanda sėkmingai“ || aidas „komanda nesėkminga“

Vykdant išvestis bus kitokia.

Išėjimo kodo vertės paaiškinimas

Kai išėjimo kodas nėra nulis, reikšmė svyruoja nuo 1 iki 255. Ką reiškia ši vertė?

Nors vertė yra ribota, kiekvienos vertės paaiškinimas yra unikalus programai / scenarijui. Pvz., „Ls“ ir „grep“ skirtingai paaiškina klaidos kodus 1 ir 2.

$ vyras ls

$ vyras grep

Išėjimo būsenos apibrėžimas scenarijuje

Rašydami scenarijų galime apibrėžti pasirinktines išėjimo kodo reikšmes. Tai naudingas būdas lengviau derinti. „Bash“ scenarijuose tai yra komanda „exit“, po kurios nurodoma išėjimo kodo vertė.

$ išėjimas

Pagal susitarimą, norint sėkmingai įvykdyti, rekomenduojama priskirti išėjimo kodą 0, o likusius (1-255) naudoti galimoms klaidoms. Pasiekus komandą exit, „shell“ scenarijaus vykdymas bus nutrauktas, todėl būkite atsargūs jos talpinimo srityje.

Pažvelkite į šį apvalkalo scenarijų. Čia, jei sąlyga įvykdyta, scenarijus bus baigtas išėjimo kodu 0. Jei sąlyga netenkinama, išėjimo kodas bus 1.

# USD!/ bin / bash
$ jei [["$ (whoami)" != šaknis]]; tada
$ echo "Nėra root vartotojas."
$ exit 1
$ fi
$ echo „root user“
$ išėjimas 0

Patikrinkite šio scenarijaus paleidimo be sudo privilegijos ar „root“ vartotojo rezultatą.

$ ./ pavyzdys.sh
$ aidas $?

Paskutinės mintys

Šis vadovas parodo, kokie yra išėjimo kodai ir kaip juos naudoti. Tai taip pat parodo, kaip priskirti tinkamus išėjimo kodus „bash“ scenarijuje.

Domina bash scenarijai? Vienas paprasčiausių būdų pradėti yra parašyti savo scenarijus. Peržiūrėkite šį paprastą vadovą, kaip parašyti paprastą „bash“ scenarijų.

Laimingo skaičiavimo!

Pridėkite pelės gestus prie „Windows 10“ naudodami šiuos nemokamus įrankius
Pastaraisiais metais kompiuteriai ir operacinės sistemos labai išsivystė. Buvo laikas, kai vartotojai turėjo naudoti komandas naršydami per failų tvar...
Valdykite ir valdykite pelės judėjimą tarp kelių „Windows 10“ monitorių
„Dual Display Mouse Manager“ leidžia jums valdyti ir konfigūruoti pelės judėjimą tarp kelių monitorių, sulėtinant jo judėjimą šalia sienos. „Windows 1...
„WinMouse“ leidžia tinkinti ir pagerinti pelės žymeklio judėjimą „Windows“ kompiuteryje
Jei norite pagerinti numatytąsias pelės žymiklio funkcijas, naudokite nemokamą programinę įrangą „WinMouse“. Tai prideda daugiau funkcijų, kurios padė...