shell脚本:批量添加用户和删除用户

Posted BLotus

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本:批量添加用户和删除用户相关的知识,希望对你有一定的参考价值。

写一个脚本,能接受多个选项和参数,而后能获取每个选项,及选项参数,并能根据根据选项及参数做出待定的操作

脚本用法:"Usage:adminiuser.sh --add USER1,USER2|--del USER1,USER2|-v|--verbose|-h|--help"

脚本功能:

      --add USER1,USER2,... 添加用户

      --del USER1,USER2,... 删除用户

      -v|-verbose  显示添加或者删除的过程结果

      -h|-help  显示脚本用法


#/bin/bash

DEBUG=0

ADD=0

DEL=0

 if [ $# -gt 0 ];then

   echo -e "没有任何参数,请输入参数\nUsage:`basename $0` --add USER1,USER2|--del USER1,USER2|-v|--verbose|-h|--help"

  exit 9

  fi

for i in `seq 0 $#`;do

 if [ $# -gt 0 ];then

   case $1 in

     -v|--verbose)

         DEBUG=1

         shift 1;;

     -h|--help)

          exit 0;;

      --add)

          ADD=1

 ADDUSERS=$2

 shift 2;; 

  --del)

 DEL=1

 DELUSERS=$2

 shift 2;; 

  *)  

 echo "Usage:`basename $0` --add USER1,USER2|--del USER1,USER2|-v|--verbose|-h|--help"

 exit 7;; 

esac

fi  

done


if  [ $ADD -eq 1 ];then

   for USER in `echo ${ADDUSERS} | sed 's@,@ @g'`;do

 if  id $USER &> /dev/null;then

[ $DEBUG -eq 1 ] && echo "用户已存在"

 else

useradd $USER

                echo "$USER"|passwd --stdin $USER &>/del/null

[ $DEBUG -eq 1 ] && echo "用户${USER}添加成功,默认密码同用户名"

  fi  

done

fi


if  [ $DEL -eq 1 ];then

   for USER in `echo ${DELUSERS} | sed 's@,@ @g'`;do

 if  id $USER &> /dev/null;then

userdel -r $USER

[ $DEBUG -eq 1 ] && echo "用户${USER}已删除"

 else

[ $DEBUG -eq 1 ] && echo "用户${USER}不存在"

  fi  

done

fi

     


以上是关于shell脚本:批量添加用户和删除用户的主要内容,如果未能解决你的问题,请参考以下文章

shell脚本应用for,while和case应用

shell脚本应用for,while和case应用

SHELL 脚本批量添加删除用户

使用shell脚本批量创建用户

(转)通过shell脚本实现批量添加用户和设置随机密码以及生产环境如何批量添加

关于shell脚本批量添加用户的问题,大神们请进