Ошибка сценария Bash: [i: команда не найдена

Предполагается, что эта программа принимает число от пользователя и печатает столько простых чисел. По какой-то причине программа не работает. Я новичок в сценарии Bash, и это моя первая программа. На мой взгляд, все кажется правильным. Пожалуйста, скажите мне, где я ошибся.

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

Это вывод, который я получаю

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

После внесения предложенных изменений

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

Мне удалось запустить программу, но она не дала никакого результата

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

Ответы на вопрос(4)

Ваш ответ на вопрос