Mnoho uživatelů skriptů Bash se však chce při ukončení vrátit s různými návratovými kódy, ale dostávají chyby. V tomto tutoriálu vysvětlíme různé přístupy k tomu, aby se Bash skript vrátil s různými návratovými kódy při ukončení.
Bash Script se při ukončení vrací s různými návratovými kódy
Než přejdeme k metodám, podívejme se na výstupní kódy, které mají konkrétní význam:
Výstupní kódy | Popis |
0 | Skript je úspěšně proveden. |
1 | Skript je spuštěn s obecnými chybami. |
dva | Neplatné použití některých vestavěných příkazů ve skriptu. |
126 | Zobrazuje chybu příkazu, který je vyvolán a nelze jej provést. |
127 | Příkaz ve skriptu neexistuje. |
128 | Zobrazuje výstupní kód mimo rozsah nebo signál fatální chyby. |
130 | CTRL+C skript ukončí. |
255 | Obecný chybový kód chyby skriptu. |
Jak získat návratové kódy na výstupu?
Stačí napsat „echo $?“ příkaz k získání návratového kódu. Chcete například porovnat dvě čísla pomocí následujícího skriptu Bash:
Po spuštění skriptu v terminálu spusťte „echo $?“ pro získání návratového kódu při výstupu:
. / srovnání.sh
echo $?
„Comparison.sh“ je úspěšně spuštěn. Proto terminály zobrazují jako návratový kód nulu. Podobně dostanete nenulovou hodnotu jako úspěšné provedení skriptu. Pokud například ve skriptu použijete místo příkazu ls příkaz Ls, můžete jako návratový kód získat nenulovou hodnotu:
Jak můžete vidět na předchozím obrázku, terminál zobrazuje 127 jako návratový kód, protože skript obsahoval nesprávný příkaz:
Vytvořte návrat Bash skriptu s různými výstupními kódy
Ve skriptu můžete ručně nastavit kódy ukončení. Pokud například chcete získat 255 jako výstupní kód, použijte následující skript:
Nyní spusťte skript a poté spusťte 'echo $?' příkaz k získání 255 jako návratového kódu:
. / srovnání.shecho $?
Závěr
To je vše o výstupních kódech, které můžete získat po spuštění skriptu Bash v Linuxu. Výstupní kódy pomáhají uživateli identifikovat stav Bash skriptu. Můžete také ručně nastavit a používat různé návratové kódy. Proto můžete získat nenulový výstupní kód namísto nuly, i když je skript úspěšně proveden. Pokud se chcete dozvědět více o skriptech Bash, prohlédněte si naše oficiální stránky.