shell脚本--(二)条件测试

一:条件测试作用

条件测试判断字符串 数字等类型属性,文件的状态。

二:条件测试分类

  1. test:测试字符串,数字,文件,也可以用[ ]代替,[ ]两侧加空格
  2. expr:测试字符串,数字
  3. $? 测试最后退出状态,成功0,失败1

三:条件测试选项

  • 1. test 用法,test condition 或者[ condition ]

    • 1.1 文件状态测试
      -f 正规文件, [ -f xxx ] 测试xxx是否是正规文件,注意[ ] 内侧有空格
      -d 目录, [ -d xxx ]
      -L符号连接,[ -L xxx ]
      -r 可读
      -s 文件长度大于0,非空
      -w 可写
      -u 文件有suid位设置
      -x 可执行
      逻辑操作符
      -a -and 与,[ condition1 -a condition2]
      -o -or 或 [ condition1 -o condition2]
      ! 否 [ !condition1 ]

    • 1.2 字符串测试
      == = == [ “str1” = “str2” ],测试str1 和str2是否相等
      != [ “str1” != “str2” ] ,
      -z 空串
      -n 非空串

    • 1.3数值测试,“number” numeric_operator "number "
      -eq [ “10” -eq “100” ] ,equal
      -ne not equal
      -gt greater than
      -lt less than
      -le less equal
      -ge greater equal

  • 2.expr用法,expr argument operator argument
    使用乘号*时,用\屏蔽其特殊含义
    增量计数
    数值测试:计算非整数时,将返回错误。
    expr也可以返回其本身的退出状态,不幸的是返回值与系统最后退出命令刚好相反,成功返回 1,任何其他值为无效或错误
    expr也有模式匹配功能。可以使用 e x p r通过指定冒号选项计算字符串中字符数。 . *意即任
    何字符重复0次或多次

你可能感兴趣的:(shell脚本--(二)条件测试)