while循环创建用户(区别for)

Posted xiaofeng666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了while循环创建用户(区别for)相关的知识,希望对你有一定的参考价值。

while批量创建用户

 

vim while_create_user.sh

#!/usr/bin/bash

#while create user

#v1.0 by xfeng

while  read line

do

  if [ ${#line} -eq 0 ];then    #变量的字符串长度

    echo "the line is null..."

    continue        #continue跳过本次循环,break跳过所有循环,exit直接终止程序

  fi

  user=`echo $line|awk ‘{print $1}‘`

  pass=`echo $line|awk ‘{print $2}‘`

  id $user &>/dev/null

  if [ $? -eq 0 ];then

    echo "user $user already exists"

  else

    useradd $user

    echo "$pass"|pass --stdin  $user &>/dev/null

    if [ $? -eq 0 ];then

      echo "$user is created...."

    fi

  fi

done< $1      #while读取文件是按行读取,for读取文件默认是以空格或者tab键作为分隔符

echo  "All is ok....."

continue跳过空行循环,继续执行后面的内容;break跳过本次循环及后面所有内容循环,执行循环以外的内容;exit跳过本次程序,退出shell。

cat a.txt

feng  123456

xiao 445566

sh -vx while_create_user.sh  a.txt

以上是关于while循环创建用户(区别for)的主要内容,如果未能解决你的问题,请参考以下文章

脚本应用

批量添加用户,并设置8位随机密码(禁止使用for,while等循环)

shell编程

javascript中while循环do....while与for循环的用法和区别

如何正确地为密码做一个while循环

linux实战考试题:批量创建用户和密码(不能使用循环)