zoukankan      html  css  js  c++  java
  • 条件测试语法

    条件测试语法

    *注意: 测试表达式中的变量需要使用双引号“”,否者逻辑会出错。

    语法1:

    test <测试表达式>

    语法2(推荐):

    [ <测试表达式> ]

    语法3(推荐):

    [[ <测试表达式> ]]

    语法4(支持所有数学公式计算,强烈推荐):

    ((<测试表达式>))

    ((num=num+1))

    测试表达式

    (0) 逻辑操作符;

    (1) 整数测试;

    (2) 字符串测试;

    (3) 文件测试

    0、逻辑操作符:

    [ ] 和 test 中使用: -a  -o   !

    [[ ]] 和 (()) 中使用: &&  || !


    1、整数测试:

    A -gt B: 大于

    A -ge B: 大于等于

    A -eq B: 等于

    A -lt B: 小于

    A -le B: 小于等于

    A -ne B: 不等于  not equal to


    2、字符串测试(注意符号两端的空格):

    A == B或A = B:等值比较

    A != B: 不等于

    -z A: 判断A是否为空;空则为真,不空则假;

    -n A:判断A是否不空;不空则为真,空则为假;


    3、文件测试:

    -e $file: 是否存在;存在则为真;

    -f $file: 文件是否存在,且为普通文件;

    -d $file: 是否存在且为目录;

    -h $file: 是否存在且为符号链接文件;

    -L $file:同上

    -b $file: 是否存在且为块设备文件;

    -c $file: 是否存在且为字符设备文件;

    -S $file: 是否存在且为套接字文件:

    -p $file: 是否存在且为管道文件;

    -r $file: 当前用户对此文件是否拥有读权限;

    -w $file:                         写权限;

    -x $file:                         执行权限;

    -u $file: 文件是否拥有suid权限;

    -g $file:文件是否拥有sgid权限;

    -k $file: 文件是否拥有sticky权限;

    -O $file: 当前用户是否为文件的属主;

    -G $file: 当前用户是否属于文件的属组;

    -N $file: 文件自从上一次被读取之后,是否被修改过;

  • 相关阅读:
    记录上锁(字节范围锁,特例:锁住文件的某一部分或者整个文件)
    读写锁的实现原理(pthread_rwlock_t)
    Linux 互斥锁的实现原理(pthread_mutex_t)
    System V消息队列
    Web安全之SQL注入攻击技巧与防范
    如何正确地写出单例模式
    java的concurrent用法详解
    java并发编程-Executor框架
    java.util.concurrent包分类结构图
    Java多线程干货系列(1):Java多线程基础
  • 原文地址:https://www.cnblogs.com/vincenshen/p/6553951.html
Copyright © 2011-2022 走看看