zoukankan      html  css  js  c++  java
  • shell-条件测试

    1.基本语法

    为了判断shell程序的某种或几种条件是否成立,shell提供了一组测试运算符。通过返回值判断真假
    条件测试的语法有两种:test 和[(为了方便阅读使用[])

      test expression
      [ expresssion ]   #条件和左右括号之间必须带空格
    

    2.字符串测试

    字符串测试运算符

    运算符 说明
    string 判断指定的字符串是否为空
    string1=string2 判断两个字符串是否相等
    string1!=string2 判断两个字符串是否不等
    -n string 判断string是否是非空字符串
    -z string 判断string是否是空字符串
      #!/bin/bash  
      x="abc"
              test $x     #x不为空,所以返回值应该是0
              echo $?
      y="def"
              [ "$x" = "$y" ]  #判断两个相等,而x,y两个字符串不相等,输出应该是错误的
              echo $?
              test "$X" != "$y" #判断两个不相等,输出应该是对的
              echo $?
    

    结果如下

    3.整数测试

    常见整数运算符

    运算符 说明
    number1 -eq number2 比较两个是否相等,如果相等正确输出
    number1 -ne number2 两个是否不等,不等则正确输出
    number1 -gt number2 number1是否大于number2,是则正确输出
    number1 -lt number2 number1是否小于number2,是则正确输出
    number1 -ge number2 是否大于等于.......
    number1 -le number2 是否小于等于.......

    这个很简单

    4.文件测试

    常见文件操作符

    操作符 说明
    -a 判断文件是否存在。 存在输出0
    -b 文件是否存在且为块文件。
    -c 文件是否存在且为字符文件
    -d 文件是否存在且为目录
    -e 与-a相同
    -s 文件非空
    -f 文件存在且是常规文件
    -w 文件存在且可写
    -L 文件存在且为符号链接
    -u 文件是否有suid位
    -r 文件存在且可读
    -x 文件存在且可执行
  • 相关阅读:
    云风版协程库源代码分析
    取消勾选use androidx.* artifacts
    Linux编程之信号
    Linux编程之错误代码
    git身份验证失败清除密码缓存
    实现可执行的so动态链接库
    同步以及异步connect
    STM32系列芯片命名规范
    QtAV的编译方法
    汇编文件后缀 .s 与 .S
  • 原文地址:https://www.cnblogs.com/hxlinux/p/12934742.html
Copyright © 2011-2022 走看看