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

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

  • 相关阅读:
    LeetCode 189. Rotate Array
    LeetCode 965. Univalued Binary Tree
    LeetCode 111. Minimum Depth of Binary Tree
    LeetCode 104. Maximum Depth of Binary Tree
    Windows下MySQL的安装与配置
    LeetCode 58. Length of Last Word
    LeetCode 41. First Missing Positive
    LeetCode 283. Move Zeroes
    《蚂蚁金服11.11:支付宝和蚂蚁花呗的技术架构及实践》读后感
    删除docker下的镜像
  • 原文地址:https://www.cnblogs.com/qitian1/p/6461792.html
Copyright © 2011-2022 走看看