有更好的方法生成素數比使用openssl。
如果你是真正建立在這種方法雖然使用這樣的(與一些距離呼叫檢查):
#!/bin/bash
# Usage: $0 <starting_number> <final_number>
N=$1
while ((N <= $2)); do
# use bc to convert hex to decimal
openssl prime $N | awk '/is prime/ {print "ibase=16;"$1}' | bc
let N++
done
如果你想使用OpenSSL產生的隨機數要做到這一點,利用這(與嘗試的次數調用):
#!/bin/bash
# Usage: $0 <count>
N=$1
while ((N-- > 0)); do
# use bc to convert hex to decimal
openssl rand -hex 256 | xargs openssl prime -hex | awk '/is prime/ {print "ibase=16;"$1}' | bc
done
如果你不關心小數,與awk '/is prime/ {print $1}'
廣告替換awk '/is prime/ {print "ibase=16;"$1}' | bc
從艾普特:http://www.madboa.com/geek/openssl/#prime