Группы сложных условий в тесте Bash

Я хочу иметь несколько групп условий в выражении Bash if. В частности, я ищу что-то вроде следующего:

if <myCondition1 and myCondition2> or <myCondition3 and myCondition4> then...

Как я могу группировать условия вместе так, как я описываю для использования с одним оператором if в Bash? Я благодарю вас за любые идеи, которые вы можете по этому поводу.

Ответ 1

Используйте && (и) и || (или):

if [[ expression ]] && [[ expression ]] || [[ expression ]] ; then

Они также могут использоваться в одном [[]]:

if [[ expression && expression || expression ]] ; then

И, наконец, вы можете сгруппировать их для обеспечения порядка оценки:

if [[ expression && ( expression || expression ) ]] ; then