|
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
[[added to wiki.robotz.com 5/22/2007]]
|