• shell编程中的流程控制


    1. if 判断

    1.1 单分支

    if [ 条件判断式 ];then
    程序
    fi
    
    • 1
    • 2
    • 3

    或者

    if [ 条件判断式 ]
    then
    程序
    fi
    
    • 1
    • 2
    • 3
    • 4

    举例:创建一个test_if.sh文件,在里面输入

    #!/bin/bash
    
    if [ $1 -ge 18 ];then
    echo "可以出去打工了"
    fi
    
    • 1
    • 2
    • 3
    • 4
    • 5

    或者

    #!/bin/bash
    
    if [ $1 -ge 18 ]
    then
    echo "可以出去打工了"
    fi
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在输入sh test_if.sh 19之后,都会得到结果

    可以出去打工了
    
    • 1

    1.2 多分支

    if [ 条件判断式 ]
    then
    程序
    elif [ 条件判断式 ]
    then
    程序
    else
    程序
    fi
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    举例:创建一个test_if.sh文件,在里面输入

    #!/bin/bash
    
    if [ $1 -le 18 ]
    then
            echo "不可以出去打工"
    elif [ $1 -le 60 ]
    then
            echo "可以去打工了"
    else
            echo "该退休了"
    fi
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    需要注意两点,

    1. [ 条件判断式 ],中括号和条件判断式之间必须有空格
    2. if 后要有空格

    2. case 语句

    case $变量名 in
    "值 1")
    如果变量的值等于值 1,则执行程序 1
    ;;
    "值 2")
    如果变量的值等于值 2,则执行程序 2
    ;;
    …省略其他分支…
    *)
    如果变量的值都不是以上的值,则执行此程序
    ;;
    esac
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    举例:创建一个test_case.sh文件,在里面输入

    #!/bin/bash
    
    case $1 in
    "大连")
            echo "在辽宁"
    ;;
    "长春")
            echo "在吉林"
    ;;
    "哈尔滨")
            echo "在黑龙江"
    ;;
    *)
            echo "咱也不知道这个地方该写啥"
    ;;
    esac
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    3. for 循环

    3.1 语法1

    for (( 初始值;循环控制条件;变量变化 ))
    do
    程序
    done
    
    • 1
    • 2
    • 3
    • 4

    举例:创建一个test_for.sh文件,在里面输入

    #!/bin/bash
    
    sum=0
    for ((i=0;i<=100;i++))
    do
            sum=$[$sum+$i]
    done
    echo $sum
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    再执行sh test_for.sh就会得到5050这个结果

    3.2 语法2

    for 变量 in123do
    程序
    done
    
    • 1
    • 2
    • 3
    • 4

    在文件里输入

    for i in a b c
    do
    echo "输入的字母是 $i"
    done
    
    • 1
    • 2
    • 3
    • 4

    再执行就会得到

    输入的字母是a
    输入的字母是b
    输入的字母是c
    
    • 1
    • 2
    • 3

    4. while 循环

    while [ 条件判断式 ]
    do
    程序
    done
    
    • 1
    • 2
    • 3
    • 4

    举例:创建一个test_while.sh文件,在里面输入

    #!/bin/bash
    
    sum=0
    i=1
    while [ $i -le 100 ]
    do
            sum=$[$sum+$i]
            i=$[$i+1]
    done
    echo $sum
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    再执行这个脚本,就会得到5050这个结果

  • 相关阅读:
    Java--Spring事务
    nginx 安全加固
    【华为OD机试真题2023B卷 JAVA&JS】评论转换输出
    Java NIO详解:深入理解非阻塞式网络编程
    前端面试题日常练-day40 【面试题】
    YOLO DNF辅助教程完结
    [汇编语言]转移指令的原理
    Nacos 认识和安装-1
    双因素方差分析及其Python代码
    微信小程序实现轮播图
  • 原文地址:https://blog.csdn.net/weixin_44999258/article/details/126394987