zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    python input and output and cpickle
    NS3中文教程:3下载及编译软件
    Wireshark Display fliters
    Python 中的几种copy用法
    python func for shell operation
    关于AX的临时表
    关于AX中的Query是如何查询记录
    POJ 2996, Help Me with the Game
    POJ 1328, Radar Installation
    POJ 3295, Tautology
  • 原文地址:https://www.cnblogs.com/lnlin/p/7500590.html
Copyright © 2011-2022 走看看