• 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这个结果

  • 相关阅读:
    XJTUSE专业课与实验指南
    08在MyBatis-Plus中配置多数据源
    PLL与DLL的区别
    Java编程练习题Demo81-Demo95
    【python爬虫笔记】验证码
    vue 聊天页面
    js导出excel表格并生成多sheet(更改列宽)
    在一个使用了 Sass 的 React Webpack 项目中安装和使用 Tailwind CSS
    List介绍
    栈的顺序存储实现(C语言)(数据结构与算法)
  • 原文地址:https://blog.csdn.net/weixin_44999258/article/details/126394987