( Zahy | 2016. 03. 24., cs – 20:04 )

Hát maga a "then fi" 2 hibát is tartalmaz. Ebből az egyik, hogy a fi az "parancs", tehát újsor, vagy ; vagy egyéb utasításlezáró mögé írandó. És csak a második hiba, hogy a then és a fi parancsok közé kell egy harmadik parancs. Amúgy ha nem egy sorban van ez az egész, akkor ez a harmadik parancs simán lehet egy megjegyzés is. Azaz ez jó:

if parancs1
then
# parancs2
fi

Ez viszont természetesen nem jó:

if parancs1 ; then # parancs2 ; fi

Nyilván ha az utóbbi (egysorba írt) formát használod, akkor a legkönnyebb az egészet kikommentelni helyette:

# if parancs1 ; then parancs2 ; fi

vagy kicsit trükkösen használni a fent általatok is taglalt : parancsot:

if parancs1 ; then : parancs2 ; fi

(Megjegyzem az utóbbiért egy értelmes gyakvezér/projektvezető kivág a francba, annyira áttekinthetetlen lesz a kód.)
Valamint további megjegyzés, hogy ha egy if-feltétel összesen csak egy egyparancsos then ágat tartalmaz, akkor szerintem sokal olvashatóbb a

parancs1 && parancs2

forma - más kérdés, hogy volt olyan főnököm, aki ezt a rövidített formát kifejezetten ellenjavallotta.