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
  • 相关阅读:
    使用RestTemplate上传文件到远程接口
    设计模式(五)之适配器模式
    设计模式(四)之装饰者模式
    设计模式(三)之模板方法模式
    设计模式(二)之责任链模式
    BUG-jQuery提交表单submit方法-TypeError: e[h] is not a function
    数据类型--集合 set
    数据类型--字典 dic
    字符 str 串需要记住的语法
    数据类型--列表 list
  • 原文地址:https://www.cnblogs.com/xiaoliwang/p/8997050.html
Copyright © 2011-2022 走看看