zoukankan      html  css  js  c++  java
  • Linux中的判断式

    格式一:test [参数] 判断内容
    格式二:[ [参数] 判断内容 ]
      说明:
        a.格式二可以认为是格式一的缩写
        b.格式二里中括号和内容之间要有空格


    基于文件的判断
    -d  判断文件是否存在,并且是目录文件
    -e  判断文件是否存在
    -f  判断文件是否存在,并且是普通文件
    -l  判断文件是否存在,并且为符号连接文件
    [root@localhost temp]# test -e /etc/passwd
    [root@localhost temp]# echo $?
    0
    [root@localhost temp]# [ -e /etc/passwd ]
    [root@localhost temp]# echo $?
    0
    [root@localhost temp]# [ -d /root ] && echo "yes" || echo "no"
    yes

    基于文件权限的判断
    -r   文件 判断文件是否存在,并且拥有读权限
    -w  文件 判断文件是否存在,并且拥有写权限
    -x   文件 判断文件是否存在,并且拥有执行权限
    [root@localhost temp]# [ -r data.txt ] && echo "yes" || echo "no"
    yes

    两个文件之间的比较
    文件1 -nt 文件2  文件1的修改时间比文件2新
    文件1 -ot 文件2  文件1的修改时间比文件2晚
    文件1 -ef 文件2  文件1和文件2的inode号是否一样
    [root@localhost temp]# ln /xiaol/temp/data.txt /xiaol/temp/lndata.txt
    [root@localhost temp]# [ /xiaol/temp/data.txt -ef /xiaol/temp/lndata.txt ] && echo "yes" || echo "no"
    yes

    两个整数之间的比较
    用的是:-eq -ne -gt -lt -ge -le这些,就不多解释了
    [root@localhost temp]# [ 23 -ge 22 ] && echo "yes" || echo "no"
    yes

    两个字符串之间的比较
    -z 字符串  判断字符串是否为空
    -n 字符串  判断支付传是否为非空
    串1 == 串2  两个字符串相等
    串1 != 串2   两个字符串不相等
    [root@localhost temp]# a=1
    [root@localhost temp]# b=2
    [root@localhost temp]# [ "$a" == "$b" ] && echo "yes" || echo "no"
    no

    [root@localhost temp]# name=xiaol
    [root@localhost temp]# [ -z "$name" ] && echo "yes" || echo "no"
    no

    多个判断一起执行
    判断1 -a 判断2  逻辑与
    判断1 -o 判断2  逻辑或
    ! 判断1       逻辑非

  • 相关阅读:
    OA项目之分页
    OA项目之弹出层中再弹出层
    OA项目之导入
    OA项目之导出
    git使用6步走
    配置 Docker 镜像站
    Taro随笔
    byte(C# 参考)
    MySQL 笔记
    HTTP 错误代码
  • 原文地址:https://www.cnblogs.com/413xiaol/p/7191756.html
Copyright © 2011-2022 走看看