Een exit code (ook exit status) is het getal dat een programma teruggeeft bij afsluiten: 0 betekent geslaagd, alles anders betekent mislukt. Shells en scripts gebruiken dit om te beslissen wat er daarna gebeurt.
De shell bewaart de exit code van het laatste commando in $?:
grep root /etc/passwd
echo $? # 0: gevonden
grep bestaatniet /etc/passwd
echo $? # 1: niet gevonden
| Code | Betekenis |
|---|---|
| 0 | Geslaagd |
| 1 | Algemene fout |
| 2 | Verkeerd gebruik (bijv. onbekende optie) |
| 126 | Bestand niet uitvoerbaar |
| 127 | Commando niet gevonden |
| 128+n | Beëindigd door signaal n (137 = 128 + SIGKILL 9) |
Alleen 0 is gestandaardiseerd; de rest is conventie en verschilt per programma. grep gebruikt bijvoorbeeld 1 voor "geen match" en 2 voor "echte fout".
De operatoren && en || reageren op de exit code:
make && make install # install alleen na geslaagde build
ping -c1 host || echo "onbereikbaar"
set -e # script stoppen bij de eerste fout