我正在編寫一個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