求质数:
lan@lan_ubuntu:~/桌面/program/课本$ cat funPrime1.sh
#!/bin/bash
isPrime()
{
flag=1;#标志
j=2;
while [ $j -le `expr $i / 2` ]
do
if [ `expr $i % $j` -eq 0 ]
then flag=0;break;
fi
j=`expr $j + 1`
done
if [ $flag -eq 1 ];then
return 1
else
return 0
fi
}
print()
{
isPrime $i
if [ $? -eq 1 ]
then echo "$i"
fi
return
}
read -p "输入n" n
i=2
while [ $i -le $n ]
do
print i
i=`expr $i + 1`
done
测试:
lan@lan_ubuntu:~/桌面/program/课本$ ./funPrime1.sh
输入n 100
2
3
5
7
11
13
17
19
23
29
31
37
41
43
47
53
59
61
67
71
73
79
83
89
97