随机生成数字,linux下随机数字如何生成?

2022-04-05 19:50:59 百科大全 投稿:一盘搜百科
摘要命令大致如下随机生成数字:echo $((16#`dd if=/dev/urandom bs=1 count=4 2>/dev/null| od -A n -t x4|sed s/[^1-9a-fA-

  命令大致如下随机生成数字

随机生成数字,linux下随机数字如何生成?插图

echo $((16#`dd if=/dev/urandom bs=1 count=4 2>/dev/null| od -A n -t x4|sed s/[^1-9a-fA-F]//g`))

分开来看:

echo $((16#ABC))

意思是将十六进制数ABC转换成十进制数

`command` 意思是两个`中间的命令执行结果做为外壳命令的参数

/dev/urandom 是个生成随机数的设备,比/dev/random稍不安全,但产生速度极快

dd if=/dev/urndom bs=1 count=4 从随机数设备中取前4个字节(32位数)

2>/dev/null 意思是将错误信息重定向到空设备中

od -A n -t x4 意思是将dd过来的数据(一个随机的32位值)进行转换输出,-A n是不输出偏移标志,-t x4是将数字用16进制输出,并且4个字节一组,这样就以16进制输出一个32位的数

sed s/[^1-9a-fA-F]//g 意思是去年输出文件中非十六进制可接受的字符(此例中主要是删除行前的空格,也可以用tr -d ’ ’ 或 awk ’{print $1}’处理)。
  

TAGS: 生成  随机  数字  大致  dev  命令  如下  urandom  
声明:一盘搜百科所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系 88888@qq.com