test 常用命令

--- 数值比较
    n1 -eq n2       --- 检查n1是否与n2相等
    n1 -ge n2       --- 检查n1是否大于等于n2
    n1 -gt n2       --- 检查n1是否大于n2
    n1 -le n2       --- 检查n1是否小于等于n2
    n1 -lt n2       --- 检查n1是否小于n2
    n1 -ne n2       --- 检查n1是否不等于n2

--- 字符串比较
    str1 == str2        --- 检查str1是否和str2相同
    str1 != str2    --- 检查str1是否和str2不同
    str1 < str2     --- 检查str1是否比str2小
    str1 > str2     --- 检查str1是否比str2大
    -n str1         --- 检查str1的长度是否为非0
    -z str1         --- 检查str1的长度是否为0
PS:大于小于符号必须转义,否则shell会把他们当做重定向符号,而把字符串当做文件名;大于小于顺序和sort命令所采用的不同

--- 文件比较
    -d file             --- 检查file是否存在并是一个目录
    -e file             --- 检查file是否存在
    -f file             --- 检查file是否存在并是一个文件
    -r file             --- 检查file是否存在并可读
    -s file             --- 检查file是否存在并非空
    -w file             --- 检查file是否存在并可写
    -x file             --- 检查file是否存在并可执行
    -O file             --- 检查file是否存在并属当前用户所有
    -G file             --- 检查file是否存在并且默认组与当前用户相同
    file1 -nt file2     --- 检查file1是否比file2新
    file1 -ot file2     --- 检查file1是否比file2久
    file1 -ef file2     --- 判断file1和file2的Inode号是否一致

--- 多重条件判断
    判断1 -a 判断2      --- 逻辑与,判断和判断2都成立,最终的结果才为真
    判断1 -o 判断2      --- 逻辑或,判断1和判断2有一个成立,最终的结果就为真
    ! 判断            --- 逻辑非,使原始的判断取反