zoukankan      html  css  js  c++  java
  • 流程控制语句

    if else

    判断是否成年

    #! /bin/bash
    
    echo -n "请输入你的年龄:"
    read age
    
    if [ $age -ge 18 ];then
        echo "已成年"
    else
        echo "未成年"
    fi

     判断2个数字的关系(大于、等于、小于)

    #! /bin/bash
    
    echo -n "请输入第一个数字:"
    read a
    echo -n "请输入第二个数字:"
    read b
    
    if [ $a -gt $b ];then
        echo "前者大于后者"
    elif [ $a -eq $b ];then
        echo "前者等于后者"
    else
        echo "前者小于后者"
    fi

    简化if else

    if和else语句能够嵌套使用。if的条件判断部分可能会变得很长,但可以用逻辑运算符将它变得简洁一些:

      [ condition ] && action; # 如果condition为真,则执行action
      [ condition ] || action;   # 如果condition为假,则执行action

    case

    case语句匹配一个值或一个模式,如果匹配成功,则执行相匹配的代码。

    #! /bin/bash
    
    case "b" in
    "a")
        echo "输出a"
        ;;   # ;; 相等于 break
    "b")
        echo "输出b"
        ;;
    *)       # *) 相当于 default
        echo "输出默认值"
        ;;
    esac

    for循环

    for循环:条件成立时,就循环执行do子句。条件不成立时,退出for循环。

    #! /bin/bash
    
    for x in {1..5}   # {1..5} 相当于 1 2 3 4 5
    do
        echo $x
    done

     for循环的另一种写法

    #! /bin/bash
    
    for((i=1;i<=5;i++))
    {
        echo $i
    }

    while循环

    while循环:条件成立时,就循环执行do子句。条件不成立时,退出while循环。

    #! /bin/bash
    
    num=1
    while [ $num -le 5 ]
    do
        echo $num
        let num=num+1
    done

     while无限循环的两种写法:while :  、while true

    推荐使用 while : ,这种写法效率较高。按 Ctrl + C 终止while循环。

    #! /bin/bash
    
    time=0
    while true
    do
        echo "时间 - ${time}s"
        let time=time+1
        sleep 1
    done
    #! /bin/bash
    
    time=0
    while :
    do
        echo "时间 - ${time}s"
        let time=time+1
        sleep 1
    done

    备注: 在大多数现代系统中,true是作为/bin中的一个二进制文件来实现的。这就意味着每执行一次之前提到的while循环,shell就不得不生成一个进程。为了避免这种情况,可以使用shell的内建命令:,该命令的退出状态总是为0 

    until循环

    until循环:条件不成立时,就循环执行do子句。条件成立时,退出until循环。

    #! /bin/bash
    
    num=1
    until [ $num -gt 5 ]
    do
        echo $num
        let num=num+1
    done

    continue和break

    continue:跳过当前循环。   break:跳出当前循环。

    #! /bin/bash
    
    num=1
    
    # 打印1-5。当打印4时,跳过当前循环。输出:1 2 3 5
    while [ $num -le 5 ]
    do
        if [ $num -eq 4 ];then
            let num=num+1
            continue   # continue:跳过当前循环。
        else
            echo $num
            let num=num+1
        fi
    done
    #! /bin/bash
    
    num=1
    
    # 打印1-5。当打印4时,跳出当前循环。输出:1 2 3
    while [ $num -le 5 ]
    do
        if [ $num -eq 4 ];then
            let num=num+1
            break   # break:跳出当前循环。
        else
            echo $num
            let num=num+1
        fi
    done
  • 相关阅读:
    【iOS】去掉Tabbar顶部线条
    iOS中控制器的释放问题
    码云平台帮助文档_V1.2
    iOS键盘 样式/风格
    cocoapods的安装 升级版
    Unity异常捕获
    tomcat和jdk的安装配置
    Unity读取Excel表格
    NFS
    K8S存储相关yaml
  • 原文地址:https://www.cnblogs.com/lfjn/p/11381653.html
Copyright © 2011-2022 走看看