【shell中生成随机字母、数字】

一、随机生成(5个)小写字母方法:
1.cat /proc/sys/kernel/random/uuid | tr -dc 'a-z' | cut -c1-5

[root@manager day6]# cat /proc/sys/kernel/random/uuid
29af14f7-afb5-4d32-9896-30025b2601bb
[root@manager day6]# cat /proc/sys/kernel/random/uuid | tr -dc 'a-z'
cfbecbacdc[root@manager day6]#

2.uuidgen | tr -dc 'a-z' | cut -c1-5

[root@manager day6]# uuidgen
433f9cf4-0268-4924-af5e-3ec31243a2bc
[root@manager day6]# uuidgen | tr -dc 'a-z'
efcbdcadf[root@manager day6]#

3.tr -dc "a-z" < /dev/urandom | head -c 5

[root@manager day6]# tr -dc "a-z" < /dev/urandom | head -c 5
yynww[root@manager day6]#

4.使用openssl rand方法:openssl rand -base64 20 | tr -dc 'a-z'| cut -c1-5

[root@manager day6]# openssl rand -base64 20
d0sB9ZQpRHiQDk8epb6ogkstgfA=
[root@manager day6]# openssl rand -base64 20 | tr -dc 'a-z'
osduassixfpdsj[root@manager day6]#

5.以上都可以,最简单的方法:pwgen -A0 几个字符组成 字符个数

[root@manager day6]# pwgen -A0 5 1
vudei
[root@manager day6]# pwgen -A0 6 2
ohowie apaeth

二、随机生成字符串方法:
方法一:首先先安装:yum -y install pwgen
-c 至少有一个大写字母
-n 数字
-y 特殊字符
-A 密码中不包含大写字
-0 密码中不包含数字

[root@manager day4]# pwgen 8 -c 1 -n 1 -y 1
eeBa:Ch4

1.随机生成字符串(包含数字和大小字母):pwgen -ncC 8 1

[root@manager day6]# pwgen -ncC 8 1
aeneiV2f

2.随机生成字符串(包含数字和大小字母和特殊字符):pwgen -ncyC 8 1

[root@manager day6]# pwgen -ncyC 8 1
kai8Wo+o

方法二:安装expect :yum install -y expect
-l 长度
-s 特殊字符个数
-d 数字个数

[root@manager day4]# mkpasswd -l 8 -s 2 -d 2
uG05H&^l

三、随机生成数字:echo $RANDOM

[root@manager day6]# echo $RANDOM
26881

1.随机生成一个数字:echo $[RANDOM%10]

[root@manager day6]# echo $[RANDOM%10]
1

2.随机生成两个数字:echo $[RANDOM%100]

[root@manager day6]# echo $[RANDOM%100]
41

3.随机生成数字

[root@manager day4]# echo $RANDOM | md5sum | tr -dc '0-9'
37906137926657237244472[root@manager day4]#

你可能感兴趣的:(shell)