Come faccio a ottenere qualcosa di simile alla seguente in bash?Come eseguire condizionali complessi in bash? (mix di 'e' &&, 'o' || ...)
if ("$a" == "something" || ($n == 2 && "$b" == "something_else")); then
...
fi
Come faccio a ottenere qualcosa di simile alla seguente in bash?Come eseguire condizionali complessi in bash? (mix di 'e' &&, 'o' || ...)
if ("$a" == "something" || ($n == 2 && "$b" == "something_else")); then
...
fi
È 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
if [[ "$a" == "something" ]] || [[ $n == 2 && "$b" == "something_else" ]]; then
...
fi
POSIX conforme alla shell: 'if [" $ a "=" qualcosa "-o \ ($ n -eq 2 -a" $ b "=" something_else "\)]; quindi eco sì; fi' – Kaz
Piuttosto stupido come '[' non usa '[' come parentesi per raggruppare sottoespressioni, non è vero? – Kaz