Shell脚本中的操作符


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

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

相关内容