• 条件判断比较


    判断文件是否存在,且是指定类型:

    -b 块设备文件block

    -c 字符设备文件character

    -d 目录directory

    -e 文件是否存在,exist

    -f 普通文件file

    -L 符号链接link

    -p 管道文件pipe

    -s 文件是否非空

    -S 套接字文件socket

    判断文件是否存在,且是指定权限:

    -r  不分所有者所属组其他人,只有一个有就为真

    -w  不分所有者所属组其他人,只有一个有就为真

    -x  不分所有者所属组其他人,只有一个有就为真

    -u  SUID

    -g  SGID

    -k  SBit

    两个文件比较:

    文件1 -nt 文件2  判断文件1是否比文件2新(修改时间),new than

    文件1 -ot 文件2  判断文件1是否比文件2旧(修改时间),old than

    文件1 -ef 文件2  判断文件1是否和文件2具体相同inode,即判断两个文件是否为同一个文件,即判断两个文件是否为硬链接,equal file,同命令ll -i查看两个文件的i节点号是否相等。

    两个数值比较:

    整数1 -eq 整数2  判断相等equal

    整数1 -nq 整数2  判断不相等not equal

    整数1 -lt   整数2  判断小于less than

    整数1 -gt  整数2  判断大于greater than

    整数1 -le  整数2  判断小于等于less or equal

    整数1 -ge 整数2  判断大于等于greater or equal

    字符串判断:

    -z  空为真

    -n  非空为真

    字符串1==字符串2  等为真

    字符串1!=字符串2  不等为真

    多条件判断:

    判断1 -a 判断2  都为真才为真,and

    判断1 -o 判断2  有一个为真就为真,or

    !判断      取反,真为假

    [root@localhost ~]# test -e testfile  注释:两种语法格式,test和[]
    [root@localhost ~]# echo $?
    0
    [root@localhost ~]# test -e a
    [root@localhost ~]# echo $?  
    1
    [root@localhost ~]# [ -e testfile ]  注释:shell脚本中此语法格式使用更普遍
    [root@localhost ~]# echo $?        
    0
    [root@localhost ~]# [ -e test ]    
    [root@localhost ~]# echo $?    
    1
  • 相关阅读:
    ASP.NET Core
    ASP.NET Core
    ASP.NET Core
    ASP.NET Core
    通用查询设计思想(2)- 基于ADO.Net的设计
    API接口通讯参数规范(2)
    Centos7 安装selenium(python3.7 centos7 )
    mysql (create temporary table table_name )临时表创建
    C# 字符串 String、StringBuffer和StringBuilder的区别
    安装Elasticsearch
  • 原文地址:https://www.cnblogs.com/xiongjiawei/p/7354969.html
Copyright © 2020-2023  润新知