在bash下,有时需要用到随机数,但是我们怎么获取呢?有如下方法可以使用:
参数:
输出0到1之间的浮点数
输出0到getrandmax()之间的整数
输出0到1之间的浮点数
输出0到1之间的浮点数
1、通过bash变量获取
[root@vm3 ~]# echo $RANDOM
2417
[root@vm3 ~]# echo $RANDOM
3963
[root@vm3 ~]# RANDOM=3
[root@vm3 ~]# echo $RANDOM
18395
2417
[root@vm3 ~]# echo $RANDOM
3963
[root@vm3 ~]# RANDOM=3
[root@vm3 ~]# echo $RANDOM
18395
每次引用这个参数时,都会产生一个 0 到 32767 之间的随机整数。可以通过向 RANDOM 赋值来
初始化随机数序列。如果取消了 RANDOM 的定义,它就失去了特殊的意义,即使后来重新定义它
。
2、通过/dev/random文件获取
[root@vm3 ~]# od -An -N1 -i /dev/random
21
[root@vm3 ~]# od -An -N2 -i /dev/random
30782
21
[root@vm3 ~]# od -An -N2 -i /dev/random
30782
-An 不使用基数
-N1 读1个字节(输出范围0~255),要是N2就是读2个字节(输出范围0~65535)
-i 等同于 -t dI,设置输出格式为十进制(d)整型(I)
3、通过python语言获取
[root@vm4 ~]# python -c 'import random;print random.random()'
0.314804801351
0.314804801351
4、通过php语言获取
[root@vm3 ~]# php -n -r 'print rand();'
1767146087
1767146087
5、通过perl语言获取
[root@vm3 ~]# perl -e 'print rand()'
0.745486555229039
0.745486555229039
6、通过ruby语言获取
[root@vm3 ~]# ruby -e 'print rand()'
0.585590225412727
0.585590225412727
转载于:https://blog.51cto.com/haoyun/1133396