One of the problems using bash is the numeric equivalence of boolean values
#!/bin/sh function zero() { return 0 } function one() { return 1 } #main section if zero ; then echo "0 is true" fi if one ; then echo "1 is true" fi
and the output is:
0 is true