shell脚本练习

蓝咒 提交于 2020-02-12 20:56:27

1,添加10个用户user1-user10,密码为8位随机字符

#cat /dev/urandom | head -c 5 | md5sum | head -c 5

#利用 cat /dev/urandom 可以查看二进制数据流,然后用head -c 8取前八位,不过这里的字符是二进制数据流,需用md5sum转换成md5内容,然后再取md5的8位随机数

或者

#cat /dev/urandom |tr -dc 'a-zA-Z0-9'|head -c 8

tr -dc :字符集补集,从输入文本中将不在补集中的所有字符删除;
例:

echo aa.,a 1 b#$bb 2 c*/cc 3 ddd 4 | tr -d -c '0-9 \n'
 1  2  3  4

这里tr -dc 'a-zA-Z0-9’删除的是输入文本中,不是字母跟数字的部分,补集不带字符。如果需要设置更复杂的密码,可以使用tr可以使用的字符类:
[:alnum:]:字母和数字
[:alpha:]:字母
[:cntrl:]:控制(非打印)字符
[:digit:]:数字
[:graph:]:图形字符
[:lower:]:小写字母
[:print:]:可打印字符
[:punct:]:标点符号
[:space:]:空白字符
[:upper:]:大写字母
[:xdigit:]:十六进制字符
例:

cat /dev/urandom |tr -d -c ‘[:alnum:][:punct:]|head -c 8`
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!