Bash Exit Codes

. Exit Code Number Meaning Example Comments
.
. 1     catchall for general errors
.       example: let "var1 = 1/0"
.       miscellaneous errors, such as "divide by zero"
.
. 2     misuse of shell builtins, according to Bash documentation
.       Seldom seen, usually defaults to exit code 1
.
. 126   command invoked cannot execute
.       permission problem or command is not an executable
.
. 127   "command not found"
.       possible problem with $PATH or a typo
.
. 128   invalid argument to exit
.       example: exit 3.14159
.       exit takes only integer args in the range 0 - 255
.
. 128+n fatal error signal "n"
.       example: kill -9 $PPID of script
.       $? returns 137 (128 + 9)
.
. 130   script terminated by Control-C
.       Control-C is fatal error signal 2, (130 = 128 + 2, see above)
.
. 255*  exit status out of range
.       example: exit -1
.       exit takes only integer args in the range 0 - 255
.
. According to the table, exit codes 1 - 2, 126 - 165, and 255 [1]
. have special meanings, and should therefore be avoided as user-
. specified exit parameters. Ending a script with exit 127 would
. certainly cause confusion when troubleshooting (is the error a
. "command not found" or a user-defined one?). However, many scripts
. use an exit 1 as a general bailout upon error. Since exit code 1
. signifies so many possible errors, this might not add any additional
. ambiguity, but, on the other hand, it probably would not be very
. informative either.
.
. 07252003
Last modified on 22 May 2007, at 19:25