Why does the expression
[ 1 -eq 1 -a 1 -eq 2 ]
returns exit code 1
while [ true -a false ]
doesent? The latter always oputputs exitcode 0 no matter how I combine true and false. I thought true and false are commands wich return exit code 0 or 1. If that is so why isnt the expression outputing exit code 1? I would like to know how this exactly works. Thanks for your help. I am new to linux so sorry if its too basic of a question. Thanks.