Se vuoi esprimere il seguente test in shell (sh):
if ( a == 1 && ( b == 1 || b == 2 )) { ... }
Finora, il migliore che ho potuto scrivere è questo:
if [[ $a -eq 1 ]]; then
if [[ $b -eq 1 || $b -eq 2 ]]; then
...
fi
fi
Non so come combinare && e || con la precedenza corretta. Google non mi ha dato alcuna risposta (i tutorial forniscono solo esempi di base, se presenti)
Qual è la sintassi per combinare quei due se in uno?
ksh? Quindi il tuo codice iniziale richiederebbe solo un'altra coppia di parentesi:if (( a == 1 && ( b == 1 || b == 2 ))); then :; fi