shell 随机数

  • 方法一:使用/dev/urandom
  • 方法二:使用date +%s
      • 1.随机生成一串数字
      • 2.随机生成一串小写字母
      • 3.随机生成数字与字母的组合
  • 方法三:使用openssl rand

方法一:使用/dev/urandom

[root@localhost shell]# tr -dc "0-9" < /dev/urandom | head -c 10        #生成10个数字
5798734885[root@localhost shell]# 
[root@localhost shell]# 
[root@localhost shell]# tr -dc "a-z" < /dev/urandom | head -c 10        #生成10个小写字符
xxcudpzyfu[root@localhost shell]# 
[root@localhost shell]# tr -dc "A-Z" < /dev/urandom | head -c 10        #生成10个大写字符
XFDBEFCDKV[root@localhost shell]# 
[root@localhost shell]# tr -dc "0-9,a-z" < /dev/urandom | head -c 10  #生成数字和字符的组合
ryjhjhnpyd[root@localhost shell]#

方法二:使用date +%s

1.随机生成一串数字

root@vmUbu:/home/dell/shell# date +%s |cksum |cut -d " " -f 1 
1934689009

扩展:随机生成10以内的数字

root@vmUbu:/home/dell/shell# echo "`date +%s |cksum |cut -d " " -f 1`%100" |bc
81

2.随机生成一串小写字母

root@vmUbu:/home/dell/shell# date +%s| md5sum | tr -dc "a-z" |head -c 10
cdacabaebroot@vmUbu:/home/dell/shell#

3.随机生成数字与字母的组合

root@vmUbu:/home/dell/shell# date +%s| md5sum | head -c 10
67e

方法三:使用openssl rand

root@vmUbu:/home/dell/shell# openssl rand -base64  40
C6S7WofBX3S4imkZb9mHDkcYWZyreae0lAUqPLPcaeX+KF8HaKXOrw==

你可能感兴趣的:(Linux,shell,服务器,linux,运维)