zoukankan      html  css  js  c++  java
  • Linux命令之乐--test

    官方文档: help test

    File operators:
        
          -a FILE        True if file exists.
          -b FILE        True if file is block special.
          -c FILE        True if file is character special.
          -d FILE        True if file is a directory.
          -e FILE        True if file exists.
          -f FILE        True if file exists and is a regular file.
          -g FILE        True if file is set-group-id.
          -h FILE        True if file is a symbolic link.
          -L FILE        True if file is a symbolic link.
          -k FILE        True if file has its `sticky' bit set.
          -p FILE        True if file is a named pipe.
          -r FILE        True if file is readable by you.
          -s FILE        True if file exists and is not empty.
          -S FILE        True if file is a socket.
          -t FD          True if FD is opened on a terminal.
          -u FILE        True if the file is set-user-id.
          -w FILE        True if the file is writable by you.
          -x FILE        True if the file is executable by you.
          -O FILE        True if the file is effectively owned by you.
          -G FILE        True if the file is effectively owned by your group.
          -N FILE        True if the file has been modified since it was last read.
        
          FILE1 -nt FILE2  True if file1 is newer than file2 (according to
                           modification date).
        
          FILE1 -ot FILE2  True if file1 is older than file2.
        
          FILE1 -ef FILE2  True if file1 is a hard link to file2.
        
        String operators:
        
          -z STRING      True if string is empty.
        
          -n STRING
             STRING      True if string is not empty.
        
          STRING1 = STRING2
                         True if the strings are equal.
          STRING1 != STRING2
                         True if the strings are not equal.
          STRING1 < STRING2
                         True if STRING1 sorts before STRING2 lexicographically.
          STRING1 > STRING2
                         True if STRING1 sorts after STRING2 lexicographically.
        
        Other operators:
        
          -o OPTION      True if the shell option OPTION is enabled.
          ! EXPR         True if expr is false.
          EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.
          EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.
        
          arg1 OP arg2   Arithmetic tests.  OP is one of -eq, -ne,
                         -lt, -le, -gt, or -ge.
        
        Arithmetic binary operators return true if ARG1 is equal, not-equal,
        less-than, less-than-or-equal, greater-than, or greater-than-or-equal
        than ARG2.

    例子:

    1. 判断文件是否存在

    root@Director test]# test -f demo.sh 
    [root@Director test]# test -f demo.sh  && echo true
    true
    [root@Director test]# test ! -f demo.sh && echo true
    [root@Director test]# 

    2. 判断字符串是否为空

    [root@Director test]# var=hello
    [root@Director test]# test -n $var && echo true
    true
    [root@Director test]# test -z $var && echo true
    [root@Director test]# 

    3.比较

    [root@Director test]# var=a
    [root@Director test]# test $var = a && echo true
    true
  • 相关阅读:
    git添加本地项目到git
    GitLab项目迁移到Gerrit
    flask一些资料
    openldap sshkey & 用户自定义属性
    openldap复制
    openldap主机访问控制(基于用户组)
    openldap主机访问控制(基于ip)
    openldap自定义schema
    openldap主机访问控制(基于hostname)
    openldap权限sudo
  • 原文地址:https://www.cnblogs.com/zydev/p/5746900.html
Copyright © 2011-2022 走看看