A feltételes utasítások segítségével dönthetünk, hogy végrehajtunk-e valamit vagy nem. A döntés itt egy kifejezés kiértékeléséből áll.
A feltételes utasításoknak több formája is van. A legalapvetőbb a következő: if kifejezés then utasítás, ahol az "utasítás" csak akkor kerül végrehajtásra, ha a kifejezés, kiértékelése után igazat ad vissza. Például a "2<1" kifejezés kiértékelés utáni értéke hamis, míg a "2>1" esetén igaz.
A másik eset: if kifejezés then utasítás1 else utasítás2. Az "utasítás1" akkor hajtódik végre, ha a kifejezés igaz, egyéb esetben az "utasítás2" kerül végrehajtásra.
A feltételes utasítás egy másik formája: if kifejezés1 then utasítás1 else if kifejezés2 then utasítás2 else utasítás3. Ebben az esetben csak az "ELSE IF 'kifejezés2' THEN 'utasítás2'" részt adtuk hozzá, így az utasítás2 akkor lesz végrehajtva, ha a kifejezés2 kiértékelés utáni értéke igaz. A többit már magad is el tudod képzelni (nézd meg az előző formákat).
Pár szó a szintaxisról:
Bash-ban az "if" szerkezetek a következőképp néznek ki:
if [kifejezés];
then
a "kifejezés" igaz volta esetén végrehajtódó kód
fi
#!/bin/bash
if [ "foo" = "foo" ]; then
echo a feltétel igaz
fi
A szögletes zárójelbe tett kifejezés igaz értéke esetén végrehajtódó kód a "then" kulcsszó után és a "fi" kulcsszó előtt helyezkedik el. A "fi" kulcsszó jelzi a feltételesen végrehajtandó kód végét.
#!/bin/bash
if [ "foo" = "foo" ]; then
echo a feltétel igaz
else
echo a feltétel hamis
fi
#!/bin/bash
T1="foo"
T2="bar"
if [ "$T1" = "$T2" ]; then
echo a feltétel igaz
else
echo a feltétel hamis
fi