shell 随机生成数字或者字符串

使用openssl

[root@rsync_server tmp]# openssl rand -base64 8
ACbl4MMwEAM=
[root@rsync_server tmp]# openssl rand -base64 8 | tr -d “0-9” //删除字符串中的数字
jcY/JpGlcU=
[root@rsync_server tmp]# openssl rand -base64 24 | tr -d “0-9” //指定生成字符串的长度
oAJxfiLovgGyOGQMP+HcNmrjsUzv
[root@rsync_server tmp]# openssl rand -base64 24 | md5sum |tr -d “0-9” |cut -c1-10 //MD5sum后全部都是小写字母,然后删除数字,取10个
eafbdccffc
[root@rsync_server tmp]# openssl rand -base64 8 | cksum //cksum后全部为数字
529837495 13
[root@rsync_server tmp]# openssl rand -base64 8 | cksum |cut -c1-8 //取8个数字
26791845

使用/dev/urandom

[root@rsync_server tmp]# < /dev/urandom tr -dc 0-9-A-Z-a-z-/|head -c ${1:-10};echo
8UIwHgFVH0
#tr参数
-c或——complerment:取代所有不属于第一字符集的字符;
-d或——delete:删除所有属于第一字符集的字符;
1.生成10个小写字母
[root@rsync_server tmp]# < /dev/urandom tr -dc a-z | head -c ${1:-10};echo
cldtvsmshb
2.生成10个大写字母
[root@rsync_server tmp]# < /dev/urandom tr -dc A-Z | head -c ${1:-10};echo
JBDSHYDEZI
3.生成10个数字
[root@rsync_server tmp]# < /dev/urandom tr -dc 0-9 | head -c ${1:-10};echo
2804817451
4.生成10个随机字符(包含数字,大写字母,小写字母)
[root@rsync_server tmp]# < /dev/urandom tr -dc 0-9-A-Z-a-z|head -c ${1:-10};echo
4GNGhVK7a5
5.生成10个随机字符(包含数字,大写字母,小写字母,特殊字符)
[root@rsync_server tmp]# < /dev/urandom tr -dc ‘0-9-A-Z-a-z-/’|head -c ${1:-10};echo //特殊字符随意添加
vuSSjZLu-2

[root@rsync_server tmp]# < /dev/urandom tr -dc ‘0-9-/@#~$%^&*()[]{}’|head -c ${1:-10};echo
#/9%4/]~75
[root@rsync_server tmp]# < /dev/urandom tr -dc ‘0-9-/@#~$%^&*()[]{}’|head -c ${1:-10};echo
@)8^{34-*3

[root@rsync_server tmp]# cat 1.sh
#!/bin/bash
for i in {1…10}
do
a=`< /dev/urandom tr -dc '0-9-/@#~$%^&()[]{}’|head -c ${1:-10}`
echo $a>>/tmp/a.txt
done
[root@rsync_server tmp]# cat a.txt
5(07
{({5
}}%2}%{4
6-15]#2478
#27095-$8/
}^47**{868
9
)]29%$$@
2%~4})3-84
~(#^)49566
7&/9[841*$
92{%$/2]

–==创建10个随机字符串组成的文件
[root@rsync_server lbw]# pwd
/tmp/lbw
[root@rsync_server lbw]# ls
[root@rsync_server lbw]# cat /tmp/1.sh
#!/bin/bash
for i in {1…10}
do
a=`< /dev/urandom tr -dc ‘a-zA-Z’|head -c ${1:-10}`
touch /tmp/lbw/$a.txt
done
[root@rsync_server lbw]# sh /tmp/1.sh
[root@rsync_server lbw]# ll
总用量 0
-rw-r–r-- 1 root root 0 7月 20 16:41 CWtvdKblFg.txt
-rw-r–r-- 1 root root 0 7月 20 16:41 EjzUMCfswK.txt
-rw-r–r-- 1 root root 0 7月 20 16:41 gXvhjebHTB.txt
-rw-r–r-- 1 root root 0 7月 20 16:41 GyGyRITeIn.txt
-rw-r–r-- 1 root root 0 7月 20 16:41 NKBGrPedWP.txt
-rw-r–r-- 1 root root 0 7月 20 16:41 nuTWOKpjOA.txt
-rw-r–r-- 1 root root 0 7月 20 16:41 oXziSHlXHY.txt
-rw-r–r-- 1 root root 0 7月 20 16:41 SwoaCyaFjo.txt
-rw-r–r-- 1 root root 0 7月 20 16:41 TPpLohMHHG.txt
-rw-r–r-- 1 root root 0 7月 20 16:41 TqhXUbhtRR.txt

发布了37 篇原创文章 · 获赞 0 · 访问量 6033
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览