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.
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
To jest wyjście, które otrzymuję
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
.
.
.
Po dokonaniu sugerowanych zmian
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
Udało mi się uruchomić program, ale nie przyniósł żadnego rezultatu