bash编程练习,带选项,添加或删除用户
Posted bs20
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bash编程练习,带选项,添加或删除用户相关的知识,希望对你有一定的参考价值。
脚本练习题:
可以接受选项及参数,而后能获取每一个选项,及选项的参数,并能根据选项及参数做出特定的操作;
比如: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 ‘[email protected],@ @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 ‘[email protected],@ @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编程练习,带选项,添加或删除用户的主要内容,如果未能解决你的问题,请参考以下文章