shell基本运算符

假定变量a的值为50,b的变量值为60

关系运算符:

    • -eq 检测两个数是否相等,相等返回true                      [$a -eq $b] 返回false
    • -ne 检测两个数是否相等,不相等返回true                         [$a -ne $b]返回true
    • -gt 检测左边的数是否大于右边的,如果是,则返回true          [$a -gt $b]返回false
    • -lt  检测左边的数是否小于左边的,如果是,则返回true          [$a -lt $b]返回true
    • -ge 检测左边的数是否大于等于右边的,如果是,则返回true    [$a -ge $b]返回false
    • -le  检测左边的数是否小于等于右边的,如果是,则返回true    [$a -le $b]返回true

布尔运算符:

    • !     非运算,表达式为true,则返回false,否则返回true         [!false]返回true
    • -o   或运算符,有一个表达书为true则返回true                     [$a -lt 20 -o $b -gt 100] 返回true
    • -a   与运算,两个表达式都为true才返回true                        [$a -lt 20 -a -gt 100]返回false 

逻辑运算符:

    • &&    逻辑的AND       [[$a -lt 100 && $b -gt 100]] 返回false
    • ||      逻辑OR            [[$a -lt 100 || $b -gt 100]]返回true

文件测试运算符:

    • -b file   检测文件是否是块模块文件,如果是,则返回true        [-b $file]返回false
    • -c file   检测文件是否是字符设备文件,如果是返回true           [-c $file]返回false
    • -d file   检测文件是否是目录,如果是返回true                      [-d $fild]返回false
    • -f  file   检测文件是否是普通文件(既不是目录,也不是设备文件),如果是返回true        [-f $file] 返回true
    • -g file   检测文件是否设置了SGID位,如果是返回true            [-g $file]返回false
    • -r file   检测文件是否可读,如果是返回true                          [-r $file]返回true
    • -w file  检测文件是否可写,如果是则返回true                   [-w $file]返回true
    • -x file   检测文件是否可执行,如果是则返回true                   [-x $file]返回true
    • -s file   检测文件是否为空(文件大小是否大于0),不为空返回true [-s $file]返回true
    • -e file   检测文件(包括目录)是否存在,如果是,则返回true  [-e]返回true
posted @ 2017-05-10 15:49  青竹zzq  阅读(150)  评论(0编辑  收藏  举报