Jeśli chcesz wyrazić następujący test w powłoce (sh):
if ( a == 1 && ( b == 1 || b == 2 )) { ... }
Do tej pory najlepsze, co udało mi się napisać, to:
if [[ $a -eq 1 ]]; then
if [[ $b -eq 1 || $b -eq 2 ]]; then
...
fi
fi
Nie wiem jak połączyć && i || z właściwym pierwszeństwem. Googling nie dał mi żadnej odpowiedzi (tutoriale podają tylko podstawowe przykłady, jeśli takie istnieją)
Jaka jest składnia, aby połączyć te dwa, jeśli w jeden?
ksh? Wówczas początkowy kod wymagałby tylko jednej pary nawiasów:if (( a == 1 && ( b == 1 || b == 2 ))); then :; fi