linux 中 产生随机数

 

001、$RANDOM; $RANDOM用于生成0—32767的随机数

[root@PC1 test05]# echo $RANDOM
21160
[root@PC1 test05]# echo $RANDOM
17006
[root@PC1 test05]# echo $RANDOM
3979

 

002、产生0到2的随机数

复制代码
[root@PC1 test05]# expr $RANDOM % 3
2
[root@PC1 test05]# expr $RANDOM % 3
1
[root@PC1 test05]# expr $RANDOM % 3
1
[root@PC1 test05]# expr $RANDOM % 3
0
[root@PC1 test05]# expr $RANDOM % 3
0
[root@PC1 test05]# expr $RANDOM % 3
2
[root@PC1 test05]# expr $RANDOM % 3
1
复制代码

 

003、生成1到3的随机数

复制代码
[root@PC1 test05]# expr $RANDOM % 3 + 1
3
[root@PC1 test05]# expr $RANDOM % 3 + 1
2
[root@PC1 test05]# expr $RANDOM % 3 + 1
1
[root@PC1 test05]# expr $RANDOM % 3 + 1
3
[root@PC1 test05]# expr $RANDOM % 3 + 1
1
[root@PC1 test05]# expr $RANDOM % 3 + 1
2
复制代码

 

005、seq  + sort实现,产生1到10的随机数

复制代码
[root@PC1 test05]# seq 10 | sort -R | head -n 1
2
[root@PC1 test05]# seq 10 | sort -R | head -n 1
2
[root@PC1 test05]# seq 10 | sort -R | head -n 1
6
[root@PC1 test05]# seq 10 | sort -R | head -n 1
10
[root@PC1 test05]# seq 10 | sort -R | head -n 1
7
复制代码

 。

 

006、通过openssl产生随机数

[root@PC1 test02]# openssl rand -base64 8     ## 大小写字母 + 数字 + 特殊符号
Hlo0jX65N0c=
[root@PC1 test02]# openssl rand -base64 8
t19f+aFmihY=
[root@PC1 test02]# openssl rand -base64 8
9vMszyPf9ss=

 

007、通过时间(date)获取随机数

[root@PC1 test02]# date +%s%N
1690122837531629791
[root@PC1 test02]# date +%s%N
1690122838224833028
[root@PC1 test02]# date +%s%N
1690122838934584522
[root@PC1 test02]# date +%s%N
1690122840016111620

 

008、通过/dev/urandom配合cksum生成随机数

[root@PC1 test02]# head /dev/urandom|cksum
3214927257 2023
[root@PC1 test02]# head /dev/urandom|cksum
3501446601 3253
[root@PC1 test02]# head /dev/urandom|cksum
1543589339 2449
[root@PC1 test02]# head /dev/urandom|cksum
1027962865 3500

 。

 

009、

[root@PC1 test02]# cat /dev/urandom | tr -dc 'a-z' | fold -w 10 | head -n 1
izxesjogfl
[root@PC1 test02]# cat /dev/urandom | tr -dc 'a-z' | fold -w 10 | head -n 1
ezhitupyvv
[root@PC1 test02]# cat /dev/urandom | tr -dc 'a-z' | fold -w 10 | head -n 1
hpljhfmcvc

 

010、

[root@PC1 test02]# mkpasswd -l 50 | tr -dc 'a-z'|cut -c 1-10      ## 产生10位随机小写字母
waywottekh
[root@PC1 test02]# mkpasswd -l 50 | tr -dc 'a-z'|cut -c 1-10
gfccibonfd

 

011、

[root@PC1 test02]# echo $RANDOM| md5sum | tr -cd a-z | cut -c 1-10
bfebcbbfed
[root@PC1 test02]# echo $RANDOM| md5sum | tr -cd a-z | cut -c 1-10
eeffafffcf
[root@PC1 test02]# echo $RANDOM| md5sum | tr -cd a-z | cut -c 1-10
faefbcbdfe

 

 

参考:https://blog.csdn.net/Sapphire521/article/details/128324743

 

posted @   小鲨鱼2018  阅读(725)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2022-07-22 linux 中awk命令同时指定多个分割符
2022-07-22 linux系统中如何将每行特定数目字符后的字符替换为指定字符
2022-07-22 linux 中如何将多行数据转换为一行数据
2022-07-22 linux 系统中如何删除行首的空格或者制表符
2022-07-22 linux 中统计每一行特定字符出现的次数
2021-07-22 linux 系统中把一列数据变为一行数据
点击右上角即可分享
微信分享提示