zoukankan      html  css  js  c++  java
  • 学习记录17

    bash脚本编程之六 使用脚本选项及组合条件测试

    写一个脚本:

    1、添加10个用户user1user10,密码同用户名,但要求只有用户不存在情况下才能添加

    #!/bin/bash

    #

    for I in {1..10}; do

            if id user$I &> /dev/null;then

              echo "user$I exists."

            else

              useradd user$I

              echo user$I | passwd --stdin user$I &> /dev/null

              echo "add user user$I finished."

            fi  

    done

    扩展:

    接收一个参数:

    add:添加用户 user1..user10

    del:删除用户 user1..user10

    其他退出

    #!/bin/bash

    #           

    if  [ $# -lt 1 ]; then

            echo "Usage: demo ARG"

            exit 7

    fi      

            

    if [ $1 == '--add' ]; then

            for I in {1..10};do

              if id user$I &> /dev/null; then

                echo "user$I exists."

              else

                useradd user$I 

                echo user$I | passwd --stdin user$I &> /dev/null

                echo "add user user$I finished."

              fi

            done

    elif [ $1 == '--del' ]; then

            for I in {1..10}; do

              if id user$I &> /dev/null; then

                userdel -r user$I

                echo "delete user$I finished."

               else

                echo "no user$I"

               fi

            done

    else

            echo "unknow arg"

            exit 8

    fi

     

    模拟选项和参数(逗号隔开)添加用户

     

    #!/bin/bash

    #

    if [ $1 == '--add' ]; then

      for I in `echo $2 | sed 's/,/ /g'`;do

        if id $I &> /dev/null; then

          echo "$I exists."

        else

          useradd $I

          echo $I | passwd --stdin $I &> /dev/null

          echo "add $I finished."

        fi  

      done

    elif [ $1 == '--del' ]; then

      for I in `echo $2 | sed 's/,/ /g'`; do

        if id $I &> /dev/null; then

          userdel -r $I

          echo "delete $I finished."

        else

          echo "$I not exists."

        fi  

      done

    elif [ $1 == '--help' ]; then

      echo "Usage:demo.sh --add USER1,SUER2... | --del USER1,USER2... | --help"

    else

      echo "unkonw options"

    fi

     

    组合测试条件

    -a:与关系

    -o:或关系

    !:非关系

    if [ $# -gt 1 -a $# -le 3 ]

    if [ $# -gt 1 ] && [ $# -le 3 ]

    #!/bin/bash

    #

    if [ $1 == 'q' -o $1 == 'Q' -o $1 == 'Quit' -o $1 == 'quit' ]; then

      echo "quiting..."

      exit 0

    else

      echo "unknow arguement."

      exit 1

    fi

  • 相关阅读:
    m_Orchestrate learning system---三、session使用完整流程是什么
    m_Orchestrate learning system---四、多看参考文档很多事情很轻松就解决了
    m_Orchestrate learning system---五、学的越多,做的越快
    m_Orchestrate learning system---六、善用组件插件的好处是什么
    m_Orchestrate learning system---七、如何快速学好前端
    cocos2d0基础知识三个音符
    URAL 1727. Znaika's Magic Numbers(数学 vector)
    第13周项目2-纯虚函数形类家庭
    [cocos2dx注意事项009]试用quick-cocos2dx-2.2.4
    百度之星 1004 Labyrinth
  • 原文地址:https://www.cnblogs.com/bgd140206127/p/6737850.html
Copyright © 2011-2022 走看看