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

猜你喜欢

转载自www.cnblogs.com/ElegantSmile/p/11360301.html
今日推荐