• Shell脚本之if的用法


    1、if语句的格式

    1) if-elif-else语法格式

    if [ condition1 ]; then  
        # 执行条件1的代码块  
    elif [ condition2 ]; then  
        # 执行条件2的代码块  
    else  
        # 执行条件都不满足时的代码块  
    fi
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    2) if-else语法格式

    if [ condition ]; then  
        # 执行条件的代码块  
    else  
        # 执行条件不满足时的代码块  
    fi
    
    • 1
    • 2
    • 3
    • 4
    • 5

    3) if语法格式

    if [ condition ]; then  
        # 执行条件的代码块  
    fi
    
    • 1
    • 2
    • 3

    2、if语句的conditon介绍

    1)字符串比较

    =:检测两个字符串是否相等,相等返回 true。例如,[ "$a" = "$b" ]。
    !=:检测两个字符串是否不相等,不相等返回 true。例如,[ "$a" != "$b" ]。
    -z:检测字符串长度是否为0,为0返回 true。例如,[ -z "$a" ]。
    -n:检测字符串长度是否不为 0,不为 0 返回 true。例如,[ -n "$a" ]。
    ":检测字符串是否不为空,不为空返回 true。例如,[ "$a" ]。
    
    • 1
    • 2
    • 3
    • 4
    • 5

    2)文件存在性检查

    -f:检查文件是否存在,存在返回 true。例如,[ -f "file.txt" ]。
    -d:检查目录是否存在,存在返回 true。例如,[ -d "dir" ]。
    -e:检查文件或目录是否存在,存在返回 true。例如,[ -e "file.txt" ]。
    
    • 1
    • 2
    • 3

    3)数值比较

    -eq:检查两个数是否相等,相等返回 true。例如,[ $num -eq $anotherNum ]。
    -ne:检查两个数是否不相等,不相等返回 true。例如,[ $num -ne $anotherNum ]。
    -lt:检查第一个数是否小于第二个数,小于返回 true。例如,[ $num -lt $anotherNum ]。
    -gt:检查第一个数是否大于第二个数,大于返回 true。例如,[ $num -gt $anotherNum ]。
    -le:检查第一个数是否小于等于第二个数,小于等于返回 true。例如,[ $num -le $anotherNum ]。
    -ge:检查第一个数是否大于等于第二个数,大于等于返回 true。例如,[ $num -ge $anotherNum ]。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    3、应用举例

    1)根据条件执行不同的代码块:if命令允许你根据给定的条件执行不同的代码块。你可以使用比较运算符(如-eq、-ne、-lt、-gt、-le、-ge)和逻辑运算符(如-a、-o、!)来构建条件表达式。根据条件的结果,你可以选择执行特定的代码块。

    if [ $num -gt 10 ]; then  
        echo "数字大于10"  
    elif [ $num -lt 10 ]; then  
        echo "数字小于10"  
    else  
        echo "数字等于10"  
    fi
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    2)检查文件或目录是否存在:使用if命令可以检查文件或目录是否存在,然后根据结果执行相应的操作

    if [ -f "file.txt" ]; then  
        echo "文件存在"  
    else  
        echo "文件不存在"  
    fi
    
    • 1
    • 2
    • 3
    • 4
    • 5

    3)检查两个字符串是否相等:使用if命令可以比较两个字符串是否相等,并根据结果执行相应的操作

    if [ "$str1" = "$str2" ]; then  
        echo "字符串相等"  
    else  
        echo "字符串不相等"  
    fi
    
    • 1
    • 2
    • 3
    • 4
    • 5

    4)检查变量是否为空:使用if命令可以检查变量是否为空,然后根据结果执行相应的操作

    if [ -z "$variable" ]; then  
        echo "变量为空"  
    else  
        echo "变量不为空"  
    fi
    
    • 1
    • 2
    • 3
    • 4
    • 5
  • 相关阅读:
    docker部署ES及kibana整个流程
    详解 C++ 实现K-means算法
    SuperMap iServer 备份恢复与迁移
    【LeetCode】重新排列数组
    UE4\UE5 蓝图节点Delay与Retriggerable Delay的使用与区别
    Facebook又双叒崩了!网友:扎克伯格一周只用上三天班?
    ceph rados对象存储索引残留问题排查与处理
    Redis内存回收机制-内存淘汰策略和过期策略
    SpringBoot集成Kafka低版本和高版本
    浅谈Vue3——父子组件传值
  • 原文地址:https://blog.csdn.net/techenliu/article/details/133186649