可能有疑问了,如果超过5位的随机数怎么得到呢? 十位数的话,用%取10余数 复制代码 代码如下: echo $((RANDOM%10)) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vi passwd.sh #创建一个 10 位的随机的密码。。。 #!/bin/bash a=(a b c d e A B C D E F @ $ % ^ 0 1 2 3 4 5 6 7 8 9) for ((i=0;i<10;i++));do echo -n ${a[$RANDOM % ${#a[@]}]} done echo
执行脚本: 复制代码 代码如下: [root@2 shell]# sh passwd.sh BF8366c@13 vi useradd.sh #创建5个账号,引用了随机的密码。 #!/bin/bash i=1 while [ $i -le 5 ] do useradd red$i a=`sh ./passwd.sh` echo " red$i:$a " >> sumuserpasswd echo "~~~~~~~~~~~" >> sumuserpasswd echo red$i:$a|chpasswd # echo $a | passwd –-stdin red"$i" let i++ done