zoukankan      html  css  js  c++  java
  • Shell 编程(实例一)

    创建一个脚本 admin.sh

    完成如下作用:

      -h | --help : 提供帮助信息

      --add  Users : 完成用户添加

      -del User | --delete : 完成用户删除

      -v : 开启调试模式,显示信息

    可以同时使用以上所有命令

    #!/bin/bash
    #
    DEBUG=0
    ADD=0
    DELETE=0
    for i in `seq 1 $#`
    do
    case $1 in
    -h|--help)
            echo "--v --help --add --delete --userlist"
            ;;
    -v|--versbo)
            DEBUG=1
            shift
            ;;
    --add)
            ADD=1
            ADDUSERS=`echo $2 | sed 's@,@ @g'`
            shift 2
            ;;
    -del|--delete)
            DELETE=1
            DELETEUSERS=`echo $2 | sed 's@,@ @g'`
            shift 2
            ;;
    *)
    #       echo 'Usage : `basename $0` --add USERLIST --delete USERLIST --v|--verbose --help'
    #       exit 7
            ;;
    esac
    done
    
    if [ $ADD -eq 1 ]
    then
            for USER in $ADDUSERS
            do
                    if id $USER &> /dev/null
                    then
                            [ $DEBUG -eq 1 ] && echo "$USER is exists!"
                    else
                            useradd $USER
                            [ $DEBUG -eq 1 ] && echo "$USER add succefully!"
                    fi
            done
    fi
    
    if [ $DELETE -eq 1 ]
    then
            for USER in $DELETEUSERS
            do
                    if id $USER &> /dev/null
                    then
                            userdel $USER
                            [ $DEBUG -eq 1 ] && echo "$USER delete successfully!"
                    else
                            [ $DEBUG -eq 1 ] && echo "$USER not exist!"
                    fi
            done
    fi

     随机生成10个用户,并随机生成10位密码,把生成后的用户名和密码保存到文件

    ADDUSER(){
            USER=$1
            PASSWD=$2
            useradd $1 && echo $1:$2 | chpasswd
            echo User:$1 pass:$2 >> /home/eko/test/user.log
    }
    
    DELUSER(){
            USER=$1
            userdel $1
    }
    
    OPREATE=$1
    if [ $OPREATE == 'add' ]
    then
            for((i=0;i<10;i++))
            do
                    ADDUSER "eko$i" `openssl rand -base64 10`
            done
    elif [ $OPREATE == 'del' ]
    then
            for((i=0;i<10;i++))
            do
                    DELUSER "eko$i"
            done
    else
            echo "参数错误"
    fi
  • 相关阅读:
    快速排序
    Java 循环队列
    Java 用链表实现栈和队列
    Java 遍历集合时产生ConcurrentModificationException异常
    Java 使用Scanner时的NoSuchElementException异常
    Mac中安装git后,终端运行git出错,提示安装Xcode
    Java的设计模式之开篇(1)
    粒子群算法(PSO)
    mysql时间与字符串相互转换
    Jsp中使用EL表达式对字符串进行操作
  • 原文地址:https://www.cnblogs.com/xiaoliwang/p/8997050.html
Copyright © 2011-2022 走看看