このプログラムは、ユーザーからの数を受け入れ、その数の素数を出力することを想定しています。何らかの理由でプログラムが動作しません。私はbashスクリプトを初めて使用し、これが私の最初のプログラムです。私の目には、すべてが正しいように見えます。どこが悪かったのか教えてください。
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
これは私が得る出力です
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
.
.
.
提案された変更を行った後
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
プログラムを実行できましたが、結果が得られませんでした