DEV Community

Why the standard exit code for a shell program is zero?

Esron Silva on June 13, 2019

I mean, zero is equivalent to false in C language. So, why use zero as the code for a valid output in a command?

Collapse
 
alohci profile image
Nicholas Stimpson

Because there's generally only a need for one "OK" code, but lots of "ERROR" codes. So when cast to boolean you've got just OK or ERROR, but if you want more detail about the error, the information's there as an int.

Collapse
 
ahferroin7 profile image
Austin S. Hemmelgarn

And extrapolating from this, the most logical value for representing that singular success case with an integer is zero, because it doesn't care one bit (no punt intended) about what type of integer it is (zero is zero, regardless of bit width, bit or byte order, or whether it's signed or not).