Menu

Logické spojky

Jednotlivé příkazy (nebo sekvenci příkazů oddělených rourou) můžeme oddělit pomocí logických spojek && a ||. To nemá smysl pouze v podmínkách, ale i pro normální zřetězení dvou příkazů. V UNIXovém shellu totiž funguje tzv. zkrácené vyhodnocování. Pokud je použita logická spojka && a návratová hodnota prvního příkazu je false, UNIX ví, že bez ohledu na hodnotu druhého příkazu už bude výsledek false a tak jej vůbec neprovede. Stejně tak, pokud je použita logická spojka || a návratová hodnota prvního příkazu je true, UNIX ví, že výsledek bude true a tak druhý příkaz vůbec neprovede.

mkdir a 2>/dev/null || echo "Adresář se nepodařilo vytvořit."
cd /root && ls
[ "$a" = "$b" ] && echo "$a a $b jsou si rovny."