Bash if оператор с несколькими условиями выдает ошибку

я пытаюсь написать скрипт, который будет проверять два флага ошибок, и в случае, если один флаг (или оба) будут изменены ''ll echo-- ошибка произошла. Мой сценарий:

my_error_flag=0
my_error_flag_o=0
do something.....
if [[ "$my_error_flag"=="1" || "$my_error_flag_o"=="2" ] || [ "$my_error_flag"="1" &&     "$my_error_flag_o"="2" ]]; then
    echo "$my_error_flag"
else
    echo "no flag"
fi

В принципе, так и должно быть:

if ((a=1 or b=2) or (a=1 and b=2))
  then
     display error
else
     no error
fi

Я получаю ошибку:

 line 26: conditional binary operator expected
 line 26: syntax error near `]'
 line 26: `if [[ "$my_error_flag"=="1" || "$my_error_flag_o"=="2" ] || [ "$my_error_flag"="1" && "$my_error_flag_o"="2" ]]; then'

Мои кронштейны испорчены?

Ответы на вопрос(4)

Ваш ответ на вопрос