false; echo $?
The above will output 1, which is contradictory with all other programming languages I know.
1
Any reason in this
AFAIK this come from the C convention that you should return 0 if succeded. See:
man close
Most of the C (POSIX) api is build like this. http://en.wikipedia.org/wiki/C_POSIX_library