zoukankan      html  css  js  c++  java
  • Shell基础学习(六) 流程控制

    1、if

      if的语法格式

    if conditon
    then
        command1
        command2
           ```
        commandn
    fi

    2、if else

    if conditon
    then
        command1
        command2
           ```
        commandn
    else
        command1
        command2
           ```
        commandn
    fi

    3、if elseif else

    if conditon
    then
        command1
        command2
           ```
        commandn
    else if conditon
        command1
        command2
           ```
        commandn
    else
        command1
        command2
           ```
        commandn
    fi

    4、for循环

    for(var in item1 item2 item3)
    do
    command1
    command2
    ```
    commandn
    done

    5、while

    while condition
    do
        command1
        command2
           ```
        commandn
    done    

    6、until

    until循环执行一系列命令直至条件为真时停止。

    until condition
    do
        command
    done

    7、case

      Shell case语句为多选择语句。可以用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令。case语句格式如下:

      

    casein
    模式1)
        command1
        command2
        ...
        commandN
        ;;
    模式2)
        command1
        command2
        ...
        commandN
        ;;
    esac

    8、break

      break命令允许跳出所有循环(终止执行后面的所有循环)。

      下面的例子中,脚本进入死循环直至用户输入数字大于5。要跳出这个循环,返回到shell提示符下,需要使用break命令。

      

    #!/bin/bash
    while :
    do
        echo -n "输入 1 到 5 之间的数字:"
        read aNum
        case $aNum in
            1|2|3|4|5) echo "你输入的数字为 $aNum!"
            ;;
            *) echo "你输入的数字不是 1 到 5 之间的! 游戏结束"
                break
            ;;
        esac
    done
    结果: 输入 1 5 之间的数字:
       3 你输入的数字为 3!
    输入 1 5 之间的数字:7
    你输入的数字不是 1 5 之间的! 游戏结束

    9、continue

      continue命令与break命令类似,只有一点差别,它不会跳出所有循环,仅仅跳出当前循环。

      对上面的例子进行修改:

      

    #!/bin/bash
    while :
    do
        echo -n "输入 1 到 5 之间的数字: "
        read aNum
        case $aNum in
            1|2|3|4|5) echo "你输入的数字为 $aNum!"
            ;;
            *) echo "你输入的数字不是 1 到 5 之间的!"
                continue
                echo "游戏结束"
            ;;
        esac
    done

    运行代码发现,当输入大于5的数字时,该例中的循环不会结束,语句 echo "游戏结束" 永远不会被执行。

  • 相关阅读:
    使用Python进行文件操作
    Python学习笔记(六)Python组合数据类型
    python基本算法题(一)
    Python要如何实现(列表)排序?
    Python中输入和输出(打印)数据
    Python学习笔记(五)函数和代码复用
    关于Python缩进,我们该了解哪些?
    Python学习笔记(四)Python程序的控制结构
    Python学习笔记(三)字符串类型及其操作(2)
    Java视频按帧保存为图片
  • 原文地址:https://www.cnblogs.com/huixuexidezhu/p/5542225.html
Copyright © 2011-2022 走看看