if (Unix)

A Wikipédiából, a szabad enciklopédiából

Az if a Unix shell beépített utasítása. Shell scriptekben használatos. Alakja:

if feltétel
then shell-utasítások
elif feltétel
then shell-utasítások
...
else shell-utasítások
fi

A feltétel egy (vagy több összekapcsolt) Unix parancs, melynek visszatérési értékétől függ az if működése. Ha a visszatérési érték 0 (a parancs sikeres), a then ág hajtódik végre, ha nem, az elif ágak közül az első sikeres; ha ilyen sincs, akkor az else ág.

Több elif lehet, de mindegyik el is maradhat az else-zel együtt. Ha nincs else, és egyik if/elif feltétel sem teljesül, további utasítás nem hajtódik végre.

Példa: a dir1 és dir2 könyvtár összehasonlítása.

if diff -rq dir1 dir2
then	echo "dir1 es dir2 azonos"
fi

Az else ágra nincs szükség, mert eltérés esetén a diff úgyis kiírja a különbségeket.

Az if-et gyakran a [ paranccsal használjuk. Ez a parancs a test parancs shellbe épített változata, mely kismértékben különbözik a shellek között. Példa:

FAJL=file.txt

if [ ! -r $FAJL ]
then   echo $FAJL nem letezik
elif   [ ! -s $FAJL ]
then   echo $FAJL ures
else   echo Minden rendben
fi