1. 基本语法

    [ condition ] ( 注意conition前后要有空格 )
    注意:条件非空即为true, [ abes ] 返回true, [] 返回 false。

    1. 常用判断条件

    (1)两个整数比较

    = 字符串比较
    -lt 小于(less than) -le 小于等于(less equal)
    -eq 等于(equal) -ne 不等于(not equal)
    -gt 大于(greater than) -ge 大于等于(greater equal)

    (2)按照文件按权限进行判断

    -r 有读的权限(read)
    -w 有写的权限
    -x 有执行的权限

    (3)按照文件类型进行判断

    -f 文件存在并且是一个常规的文件(file)
    -e 文件存在(existence)
    -d 文件存在并且是一个目录(directory)
    1. 案例实操

    (1) 100 是否大于等于 101

    1. [root@localhost ~]# [ 100 -ge 101 ]
    2. [root@localhost ~]# echo $?
    3. 1

    (2) 判断当前用户是否对 /etc/profile 文件有写权限

    1. [root@localhost ~]# [ -w /etc/profile ]
    2. [root@localhost ~]# echo $?
    3. 0

    (3) 判断文件是否存在

    1. # 判断/etc/hosts 文件是否存在
    2. [root@localhost ~]# [ -e /etc/hosts ]
    3. [root@localhost ~]# echo $?
    4. 0

    (4) 多条件判断(&& 表示前一条命令执行成功时,才执行后一条命令,|| 表示上一条命令执行失败后,才执行下一条命令)

    1. [root@localhost ~]# [ condition ] && echo OK || echo notok OK
    2. OK
    3. [root@localhost ~]# [ condition ] && [ ] || echo notok OK
    4. notok OK