该程序假设从用户那里接受一个数字并打印那么多素数。由于某种原因,该程序不起作用。我是 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
我能够运行该程序,但它没有产生任何结果