• shell脚本中的流程控制


      Shell中的流程控制与其他语言稍稍不同,主要是不能为空,主要有以下几种:

    1、简单跳转

    if

    语法如下:
    if condition
    then
        command1 
        command2
        ...
        commandN 
    fi

    if  else

    语法如下:
    if condition
    then
        command1 
        command2
        ...
        commandN
    else
        command
    fi

    if else-if else

    语法如下
    if
    condition1 then command1 elif condition2 then command2 else commandN fi

    if else 语句经常与 test 命令结合使用

     1 #!/usr/bin/bash                                                                                                                      
     2 num1=$13 num2=$24 if test $[num1] -eq $[num2]
     5 then
     6     echo "${num1} 和 ${num2} 相等!"
     7 else
     8     echo "${num1} 和 ${num2} 不相等!"
     9 fi 

    测试:

    $  sh testIfEqu.sh 3 4
    34 不相等!

    2、for循环

    for var in item1 item2 ... itemN
    do
        command1
        command2
        ...
        commandN
    done

    3、while循环

    while condition
    do
        command
    done

    无限循环:

    while :
    do
        command
    done
    while true
    do
        command
    done
    for (( ; ; ))

    4、until循环,until 循环执行一系列命令直至条件为 true 时停止;until 循环与 while 循环在处理方式上刚好相反;一般 while 循环优于 until 循环,但在某些时候—也只是极少数情况下,until 循环更加有用

    until condition
    do
        command
    done

    5、case ... esac选择

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

    6、循环的跳出break和continue和其他语言一样

     1 #!/usr/bin/bash
     2 while :
     3 do
     4     echo -n "输入 1 到 5 之间的数字:"
     5     read aNum
     6     case $aNum in
     7         1|2|3|4|5) echo "你输入的数字为 $aNum!"
     8         ;;
     9         *) echo "你输入的数字不是 1 到 5 之间的! 游戏结束"
    10             break
    11         ;;
    12     esac
    13 done 
     1 #!/usr/bin/bash                                                          
     2 while :
     3 do
     4     echo -n "输入 1 到 5 之间的数字: "
     5     read aNum
     6     case $aNum in
     7         1|2|3|4|5) echo "你输入的数字为 $aNum!"
     8         ;;
     9         *) echo "你输入的数字不是 1 到 5 之间的!"
    10             continue
    11             echo "游戏结束"
    12         ;;
    13     esac
    14 done 
    ~         
    人就像是被蒙着眼推磨的驴子,生活就像一条鞭子;当鞭子抽到你背上时,你就只能一直往前走,虽然连你也不知道要走到什么时候为止,便一直这么坚持着。
  • 相关阅读:
    PTA A1005&A1006
    PTA A1003&A1004
    PTA A1001&A1002
    MOOC web前端开发笔记(二)
    MOOC web前端开发笔记(一)
    MOOC C++笔记(三):类和对象提高
    MOOC C++笔记(二):类和对象基础
    MOOC C++笔记(一):从C到C++
    linux command tee
    modbus数据格式(一)
  • 原文地址:https://www.cnblogs.com/guochaoxxl/p/15261351.html
Copyright © 2020-2023  润新知