I saw something unexpected today.
$ bash -c 'false'
$ echo $?
1
This is as expected.
$ bash -c '[ false ]'
$ echo $?
0
Wat.
Similarly:
$ if [ false ]; then echo 'true'; fi
true
I think I understand that test
a.k.a. [
does not execute its argument. But... what does it really do with it?