Shell笔记8——for和select循环的应用实践
1.给一个数字加0有多种实现方法# seq -w 05
01
02
03
04
05
# echo {01..05}
01 02 03 04 05
2.要想通过脚本创建账号,必须知道如何实现无交互设置密码。如下:
# useradd dan
# echo 123456|passwd --stdin dan
Changing password for user dan.
passwd: all authentication tokens updated successfully.
3.密码为随机数,要求是字符和数字等的混合,方法如下:
# echo $RANDOM
16781
# echo $RANDOM|md5sum
1915bea3b67365818bfd16026dbc4807-
# echo $RANDOM|md5sum |cut -c 1-8
bfcf62b6
4.脚本示范:
# cat forsz.sh
# cat forsz.sh
#!/bin/bash
#Author:ywxi
. /etc/init.d/functions
user="dan"
passfile="/tmp/user.log"
for num in `seq -w 01 05`
do
pass="`echo "dan$RANDOM"|md5sum|cut -c 1-8`"
useradd $user$num &>/dev/null &&\
echo "$pass"|passwd --stdin $user$num &>/dev/null &&\
echo -e "user:$user$num\tpasswd:$pass" >> $passfile
if [ $? -eq 0 ]
then
action "$user$num is ok" /bin/true
else
action "$user$num is fail" /bin/false
fi
done
echo ------------------
cat $passfile && >$passfile
5.脚本测试
# sh forsz.sh
dan01 is ok
dan02 is ok
dan03 is ok
dan04 is ok
dan05 is ok
------------------
user:dan01 passwd:0f1b6c1f
user:dan02 passwd:49a2d4f1
user:dan03 passwd:a07927fd
user:dan04 passwd:93c52f69
user:dan05 passwd:76a2dd17
页:
[1]