• shell脚本:if语句


    一、比较字符

    符号含义
    -eq等于
    -ne不等于
    -gt大于
    -lt小于
    -le小于等于
    -ge大于等于
    -z空串
    =两个字符相等
    !=两个字符不等
    -n非空串

    二、条件判断

    1、字符串判断

    内容解析
    str1 = str2当两个串有相同内容、长度时为真
    str1 != str2当串str1和str2不等时为真
    -n str1当串的长度大于0时为真(串非空)
    -z str1当串的长度为0时为真(空串)
    str1当串str1为非空时为真

    2、数字的判断

    内容解析
    int1 -eq int2两数相等为真
    int1 -ne int2两数不等为真
    int1 -gt int2int1大于int2为真
    int1 -ge int2int1大于等于int2为真
    int1 -lt int2int1小于int2为真
    int1 -le int2int1小于等于int2为真

    3、文件相关的if判断条件语句

    内容解析
    -r file用户可读为真
    -w file用户可写为真
    -x file用户可执行为真
    -f file文件为正规文件为真
    -d file文件为目录为真
    -c file文件为字符特殊文件为真
    -b file文件为块特殊文件为真
    -s file文件大小非0时为真
    -t file当文件描述符(默认为1)指定的设备为终端时为真
    -e file如果file存在为真 如:[ -e /var/log/syslog ]
    file1-nt file2如果file1比 file2新,则为真 如:[ /tmp/install/etc/services -nt /etc/services ]
    file1-ot file2如果file1比 file2旧,则为真 如:[ /boot/bzImage -ot arch/i386/boot/bzImage ]

    4、复杂逻辑判断

    内容解析
    -a
    &&
    -o
    !

    || 或
    在[ ]中不能用&& ||

    三、语法结构

    1、单分支语句结构

    if [ 条件表达式 ]; then
        指令
    fi
    
    • 1
    • 2
    • 3

    2、双分支语句结构

    if [ 条件表达式 ]; then
        指令一
    else
        指令二
    fi
    
    • 1
    • 2
    • 3
    • 4
    • 5

    注意:
    表达式前后必须各有一个空格,否则会执行报错。

  • 相关阅读:
    腾讯云CVM服务器操作系统镜像大全
    网络安全(黑客)技术——自学2024
    C# + easyui 写的一个web项目
    圆桌对话 | 详解2022全域营销的应用趋势和机会
    算法3:链表实现双端队列
    打卡第 2 天: urllib简记
    c++ 与 lua socket脚本高级调用
    dice loss
    “放弃 GitHub ,时机已到”,软件自由保护协会怒批!
    【Filament】基于物理的光照(PBR)
  • 原文地址:https://blog.csdn.net/qq_16268979/article/details/127780084