BASH programozás

Az utolsó parancs Bash kilépési kódja

Az utolsó parancs Bash kilépési kódja
Amikor egy bash parancs végrehajtásra kerül, a sikeres vagy sikertelen végrehajtástól függetlenül otthagyja a kilépési kódot. A kilépési kód vizsgálata hasznos betekintést nyújt az utolsó futtatás parancs viselkedésébe.

Ebben az útmutatóban ellenőrizze, hogyan ellenőrizhető az utolsó parancs bash kilépési kódja és annak néhány lehetséges felhasználása.

Bash Exit Code

Minden shell parancsfájl vagy felhasználó által végrehajtott UNIX / Linux parancs kilépési állapotot hagy. Ez egy egész szám, amely változatlan marad, hacsak nem futtatják a következő parancsot. Ha a kilépési kód 0, akkor a parancs sikeres volt. Ha a kilépési kód nem nulla (1-255), akkor az hibát jelent.

A bash kilépési kódnak sok lehetséges felhasználása van. A legkézenfekvőbb természetesen annak ellenőrzése, hogy az utolsó parancs végrehajtása megfelelő-e, különösen, ha a parancs nem generál kimenetet.

A bash esetében az előző parancs kilépési kódja a „$?”.

A Bash Exit Code ellenőrzése

Indítson el egy terminált, és futtasson bármilyen parancsot.

$ date

Ellenőrizze a „$?”A kilépési kódhoz.

$ visszhang $?

Mivel a „date” parancs sikeresen futott, a kilépési kód 0. Mi történne, ha hiba lenne?

Próbálkozzunk egy nem létező parancs futtatásával.

$ abcd

Ellenőrizze a kilépési kódot.

$ visszhang $?

Ez nem nulla érték, jelezve, hogy az előző parancs nem megfelelően futott.

Most nézze meg a következő parancsot:

$ macskaminta.txt | grep „érme”

Ha egy vagy több csővel rendelkező paranccsal dolgozik, akkor a kilépési kód a csőben utoljára végrehajtott kódé lesz. Ebben az esetben ez a grep parancs.

Mivel a grep parancs sikeres volt, 0 lesz.

$ visszhang $?

Ebben a példában, ha a grep parancs meghiúsul, akkor a kilépési kód nem nulla lesz.

$ macskaminta.txt | grep „abcd”
$ visszhang $?

Exit kód beépítése a parancsfájlokba

A kilépési kód szkriptek készítéséhez is használható. Egyszerű felhasználási mód az, ha hozzárendelünk egy shell változóhoz, és együtt dolgozunk vele. Itt van egy minta parancsfájl, amely a kimeneti kódot feltételként használja az adott kimenet nyomtatásához.

$ #!/ bin / bash
$ echo "hello world"
$ status = $?
$ [$ status -eq 0] && echo "parancs sikeres" || echo "parancs sikertelen"

Futtatásakor a szkript a következő kimenetet generálja.

Most nézzük meg, mi történik, ha érvénytelen parancs fut.

$ #!/ bin / bash
$ random-command
$ status = $?
$ [$ status -eq 0] && echo "parancs sikeres" || echo "parancs sikertelen"

Futtatáskor a kimenet más lesz.

Kilépés kódérték Magyarázat

Ha a kilépési kód nem nulla, akkor az érték 1 és 255 között mozog. Most mit jelent ez az érték?

Bár az érték korlátozott, az egyes értékek magyarázata egyedi a program / szkript számára. Például az „ls” és a „grep” különböző magyarázatot ad az 1. és 2. hibakódra.

$ ember ls

$ férfi grep

Kilépés állapotának meghatározása a szkriptben

Szkript írásakor meghatározhatunk egyedi kilépési kód értékeket. Hasznos módszer a könnyebb hibakereséshez. A bash szkriptekben ez az „exit” parancs, amelyet a exit kód értéke követ.

$ exit

Az egyezmény szerint a sikeres végrehajtáshoz ajánlott 0-os kilépési kódot rendelni, a maradékot (1-255) az esetleges hibákhoz. Az exit parancs elérésekor a shell parancsfájl végrehajtása leáll, ezért vigyázzon annak elhelyezésére.

Vessen egy pillantást a következő shell parancsfájlra. Itt, ha a feltétel teljesül, a szkript a 0 kilépési kóddal fejeződik be. Ha a feltétel nem teljesül, akkor a kilépési kód 1 lesz.

$ #!/ bin / bash
$ if [["$ (whoami)" != gyökér]]; azután
$ echo "Nem root felhasználó."
$ exit 1
$ fi
$ echo "root felhasználó"
$ exit 0

Ellenőrizze a szkript futtatásának eredményét sudo privilégium vagy „root” felhasználó nélkül.

$ ./minta.SH
$ visszhang $?

Végső gondolatok

Ez az útmutató bemutatja, hogy mik a kilépési kódok, és hogyan használhatja őket. Bemutatja azt is, hogyan rendelhetünk megfelelő kimeneti kódokat egy bash szkriptben.

Érdekli a bash szkriptelés? Az indulás egyik legegyszerűbb módja, ha saját szkripteket írsz. Nézze meg ezt az egyszerű útmutatót arról, hogyan kell írni egy egyszerű bash szkriptet.

Boldog számítástechnika!

Az egérmutató és a kurzor méretének, színének és sémájának módosítása a Windows 10 rendszeren
Az egérmutató és a kurzor a Windows 10 operációs rendszerben nagyon fontos szempont. Ez elmondható más operációs rendszerekről is, tehát valójában eze...
Ingyenes és nyílt forráskódú játékmotorok a Linux játékok fejlesztéséhez
Ez a cikk felsorolja azokat az ingyenes és nyílt forráskódú játékmotorokat, amelyek felhasználhatók 2D és 3D játékok fejlesztésére Linuxon. Számos ily...
Shadow of the Tomb Raider for Linux Tutorial
A Shadow of the Tomb Raider a Tomb Raider sorozat tizenkettedik kiegészítője - az Eidos Montreal által létrehozott akció-kaland játék franchise. A ját...