• 条件测试语法


    条件测试语法

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

    语法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: 文件自从上一次被读取之后,是否被修改过;

  • 相关阅读:
    winform 剔除空格与换行显示
    编码
    todo
    react高阶函数组件
    Docker-compose Setup for Self-hosting Development & Deployment Tools
    Self-hosting Sentry With Docker and Docker-compose
    how does Array.prototype.slice.call() work?
    todo reading
    a better git log
    https://coderwall.com/p/7smjkq/multiple-ssh-keys-for-different-accounts-on-github-or-gitlab
  • 原文地址:https://www.cnblogs.com/vincenshen/p/6553951.html
Copyright © 2020-2023  润新知