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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM