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]]