( Zahy | 2014. 05. 04., v – 19:35 )

> "az $answer értéke pedig karakter lesz és nem szám így az összeahasonlítás is rossz"

No ez nem igaz. Ha semmi extra módon nem jelzed, akkor a (ba)sh-ban nincs szöveges/szám tipua a változónak, hanem pont a "szövegkörnyezet alapján használja a shell

a=1
b="1"
c='1'

A három értékadás között semmi különbség nincs.
A valódi probléma az if / else ágak illetve a lezárás hiánya volt.