2012-04-23 14 views

risposta

19

È quasi fatta:

if [[ "$a" == "something" || ($n == 2 && "$b" == "something_else") ]]; then 

Infatti, le parentesi può essere lasciato fuori a causa della precedenza degli operatori, quindi potrebbe anche essere scritto come

if [[ "$a" == "something" || $n == 2 && "$b" == "something_else" ]]; then 
1
if [[ "$a" == "something" ]] || [[ $n == 2 && "$b" == "something_else" ]]; then 
    ... 
fi 
+4

POSIX conforme alla shell: 'if [" $ a "=" qualcosa "-o \ ($ n -eq 2 -a" $ b "=" something_else "\)]; quindi eco sì; fi' – Kaz

+0

Piuttosto stupido come '[' non usa '[' come parentesi per raggruppare sottoespressioni, non è vero? – Kaz