Wenn Sie den folgenden Test in Shell (sh) ausdrücken möchten:
if ( a == 1 && ( b == 1 || b == 2 )) { ... }
Das Beste, was ich bisher schreiben konnte, ist Folgendes:
if [[ $a -eq 1 ]]; then
if [[ $b -eq 1 || $b -eq 2 ]]; then
...
fi
fi
Ich weiß nicht, wie ich && und || zusammensetzen soll mit korrekter Priorität. Googeln hat mir keine Antwort gegeben (Tutorials geben nur grundlegende Beispiele, falls vorhanden)
Was ist die Syntax die beiden zu kombinieren , wenn in einem?
ksh
? Dann würde Ihr anfänglicher Code nur noch ein Paar Klammern erfordern:if (( a == 1 && ( b == 1 || b == 2 ))); then :; fi