• shell选择语句、循环语句


    判断语句:
      if 判断条件
      then
        语句
      [elif]
        [语句]
      ...
      [else
        语句]
      fi
      
      #!/bin/bash
      if [ $# -eq 0 ]
      then
        echo "Error"
        echo "You can use this COMMAND like Command file_name"
        exit 4
      fi

      TYPE=`file $1 | cut -d' ' -f2`

      echo $1 is a $TYPE


      case语句:
      case 测试值 in
      选项1)
        ...
        ;; 
      选项2)
        ...
        ;;

      ...

      *)
        ...
      esac
      
      #!/bin/bash
      # This is a simple test for case
      #
      case $# in
      0)
        echo "No option"
        ;;
      1)
        echo "You used $# option"
        ;;
      2)
        echo "You use $# options"
        ;;
      *)
        echo "Options is too ..."
      esac

    循环语句:
        for循环:
          for I in 参数可能性列表
          do
            循环体
          done
         
        #!/bin/bash
      #
      declare -i SUM=0;
      declare -i I;

      for I in {1..100}
      do
        let SUM+=$I;
      done
      
      echo "SUM = $SUM"
         
          列表到的生成:
              {m..n}: m到n的整数列表
              seq 起始数 步径长度 结束数:默认步径长度为1,起始数为1,起始数、步径长度可以省略,结束数不能省略
         
        while循环:
          while 循环条件
          do
            循环体
          dione
         
        #!/bin/bash
      #
      declare -i SUM=0;
      declare -i I=1;

      while [ $I -le 100 ]
      do
        let SUM+=$I
        let I++
      done

      echo "SUM = $SUM"
      
         
        until循环:
          until 循环条件
          do
            循环体
          done
         
        #!/bin/bash
      #
      echo "Enter username: "
      read user
      until who | grep "$user" &> /dev/null
      do
        sleep 30
      done

      echo "$user is on"
         
        对于while循环,只要满足循环条件,就会继续循环
        对于until循环,只要循环条件未成功结束,就会执行循环
        实际上until循环比while循环用的少,不过如果是在等待某个事件的发生,它就很有用了
       

    break: 用于退出循环
    continue:用于提早开始下一段重复的循环
    break和continue命令都接受可选的数值参数,可分别用来指出要中断或继续多少个被包含的循环。

    shift:它用来处理命令行参数时,一次向左位移一位(或更多位),在执行shift时,原来的$1会消失,被$2取代,$2被
           $3取代,以此类推,而$#的值也会逐次减少,shift还接受一个可选参数,也就是一次移动几位,默认为1

  • 相关阅读:
    <Error>: CGContextRestoreGState
    Google 常用镜像收集
    NSCharacterSet 详解
    JAVA并发,CyclicBarrier
    JAVA并发,CountDownLatch使用
    JAVA并发,经典死锁案例-哲学家就餐
    Git-常用命令集合
    (转)《JAVA与模式》之模板方法模式
    JAVA并发,同步锁性能测试
    《转》JAVA并发编程:volatile关键字解析
  • 原文地址:https://www.cnblogs.com/lnlin/p/7500590.html
Copyright © 2020-2023  润新知