tanggang1740 发表于 2018-8-22 11:57:08

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]
查看完整版本: Shell笔记8——for和select循环的应用实践