• SHELL中if的使用


    一些shell基础的使用可以参考shell基础概述
    快捷查看指令 ctrl+f 进行搜索会直接定位到需要的知识点和命令讲解(如有不正确的地方欢迎各位小伙伴在评论区提意见,博主会及时修改)

    if语句

    单分支if
    if [ 条件表达式 ]
    	then
    		代码
    fi
    简化写法
    if [ 条件表达式 ];then
    	代码
    fi
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    if语句嵌套

    if的嵌套 不要超过 三层

    if [ 条件表达式 ]
    	then
    		代码
    		if [ 条件表达式 ]
    			then
    				代码
    		fi
    fi
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    #!/bin/bash
    echo -n "请输入1-3来选择地点:"
    read zone
    if [ "$zone" -eq 1  ]
        then
            echo "北京"
    fi
    
    if [ "$zone" -eq 2 ];then
        echo "上海"
    fi
    
    if [ "$zone" -eq 3 ]
        then
            echo "广州"
    fi
    if [ "$zone" -ne 1 -a "$zone" -ne 2 -a "$zone" -ne 3 ]
        then
            echo "你不上这你还想去哪"
    fi
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    if-else结构
    if [ 条件表达式 ]
    	then
    		代码1
    else
    	代码2
    fi
    ### if-else 结构中可以继续嵌套
    ### 执行流程: 首先执行条件表达式的判断,若条件表达式成立,则执行代码1 若条件表达式不成立 则执行代码2
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    多分支
    if [ 条件表达式1 ]
    	then
    		代码1
    elif [条件表达式]
    	then
    		代码2
    elif [条件表达式]
    	then
    		代码3
    ....
    else
    	代码
    fi
    #### 多分支 不要超过三层
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    案例:
    #!/bin/bash
    echo -e "可选城市:\n1. 北京\n2. 上海"
    echo -n  "请输入1-2决定你以后想工作的城市:"
    read n
    if [ "$n" -eq 1 ]
        then
            echo "您选择的是北京"
            echo -e "薪资(月薪)选择:\n1. 8k以下\n2. 1.2w以下\n3. 1.8w以上"
            echo -n "接下来你可以选择你想要的薪资:"
            read a
                if [ "$a" -eq 1 ]
                   then
                       echo "你选择在北京发展,并且期望薪资是8k"
                elif [ "$a" -eq 2 ]
                    then
                        echo "你选择在北京发展,并且期望薪资是1.2w"
                elif [ "$a" -eq 3 ]
                    then
                        echo "你选择在北京发展,并且期望薪资是1.8w"
                else
                    echo "输入参数错误,请重新输入"
                fi
    elif [ "$n" -eq 2 ]
        then
            echo "您选择的是上海"
            echo -e "薪资(月薪)选择:\n1. 8k以下\n2. 1.2w以下\n3. 1.8w以上"
            echo -n "接下来你可以选择你想要的薪资:"
            read b
                if [ "$b" -eq 1 ]
                   then
                       echo "你选择在上海发展,并且期望薪资是8k"
                elif [ "$b" -eq 2 ]
                    then
                        echo "你选择在上海发展,并且期望薪资是1.2w"
                elif [ "$b" -eq 3 ]
                    then
                        echo "你选择在上海发展,并且期望薪资是1.8w"
                else
                    echo "输入参数错误,请重新输入"
                fi
    else
        echo "输入错误"
    fi
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
  • 相关阅读:
    D. Radio Towers(斐波那契+逆元)
    【Leetcode】1570. Dot Product of Two Sparse Vectors
    linux 设备树学习总结
    一招解决所有依赖冲突
    如何优化前端性能:提高网页加载速度的实用技巧
    【云原生 | Kubernetes篇】自建高可用k8s集群优化
    从三个层面分析如何创造高价值专利?
    Unix Network Programming Episode 52
    Sentinel实现服务降级并与api解耦
    配置VScode开发环境-CUDA编程
  • 原文地址:https://blog.csdn.net/weixin_52198548/article/details/134429377