Si vous souhaitez exprimer le test suivant en shell (sh):
if ( a == 1 && ( b == 1 || b == 2 )) { ... }
Jusqu'à présent, le meilleur que j'ai pu écrire est le suivant:
if [[ $a -eq 1 ]]; then
if [[ $b -eq 1 || $b -eq 2 ]]; then
...
fi
fi
Je ne sais pas comment composer && et || avec une priorité correcte. La recherche sur Google ne m'a donné aucune réponse (les didacticiels ne donnent que des exemples de base, le cas échéant)
Quelle est la syntaxe pour combiner ces deux si en un seul?
ksh? Ensuite, votre code initial ne nécessiterait qu'une autre paire de parenthèses:if (( a == 1 && ( b == 1 || b == 2 ))); then :; fi