[] 和 [[]] 对比

对比

[] [[]]
数字测试 -eq -ne -lt -le -gt -ge 同[]
文件测试 -e -f -h -L -s -d -r -w -x -nt -ot 同[]
字符测试 = != -n -z 同[]
逻辑测试 -a -o && \ \ !
数学运算 + - * / %

test 命令文档

Exit with the status determined by EXPRESSION.

--help display this help and exit

--version
       output version information and exit

An omitted EXPRESSION defaults to false.  Otherwise, EXPRESSION is true or false and sets exit status.  It is one of:

( EXPRESSION )
       EXPRESSION is true

! EXPRESSION
       EXPRESSION is false

EXPRESSION1 -a EXPRESSION2
       both EXPRESSION1 and EXPRESSION2 are true

EXPRESSION1 -o EXPRESSION2
       either EXPRESSION1 or EXPRESSION2 is true

-n STRING
       the length of STRING is nonzero

STRING equivalent to -n STRING

-z STRING
       the length of STRING is zero

STRING1 = STRING2
       the strings are equal

STRING1 != STRING2
       the strings are not equal

INTEGER1 -eq INTEGER2
       INTEGER1 is equal to INTEGER2

INTEGER1 -ge INTEGER2
       INTEGER1 is greater than or equal to INTEGER2

INTEGER1 -gt INTEGER2
       INTEGER1 is greater than INTEGER2

INTEGER1 -le INTEGER2
       INTEGER1 is less than or equal to INTEGER2

INTEGER1 -lt INTEGER2
       INTEGER1 is less than INTEGER2

INTEGER1 -ne INTEGER2
       INTEGER1 is not equal to INTEGER2

FILE1 -ef FILE2
       FILE1 and FILE2 have the same device and inode numbers

FILE1 -nt FILE2
       FILE1 is newer (modification date) than FILE2

FILE1 -ot FILE2
       FILE1 is older than FILE2

-b FILE
       FILE exists and is block special

-c FILE
       FILE exists and is character special

-d FILE
       FILE exists and is a directory

-e FILE
       FILE exists

-f FILE
       FILE exists and is a regular file

-g FILE
       FILE exists and is set-group-ID

-G FILE
       FILE exists and is owned by the effective group ID

-h FILE
       FILE exists and is a symbolic link (same as -L)

-k FILE
       FILE exists and has its sticky bit set

-L FILE
       FILE exists and is a symbolic link (same as -h)

-O FILE
       FILE exists and is owned by the effective user ID

-p FILE
       FILE exists and is a named pipe

-r FILE
       FILE exists and read permission is granted

-s FILE
       FILE exists and has a size greater than zero

-S FILE
       FILE exists and is a socket

-t FD  file descriptor FD is opened on a terminal

-u FILE
       FILE exists and its set-user-ID bit is set

-w FILE
       FILE exists and write permission is granted

-x FILE
       FILE exists and execute (or search) permission is granted

Except  for  -h  and  -L,  all FILE-related tests dereference symbolic links.  Beware that parentheses need to be escaped (e.g., by back‐
slashes) for shells.  INTEGER may also be -l STRING, which evaluates to the length of STRING.

NOTE: [ honors the --help and --version options, but test does not.  test treats each of those as it treats any other nonempty STRING.

NOTE: your shell may have its own version of test and/or [, which usually supersedes the version described here.  Please  refer  to  your
shell's documentation for details about the options it supports.

results matching ""

    No results matching ""