We have already seen that when a program encounters issues it exits, usually with an error message. What does exits means? Simply that the code execution terminates and the program, or the script, returns an exit code that informs the system of what happened. This is very handy for us, since we can trap the exit code of a program and decide what to do based on its value.
0 |
Success |
1 |
Failure |
2 |
Misuse of builtin |
126 |
Command not executable |
127 |
Command not found |
128 |
Invalid argument |
128+x |
Fatal error exit with signal x |
130 |
Execution terminated by Ctrl +C |
255 |
Exit state out of boundary (0-255) |
So, maybe you already guessed, each execution terminates with an exit code, whether successful or not, with an error message or silently:
zarrelli:~$ date ; echo $?
Thu 2 Feb 19:17:48 GMT 2017
0
As you can see, the exit code...