Az és, a vagy és a negáció műveletei igen fontosak. Nézzünk egy egyszerű példát.
[ "$#" -ne 2 ] && { echo "Nem megfelelő argumentumszám"; exit; }
Hogy ez hogyan működik egy képzeletbeli script elején? Az && és kapcsolatot fejez ki. Tehát ha nem 2 argumentumot kap a script, akkor kíír egy üzenetet és kilép a programocskból. 🙂 Hogyan lehet ezt megfordítani?
[ "$#" -eq 2 ] || { echo "Nem megfelelő argumentumszám"; exit; }
Az eredmény ugyanaz. A || vagy kapcsolatot fejez ki. Vagy egyenlő 2-vel az argumentum szám, vagy kilép a programból. Az első script részlet algebrailag (A != B) és (igaz), a második (A == B) vagy (igaz).
Az egyik legfontosabb szabály, hogy a nem-és felcserélhető igen-vagy-ra. 🙂
További részletek a Boole-algebráról az alábbi linkeken.