我正在编写一个bash脚本来查找所有小于给定整数的素数。查找素数 - “factor”命令未找到
下面是代码:
#!/bin/bash
BADARGS=65
if [ -z $1 ]
then
echo "Usage:`basename $0` cannot have a null parameter."
exit $BADARGS
elif [ $1 -lt 2 ]
then
echo "Usage:`basename $0` should have the value 2 or more as the parameter."
exit $BADARGS
fi
TRUE=0
FALSE=
Primes(){
checkPrime=($(factor $1)) # this puts factors into array
if [ -z "${checkPrime[2]}" ] # third element is null
then
return $TRUE
else
return $FALSE
fi
}
printf "2 "
let "n = 3"
while [ $n -le $1 ]
do
if Primes $n
then
printf "$n "
fi
let "n += 2"
done
printf "\n"
# END
我使用MacOS和当我执行脚本我收到此错误信息:
Jessicas-MacBook-Pro:Documents jessicalott$ ./primes.sh 10
2 ./primes.sh: line 16: factor: command not found
3 ./primes.sh: line 16: factor: command not found
5 ./primes.sh: line 16: factor: command not found
7 ./primes.sh: line 16: factor: command not found
9
我今天早上从字面上开始在bash书面所以任何帮助将不胜感激。我认为这可能与我不使用Linux的事实有关,但我希望事实并非如此。
具体来说,它是GNU'coreutils'包,它依然可以安装使用'brew','ports','fink',或从源代码的一部分。 – chepner 2013-04-24 17:06:37
@chepner:如果您输入该答案作为答案,我会投票答复并删除我的答案。 – 2013-04-24 17:36:24