• 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       逻辑非

  • 相关阅读:
    LVM详解
    redis数据类型
    radis数据库安装
    POJ3294 Life Forms 【后缀数组】
    BZOJ1076 [SCOI2008]奖励关 【状压dp + 数学期望】
    POJ2774 Long Long Message 【后缀数组lcp】
    POJ2406 Power Strings 【KMP 或 后缀数组】
    POJ3261 Milk Patterns 【后缀数组】
    BZOJ3289 Mato的文件管理 【莫队 + 树状数组】
    BZOJ2460 [BeiJing2011]元素 【线性基】
  • 原文地址:https://www.cnblogs.com/413xiaol/p/7191756.html
Copyright © 2020-2023  润新知