'help test' says that an expression consisting of a single string is an alias
for "-n STRING" which is "true if the string is not empty." So, [ false -a
false ] and [ false ] are true because "false" is a non-empty string. [ "" ] is
false.
You probably just want 'true && false' without the [.
This will work
$ eval "for i in $(echo a b\\ c); do echo \"\$i\"; done"
a
b c
http://lists.gnu.org/archive/html/bug-bash/2007-07/msg00011.html
___
Bug-bash mailing list
Bug-bash@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-bash