Error de script Bash: [i: comando no encontrado

Se supone que este programa acepta un número del usuario e imprime muchos números primos. Por alguna razón el programa no funciona. Soy nuevo en bash scripting y este es mi primer programa. A mis ojos todo parece correcto. Por favor, dime dónde me equivoqué.

<code>echo Enter num
read n
i=2
j=2

for(( i=2; i <= n; i++ ))
do

for(( j=2; j < i-1; j++ ))
do

if [i % j == 0];
then
break
fi


if [i == j];
then
echo "  $i"
fi
done
done
</code>

Esta es la salida que obtengo

<code>Enter num
20
prime.sh: line 12: [i: command not found
prime.sh: line 18: [i: command not found
prime.sh: line 12: [i: command not found
prime.sh: line 18: [i: command not found
 .
 .
 .
</code>

Después de hacer los cambios sugeridos.

<code>read -p "Enter a  number : " n
i=2
j=2
for(( i=2; i <= n; i++ ))
do
    for(( j=2; j <= i-1; j++ ))
    do
        if [ $(( i % j )) == 0 ]
        then
            break
        fi
        if [ i == j ]
        then
            echo "  $i"
        fi
    done
done
</code>

Pude ejecutar el programa pero no produjo ningún resultado.

http://i.stack.imgur.com/Fd1se.png

Respuestas a la pregunta(4)

Su respuesta a la pregunta