Błąd skryptu Bash: [i: nie znaleziono polecenia

Ten program ma przyjąć liczbę od użytkownika i wydrukować wiele liczb pierwszych. Z jakiegoś powodu program nie działa. Jestem nowym użytkownikiem skryptów bashowych i to jest mój pierwszy program. W moich oczach wszystko wydaje się być poprawne. Proszę mi powiedzieć, gdzie poszedłem źle.

<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>

To jest wyjście, które otrzymuję

<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>

Po dokonaniu sugerowanych zmian

<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>

Udało mi się uruchomić program, ale nie przyniósł żadnego rezultatu

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

questionAnswers(4)

yourAnswerToTheQuestion