Если хотите выразить следующий тест в shell (sh):
if ( a == 1 && ( b == 1 || b == 2 )) { ... }
На данный момент лучшее, что я смог написать, это:
if [[ $a -eq 1 ]]; then
if [[ $b -eq 1 || $b -eq 2 ]]; then
...
fi
fi
Я не знаю, как составить && и || с правильным приоритетом. Поиск в Google не дал мне никакого ответа (учебники дают только основные примеры, если таковые имеются)
Какой синтаксис объединить эти два, если в один?
ksh? Тогда ваш исходный код потребует только еще одну пару круглых скобок:if (( a == 1 && ( b == 1 || b == 2 ))); then :; fi