values of true and false in shell

Viewed 42381

I read that in shell, true command returns 0 => logical true. false command return 1 => logical false. But I get surprising results when i run.

if [ 0 ]
then
echo "0 is true."
else
echo "0 is false."
fi

if [ 1 ]
then
echo "1 is true."
else
echo "1 is false."
fi

if [ false ]
then
echo "false is true."
else
echo "false is false."
fi

if [ true ]
then
echo "true is true."
else
echo "true is false."
fi

I get these results.

0 is true. 1 is true. false is true. true is true.

2 Answers
Related