wKiom1k-gdOD_EJKAAD8Je5EQVE797.png


  


  

  2.脚本内容

#!/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

 


测试

 脚本后只跟一个文件

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