Shell脚本——添加和删除用户

Posted elegantsmile

tags:

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

 

写一个脚本admin_user.sh,其用法格式为:


admin_user.sh --add USERLIST --del USERLIST -v|--verbose -h|--help


其中,

-h|--help 选项,只能单独使用,用于显示帮助信息;

-add 选项,用于添加用户,USERLIST为用户列表,用户之间用逗号隔开;

-del 选项,用于删除用户,USERLIST为用户列表,用户之间用逗号隔开;

使用 -add 或者 --del 选项时,如果同时使用了-v 选项,显示详细的提示;

 

#!/bin/bash
#
DEBUG=0
ADD=0
DEL=0

for I in `seq 0 $#`;do
 if [ $# -gt 0 ];then
  case $1 in
    -v|--verbose)
      DEBUG=1
      shift
      ;;
    -h|--help)
      echo "Usage: `basename $0` --add USERLIST --del USERLIST -v|--verbose -h|--help"
      exit 0
      ;;
    --add)
      ADD=1
      ADDUSERS=$2
      shift 2
      ;;
    --del)
      DEL=1
      DELUSERS=$2
      shift 2
      ;;
    *)
      echo "Usage: `basename $0` --add USERLIST --del USERLIST -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 "user $USER exists."
    else
      useradd $USER
      [ $DEBUG -eq 1 ] && echo "Add user $USER successful."
    fi
  done
fi


# 删除用户

if [ $DEL -eq 1 ];then
  for USER in `echo $DELUSERS | sed s/,/ /g`;do
    if ! id $USER &> /dev/null;then
      [ $DEBUG -eq 1 ] && echo "user $USER not exists."
    else
      userdel -r $USER
      [ $DEBUG -eq 1 ] && echo "Del user $USER successful."
    fi
  done
fi

 

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

shell脚本之指定添加删除参数来添加删除多个指定用户

SHELL编程练习-批量创建删除用户和组

Shell 脚本添加或删除用户及命令使用方法

Shell 脚本添加或删除用户及命令使用方法

Shell 脚本添加或删除用户及命令使用方法

先用python添加用户,再用shell脚本将python程序添加的用户删除