Boolean operators ( &&, -a, ||, -o ) in Bash

Viewed 162999

What is the difference between the &&, ||, -a, and -o Unix operators?

What are the restrictions on the usage of both types?

Is it simply that the && and || operators should be used when using flags in the condition?

As in:

[ "$1" = "yes" ] && [ -r $2.txt ]

versus:

[ "$1" = "yes" -a $2 -lt 3 ]
2 Answers
Related