zoukankan      html  css  js  c++  java
  • shell入门之流程控制语句


    1.case


    脚本:

    #!/bin/bash
    #a test about case
    case $1 in
       "lenve")  echo "input lenve";;
       "hello")  echo "input hello";;
       [a-zA-Z]) echo "It's a letter";;
       [0-9]) echo "It's a number";;
    esac

    执行效果:
    这里写图片描述


    2.while


    脚本(注意=两端不能有空格):

    #!/bin/bash
    #a test about while
    a=1
    while [ $a -lt 10 ]
    do
      echo "hello world!${a}"
      a=`expr $a + 1`
    done

    输出:
    这里写图片描述


    3.until循环类似于while循环,不同的是until是判断条件为false时才会执行


    #!/bin/bash
    #a test about until
    a=11
    until [ $a -lt 10 ]
    do
      echo "hello world!${a}"
      a=`expr $a + 1`
    done

    这是一个无限死循环,输出从hello world11到hello world无穷大。


    4.break与continue


    continue脚本

    #!/bin/bash
    #a test about continue
    a=1
    while [ $a -lt 10 ]
    do
      if [ $a -eq 5 ]
      then
       a=`expr $a + 1`
       continue
      else
      echo "hello world!${a}"
      fi
      a=`expr $a + 1`
    done

    结果:

    这里写图片描述

    break脚本:

    #!/bin/bash
    #a test about break
    a=1
    while [ $a -lt 10 ]
    do
      if [ $a -eq 5 ]
      then
       a=`expr $a + 1`
       break
      else
      echo "hello world!${a}"
      fi
      a=`expr $a + 1`
    done

    运行结果:
    这里写图片描述


    5.shift指令,参数左移,每执行一次,参数序列顺次左移一个位置,$#的位置减1。此指令可用来分别处理每个参数,移出去的参数不可再用。


    一个求和的例子:

    #!/bin/bash
    #a test about shift
    if [ $# -le 0 ]
    then
    echo "there is no parameters"
    exit 0
    fi
    sum=0
    while [ $# -gt 0 ]
    do
      sum=`expr $sum + $1`
      shift
    done
    echo $sum

    千万注意=两端不能有空格
    运行结果:
    这里写图片描述

  • 相关阅读:
    ios 数据类型转换 UIImage转换为NSData NSData转换为NSString
    iOS UI 12 block传值
    iOS UI 11 单例
    iOS UI 08 uitableview 自定义cell
    iOS UI 07 uitableviewi3
    iOS UI 07 uitableviewi2
    iOS UI 07 uitableview
    iOS UI 05 传值
    iOS UI 04 轨道和动画
    iOS UI 03 事件和手势
  • 原文地址:https://www.cnblogs.com/qitian1/p/6461792.html
Copyright © 2011-2022 走看看