serias tan amable de:
a) editar el codigo, meterlo entre tags [ code] (busca en el "editor completo"). y indentarlo
o bien:
b) pasarlo via pastie.org o similares.
digo... a mi me cuesta muchisimo leer codigo asi.
asi a primera vista, veo un error de sintaxis:
if [ num -eq n ]; then
#deberia ser:
if [ $num -eq n ]; then
y en el while tienes otro:
while [ $num -lt 0 ]; do
y otros tantos en la asignacion:
$acierto=1; ## NO!! lo correcto es esto:
acierto=1
(las de op estan todas igual, es decir, mal.)
y luego no es un error, pero el jaleo que te has hecho con la comparacion del final, se resuleve con un case mucho mas elegantemente (y eficientemente tambien)
case $acierto in
1)
echo "a la primera!! " ;;
2)
echo ... ;;
(...)
esac
mas info:
man bash # imprescindible
http://www.etxea.net/docu/taller_bash/bash.html #una excelente guia sobre scripting. (en serio, yo aprendi con esta. )

EDIT: y corria?? que leches de shell estas usando que eso no te tira 200 errores??
