Shell常用操作符总结

一、算术操作


    +  -  *    /    %

  
二、关系操作

    <  >    >=      <=    ==    !=    &&  ||

 

三、测试操作

    测试命令 :  test    [ ]      [[ ]]    (( ))
  
1、测试文件状态


      -d  目录

      -b  块设备

      -s  文件长度 > 0、非空

      -f  正规文件

      -w  可写

      -L  符号连接

      -u  文件有 suid 位设置

      -r  可读

      -x  可执行

如:  [ -w tmp.txt ]        测试文件tmp.txt是否可写


2、字符串测试

      =  两个字符串相等

      !=  两个字符串不相等

      -z  空串

      -n  非空串

 

      $ VAR1='abc'

      $ VAR2='123'

      $ [ "$VAR1" = "$VAR2" ]

        $ echo $?

        1


3、测试数值

      -eq 等于

      -ne 不等于

      -gt 大于

      -lt 小于

      -ge 大于等于

      -le 小于等于


4. 拓展测试符号  [[ ]]  (( ))

# [[ 2 > 10 ]]  # 结果错误

# echo $?

  0

# ((  2 >10 ))  结果正确

# echo $?

  0

# [[ "aa" = "aa" ]]

# echo $?

  0

# (( "aa" = "aa" )) #结果错误

# echo $?

    1

四、结论

    比较数字,使用(( ))
    其他测试使用 [[ ]]
    包含数字比较的混合测试,使用标准语法