Linux下批量添加/刪除用戶

運行結果以下:shell

   
   
            
   
   
  1. [root@server1 shell.sh]# ./useradd.sh   
  2. Please Input 1 or 2 :  
  3. 1) Add User  
  4. 2) Del User  
  5. #? 1  
  6. Please Input your username prefix:user  
  7. Please Input your user number:10  
  8. Please Enter your user password: 123  
  9. Add user1 Sucessful!  
  10. Add user2 Sucessful!  
  11. Add user3 Sucessful!  
  12. Add user4 Sucessful!  
  13. Add user5 Sucessful!  
  14. Add user6 Sucessful!  
  15. Add user7 Sucessful!  
  16. Add user8 Sucessful!  
  17. Add user9 Sucessful!  
  18. Add user10 Sucessful! 

 

如下是腳本內容:bash

   
   
            
   
   
  1. #!/bin/bash  
  2.  
  3. #this scripts for batch add/del user  
  4. #DATE:2011/9/25 AUTHOR:LEO Email:chanyipiaomiao@163.com  
  5.  
  6. #if you are not root,exit  
  7. ID=$(id -u)  
  8. if [ $ID -ne 0 ];then  
  9.  echo "Your are not root,only root can Add/Del user"  
  10.  exit 1  
  11. fi  
  12.  
  13. #define variables  
  14. ADD="/usr/sbin/useradd" 
  15. DEL="/usr/sbin/userdel" 
  16. PASSWD="/usr/bin/passwd" 
  17. num=1 
  18.  
  19.  
  20. echo "Please Input 1 or 2 :"  
  21. select var in "Add User" "Del User"  
  22. do  
  23.  break  
  24. done  
  25.  
  26. read -p "Please Input your username prefix:" pre  
  27. read -p "Please Input your user number:" user_num  
  28.  
  29. case $var in  
  30.  "Add User")  
  31.  read -p "Please Enter your user password: " PW  
  32.  while [ $num -le $user_num ]  
  33.  do  
  34.   if [ -e /home/$pre$num -o -e /var/mail/$pre$num ]  
  35.   then  
  36.        echo "$pre$num already exists!!"  
  37.        num=$(expr $num + 1)  
  38.   else  
  39.    $ADD $pre$num && echo $PW | $PASSWD --stdin $pre$num &>/dev/null  
  40.    if [ $? = 0 ];then   
  41.     echo "Add $pre$num Sucessful!"   
  42.    fi  
  43.    num=$(expr $num + 1)  
  44.   fi  
  45.  done  
  46.  ;;  
  47.  "Del User")  
  48.  while [ $num -le $user_num ]  
  49.  do  
  50.     $DEL -r $pre$num &>/dev/null && echo "Delete $pre$num Sucessful" || echo "There is no $pre$num"  
  51.   num=$(expr $num + 1)  
  52.  done  
  53.  ;;  
  54.  *)  
  55.  echo "Invaild Input"  
  56. esac   
相關文章
相關標籤/搜索