zoukankan      html  css  js  c++  java
  • Shell 脚本之 if 判断

    本文总结了if判断语句在运维环境中最常用的几种语句,欢迎探讨!

    一、if语句的语法

    if [ 条件判断 ]; then
        ... ...
    elif [ 条件判断 ]; then
        ... ...
    else
        ... ...
    fi

    二、数字大小比较

    [ $a -eq $b ]  判断 a 是否等于 b
    [ $a -ne $b ]  判断 a 是否不等 b
    [ $a -gt $b ]  判断 a 是否大于 b
    [ $a -ge $b ]  判断 a 是否大等 b
    [ $a -lt $b ]  判断 a 是否小于 b
    [ $a -le $b ]  判断 a 是否小等 b

    其中a和b均为整数型变量

    三、字符串的对比和判断

    [root@scott ~]# str1=abc; str2=abd
    
    [ -z str ]        判断 str 是否长度为0
    [ -n str ]        判断 str 是否长度不为0
    [ str1 == str2 ]  判断 str1 与 str2 是否相同
    [ str1 != str2 ]  判断 str1 与 str2 是否不同
    [ str1 \> str2 ]  判断 str1 是否大于 str2
    [ str1 \< str2 ]  判断 str1 是否小于 str2
    [[ str1 > str2 ]] 判断 str1 是否大于 str2
    [[ str1 < str2 ]] 判断 str1 是否小于 str2

    字符串str可以是数字或是字母

    四、逻辑判断

    [ $a -lt $b -a $str1 == $str2 ]     a 大于 b, 而且 str1 与 str2 相等  (&&)
    [ $a -lt $b -o $str1 == $str2 ]     a 大于 b, 或者 str1 与 str2 相等  (||)
    [[ $a -gt $b && $str1 == $str2 ]]   a 大于 b, 而且 str1 与 str2 相等  (&&)
    [[ $a -gt $b || $str1 == $str2 ]]   a 大于 b, 或者 str1 与 str2 相等  (||)
    [ $a -lt $b ] && [ $str1 == $str2 ] a 大于 b, 而且 str1 与 str2 相等  (&&)
    [ $a -lt $b ] || [ $str1 == $str2 ] a 大于 b, 或者 str1 与 str2 相等  (||)
    -a    "and"-o    "or"&&||    或
    注意方括号的作用和层数

    五、文件和目录的判断

    [ -e file ]  判断文件是否存在
    [ -f file ]  判断文件是否是普通文件
    [ -d file ]  判断文件是否是目录文件
    [ -b file ]  判断文件是否块设备文件
    [ -c file ]  判断文件是否字符设备文件
    [ -s file ]  判断文件是否是非空文件
    
    [ -r file ]  判断文件是否可读
    [ -w file ]  判断文件是否可写
    [ -x file ]  判断文件是否可执行
  • 相关阅读:
    PostgreSQL操作-psql基本命令
    python 解决抓取网页中的中文显示乱码问题
    1018: [SHOI2008]堵塞的交通traffic
    1015: [JSOI2008]星球大战starwar
    1057: [ZJOI2007]棋盘制作
    1022: [SHOI2008]小约翰的游戏John
    1059: [ZJOI2007]矩阵游戏
    1206: [HNOI2005]虚拟内存
    1201: [HNOI2005]数三角形
    1003: [ZJOI2006]物流运输trans
  • 原文地址:https://www.cnblogs.com/itbox/p/12098559.html
Copyright © 2011-2022 走看看