对于大多数程序员来说,时不时都会用到随机数。那么,在Shell中如何生成随机数呢?
一、使用RANDOM环境变量:
在shell中有一个环境变量RANDOM,它的范围是0--32767。 如果我们想要产生0-25范围内的数,如何做呢?
$RANDOM % 26
用这个环境变量对26取模,就可以得到最小是0,最大是25的数了。 如果想得到1--68范围内的数呢?
$RANDOM % 68 + 1
前面可以得到最小为0,最大为67的随机数,再加上1,很自然的就可以得到最大为1,最小为68的数了。
那如果想得到6--87范围内的数呢?
$RANDOM % 82 + 6
前面可以得到最小为0,最大为81的随机数,再加上6,很自然的就可以得到最大为87,最小为6的数了。
注:这里的 echo $(($RANDOM%10)) 与 echo $((RANDOM%10)) 输出结果相同。
二、使用AWK的rand函数
如 awk 'BEGIN{srand();print a=int(10*rand())}' 可以产生0到9之间的随机数。