Shell语言中的if elif else

    xiaoxiao2022-07-04  169

    一、if的基本语法:

    if [ command ] then 符合该条件执行的语句 elif [ command ] then 符合该条件执行的语句 else 符合该条件执行的语句 fi

    elif可以嵌套多个 []里边必须要加空格,必须要写成if_[条件];then,其中_代表空格

    二、字符串判断

    [ -z STR ] 当STR的长度为0则为真 ,即判断是否为空,空即是真(空串); [ -n STR ] 当STR长度非0则为真 ,即判断是否为非空,非空即是真(串非空); [ STR1 = STR2 ] 当两个字符串相同则为真 ; [ STR1 != STR2 ] 当字符串不相同则为真 ; [ STR1 ] 当字符串为非空时为真

    三、数值判断

    INT1 -eq INT2 两数相等为真 = INT1 -ne INT2 两数不等为真 <> INT1 -gt INT2 INT1大于INT1为真 > INT1 -ge INT2 INT1大于等于INT2为真 >= INT1 -lt INT2 INT1小于INT2为真 < INT1 -le INT2 INT1小于等于INT2为真 <=

    四、文件的判断

    -r file  用户可读为真 -w file 用户可写为真 -x file 用户可执行为真 -f file  文件为正规文件为真 -d file 文件为目录为真 -c file 文件为字符特殊文件为真 -b file 文件为块特殊文件为真 -s file 文件大小非0时为真 -t file  当文件描述符(默认为1)指定的设备为终端时为真

    五、复杂逻辑判断

    -a     与 -o    或 !    非 &&、|| 即包含又包含的意思 eg:条件如果a>b且a<c,既可以写成if [[ $a > $b ]] && [[ $a < $c ]]

    最新回复(0)