服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|

服务器之家 - 服务器系统 - Linux - Linux Shell里面生成随机数的一些思路分析

Linux Shell里面生成随机数的一些思路分析

2021-11-05 19:19Linux教程网 Linux

这篇文章主要介绍了Linux Shell里面生成随机数的一些思路分析,需要的朋友可以参考下

1.使用时间相关的随机数

利用data命令生成输出unixtimestamp(%s)和当前时间的纳秒数据(%N,精确到亿分之一秒。)

前者保证在不同秒数之内输出不重复 后者保证在同一秒内数字不重复 两者组合就可以了

 

复制代码 代码如下:

date +%s%N

 

这个方法不依赖系统 只要时间不停止,就一直可以得到不重复的为随机数

2.系统shell内部变量 $RANDOM

这么没啥好说的  依赖shell

3.通过Linux的随机设备获取 然后算校验和

 

复制代码 代码如下:

head -10 /dev/urandom | cksum

 

注意这里千万不要使用cat去获取 这个是一条没有尽头的路 获取1行和10行没有太大的区别 这个

4.通过Linux的内核的UUID获取

UUID的计算信息会加入硬件,时间,机器当前运行信息等,可以保证生成的都是全球唯一的 直接

 

复制代码 代码如下:

cat /proc/sys/kernel/random/uuid

 

就可以 然后在算校验和转换为数字即可,但是依赖Linux内核。

如上4种思路 供自己参考

延伸 · 阅读

精彩推荐