zoukankan      html  css  js  c++  java
  • Shell脚本中的break continue exit return

    转自:http://www.cnblogs.com/guosj/p/4571239.html

    break
    结束并退出循环

    continue
    在循环中不执行continue下面的代码,转而进入下一轮循环

    exit
    退出脚本,
    常带一个整数给系统,如 exit 0

    return
    在函数中将数据返回
    或返回一个结果给调用函数的脚本

    我理解为:break是立马跳出循环;continue是跳出当前条件循环,继续下一轮条件循环;exit是直接退出整个脚本

    例如:

    在循环过程中,有时候需要在未达到循环结束条件时强制跳出循环,Shell使用两个命令来实现该功能:break和continue。

    break命令

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

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

    复制代码 代码如下:

    #!/bin/bash
    while :
    do
        echo -n "Input a number between 1 to 5: "
        read aNum
        case $aNum in
            1|2|3|4|5) echo "Your number is $aNum!"
            ;;
            *) echo "You do not select a number between 1 to 5, game is over!"
                break
            ;;
        esac
    done

    continue

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

    对上面的例子进行修改:

     代码如下:

    #!/bin/bash
    while :
    do
        echo -n "Input a number between 1 to 5: "
        read aNum
        case $aNum in
            1|2|3|4|5) echo "Your number is $aNum!"
            ;;
            *) echo "You do not select a number between 1 to 5!"
                continue
                echo "Game is over!"
            ;;
        esac
    done

    运行代码发现,当输入大于5的数字时,该例中的循环不会结束,语句

     代码如下:

    echo "Game is over!"http://www.cnblogs.com/guosj/p/4571239.html
  • 相关阅读:
    Codefoces Gym 101652 【最大连续和】
    HYSBZ 4034 【树链剖分】+【线段树 】
    Codeforces Gym 101291C【优先队列】
    Codeforces gym 101291 M (最长交替子序列)【DP】
    HDU 3308 LCIS (经典区间合并)【线段树】
    POJ 3237 Tree (树链剖分+边权转点权)
    POJ 2763 Housewife Wind (树链剖分+边权转点权)
    P1054 等价表达式
    P1107 [BJWC2008]雷涛的小猫
    P1552 [APIO2012]派遣
  • 原文地址:https://www.cnblogs.com/noxy/p/8630218.html
Copyright © 2011-2022 走看看