1.要求

wKiom1k-gdOD_EJKAAD8Je5EQVE797.png


  


  

  2.脚本内容

wKioL1k-gjaT9xd2AAC3g6fqfBc237.png

  


 **

#!/bin/bash    

 

  while [ "$#" -lt "2" ]     //验证脚本后的文件是否小于2个

    do

    echo "please give me userfile or passwd file "

    exit 0

  done

 

x=`cat $1 | wc -l`

y=`cat $2 | wc -l`

   while  [ "$x" -ne "$y" ]   //验证两个文件是否一致

      do

      echo "/mnt/userfile's line is different /mnt/passwdfile's line"

      exit 0

   done

 

 

for ((i=1;i<=$x;i++))

do

     name=`sed -n "$i"p $1`

     pass=`sed -n "$i"p $2`

     useradd $name &>/dev/null

     num=`echo $?`

      if [ "$num" -eq "0" ];then     //验证用户是否存在

      echo $pass | passwd --stdin $name  //不存在时,建立用户并设置密码

      else                 //存在时不做任何操作

      echo "                               " &>/dev/null

      fi

done

 


   3.测试

  * 脚本后只跟一个文件

wKioL1k-g1TRfse4AAAy6OJmTko590.png

 * 两个文件行数不一致

wKiom1k-g4bwLliUAAA4lsKkFt4427.png

 * 建立用户并设置密码

wKioL1k-g7iBUDWHAACbEROP3Zc404.png

wKioL1k-g9Hi2AUtAACAosNoF-Q519.png

  * 当user1和user3存在时,只建立user2用户,并且不对user1和user3做任何操作。

wKioL1k-hEjyD4obAABLG9oF1n4989.png

wKioL1k-hFTB-L4IAACDyrq0CyQ147.png