Pogojni stavki vam omogočajo odločitev o izvajanju niza ukazov glede na ovrednotenje določenega izraza.
Pogojni stavki imajo mnogo oblik. Najbolj osnovna je: if izraz then stavek pri čemer se 'stavek' izvrši le, če je 'izraz' ovrednoten kot resničen. '2<1' je na primer izraz, ki je ovrednoten kot neresničen, '2>1' pa kot resničen.
Pogjni stavki imajo tudi drugačne oblike, kot na primer: if izraz then stavek1 else stavek2. 'stavek1' je v tem primeru izvršen le, če je 'izraz' resničen, sicer pa se izvrši 'stavek2'
Še ena oblika pogojnih stavkov: if izraz1 then stavek1 else if izraz2 then stavek2 else stavek3. Tukaj je dodan le del "ELSE IF 'izraz2' THEN 'stavek2'", ki izvrši 'stavek2', če je 'izraz2' ovrednoten kot resničen. Vse ostalo verjetno razumete (glejte prejšnje oblike).
Nekaj besed o sintaksi:
Osnova za konstrukcijo 'if' je v bash takšna:
if [izraz];
then
ukazi, če je 'izraz' resničen
fi
#!/bin/bash
if [ "foo" = "foo" ]; then
echo izraz je ovrednoten kot resničen
fi
Ukazi, ki se izvršijo, če je izraz v oglatih oklepajih ovrednoten kot resničen, so navedeni med 'then' in 'fi' - 'fi' označuje konec pogojenih ukazov.
#!/bin/bash
if [ "foo" = "foo" ]; then
echo izraz je ovrednoten kot resničen
else
echo izraz je ovrednoten kot neresničen
fi
#!/bin/bash
T1="foo"
T2="bar"
if [ "$T1" = "$T2" ]; then
echo izraz je ovrednoten kot resničen
else
echo izraz je ovrednoten kot neresničen
fi