bash編程練習,帶選項,添加或刪除用戶
阿新 • • 發佈:2018-08-03
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 7for 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 esac33 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編程練習,帶選項,添加或刪除用戶