Якщо ви хочете висловити наступний тест у оболонці (sh):
if ( a == 1 && ( b == 1 || b == 2 )) { ... }
Поки що найкраще мені вдалося написати це:
if [[ $a -eq 1 ]]; then
if [[ $b -eq 1 || $b -eq 2 ]]; then
...
fi
fi
Я не знаю, як скласти && та || з правильним пріоритетом. Гуглінг не дав мені жодної відповіді (підручники дають лише основні приклади, якщо такі є)
Який синтаксис поєднувати ці два, якщо в одне?
ksh? Тоді для вашого початкового коду знадобиться лише ще одна дужка:if (( a == 1 && ( b == 1 || b == 2 ))); then :; fi