1. 程式人生 > >bash編程練習,帶選項,添加或刪除用戶

bash編程練習,帶選項,添加或刪除用戶

tdi null ini stdin done base 一個 del 獲取

腳本練習題:

  可以接受選項及參數,而後能獲取每一個選項,及選項的參數,並能根據選項及參數做出特定的操作;

比如:adminusers.sh -a|--add user .. -d|--del user... -v|--verbose -h|--help

-a|--add user1,user2....:創建一個用戶或多個;

-d--del user1,user2....:刪除一個用戶或多個;

-v|--verbose 顯示過程,默認不顯示;

-h|--help:顯示幫助信息;

過程:

 1 #!/bin/bash
 2 
 3 DEBUG=0
 4 ADD=0
 5 DEL=0
 6 
 7
for I in `seq 0 $#`; do 8 if [ $# -gt 0 ]; then 9 case $1 in 10 -v|--verbose) 11 DEBUG=1 12 shift 13 ;; 14 -h|--help) 15 echo "Usage:`basename $0` --add USER_LIST --del USER_LIST -v|--verbose -h|--help" 16 exit 0 17 ;; 18 -a|--add)
19 ADD=1 20 ADDUSERS=$2 21 shift 2 22 ;; 23 -d|--del) 24 DEL=1 25 DELUSERS=$2 26 shift 2 27 ;; 28 *) 29 echo "`basename $0` --add USER_LIST --del USER_LIST -v|--verbose -h|--help" 30 exit 7 31 ;; 32 esac
33 fi 34 done 35 36 if [ $ADD -eq 1 ]; then 37 for USER in `echo "$ADDUSERS" | sed s@,@ @g`; do 38 if id $USER &> /dev/null; then 39 [ $DEBUG -eq 1 ] && echo "$USER exists." 40 else 41 [ $DEBUG -eq 1 ] && echo "Add user $USER finished.Password=USER" 42 useradd $USER 43 echo "$USER" | passwd --stdin $USER &> /dev/null 44 fi 45 done 46 fi 47 if [ $DEL -eq 1 ]; then 48 for DUSER in `echo "$DELUSERS" | sed s@,@ @g`; do 49 if id $DUSER &> /dev/null;then 50 [ $DEBUG -eq 1 ] && echo "Delete $DUSER finished." 51 userdel -r $DUSER &> /dev/null 52 else 53 [ $DEBUG -eq 1 ] && echo "$DUSER Not exist." 54 fi 55 done 56 fi

bash編程練習,帶選項,添加或刪除用戶