If say, in test -a left expression is not present but the right expression is present, do the shell will consider the left expression true and evaluate the right expression?
Thanks for fast response. But if omitted expression is always false then the test I have written is always remains false!! Which I supposed is not correct..
The test within double square brackets [[...]] are evaluated according to the syntax for Conditional Expressions. This is described in the man pages for your shell. In that context the "-a" means "True if file exists".
Tests within single square brackets [..] are evaluated according to the rules for the "test" command. In that context "-a" means AND.
There is much overlap between the syntax for Conditional Expressions and "test" but they are not interchangeable.